Introduction
Since the “invention” of SysML people have tried to integrate that in an Automotive ( read: AUTOSAR ) workflow.
This turned out to be problematic since the fundamental processes behind both standards differ quite much.
Even “Using SysML” is not something you just do. You need a defined process, like e.g. Harmony, to implement the use of SysML.
SysML
SysML, the SYStems Modeling Language, was defined around the year 2003 by a joint effort of INCOSE and the OMG.
SysML is a general-purpose architecture modeling language for Systems Engineering applications.
- SysML allows the specification, analysis, design, verification and validation of a wide range of systems and systems-of-systems. These systems may include electronics, mechanics, software, information, processes, personnel, and facilities and many more.
- SysML is a dialect of the UML 2, and is in fact a UML 2 Profile. (A UML Profile is a UML package that allows customization of the language via Stereotypes, Tagged Values, and Constraints.)
- SysML is an enabling technology for Model-Based Systems Engineering (MBSE).
The SysML was originally created by the SysML Partners’ SysML Open Source Specification Project in 2003. The SysML was adapted and adopted by the Object Management Group (OMG) as OMG SysML in 2006.
How to use SysML
There are many ways to use SysML to define systems.
- Just a drawing Tool
You can start by just drawing pictures like you would do on a whiteboard or flip-chart. This already helps you compared to the text-only approach but still it does not unlock the full potential of MBSE. This does not have linking to e.g. requirements or to further steps in development. It only helps obtaining a better overview of the architecture. - Simulation modeling
Already a step forward. Helps to understand the system and even make it as perfect as possible, in a simulation environment. - Architecture modeling
All the previous but a huge improvement over that. This includes a precise and complete specification of the System Architecture Model (SAM) that can be distributed to all engineers, in this case for all software engineers. In order for the SAM to serve as system architecture truth for a systems engineering project the SAM must satisfy all Five C’s of system architecture quality (Correct, Complete, Clear, Concise, and Consistent). - Create an executable System Architecture
This is the summum of using SysML and is still very rare.
Harmony
Unfortunately: Not a complete Harmony
There are different versions of Harmony.
- HarmonySE
‘Classic’ method. Uses standard ports by default but can use proxy ports. Use Case models are built as separate Rhapsody models and then merged after the architectural analysis phase back into a single model. - HarmonySWE
‘Classic’ method for Software. Use Case models are built as separate Rhapsody models and then merged after the architectural analysis phase back into a single model. - Harmony aMBSE
Uses proxy ports. Use case models are built as separate packages in the same Rhapsody model. Merging of use cases is performed in the same model which can lead to conflicts.
Further info and detailed guidebooks for both can be found here:
https://www.ibm.com/docs/en/rhapsody/9.0.1?topic=secsyscontroller-harmony-process - HarmonyMBE (tbd)
Work in progress. Based on the previous two iterations, HarmonyMBE aims to simplify the workflows and reduce the need for merging or consolidation whist still allowing parallel development.
The cool thing is that you can mix some of these. So for Automotive we recommend using “Classic” Harmony but wit h”Proxy Ports” switched on. The many helpers will support you in making your models. In later BLOG entries i will write more about details.
How to use Rhapsody SysML
- not just as a drawing tool, please….
Rhapsody is just too powerful, you leave a lot of potential in this way. - as the integrator part of your development data. Rhapsody can include and link data from various sources.
- Requirements
If from DOORS, using Gateway or ReqXChanger, DOORS NG, using OSLC, or non-IBM Tools, using Req/IF, you can have requirements in Rhapsody and link your model elements to it to obtain traceability, even until source code! (If you generate code from Rhapsody it can generate your requirement text in there!) - Other models
For instance MatLab Simulink models can be linked to Rhapsody to allow co-simulation.
- Requirements
- As a base for the testing ( Early V&V )
Rhapsody has the Test-Conductor AddOn that allows for Models to be tested semi-automatically. Once you’ve mad tests they can be automatically repeated over and over again. The results are part of the system model. - use the Harmony Toolkit and its helpers.
This is a great way of using Systems Engineering.The Harmony process defines the steps that you have to do to come from requirements to a system. These steps are supported with helpers that assist you in building up the model.
How to get from SysML to AUTOSAR
There are 2 ways to do this:
- You don’t
- Yo do.
Sounds easy. Why shouldn’t you do that?
That depends on your development process. You can choose to use dedicated System Engineers that use Rhapsody, SysML and some flavor of Harmony to make a systems model. Do you want to burden these experts with AUTOSAR knowledge? If you don’t then you use the Harmony tools and smart M2M rules to transfer your SysML model to an “Intermediate Model”. From that model you can create an AUTOSAR model in Rhapsody using M2M. Or if you don’t want an AUTOSAR model you can use M2MIE to directly write ARXML from the intermediate model.
OK. And why would you do that anyway?
Also depending on your process. And on the question if you use “real” Systems Engineering with SysML or already an AUTOSAR influenced version of SysML. If you do, you have to create the M2M ( or M2MIE ) rules to transfer your AR SysML to AUTOSAR.
In the installation version of both M2M’s you wil find a template version of rules as we think are useful.
So. That’s it for today! Happy Systems Engineering for AUTOSAR with Rhapsody!