| logo | Files/logo.png |
|---|---|
| description | Tutorial on modeling with SysML v2 |
| subtitle | SysML v2 Ecosystem and Methodology |
| author | RPTU Kaiserslautern-Landau, Chair of Cyber-Physical Systems |
[toc]
Learning objectives
In this part, you will learn about for which purpose and how to use SysML v2. After reading this section, you will
- understand what SysML v2 is, and when to use SysML v2 and when not,
- have an overview of the development process and how SysML v2 can be applied within it,
- know about the features of SysML v2 tool ecosystems.
SysML (“Systems Modeling Language”) is a standard for Model-Based Systems Engineering. The standard is developed and provided by the Object Management Group (OMG). SysML allows us to model and exchange
- Requirements
- Specification
- Verification and Use cases
- Test cases
SysML provides a rather general language for arbitrary domains, including software, digital hardware, mechanical components, and many other domains. SysML is hence suitable for modeling systems that combine multiple domains.
Often, different domains have established domain-specific solutions. These are usually highly optimized for e.g. microelectronic systems. Then, SysML can nicely be used for crossing different domains, by linking them with system requirements (e.g. safety of an automobile), and associated use-, analysis, and verification cases.
SysML v2 is the latest version of SysML. However, version 2 is not a simple “update” of v1.X. Compared with a previous version of UML and SysML, it is mostly entirely new, but not entirely different. The SysML v2 standard includes
- KerML, a new metamodel that is, unlike in earlier versions, not based on UML.
- SysML v2 diagrams,
- SysML v2 textual modeling language,
- SysML v2 API, in particular a REST API.
As mentioned above, SysML v2 is not a domain-specific tool development or for modeling/simulation. Its use cases go over the whole development where it provides the "glue" between different domains. A reasonable methodology to use the SysML v2 ecosystem might be as follows:
The requirements elicitation documents and organizes needs of stakeholder. They are often not modeling experts. For this purpose, documents in natural language, but as well figures, equations, and more are used. These usually end up in human-readable text. Furthermore, methods for the verification of a requirement should be given. In SysMD Notebook, this can be either a
- Documentation cell in SysMD Notebook, or a
- Requirement of a SysML v2 model, in which a
requirementstatement has adocstatement includes the human-readable text. - Verification method is given in a SysML v2 model, in which a
verificationstatement has adocstatement that includes the human-readable description of a test. An introduction with examples is given in the SysML v2 part of the tutorial. Furthermore, use- and analysis- cases can be given (not yet included).
System-specification creates machine-readable models -- e.g., concrete constraints, etc. -- from the human-readable requirements.
This is, where typical Model-Based Systems Engineering (MBSE) approaches begin.
In SysML v2, the requirement and verification statements can be enriched with modeling concrete
dependencies and constraints.
A key aspect of modern MBSE is now to link requirements, specification and constraints with the design that is created within the following development process. In the best case -- supported by SysMD notebook -- a contiuous verification and validation of requirement, constraints, and the design artifacts is done.
The design process creates concrete components that satisfy the specification and requirements. This is typically done by (at least) two steps that are linked again with suitable relationships:
- Functional view in which the functions are modeled and broken down to sub-functions, using parts and items of SysML v2.
- Physical (or: technical) view in which the physical elements that realize the functions are modeled.
Furthermore, one can add a geometrical view.
The benefit of MBSE modeling effort lies in its use cases. The model created throughout the requirements elicitation, specification ,and the design process an the be used in the following tasks:
Documentation by diagrams that enable many stakeholders to quickly understand relationships of a model. However, often this is considered as not worth the effort of creating models.
Analysis of relationships by tracing changes and updating requirements, constraint, often allowing a detailed change-impact analysis, by following links from a component that does not satisfy its constraints. Unfortunately, most tools do not automatically solve all expressions and dependencies and focus on creating and propagating "check-marks".
Continuous verification and validation by checking whether specified constraints can be satisfied by the existing design. This includes also the bidirectional evaluation of constraints to functions and parts, and vice versa. SysMD Notebook is able to automate this task via its solver.
Safety and hazard assessment Analysis of faults and its impacts.
Production Result of the development process is a cloud database that includes all parts and its variants. This can be used as a bill of materials (BOM) for production, and complementary information can be added to the models.
Operation The BOM derived from the SysML v2 model, together with complementary behavioral models for testing and verification can be used as a starting point for a digital twin that links
- development, where basically types and features of things are modeled, and
- operation, where unique, single individuals (SysML v2:
individual) are linked with models and individual-related data.
A typical SysML v2 ecosystem might consist of
-
Frontend tools for different purposes including all activities of a product life cycle. This includes SysMD Notebook which is in suitable particular for systems engineering. Other use cases might involve e.g. change management of modeled parts.
-
A backend in the cloud in which model elements are persisted and versioned. A backend functionality can be done in two ways:
- A simple file/text-based backend in which text is persisted. This is suitable during developing models and documentation. Version management can then be done with Git which is well suited for text-based artifacts, i.e., source code.
- A complete object-oriented versioning by a repository, e.g. in the web in which versions of the modeled elements are persisted and can be tracked. This is suitable for version management of large projects in which e.g. different tools are used for e.g. change management for single parts.
-
Libraries that are very specific for different domains and use cases.
SysMD Notebook is basically a frontend tool for early analysis in systems engineering with
- integrated file/text-based persistence of models and documents that can be versioned with Git, and
- a REST API to an object database for usage of models with object-oriented versioning.
With such a scenario in mind, the SysML v2 standard goes beyond the scope of a pure modeling language! The SysML v2 standard hence covers the following aspects:
KerML KerML is the metamodel and a basic modeling language. It provides basic modeling artifacts ("classes"), e.g. Types, Classes, Features, Expressions, and semantic libraries based on these artifacts. KerML can be represented by
- An abstract representation of instances of the metamodel classes.
- KerML Textual representation
SysML v2, a language for Systems modeling with basic constructs based on KerML. SysML v2 models can be represented by
- SysML v2 Diagrams
- SysML v2 Textual notation
In the tutorial we focus only on the textual notation.
API The SysML v2 standard also specifies interfaces for model exchange and versioning:
- For a cloud-based environment, a REST API and OSLC endpoints are specified.
- For file-based use cases, file format for projects is specified.
In the tutorial we cover all above aspects:
- KerML introduces the basic metamodel for SysML v2.
- SysML introduces basics of the SysML v2 textual modeling language.
- API gives a brief introduction into the REST API.
