Model based design (MBD) is not a new concept; it’s been successfully applied to complex software systems for many years. MBD is often implemented using the unified modeling language (UML) for software development from the Object Management Group (OMG). Extending the concepts of MBD to cyber-physical systems, including both software and hardware, is a relatively newer idea called model-based systems engineering (MBSE). Tools such as UML used for MBD are inadequate to describe entire hardware systems, and a new systems modeling language (SysML) was developed.
This FAQ traces the development of SysML for MBSE from SysML v1.0’s roots in UML to the soon-to-be-announced SysML v2.0 and how SysML is evolving to serve the needs of MBSE users better.
When using UML, modeling is defined as designing a software application before coding begins and is considered an important part of software projects of all sizes. There are several modeling methodologies available, and UML is methodology agnostic. Software designers also use the Extensible Markup Language (XML) metadata interchange (XMI, another OMG standard) for transferring UML models between other tools. The latest version, UML 2.0, defines thirteen types of modeling diagrams, divided into three general behavior classes:
- Structure diagrams include; Class, Object, Component, Composite Structure, Package, and Deployment.
- Behavior diagrams include; Use cases (used by some methodologies during requirements gathering), Activity, and State Machines.
- Interaction diagrams are derived from more general behavior diagrams and include; Sequence, Communication, Timing, and Interaction Overview.
SysML v1.0 is designed for modeling cyber-physical systems from conceptualization and specification through design, analysis, validation, and verification and is based on UML 2.0. SysML v1.0 incorporated six of UML’s diagrams, with some modifications, and added diagrams for block definition, internal blocks, and parametrics. Compared with UML, SysML v1.0 is smaller and easier to learn and use (Figure 1).
While SysML v1.0 was useful for modeling various systems, including hardware, software, cyber environments, processes, and even personnel and facilities, its roots in UML and software development ultimately limit its usefulness. As cyber-physical systems in aerospace, automotive, energy systems, and other fields have become increasingly interconnected and complex systems of systems, the use of SysML v1.0 became unsustainable. As a result, SysML v1.0 is morphing into v2.0 with the richer modeling capabilities needed to support advanced MBSE applications. SysML v2.0 will include a new core called KerML, independent from UML. In addition, a second embodiment of SysML v2.0 still be closely based on UML. While it will ease the transition from SysML v1.0 to SysML v2.0, the second embodiment will not have the complete functionality offered by a full SysML v2.0 implementation since UML will limit its core.
The full SysML v2.0 will be more precisely specified than v1.0 and include executable models. SysML v2.0 will have a declarative semantics expressed in mathematical logic that will bring important benefits for modeling complex cyber-physical systems in MBSE (Figure 2):
- Reduced ambiguity. Compared with semantics expressed in natural language, which can be subject to differing interpretations between users, using semantics based on mathematical logic and expressions leads to consistent understanding between all users.
- Increase integration of the language. Mathematical abstractions will be included that support the description of inherently different engineering concepts such as behavior and structure, enabling SysML v2.0 to provide more complete support for the wide variety of MBSE activities.
- New model elements. Elements such as material and geometric properties, variants, cause and effect relationships, and risk will be explicitly modeled in SysML v2.0.
Compared with v1.0, SysML v2.0 will improve the precision, expressiveness, interoperability, consistency, and integration of the language concepts. v2.0 will also be easier to automate and more intuitive to understand. Those are important considerations when dealing with diverse engineering communities, including electrical, electronics, hydraulics, mechanical, software, etc.
SysML v2 sub languages
SysML v2.0 is a general language for modeling systems, and it consists of a collection of sub-languages optimized for specific tasks such as queries and model transformations. Since it’s a ‘modular’ language, SysML could be expanded in the future to include other task-specific sections. The first release of SysML v2.0 is expected to include nine sub languages, such as; model transformation, query, and expression languages, plus a sub-language focused on representing metamodels. This SysML v2.0 metamodeling language will then be used to represent the SysML v2.0 metamodel and for developing digital twins to support MBSE. The SysML v2.0 metamodeling language will be a subset of SysML v2 language features used for activities such as structural and behavioral modeling but specifically applied to metamodeling.
The SysML v2 metamodel will also support mapping to the Semantic Meta-Object Facility (SMOF) metamodel. SMOF is an extension of the base MOF specification; both are OMG standards. That, in turn, will support integration into existing MOF and SMOF-based tools.
Uniform interpretation & lifecycle support
Compared with SysML v1.0, v2.0 provides for more uniform interpretations and the ability to support a complete system for entire product lifecycles. SysML v1.0 is specified using ULM 2 profiles and formalism, which results in possible ambiguity. SysML v1.0 does not have a complete mapping between concrete and abstract syntaxes. And some of the semantics of v1.0 are defined in English instead of a more formal mathematical or logical expression, which results in another possible source of misinterpretation and ambiguity. SysML v2.0 will include a more formal and detailed specification for its abstract and concrete syntaxes and semantics and mappings tying them together.
A relatively small set of concepts and associated semantics will be built using mathematical declarative statements to act as a foundation for v2.0 implementations. v2.0 will also support a combination of standard and user-defined model libraries written in SysML. The standard models will provide the core for SysML implementations, while the user-defined models provide a path to customization of the language for specific MBSE use cases.
SysML v1.0 and v2.0 can model variable structures that include multiple components and component sub-classes. New concepts have been added in v2.0 to model more specific system design configurations, such as different torque values for individual bolts, that are not simple to implement with v1.0.
A lack of lifecycle support is another limitation of SysML v1.0. While v1.0 can model a final assembly with measured values that replace the as-designed values used in the system design configuration, further changes cannot be easily made once that has been done. There is no support for dynamic digital twins or the required digital thread needed to track changes in a system throughout its lifecycle. For example, if a component fails and is replaced in an already built system, it is not easy to track that using v1.0.
That important limitation is addressed in v2.0 by adding the ability to identify individual systems as they complete production using a unique serial number or, in the case of aircraft, a tail number. Models in SysML v2.0 can include measured values that replace the as-designed values and can be changed if a part is replaced or modified. Each individual unit can have a dedicated model representing structural or operational changes it experiences over its lifetime. That functionality extends to both the digital twin and the digital thread.
Summary
SysML was developed to support the needs of MBSE. It started as a derivative of UML 2.0, which was optimized for modeling software projects prior to coding. The inherent limitations of SysML v1.0 make it unable to support more advanced cyber-physical systems and systems of systems. As a result, SysML v2.0 is being developed to address numerous shortcomings in the first version. SysML is expected to continue evolving and stay relevant as system complexities continue to increase in the future.
References
Defining the future of MBSE: SysML v2, Siemens
MBSE and SysML, Visual Paradigm
OMG Systems Modeling Language Version 2 Requirements Support Document, Object Management Group
Unified Modeling Language, Wikipedia