Ganz schön getrieben: Der Unterschied zwischen MBSE und MDSE

Modellierung hat längst Einzug in Systems Engineering gehalten. Doch dafür gibt es verschiedene Begriffe. Insbesondere begegnet man oft MBSE (Model Based Systems Engineering) und MDSE (Model Driven Systems Engineering)? Im Folgenden möchte ich die Unterschiede klären. Und wo wir schon dabei sind: Man kann mit Modellen natürlich auch andere Themen beackern, wie Architektur (MDA) oder Design (MDD). Gut dazu passt übrigens auch der Artikel 18 Dinge, die Sie mit Systemmodellen machen können, sowie das SYSMOD Intensity Model.

Getrieben oder Basiert?

Zu den Unterschieden der verschiedenen Ansätze hat Jordi Cabot in seinem Blog einen lesenswerten Artikel geschrieben. Ich kann ihm nur zustimmen, dass „modellbasiert“ weicher ist als „modellgetrieben.“ Das erste bedeutet, dass Modelle zwar wichtig sind, aber nicht unbedingt Artefakte „erster Klasse“. Bei einem modellgetriebenen Ansatz hingegen sind die Modelle zentrale Artefakte der Entwicklung. Als konkretes Beispiel könnte im ersten Fall das Modell als Dokumentation für die Softwareentwickler herangezogen werden, im zweiten würde jedoch der Code vom Modell generiert werden. Diese Unterscheidung bedeutet auch, dass MDSE eine Untermenge von MBSE ist: Überspitzt könnte ein per Copy & Paste eingefügtes Zustandsdiagramm bereits als MBSE bezeichnet werden.

Engineering, Development und Architecture

Bei der nächsten Frage geht es um die Bedeutung der Buchstaben, die nach „Model Driven“ folgen, also MD(S)E, MDD oder MDE: Engineering, Development und Architecture. Auch da hat Jordi in seinem Artikel klar Stellung zu genommen. Ich sehe ebenfalls Engineering als den übergeordneten Begriff, und in die Kategorie des Engineerings fällt für mich dementsprechend auch das Anforderungsmanagement (und damit die Modellierung von Anforderungen). Engineering deckt für mich die volle Breite des Systems Engineering ab.

Beim Development hingegen geht es um die Ableitung einer Implementierung. Hier wird oft die Codegenerierung als leicht erkennbares Merkmal erwähnt. Dies ist auch der Bereich, in dem UML traditionell eingesetzt wird.

Unter einer Architektur verstehe ich den Rahmen, in den die Teile des zu entwickelnden Systems fallen. Daher ist das Architekturmodell weniger detailliert als das Development-Modell. Jordi hat da eine etwas andere Sicht, da er nur das Verständnis der OMG von MDA betrachtet. Unter dieser Annahme stimme ich Jordi’s Analyse zu. Allerdings sehe ich die Sicht der OMG als nur eine mögliche Interpretation von MDA.

Das Ergebnis ist jedoch das selbe: Man kann die verschiedenen hier erwähnten Ansätze als ineinander verschachtelte Teilmengen verstehen. Dies wurde schön in Jordi’s Blog anhand eines Bildes visualisiert, welches aus der Masterarbeit von David Ameller stammt und im Titelbild zu sehen ist.

Fazit

Ein klares Verständnis der Begriffe ist die Grundlage für jede Diskussion. Dabei dürfen wir nicht davon ausgehen, dass die hier besprochenen Begriffe fest etabliert sind. Es wird sicher noch ein paar Jahre (Jahrzehnte?) dauern, bevor in allen Köpfen das selbe Bild erscheint, wenn der Begriff „MBSE“ fällt.

Bild: David Ameller / Free Stock Textures

 

 

 

 

 

Dieser Artikel erschien zuerst bei se-trends.de.

One Pingback/Trackback

  • Tim Weilkiens

    Bezüglich der Definition von MBSE sehe ich ein wenig anders. In MBSE sind Modelle durchaus Artefakte erster Klasse. Die Modelle sind die Master der Engineering-Informationen und beispielsweise Dokumente sind Sichten auf das Modell. Unter „based“ verstehe ich, dass die Modelle die Basis des Engineerings sind. Unter „driven“ verstehe ich, dass die Modellartefakte auch immer Quelle für weitere (generierte) Artefakte sind. Die Grenze zwischen MB und MD ist sicherlich unscharf.

    Ich finde auch die Definition von MBSE von INCOSE etwas schwach. Dort steht, dass der Zweck der Modellierung ist „to support“ das Engineering. Ich würde es eher Model-supported Systems Engineering (MSSE) nennen, wobei ich mich scheue, noch einen Begriff und eine Abkürzung ins Rennen zu schicken.

    • Hallo Tim, Dein Argument ist nachvollziehbar, aber wie Du ja selbst sagst, gibt es hier viele teilweise gegensätzliche Definitionen. Grundsätzlich fand ich Jordi’s Ansatz ganz charmant, und wollte dem etwas mehr Sichtbarkeit geben. Auch die Schachtelung in der Form von Teilmengen fand ich hilfreich: Selbst wenn die Grenzen unscharf sind, sollten wir uns bspw. darauf einigen, dass MDSE eine Teilmenge von MBSE ist.

      Was das Einführen von neuen Begriffen betrifft, freue ich mich, dass Du Dich scheust: Da muss ich an diesen XKCD denken: https://xkcd.com/927/ 🙂

  • Pingback: Was ist eigentlich MBSE? - Systems Engineering Trends()