The OMG SysPhS stereotypes allow you to define the characteristics of the model simulation within the model itself rather than in a configuration specification. They provide greater visibility of the type of object or property in the Browser window and the Properties window, and in the diagram with specific element compartments for the Property types and for initial values.
Extra options for variables and constants, such as isContinuous and isConserved, are automatically set as Tagged Values, again avoiding the need to define them in the configuration specification. These options are also visible on the Block itself and in the docked Properties window.
Load the SysPhS Simulation Libraries
In order to perform simulations under the SysPhS standard, you must download two SysPhS libraries from the Model Wizard:
- SysPhS Elements for physical interaction and
- SysPhS Elements for signal flow
To download these libraries:
- Click on the Package that will hold the libraries, and open the Model Wizard ( ).
- Click on the drop-down arrow in the left-hand panel header and select Systems Engineering > SysML.
- Scroll to the end of the list of Pattern groups, click on 'SysPhS Elements for physical interaction' and on 'SysPhS Elements for signal flow'.
- Click on the . The libraries are loaded into the selected Package.
Each time you set up a SysML simulation under SysPhS, you must add the library Package to the Block Definition diagram and link it to the SysML diagram frame with an Import connector, to make the library elements available to the simulation. That is:
- Create your Block Definition diagram for the simulation, which will automatically have a Boundary frame around the elements.
- Drag the SysPhS library Package onto the diagram; a prompt displays for the type of 'add' operation to perform. Select the 'Package Element' option. The library Package element is added to the diagram within the Boundary frame.
- Right-click on the Boundary frame to display the context menu, and make sure that the 'Selectable' option is ticked.
- Change the Toolbox to the Package pages, click on the 'Package Import' relationship icon, and drag the cursor between the Boundary frame and the library Package to create an Import connector.
- Save the diagram (
Updating the SysMLSim Configuration
In releases of Enterprise Architect prior to Release 15.2, you defined the type and options of each Part/Property within the Configure SysML Simulation window for the SysMLSim Configuration Artifact. This approach is still valid and available; however, using the features of the SysPhS Standard allows you to define simulation parameters in the model itself, which means you can use different simulation tools on the same model and make adjustments at an elemental level.
You might want to update recent simulation configurations to reflect the use of the SysPhS standard, to familiarize yourself with how the variables and constants are represented under the standard, and to support simulation through different tools.
To update the existing configurations:
- Open the diagram containing the Block element of the simulation. For example:
- Notice the Property elements (in our illustration, x, y and lambda) in the Browser window; neither there, nor in the diagram, nor in the Properties window is it possible to see what type of property each one is.
- In the element in the diagram, click on a Property and, in the 'Stereotype' field in the Properties window, click on the icon to display the 'Stereotype for <propertyname>' dialog. Ensure that the 'Perspective' field is set to 'All Systems Engineering' and the Profile field is set to 'SysPhS'.
- Click on the checkbox for the appropriate property type - PhSVariable or PhSConstant - and click on the .
- Note how the constants and variables are assigned to their own element compartments on the diagram, and how the Property types (as stereotypes) can also be seen in the Browser window.
- Notice also that, in the Properties window, you can see the Stereotype defining the type of the property, and the options for that property type (as Tagged Values) as defined in the SysPhS standard.
- Finally, if you open the Configure SysML Simulation window for the SysMLSim Configuration Artifact for this simulation, you will see again that the Properties are identified and grouped by type.
Using the SysPhS Toolbox
The SysPhS profile provides a dedicated Toolbox page containing basic SysML elements for both OpenModelica and MATLAB Simulink, and the 'SysPhS Component' icon on a 'SysPhS Patterns' page.
When you drag the 'SysPhS Component' icon onto the diagram, the 'SysPhS Components' dialog displays.
On this dialog you firstly select the category of element to create, then the type of element to create, both by selecting from a drop-down list in the 'Component Group' or 'Component Block' field. The drop-down list in each field is populated from the OpenModelica and Simulink standard libraries. For example:
Notice that the element has stereotypes for Simulink and Modelica, so can be worked on in either of those tools. For each element, the correct Properties and Ports for the element type are automatically included in the element, as items in the element compartments. You can drag the actual structural elements from the Browser window onto the element if you prefer their physical presence on the diagram.
If you are working with a model held in Modelica or Simulink, and you want to refer to elements that already exist in that model, you can drag the appropriate Block, Parameter and Port icons onto the diagram to create the referring elements. The 'Parameter' icons create Property elements with SimulinkParameter or ModelicaParameter stereotypes. If you remove the elements from the diagram they are listed in the phs constants compartment of the parent Block element.
You can also drag the 'PhS Constant' and 'PhS Variable' icons onto an element in the diagram, to define constant and variable Properties of a Block element. Again, if you delete the elements from the diagram they are listed in the phs constants or phs variables compartment.
Note that if a PhSConstant or a PhSVariable has an initial value set, it is displayed on the diagram in an initial value compartment of the element.
In systems modeling, while a vector can be specified using multiplicity, for multi-dimensional arrays we need multiple multiplicities. The MultidimensionalElement stereotype (applied to a Block by the Multidimensional Element icon) provides for this - effectively supporting an array of multiplicities defining the dimensions.
Sparx Systems provides a YouTube video of using SysPhS Patterns. See:
- SysPhS Standard (online resource)