Ein Angebot von

Systembeschreibung

Dynamische Softwarearchitektur für eingebettete Systeme

| Autor / Redakteur: Frank Slomka und Christian Hausner* / Christine Kremser

Bild 1: Epizyklischer Entwurfsprozess - Übersicht
Bild 1: Epizyklischer Entwurfsprozess - Übersicht (Bild: Universität Ulm / CC0)

Mit der UML und den Erweiterungen SysML und MARTE lässt sich die statische Architektur einer Software grundsätzlich gut beschreiben. Ein Problem stellt aber die Dynamik des Systems dar. Insbesondere das Zusammenspiel zwischen der Hardware, dem Speichermodell, dem Betriebssystem und der Anwendungssoftware kann nur unzureichend strukturiert und beschrieben werden.

Ausgehend von einem neuen Entwicklungsprozess wird eine zu UML kompatible Beschreibungsform vorgestellt, die die Besonderheiten des dynamischen Verhaltens eingebetteter Software berücksichtigt. Ein besonderes Augenmerk gilt dabei der Dynamik der Hardware/Software-Schnittstelle.

Eingebettete Systeme werden für die verschiedensten Einsatzgebiete und Aufgaben immer bedeutender und werden in stärkerem Maße miteinander vernetzt. Damit ist auch der Entwurf eingebetteter Systeme durch steigende Anforderungen und neue Herausforderungen gekennzeichnet. Dazu zählen:

  • die steigende Komplexität der zu entwerfenden Systeme bedingt durch die komplexeren und vielfältigeren Aufgaben
  • gesteigerte Vernetzung untereinander, mit der Umgebung und informationstechnischen Systemen
  • Korrektheit, Robustheit, Verfügbarkeit und Sicherheit im zunehmend autonomen Einsatz in “unkontrollierten” Umgebungen.

Eine Lösung um derartige Herausforderungen zu meistern ist die Modellierung von Systemen. Aufgrund der verschiedensten Einsatzgebiete und deren unterschiedlicher Beschaffenheit muss die Modellierung die Spezialitäten, Methoden und Techniken dieser Einsatzgebiete berücksichtigen, spezialisierte Sichten darauf bereitstellen und miteinander vereinen/integrieren können (siehe dazu auch [4]).

Eine weitere etablierte Methodik um die Herausforderungen, insbesondere die Komplexität im Entwurf derartiger Systeme zu bewältigen ist die Plattform-Entwicklung (eng. Platform-based design, siehe [1] und [8]).

Diese Entwurfsmethoden werden durch den komponentenbasierten Ansatz ergänzt. Man versteht unter einer Komponente einen modularen Teil eines (komplexen) Systems der in seiner Umgebung durch eine äquivalente Komponente ersetzt werden kann. Eine Komponente realisiert eine in sich abgeschlossene Teilfunktion eines Systems.

Die im Folgenden eingeführte Entwurfsmethodik stützt sich konsequent auf Plattform-Entwicklung und Modellierung von eingebetteten Systemen und deren Umgebung. Damit soll den genannten Herausforderungen begegnet werden und die Wiederverwendung von Plattform- und Anwendungs-Modellen in verschiedenen Produkten und Produktlinien erreicht werden. Wir haben die Entwurfsmethodik in [9] eingeführt, das Plattform-Modell wurde durch [2] ergänzt und detailliert. Insbesondere die Modellierung von Plattformen derartiger komplexer Systeme ist eine komplexe Aufgabe die durch unsere Entwurfsmethodik verbessert werden soll. Dabei kommt vor allem das Konzept der hierarchischen Modellierung zum Einsatz.

Die Modellierung der Anwendung und der Anwendungsumgebung ist ein weiterer wesentlicher Aspekt unserer Entwurfsmethodik. Neben funktionalen Anforderungen existiert eine Vielzahl nicht-funktionaler Anforderungen die durch die Plattform erfüllt werden müssen. Im Kapitel ”Anforderungsdefinition” werden wir eine Methode vorstellen um derartige Anforderungen (im Allgemeinen Einschränkungen, daher auch Constraints) grafisch zu modellieren.

Verwandte Arbeiten

Mit der UML [7] und den dazugehörigen Erweiterungen SysML [5] und MARTE [6] kann die statische Architektur einer Software gut beschrieben werden. UML wird für die Modellierung von eingebetteten Systemen durch die Erweiterungen MARTE und SysML ergänzt. SysML ermöglicht die Modellierung aller Arten von Systemen, ist dabei aber weniger konkret in der Definition der Semantik der SysML-Elemente und -Diagramme. Der Plattform-basierte Ansatz wird von SysML nicht explizit unterstützt. Für diesen Zweck kann sie mit MARTE kombiniert werden.

MARTE wurde für den Plattform-basierten Ansatz entwickelt und unterstützt, genau wie unsere Methodik, die hierarchische Modellierung von Plattformen. Ebenfalls nutzt MARTE das Konzept der Ressourcen und Dienste (siehe Kapitel ”Adressräume und Dienste des Betriebssystems”).

Insbesondere das dynamische Zusammenspiel zwischen der Hardware, dem Speichermodell, dem Betriebssystem und der Anwendungssoftware kann mit UML und den Erweiterungen SysML und MARTE nur unzureichend strukturiert und beschrieben werden.

Inhalt des Artikels:

Kommentar zu diesem Artikel abgeben

Schreiben Sie uns hier Ihre Meinung ...
(nicht registrierter User)

Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
Kommentar abschicken
copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 44199816 / Entwurf)