Serie Software Engineering für Embedded Systeme, Teil 5

Modellbasierte Entwicklung eingebetteter Softwaresysteme

Seite: 2/2

Anbieter zum Thema

Regelungstechnisches Verhalten abbilden

Allerdings kristallisiert sich in vielen Branchen eine typische Konstellation heraus, in der die UML zur Modellierung der Architektur und zur Beschreibung von Teilen des Entwurfs genutzt wird. Sobald kontinuierliches, wie beispielsweise regelungstechnisches Verhalten zu modellieren ist, kommen Werkzeuge wie Matlab/Simulink oder SCADE zur Verhaltensmodellierung zum Einsatz.

Daraus ergeben sich zwei Herausforderungen: Zum einen muss die UML häufig angepasst werden, um in bestehenden Entwicklungsmethoden effizient zur Modellierung eingebetteter Systeme genutzt werden zu können. Zum anderen müssen die typischen branchenspezifischen Kombinationen von Sprachen automatisiert unterstützt werden, da der Ansatz ansonsten ineffizient und fehlerträchtig wäre. Beides wird von vielen verfügbaren kommerziellen Werkzeugen unterstützt, die auf den Einsatz für eingebettete Systeme spezialisiert sind. Diese stellen meist werkzeugspezifische Erweiterungen der UML zur Verfügung und unterstützen die Kopplung an Werkzeuge wie Simulink oder SCADE.

Effiziente Umsetzung der modellgetriebenen Entwicklung

Neue Komponententypen: Diese werden in ein UML Entwicklungswerkzeug integriert
Neue Komponententypen: Diese werden in ein UML Entwicklungswerkzeug integriert
Um den größtmöglichen Nutzen aus der modellbasierten Entwicklung zu ziehen, ist es also meistens sinnvoll verfügbare Werkzeuge und Sprachen an die individuellen Bedürfnisse der Firma, des Produktes oder der jeweiligen Projekte anzupassen. Die UML bietet mit dem Konzept sogenannter „Profile“ eine Möglichkeit um die Sprache auf spezielle Bedürfnisse zu adaptieren.

Sprachumfang auf tatsächliche Elemente reduzieren

Dies ermöglicht es den Sprachumfang auf tatsächlich benötigte Elemente zu reduzieren, jedoch auch die Sprache gezielt um domänenspezifische Modellierungselemente zu erweitern. Profile ermöglichen ebenfalls eine Erweiterung der UML im Hinblick auf deren Integration mit anderen Sprachen. Beispielsweise können mit einem Profil neue Komponententypen in ein UML Entwicklungswerkzeug integriert werden, deren Verhalten mit einem anderen Werkzeug, beispielsweise Simulink, implementiert wurde (Bild).

Hierbei werden neue Komponententypen und Porttypen definiert, und das UML-Metamodell mit diesen erweitert. Auf Applikationsseite muss in diesem Fall, beispielsweise durch ein Plugin, sichergestellt werden, dass die Schnittstellen zwischen den verschiedenen Werkzeugen synchronisiert werden und einheitlich sind.

Existierende Entwicklungswerkzeuge bieten niemals alle Funktionen, die für die Entwicklung in einer Domäne benötigt werden. Die Integration geeigneter oder bereits verwendeter Werkzeuge ist daher eine naheliegende Möglichkeit, um dieser Situation zu begegnen. Für jeden Entwicklungsschritt der adressierten Organisation lässt sich jeweils das am besten geeignete Werkzeug finden und einsetzen. Auf diese Weise wird eine exakt auf die Bedürfnisse der Anwender abgestimmte Werkzeugkette erstellt, welche die Entwickler unterstützt und Modelle automatisch konsistent hält.

* * Dr. Mario Trapp ist Hauptabteilungsleiter am Fraunhofer IESE und verantwortlich für den Bereich eingebettete Systeme. Dr. Thomas Kuhn ist am Fraunhofer IESE verantwortlich für die modellgetriebene Softwareentwicklung in eingebetteten Systemen und arbeitet im Bereich der Sprachtechnologien und Mehrkernprozessoren und Prof. Dr. Peter Liggesmeyer ist wissenschaftlicher Direktor des Fraunhofer IESE.

(ID:25115840)