Tags and keywords
Please don't be over-whelmed by all of the languages presented here, we are going to walk through them one-by-one, and you don't usually have to deal with them all at once when you commence your SysML/MBSE journey.The following custom Stereotype keywords and icons are used for orientation:
- «language» : May also indicate an 'organisation' and a verbose 'name' as tagged values.
- «tool» : May also indicate a 'vendor' and related 'languages' as tagged values.
The Systems Modeling Language (SysML®) is developed by the Object Management Group (OMG®) with frequent contributions from OMG member companies and individuals. It enjoys a very active specification community and user community. Some versions of OMG SysML are also ISO/IEC standards.
At of the time of writing, the current specification version of OMG Systems Modeling Language (SysML®) is SysMLv1.6, with work well on the way towards SysMLv1.7 (which will probably be the last one before SysMLv2).
SysML1.x is a "dialect" of the OMG Unified Modeling Language (UML®) - originally intended for software engineering - adapted for systems engineering. It leverages a subset of UML (called UML4SysML) and extends it with some additional diagram types, element types, notations, and capabilities, as well as further integrations with other languages and tools.
The Unified Modeling Language (UML®) leverages the OMG Object Constraint Language (OCL) in its specification, and users can also express many Constraints in OCL. Likewise, OCL can be used in SysML. If you are beginning with SysML, you probably won't have to deal with OCL directly for a while, but it's very powerful and definitely worth learning a bit as you progress.
Just as SysML v1.x is based on UML, the MagicDraw SysML Plugin plugin is based on MagicDraw® UML. The NoMagic suite happens to offer the SysML Requirements features as a separate Cameo Requirements Modeler Plugin. One can also purchase the Cameo Systems Modeler® product bundle, which includes all of these together (but has less flexibility for software engineering, so if you wish to do lots of UML-driven code engineering you might be better off assembling your own combination of plugins around MagicDraw® UML).
The Cameo Simulation Toolkit® is an additional plugin, and offers simulation of many aspects of UML and SysML. It is based (more or less) on the OMG fUML® (which stands for Semantics of a Foundational Subset for Executable UML Models), but it in fact does not cover every single bit of latest fUML-1.4, but does goes well beyond fUML-1.4 in some areas with some nice vendor-specific capabilities. See under the fUML zone and fUML zone for a quite comprehensive list of differences.
UML has a concept opaque expression, which refers to code or maths expressed in a language other than UML. Such expressions can be used, for example, in an OpaqueBehavior, on guards on StateMachine transitions, and in Constraints on a ConstraintBlock in SysML Parametrics.
Specifying low-level aspects of Behavior such as Activities graphically can sometimes be tedious. That's where the powerful Action Language for Foundational UML (Alf) comes in, supported by the Action Language for Foundational UML (Alf) plugin. This is a UML-friendly action language that can be used to specify many aspects of UML and SysML in code in a natural way. It requires some knowledge about the UML metamodel, but it's definitely worth learning about if you are doing a lot of simulation.
Some (not all) of what can be achieved with Alf can also be achieved with the vendor-specific Action Language Helper (ALH), which is handy, but not quite as elegant. It has the advantage that you don't need an additional plugin to use it.
If you are new to SysML, you probably won't need to learn about Alf or AHL for some time, but eventually it's good to at least know that they exist and what they basically do.
And last, but definitely not least, there is OMG SysPhS (the SysML Extension for Physical Interaction and Signal Flow Simulation), an extension of SysML that enables you to export SysML models to the powerful Modelica and Simulink languages, for simulation of signal flow and physical interaction.
The MagicDraw SysML Plugin and Cameo Systems Modeler® tools can export to Modelica and Simulink directly from most suitably-formed Blocks (including StateMachines and SysML Parametrics with mathematical constraints).