Overview of the SySim profile package (SySim)
The SySim Profile package contains Stereotypes and Tag Definitions required for modeling simulation scenarios in a SysML model for SysML model execution. In addition, the SySim Profile contains SySim Control Blocks and Base Controls, and Value Types to use as Visual Basic primitive types:
Note that when you add the SySim Profile package to a model, the following profiles are also added to the model: ACS, SysML, UML and VB.
Important:
• Do not make changes to the SySim profile. Any changes you make will be lost when the profile is updated.
Note that you can create Tag Definitions outside of the SySim profile, and link those Tag Definitions to Stereotypes in the SySim profile. When the SySim profile is updated, the links will not be broken.
• Do not create copies of the SySim profile within a model, or create copies of the SySim profile through XMI Import/Export. The copies of the SySim profile will not work correctly and you will not be able to update the copies through the Update All Profiles command.
The SySim Profile package includes the following Stereotypes and Tag Definitions:
• «SySim ControlBlock» specifies that a Block is included in the SysML model execution. A Control Block is displayed as a control on the Visual Basic form that is generated for the SySim Simulation Scenario.«SySim ControlBlock» applies the following Tag Definitions to a Bock:
◦ SySim Configuration - specifies the name of a Stereotype that will be used on parts typed by the Block for generating instance parameters.
◦ SySim StateMachine - specifies whether the Block's State Machine is generated. This tag definition can be set to Default, Yes or No.
Default means that if the Block has a state machine, that state machine is generated.
Yes means that the Block's State Machine is generated, if one exists.
No means that the Block's State Machine is ignored.
◦ SySim VBBaseClass - specifies the name of the Visual Basic base class when the Visual Basic base class is not modeled through inheritance from a SySim VBBaseControl. To set the tagged value of the SySim VBBaseClass tag definition: right-click the SySim Control Block, point to SySim, and then click Set Base Control; or set the tagged value through the Property Pages.
◦ SySim VBName - when the control is a predefined control either in the SySim Framework Library or in a user .NET library, the SySim VBName and SySim VBNamespace tag definitions can be used for specifying the class name and its namespace. Using the SySim VBName and SySim VBNamespace tag definitions is an alternative to using SySim VBBaseClass tag definition.
◦ SySim VBNamespace - when the control is a predefined control either in the SySim Framework Library or in a user .NET library, the SySim VBName and SySim VBNamespace tag definitions can be used for specifying the class name and its namespace. Using the SySim VBName and SySim VBNamespace tag definitions is an alternative to using SySim VBBaseClass tag definition.
• «SySim DataType» should be applied to any Value Type, Block or Flow Specification that is used as a type for a generated Full Port, Proxy Port, Flow Port or Block Property Value. Applies the following Tag Definitions to a SysML element:
◦ SySim BasicType - for SysML Value Types only, specifies a Visual Basic value type for which SySim generates a shell for the specified basic type naming it as the SysML DataType. The SysML Value Type shall have no attributes. The shell will be able to hold one instance of the specified Visual Basic value type.
◦ SySim EqualityOperators - when set to True, specifies that the equality (=) and inequality (<>) operators are generated in Visual Basic. When set to False, these operators are not generated and you must define your own.
• «SySim InputOutputPort» when applied to a Full Port, Proxy Port or Flow Port, code is generated for that port. For a Flow Port, the «SySim InputOutputPort» stereotype can be used only when Flow Port's type is a Flow Specification. Applies the following Tag Definitions to a Full Port, Proxy Port or Flow Port.
◦ SySim PortDataType - optionally specifies a valid Visual Basic data type (such as a class, structure or predefined type) to type the Full Port, Proxy Port or Flow Port. If blank, the type specified for the SysML Port in the model is used.
Note that the «SySim InputOutputPort» stereotype does not apply to standard Ports.
• «SySim InputPort» when applied to a Full Port, Proxy Port or Flow Port or standard port, code is generated for that port. Applies the following Tag Definitions to a port:
◦ SySim PortDataType - for SysML Ports only, optionally specifies a valid Visual Basic data type (such as a class, structure or predefined type) to type the SysML Port. If blank, the type specified for the SysML Port in the model is used.
◦ Note that standard Ports must be typed by a class and the SySim PortDataType tag definition is not used.
• «SySim InstanceParameter» stereotype - when applied to a Block Property, specifies that the default value of the Block Property can be redefined on Parts typed by the owning Block (though the Modeler property pages). Several Parts typed by the same Block can then have different values for their «SySim InstanceParameter» stereotyped Block Properties. SySim implements instance parameter properties by means of overridable/overrides operations in Visual Basic.
◦ SySim OperationModifiers - specifies additional Visual Basic modifiers that are required for the operation implementing a given «SySim InstanceProperty».
• «SySim OutputPort» when applied to a Full Port, Proxy Port or Flow Port or standard port, code is generated for that port. Applies the following Tag Definitions to a port:
◦ SySim PortDataType - for Full Port, Proxy Port or Flow Ports only, optionally specifies a valid Visual Basic data type (such as a class, structure or predefined type) to type the SysML Port. If blank, the type specified for the SysML Port in the model is used.
Note that standard Ports must be typed by a class and the SySim PortDataType tag definition is not used.
◦ SySim PrimaryTrigger - if set to True, specifies that data flowing through the port has to be considered as driving the simulation, rather than a response of the simulated Blocks to external stimuli. Log information from SySim simulators will contain this information on messages traversing the port.
• «SySim PortClass» specifies that a Class that types a standard Port is used in a SySim simulation. The typed Ports must be stereotyped by either the «SySim InputPort» or «SySim OutputPort» stereotype.
• «SySim Predefined» specifies that a Package is a predefined package that contains predefined SySim or user-defined items, and as such SySim code generation will not generate code for contained items. Note that items defined in predefined Packages are placeholders whose names are a reference from a SySim or user-defined Visual Basic .NET library.
◦ «SySim Namespace - specifies the library namespace in which contains items have been defined.
• «SySim Simulator» specifies that a Block is a simulation unit. SySim generates the Block as a Visual Basic form at runtime.
◦ SySim Designer - records the design of the Visual Basic form that is generated for the SySim Simulator Block.
• «SySim SimulinkBlock» specifies that a Block's behavior is described in MATLAB Simulink. Applies the following Tag Definitions to a Block:
◦ SySim SimulinkModelPathName - specifies the path name of the Simulink mdl or slx file. If several users want to use the same Simulink mdl or slx file, make the mdl or slx file available on your network.
• «SySimStep» is applied to a Statement that has been created on a Sequence Diagram through the import of a SySim model execution log file. Applies the following Tag Definitions to a Statement:
◦ SySim StepTime - records the SySim model execution step value at which the message was sent.
◦ SySim StepType - records the type of the message.
• «SySim TWDataShape» specifies that a ThingWorx DataShape object is defined for a SysML ValueType (DataType) or Interface Block. For more information refer to
SySim TWShapeName • «SySim VBBaseControl» stereotype - specifies that a Class or SysML Block represents a Visual Basic .NET control, such as TextBox