Wie der model-basierte Ansatz hilft, effizient und effektiv Systeme zu entwickeln

Modellübersicht Auto

Einleitung

Modellbasierte Systementwicklung bzw. modellbasierte Methoden gewinnen immer mehr an Popularität in der Entwicklung. Wieso ist das so? Und was ist das eigentlich genau?

Um einen Entwicklungsprozess effizient zu gestalten, führt kein Weg an modellbasierten Methoden vorbei. Damit unterschiedlichste Aspekte der Systementwicklung verbessert bzw. vereinfacht werden.

Es gibt eine sehr breite Palette an modellbasierten Methoden, welche für unterschiedlichste Einsatzzwecke gedacht sind und es hängt sehr stark vom Projekt ab, welche Methoden überhaupt einen Mehrwert bringen. Es gilt also, für jedes Projekt das richtige Set von modellbasierten Methoden zu wählen.

In diesem Artikel versuchen wir, das Begriffsdickicht um modellbasierte Methoden in der Systementwicklung etwas aufzuklären sowie die Einsatzmöglichkeiten aufzuzeigen.

 

Was ist ein Modell

«Ein Modell ist ein vereinfachtes Abbild der Wirklichkeit. Das Abbild kann die Form konkreter Gegenstände haben oder rein abstrakt dargestellt sein.» Wikipedia

Ein gutes Modell zeigt dabei alle relevanten Eigenschaften der Wirklichkeit bei bestmöglicher Vereinfachung.

Daraus folgt aber auch, dass ein Modell immer für einen spezifischen Einsatzzweck optimiert ist.


Abbildung 1: Drei Modelle eines Autos, je für einen anderen Einsatzzweck.

 

Wie im Beispiel von Abbildung 1 zu sehen ist, können Modelle für dasselbe reale Objekt sehr unterschiedliche Formen annehmen.


Dabei gibt es eine fast unbegrenzte Anzahl an möglichen Modellen, je komplexer ein Objekt umso mehr Möglichkeiten ergeben sich natürlich. Aber selbst für sehr kleine Dinge wie
Atome oder Licht sind in der Physik unterschiedliche Modelle im Einsatz.

Eventuell ist dies ein Grund, warum der Begriff «Modell» bei «modellbasierten Methoden» so viele unterschiedliche Interpretationen zu lässt.

Der Kern ist dabei jedoch stets derselbe und entspricht im Wesentlichen genau der oben genannten Definition. Ein Modell ist eine vereinfachte Darstellung, welche alle relevanten Eigenschaften der Wirklichkeit abbildet. Ein so geartetes Modell reduziert die Komplexität und vereinfacht damit das Arbeiten in Bezug auf den spezifischen Einsatzzweck.

Damit ist es nur folgerichtig, dass es eine ganze Reihe von «modellbasierten Methoden» (model-based methods) für unterschiedliche Einsatzgebiete gibt. Im Folgenden wird versucht, die etwas verwirrenden Begrifflichkeiten, die sich dabei ergeben, ein wenig zu ordnen.

 

Wie lassen sich die verschiedenen Ansätze einteilen?

Nach allem, was wir nun über Modelle wissen, bietet sich der Einsatzzweck als zentrale Eigenschaft eines Modells als Parameter für eine Einteilung an.

Damit kann man auch gleich zu Beginn klarstellen, dass wir hier nur Ansätze für die Entwicklung technischer Systeme betrachten wollen. Damit können wir das Modellauto aus Abbildung 1 also getrost ausser Acht lassen.


Die beiden anderen Modelle zeigen uns jedoch zwei wichtige Einsatzzwecke auf. Diese Einsatzzwecke könnte man wie folgt unterteilen:

  • Verhaltensbeschreibung
  • Informationsaustausch

Auch wenn es teilweise Überschneidungen gibt, lassen sich die modellbasierten Methoden anhand ihrer Grundintention in diese zwei Gruppen einteilen.

 

Verhaltensbeschreibende modellbasierte Methoden

Geht man von einer Softwareapplikation aus, ist es naheliegend, dass ein verhaltensbeschreibendes Modell dazu verwendet werden kann, um daraus die Implementation dieser Applikation automatisiert zu erstellen.

Erweitert man diesen Ansatz nun noch um ein zweites verhaltensbeschreibendes Modell, welches die Umgebung, also das Verhalten aller Schnittstellen des ersten Modells abbildet, erhält man die Möglichkeit das Verhalten des Gesamtsystems zu simulieren.

Die gebräuchlichste Bezeichnung für solch einen Ansatz ist:

  • Model-Based Design (MBD)

Damit ist es auch möglich, Simulationen bzw. Tests für unterschiedliche Entwicklungsstufen durchzuführen. Die möglichen Ansätze bezeichnet man dabei als:

  • Model-in-the-Loop (MIL)
  • Software-in-the-Loop (SIL)
  • Processor-in-the-Loop (PIL)
  • Hardware-in-the-Loop (HIL)

Eine Beschreibung dieser Ansätze ist im unten folgenden Glossar zu finden.

Da das Verhalten durch das Modell beschrieben ist, ist es damit also nicht nur möglich, die Software-Applikation automatisiert generieren zu lassen, sondern die Implementation auch in unterschiedlichen Entwicklungsphasen zu verifizieren.

 

Modellbasierte Systementwicklungsmethoden für das Informationsmanagement

Das rechte Bild in folgender Abbildung zeigt den stark abstrahierten Aufbau eines Autos.

Ein Auto besteht aus 2 Vorderrädern, 2 Hinterrädern und einem Motor, wobei über eine Achse 2 Räder vom Motor angetrieben werden. Diese Art von Modellen ist sehr gut geeignet, um Strukturen und Beziehungen darzustellen.

Modellbasierte Methoden, welche ähnlich geartete Modelle zur Informationsverwaltung nutzen, sind unter anderem:

  • Model-Based Enterprise (MBE)
  • Modelle für Printed Circuit Boards (PCB) in ECAD Applikationen
  • Model-Based System Engineering (MBSE)

Die ersten beiden Methoden kommen in den spezifischen Disziplinen Mechanik und Elektronik zum Einsatz und sind in den entsprechenden Entwicklungswerkzeugen integriert. MBSE ist hingegen eine Methode, um Architekturen kompletter Systeme zu beschreiben und setzt damit im Prinzip noch eine Stufe höher an.

 

Welches ist nun die beste modellbasierte Methode?

Nach den obigen Ausführungen ist klar, dass dies die falsche Frage ist. Jede der oben genannten Methoden hat ihren spezifischen Einsatzzweck. Die Frage sollte also lauten:

Welche modellbasierten Methoden soll ich einsetzen?

Modellbasierte Systementwicklung bzw. modellbasierte Methoden bieten viele Vorteile, verlangen jedoch oft eine entsprechende Tool-Unterstützung. Ist diese gegeben, ist es auch ohne weiteres möglich, alle obengenannten Methoden einzusetzen.

Werden all diese Methoden eingesetzt, ergibt sich damit folgendes Gesamtbild:

  • Architektur/Design: MBSE
  • Mechanik: MBE
  • Elektronik: ECAD
  • Software: Model-Based Design

 

Zusammenfassung

Die Begriffe Modell und modellbasiert können sehr breit interpretiert werden. Dies hat nicht zuletzt mit dem Umstand zu tun, dass ein Modell immer für einen bestimmten Zweck erstellt wird und die Menge an legitimen Modellen zumindest sehr gross, wenn nicht gar unendlich ist.Was sie jedoch alle gemeinsam haben ist, dass es sich um eine Vereinfachung bzw. um eine Reduktion aufs Wesentliche handelt. Das Ziel ist dabei immer, auch die damit durchgeführten Tätigkeiten zu erleichtern.

Allgemeine Vor- und Nachteile von modellbasierten Methoden:

Die Vorteile liegen in der Verbesserung bzw. Unterstützung von Arbeitsabläufen.

Als Nachteil kann die notwendige Tool-Unterstützung betrachtet werden. Hier kann noch unterteilt werden in Tool-Kosten, Einarbeitung in neue Tools und die Gefahr von Tool-Lock-ins (starke Bindung an proprietäre Datenformate etc.).

Die genannten Nachteile können jedoch mit einer bedachten Wahl der Tools/Entwicklungswerkzeuge sehr reduziert werden. Natürlich gilt es auch dann noch, die Vor- und Nachteile gegeneinander abzuwägen. Wir sind überzeugt, dass jedes Projekt, egal welcher Grössenordnung, von der Nutzung von modellbasierten Methoden profitieren kann.

 

Glossar

Begriff

Abkürzung

Beschreibung

Model-Based Design

MBD

Modellbasierte Software-Entwicklungsmethode, bei welchen zwei verhaltensabbildenden Modellen verwendet werden, um zum einen das Verhalten der Software, zum anderen das Verhalten der Umgebung zu beschreiben.

Dies ist auch die Grundlage für die Verwendung von «in-the-Loop»-Verfahren (MIL, SIL, PIL, HIL).

Model-Based Enterprise

MBE

Modellbasierte Mechanik-Entwicklungsmethode, bei welcher das 3D-Modell als zentrale Informationsquelle dient.

Model-Based System Engineering

MBSE

Die Methodik des System-Engineerings, in der Informationen über ein System und dessen Aufbau in einem zentralen Modell abgelegt sind. Modellbasiertes System-Engineering.

Model-in-the-Loop

MIL

Die Simulation eines eingebetteten Systems in einer frühen Entwicklungsphase, wobei das Modell der Software zusammen mit dem Modell der Umgebung simuliert wird.

Setzt Model-Based Design voraus.

Software-in-the-Loop

SIL

Die Simulation eines eingebetteten Systems in einer recht frühen Entwicklungsphase, wobei der generierte Code des Softwaremodells zusammen mit dem Modell der Umgebung simuliert wird. Der generierte Code läuft dabei auf einer Entwicklungshardware, welche nicht identisch mit der Zielhardware ist. Setzt Model-Based Design voraus.

Processor-in-the-Loop

PIL

Die Simulation eines eingebetteten Systems in einer recht frühen Entwicklungsphase, wobei der generierte Code des Softwaremodells zusammen mit dem Modell der Umgebung simuliert wird. Der generierte Code läuft dabei auf der Zielhardware (Prozessor). Setzt Model-Based Design voraus.

Hardware-in-the-Loop

HIL

Der Test eines eingebetteten Systems in einer späten Entwicklungsphase, wobei der generierte Code des Softwaremodells auf der Zielhardware im Zusammenspiel mit einer durch einen HIL-Simulator nachgebildeten realen Umgebung getestet wird. Setzt Model-Based Design voraus.

Electronic computer-aided design

ECAD

Software für den Entwurf von Elektronik. Wird auch als Electronic Design Automation (EDA) bezeichnet.

Printed Circuit Board

PCB

Eine Leiterplatte bzw. Platine.

Sind Sie an weiteren Beiträgen interessiert?

Hinterlassen Sie hier Ihre E-Mail-Adresse und wir informieren Sie, sobald wir neue Beiträge veröffentlichen.

DATAFLOW Software

Nutzen Sie unsere 30-Tage-Testversion

Voriger
Nächster


Gewerbestrasse 8  |  9470 Buchs  |  Schweiz  |  Tel. +41 81 750 06 40  |  Email dataflow@imt.ch

Vielen Dank für Ihre Anmeldung!

Ab sofort erhalten Sie einen Newsletter zu spannenden Inhalten und Artikeln aus dem Bereich Embedded Systeme.

Gewerbestrasse 8  |  9470 Buchs  |  Schweiz  |  Tel. +41 81 750 06 40  |  E-Mail office@data-flow.ch

DATAFLOW IMPRESSUM

Kontakt-Adresse
DATAFLOW Software AG Gewerbestrasse 8 9470 Buchs Schweiz E-Mail: office@data-flow.ch
Vertretungsberechtigte Person(en)
Christian Büchel, CEO
Handelsregister-Eintrag
Eingetragener Firmenname: DATAFLOW Software AG Handelsregister Nr: CHE-190.688.043 Mehrwertsteuer-Nummer CHE-190.688.043
Haftungsausschluss
Der Autor übernimmt keinerlei Gewähr hinsichtlich der inhaltlichen Richtigkeit, Genauigkeit, Aktualität, Zuverlässigkeit und Vollständigkeit der Informationen. Haftungsansprüche gegen den Autor wegen Schäden materieller oder immaterieller Art, welche aus dem Zugriff oder der Nutzung bzw. Nichtnutzung der veröffentlichten Informationen, durch Missbrauch der Verbindung oder durch technische Störungen entstanden sind, werden ausgeschlossen. Alle Angebote sind unverbindlich. Der Autor behält es sich ausdrücklich vor, Teile der Seiten oder das gesamte Angebot ohne besondere Ankündigung zu verändern, zu ergänzen, zu löschen oder die Veröffentlichung zeitweise oder endgültig einzustellen.
Haftungsausschluss für Links
Verweise und Links auf Webseiten Dritter liegen ausserhalb unseres Verantwortungsbereichs. Es wird jegliche Verantwortung für solche Webseiten abgelehnt. Der Zugriff und die Nutzung solcher Webseiten erfolgen auf eigene Gefahr des jeweiligen Nutzers.
Urheberrechte
Die Urheber- und alle anderen Rechte an Inhalten, Bildern, Fotos oder anderen Dateien auf dieser Website, gehören ausschliesslich der Firma DATAFLOW Software AG oder den speziell genannten Rechteinhabern. Für die Reproduktion jeglicher Elemente ist die schriftliche Zustimmung des Urheberrechtsträgers im Voraus einzuholen.
Quelle: SwissAnwalt

Vielen Dank!

Wir wünschen Ihnen viel Spass mit DATAFLOW Software

Voriger
Nächster


Gewerbestrasse 8  |  9470 Buchs  |  Schweiz  |  Tel. +41 81 750 06 40  |  Email dataflow@imt.ch