MDSD für eingebettete Systeme mit Eclipse - JAXenter
Aktuelle Markttrends

MDSD für eingebettete Systeme mit Eclipse

Wolfgang Neuhaus, Benedikt Niehues und Lothar Wendehals

Eingebettete Systeme halten Einzug in immer mehr Geräten. Die zunehmende Komplexität der Anforderungen führt zu neuen Entwicklungsmethoden und -werkzeugen. Der Artikel zeigt, welche aktuellen Marktrends zu steigendem Interesse für modellgetriebene Softwareentwicklung mit Eclipse führen.

Ein „eingebettetes System“ – was ist das überhaupt? Diese Frage lässt sich gar nicht so einfach beantworten, wie es zunächst scheint, denn die Bandbreite ist sehr groß. Hier die Definition, wie sie bei Wikipedia zu finden ist: Der Begriff „eingebettetes System“ (engl. „Embedded System“) bezeichnet einen Rechner oder auch Computer, der in einen technischen Kontext eingebunden (eingebettet) ist. Ein eingebettetes System verrichtet – weitestgehend unsichtbar für den Benutzer – den Dienst in einer Vielzahl von Anwendungsbereichen und Geräten wie in Waschmaschinen, Flugzeugen, Kraftfahrzeugen, Kühlschränken, Fernsehern, DVD-Playern, Set-Top-Boxen, Mobiltelefonen oder allgemein in Geräten der Unterhaltungselektronik. Im Fall von komplexen Gesamtsystemen handelt es sich dabei meist um eine Vernetzung einer Vielzahl von ansonsten autonomen, eingebetteten Systemen, z.B. im Fahrzeug oder Flugzeug.

Eingebettete Systeme werden häufig auf speziellen Microcontrollern betrieben, die für bestimmte Einsatzgebiete optimiert sind. Zunehmend werden hier neben den weit verbreiteten 8/16-Bit-Controller-Systemen leistungsfähigere 32-Bit-Controller eingesetzt. Doch die hohen Anforderungen an geringe Kosten, geringe Größe und geringen Stromverbrauch sorgen dafür, dass die 8/16-Bit-Controller nach wie vor eine große Rolle spielen. Auf diesen sehr eingeschränkten Plattformen kommen spezialisierte Betriebssysteme wie VxWorks oder OSEK (Offene Systeme und deren Schnittstellen für die Elektronik im Kraftfahrzeug) zum Einsatz, die auch Echtzeitanforderungen genügen.

Doch auch „abgespeckte“ Versionen von Linux, NetBSD (Net Berkeley Software Distribution) oder Windows finden zunehmend Verwendung. Teilweise wird aus Ressourcengründen sogar ganz auf ein Betriebssystem verzichtet. Als Programmiersprachen kommen Assembler für hardwarenahe Programmierung und Interruptsteuerung, C/C++, Ada und neuerdings auch Java zum Einsatz. Ein nicht kommerzielles Beispiel findet sich mit der TinyVM für die Legoroboter-Plattform. Neben diesen Microcontroller-basierten, eingebetteten Systemen gibt es auch die Möglichkeit der direkten Abbildung von Schaltungen auf „programmierbare Hardware“. Hier werden FPGAs (Field Programmable Gate Arrays) eingesetzt. Im Folgenden werden wir uns jedoch auf softwareintensive eingebettete Systeme konzentrieren und nicht weiter auf die FPGA-Programmierung eingehen. Vielmehr möchten wir zeigen, welche Einflüsse dafür verantwortlich sind, dass modellgetriebene Entwicklungsansätze zur Entwicklung von eingebetteten Systemen zunehmend Beachtung finden und wie diese bereits heute praktisch genutzt werden können. Schauen wir uns dazu zunächst die „treibenden“ Markttrends an.

Markttrends

Der Markt für eingebettete Systeme wächst überproportional. So ist beispielsweise die Europäische Kommission zu folgender Aussage gekommen: „The worldwide Embedded Systems market is expected to increase with an estimated growth-rate of 14 per cent p.a. between 2004 and 2009“. Eine weitere Aussage aus dem Automobilbereich geht in eine ähnliche Richtung: „Eingebettete Softwaresysteme sind heute und in Zukunft für ,90 Prozent aller Innovationen im Automobil‘ verantwortlich“ (Patrick Hook Associates). Dabei werden eingebettete Systeme immer komplexer, haben mehr Ressourcen (Prozessorleistung, Speicher, Bandbreite) zur Verfügung, können damit in höheren Programmiersprachen wie C/C++, Java etc. programmiert werden, müssen zunehmend mit anderen Systemen kommunizieren und basieren immer häufiger auf Komponentenstandards einer Branche. Bei der steigenden Komplexität sind bisherige Ansätze irgendwann nicht mehr beherrschbar. Um die steigende Komplexität wieder beherrschbar zu machen, werden dazu geeignete Methoden und Ansätze aus der „klassischen“ Softwareentwicklung zunehmend spannend für die Entwicklung eingebetteter Systeme und mit den bislang vorherrschenden Methoden und Werkzeugen verbunden. Beispiele dazu findet man in der Luft- und Raumfahrt oder auch in der Automobilindustrie. So entsteht derzeit unterstützt durch Airbus, TNI, Thales und viele weitere Partner im Rahmen des Open-Source-Projekts TOPCASED [1] eine Eclipse-basierte Plattform zur Entwicklung eingebetteter Systeme.

TOPCASED

TOPCASED ist ein CAE-Werkzeug und nutzt als IDE die Infrastruktur der Entwicklungsplattform Eclipse für Anforderungserfassung, Anforderungsanalyse, Modellierung, Simulation, Implementierung, Test, Validierung, Reverse Engineering und Projektmanagement komplexer, sicherheitskritischer Echtzeitsysteme aus Hard- und Software im Bereich Luft- und Raumfahrttechnik, dem Fahrzeugbau (Automotive) und ähnlich anspruchsvoller technischer Systeme in der Kategorie Systems Engineering [2].

Die steigende Komplexität sorgt dafür, dass objektorientierte Entwicklung, komponentenbasierte Entwicklung und Softwarearchitekturen stärkeren Einzug halten. Die Verteilung und Kommunikation eingebetteter Systeme führt zu serviceorientierten Architekturen (SOA), in denen BUS-Systeme eine große Bedeutung haben. All diese Dinge haben bereits in der Entwicklung von Enterprise-Anwendungen für den Einzug modellgetriebener Entwicklungsverfahren gesorgt. Neben der UML für das Design der Software findet die SysML als UML-basierte Sprache für eine vollständige Systembeschreibung immer mehr Anklang [3]. Gerade Unternehmen aus den Bereichen Automotive, Luft- und Raumfahrt und Telekommunikation, die besonders stark von der Entwicklung eingebetteter Systeme abhängig sind, haben diese Trends erkannt und setzen sich damit intensiv auseinander, wie unsere „Stimmen aus dem Markt“ zeigen. Doch auch auf der Forschungsseite findet sich in Europa eine breite Unterstützung für das Thema.

Forschung

So wurde mit dem ARTEMIS-Programm [4] für Forschung und Entwicklung im Bereich eingebetteter Systeme ein Rahmen geschaffen, der die Innovationsgeschwindigkeit erhöhen und Innovationskräfte aus dem privaten und öffentlichen Bereich bündeln soll. Darüber hinaus soll die Auseinandersetzung mit eingebetteten Systemen auch in der Lehre speziell an Universitäten einen höheren Stellenwert erhalten, um drohendem Fachkräftemangel zu begegnen. Auch dem für uns interessanten Teilaspekt der Werkzeuge und Methoden zur Entwicklung eingebetteter Systeme ist ein eigener Bereich eingeräumt worden [5]. Die in diesem Bereich aufgestellten Ziele sind allerdings mehr als herausfordernd.

Geschrieben von
Wolfgang Neuhaus, Benedikt Niehues und Lothar Wendehals
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.