The MBSE triangle: language, tool, methodology

In order to practice Model-Based Systems Engineering (MBSE), we need a foundation consisting of language, tool and methodology. SysML is the most popular, but not the only language. There is also a lot of choice when it comes to tools and methods.
In the following, we take a closer look at the three elements and also give a few practical examples of three-way constellations. For example, Capella/Arcadia, SysML/Harmony/Rhapsody or SysML/MagicGrid/Cameo.
Donation campaign: You have voted, the donation goes to... to the result >>
The "opposite" (or the predecessor) of MBSE is document-based systems engineering. We do not need a specific tool for this: the "document" unit can be generated by different tools. We also do not have a standardized language. However, each document should be consistent in terms of language. The best-known method is the V-model (the Procedure model), of which there are several variants. In this respect, the concept of three pillars does not really exist in traditional systems engineering.
The MBSE triangle
With MBSE, on the other hand, it is important to commit to language and tool. Without committing to the language, it is hardly possible to argue formally, i.e. to use the model effectively. And formal argumentation is practically impossible without a tool.
The MBSE triangle can be seen in the cover picture. In practice, we encounter the MBSE triangle more and more often. Helpful descriptions can be found, for example, at Beyond MBSE or CameoMagic.
The language
The language consists of syntax, grammar and notation. Even though this blog is a lot about SysML SysML is not the only language for MBSE. Even though it was not originally designed for systems engineering, it can (and is) UML nevertheless used as the language for the MBSE. The Capella tool uses its own language, which is based on SysML.
Less well known is Architecture Analysis and Design Language (AADL). This language was developed for the description of embedded systems. Petri nets are suitable for systems consisting of interacting components. However, these do not cover the scope of SysML.
SysML is sometimes referred to as "semi-formal" because this language is not based on formal mathematical logic. Languages such as Event-B into play.
The tool
Many tools support more than one language. For example, the "big three" modeling tools (Rhapsody, Cameo and Enterprise Architect) support SysML, UML and sometimes other modeling languages. It is therefore important to explicitly define the language when introducing MBSE.
Since many tools support more than one language, the language should be explicitly defined when introducing MBSE so that a mishmash model is not created by mixing languages.
The niche tools often only support a single language, but they support it very well. Capella supports its own (nameless) Capella modeling language, Rodin only supports Event-B, etc.
The choice of tool is not enough, because we also have to use it correctly with the chosen language. This is the third part of the MBSE triangle:
The methodology
The methodology describes the activities, techniques and conventions of system development. In particular, it also describes how the language is used for this.
In some teams, the methodology has grown over the years. More and more often, however, it is based on a standard. In the past, software development methodologies were used here (such as OR or Iconix). However, there are now also methods developed explicitly for systems engineering. These include manufacturer-independent approaches such as FASas well as tools such as Arcadia (Capella).
Interesting are methods such as MagicGrid (Cameo) and Harmony (Rhapsody): Although these are theoretically linked to the corresponding tools, they can be adapted relatively easily to other SysML tools.
The OMG MBSE wiki has a (somewhat outdated) List of methodologies for those who are looking for further information.
Summary of the triangles presented
The three constellations of method, language and tool presented here are shown in table form. The contents in brackets are not fixed. If "N/A" is specified for method, then there is no specially adapted method. In this case, teams should build on an existing methodology (e.g. V-model) and adapt it to the notation. There is often also accompanying documentation in which we can find methodological content.
| Methodology | Language | Tool |
|---|---|---|
| FAS | SysML (adapted) | (must support SysML) |
| Arcadia | Capella language | Capella |
| N/A | Event-B | Rodin |
| OR | UML | (must support UML) |
| Iconix | UML | (must support UML) |
| MagicGrid | SysML | Cameo (alternative possible) |
| Harmony | SysML (adapted) | Rhapsody (alternative possible) |
| N/A | AADL | (must support AADL) |
| SYSMOD | SysML (adapted) | (must support SysML) |
Conclusion
Of course, there are many more methodologies, languages and tools and, accordingly, many more triangles. Which constellation do you prefer to work with and which ones are missing? Let us know in the comments!
Photo by Icons8 Team on Unsplash






