MOSES - Modellgetriebene Software-Entwicklung von vernetzten Embedded Systems
Hintergrund
Die Familien, Architekturen und Herstellungsmethoden von Mikrocontrollern haben sich in den letzten Jahren deutlich verändert. Dies und die RoHS-Initiative der Europäischen Union (Restriction of the use of certain hazardous substances in electrical and electronic equipment) führten nicht nur bei den Industriepartnern des Forschungsvorhabens dazu, dass bisher benutzte Hardware nicht mehr lieferbar ist. Da in der Vergangenheit die Software im Embedded-Bereich in der Regel stark an der Hardware ausgerichtet war, machten diese Wechsel in der verfügbaren Hardware immer wieder umfangreiche Anpassungen bei Betriebssystemen sowie an den entwickelten Anwendungen oder sogar die Neuentwicklung auf anderer Hardwarebasis erforderlich. Diese Anpassungen sind oft mit hohen Entwicklungs- und Qualitätssicherungskosten verbunden.
Insbesondere der Architekturwandel zu 32-Bit-Mikrocontrollern und die damit verbundenen Leistungssteigerungen der Hardware bieten jedoch deutliche Vorteile bei der Umsetzung von Embedded Systems. So kann anstelle von spezialisierten Hardware-Komponenten zunehmend Off-the-Shelf-Hardware verwendet werden. Diese ist deutlich kostengünstiger als die zuvor oft eingesetzte spezialisierte Hardware. Bei ausreichender Stückzahl können Prozessorkerne und die benötigte Peripherie auch als Beschreibungen in Form von Intellectual Property lizensiert und zur gewünschten Hardware synthetisiert werden. Durch die Leistungssteigerungen der Controller und hoch entwickelte Tool-Chains, Cross Compiler und Bibliotheken wurde der Einsatz von Hochsprachen und gängigen Ansätzen zur komponentenorientierten Software-Entwicklung auch bei Embedded Systems deutlich erleichtert. Darüber hinaus unterstützen diese Hardware-Komponenten zunehmend verbreitete Standards wie beispielsweise Ethernet-Schnittstellen. Dadurch können wiederum gängige Technologien wie beispielsweise TCP/IP zur losen Kopplung von verteilten Komponenten eingesetzt werden. In Bereichen wie der Anlagensteuerung und –automatisierung sowie in vielen Telematikanwendungen findet derzeit bereits ein Wechsel zu Realtime-Ethernet statt. In der Automotive-Industrie ist dieser Prozess aufgrund von internen Erwägungen und sicherheitstechnischen Zulassungsverfahren noch nicht so stark ausgeprägt. Es ist jedoch abzusehen, dass sich ein ähnlicher Wechsel bei den Hardware-Plattformen in den nächsten 5-10 Jahren vollziehen wird.
Neben den Änderungen in den verwendeten Hardware-Plattformen ist im Bereich der Embedded Systems ein drastischer Anstieg in den funktionalen Anforderungen an die umgesetzten Systeme festzustellen. Dies ist im Automotive-Bereich sehr offensichtlich, da Innovationen wie Navigationssysteme, Diagnosesysteme, Multimediasysteme, Einparkhilfen und Fahrerassistenzsysteme als Verkaufsargumente in der Werbung benutzt werden. Doch auch in anderen Industriebereichen steigen die funktionalen Anforderungen an Embedded Systems seit Jahren deutlich an. In der Anlagenautomatisierung stehen unter Anderem erhöhte Anforderungen bei der Produktionsüberwachung und -dokumentation, der Anlagenwartung sowie der Diagnose im Vordergrund. Bei Steuerungssystemen sind Aspekte wie die Fernüberwachung (Telemaintenance) und Fernwartung von großer Bedeutung, um Wartungskosten zu minimieren.
Eine weitere Entwicklung, die in allen betrachteten Industriebereichen zu beobachten ist, besteht in dem zunehmenden Einsatz von fertigen Komponenten von Drittanbietern. Damit verbunden ist die Notwendigkeit zur Integration von zunehmend heterogenen Systemlandschaften. Dies führt jedoch zu deutlich höheren Anforderungen an das Konfigurationsmanagement, da die Gesamtsysteme nun aus einer Vielzahl von Komponenten mit eigenen Release-Zyklen bestehen. In der Folge steigt nicht nur der Aufwand zur Integration der verteilten Komponenten. Auch Tests und Simulationen im Rahmen der Entwicklung werden deutlich komplexer. Es steigt die Gefahr, dass Fehler nicht mehr gefunden werden und erst beim Produktiveinsatz zu Fehlfunktionen mit möglicherweise fatalen Auswirkungen führen. Durch Rückrufaktionen oder Produktionsausfälle können dann beträchtliche Kosten für die Fehlerbeseitigung anfallen.
Im Bereich von Telematikanwendungen ist unter anderem die Entwicklung von Geräteschnittstellen zu unterschiedlichen Embedded Systems im Bereich von Gebäude-, Medizin-, und Verkehrstelematik eine der Kernaufgaben. Beispiele für solche Embedded Systems sind Einbruch- oder Brandmeldeanlagen im Bereich der Gebäudetelematik oder Patientenmonitore in der Medizintelematik. Derzeit existieren in den genannten Bereichen jeweils sehr viele unterschiedliche Geräteschnittstellen und wenige etablierte Standards, wie z.B. OPC in der Gebäudeautomation oder IEEE-11073 im medizinischen Bereich. Ein weiteres Problem sind Erweiterungen und Änderungen der Protokolle der Embedded Systems von Geräteanlagen, die eine häufige Anpassung der softwaretechnischen Geräteschnittstellen erfordern. Zwar gibt es im medizinischen Bereich verschiedene Bestrebungen, die System- und Gerätelandschaften zu vereinheitlichen, jedoch ist eine signifikante Reduktion der unterschiedlichen Geräteschnittstellen im Telematik-Bereich ist mittelfristig nicht zu erwarten, da die Hersteller der Geräte ihre Protokolle und Produkte an die neuen Spezifikationen anpassen müssten. Die Aktualisierung der Schnittstellenprotokolle der Geräte ist mit erheblichem logistischen und nicht zuletzt finanziellen Aufwand verbunden. Für das Gebäudemanagement erwarten Experten, dass sich diese Situation auch in der Zukunft nicht grundlegend ändern wird, da zu viele proprietäre Protokolle der einzelnen Hersteller existieren und ein einheitlicher Standard so kaum durchsetzbar ist. Im Wohn- und Zweckbau gibt es einige Standards für Bus-Systeme, deren Verbreitung in den europäischen Ländern allerdings sehr unterschiedlich ist (in Deutschland Konnex, in Italien LON). Die Notwendigkeit der Integration der unterschiedlichen Geräte führt derzeit häufig zu der Entwicklung von Gateways, welche die unterschiedlichen Protokolle ineinander übersetzen. Diese findet aber in der Regel nur für das Übertragungsmedium (z.B. IP – Internet Protokoll) statt.
Die Entwicklung von Schnittstellen zu unterschiedlichen Embedded Systems ist daher insbesondere in der Gebäudetelematik, aber auch in den anderen Bereichen in Zukunft von großer Bedeutung. Durch kürzere Innovationszyklen und die größer werdende Anzahl von Zielplattformen für Schnittstellensoftware, wird dieses Problem noch verschärft. Insbesondere in der Gebäudetelematik steigt die Nachfrage nach Client-Server-Systemen, bei denen die Server-Komponente selbst auch auf Embedded Systems lauffähig sein soll, da Embedded Systems zunehmend eine größere Leistungsfähigkeit besitzen und über Standardschnittstellen wie Ethernet verfügen. Hardwaretechnisch werden die Gebäudeanlagen dann nicht mehr an Industrie-PCs angeschlossen, sondern an Embedded PCs, die über eine Ethernet-Schnittstelle an ein Firmennetzwerk angebunden werden können.
Zielstellung
Ziel des geplanten Vorhabens ist die Konzeption und prototypische Umsetzung einer Infrastruktur zur modellgetriebenen Entwicklung und Qualitätssicherung softwareintensiver Industrieanwendungen, die sich aus verteilten, vernetzten und eingebetteten Systemen zusammensetzen.
Zu den betrachteten Anwendungsbereichen gehören die Automobilindustrie, die Automatisierungsindustrie sowie die Telematik. Darüber hinaus sollen aber auch Anwendungsbereiche mit direkter Ansteuerung von Hardware-Systemen betrachtet werden. Dazu gehören beispielsweise Steuerungssysteme für Umrichter, Motoren und Generatoren sowie Steuerungsanlagen in der Stahlindustrie.
Die Systeme dieser Anwendungsbereiche weisen eine Reihe charakteristischer Eigenschaften auf (z.B. Echtzeitanforderungen, besondere Anforderungen zur Betriebs- und IT-Sicherheit, Ressourcenknappheit sowie spezifische Anforderung an die Kommunikation), die für die Entwicklung essentiell sind, in der modellgetriebenen Entwicklung und Qualitätssicherung bisher wenig Berücksichtigung fanden und im Fokus dieses Projekts stehen.
Die angestrebte Infrastruktur für die modellgetriebene Entwicklung soll vor allem die folgenden Aspekte umfassen:
- Es sollen generische Metamodelle für ausgesuchte Entwicklungsaspekte (Echtzeit, Betriebs- und IT-Sicherheit, Kommunikation) der betrachteten Anwendungsbereiche entwickelt werden. Hierzu sind zunächst Entwicklungsmethodik, sowie die aktuellen Hard- und Software-Architekturen und Plattformen in den Industriebereichen zu untersuchen. Untersuchungsgegenstände sind dabei neben den typischen Hardware-Beschränkungen, Komponentenstrukturen, Deployment-Mechanismen, Kommunikationsmechanismen, die bestehende Entwicklungsinfrastruktur (d.h. etablierte Methoden und Werkzeuge) sowie bestehende Normen und Standards (z.B. ISO 61508, ISO 26262 für die Entwicklung sicherheitskritischer Systeme).
Im Rahmen der Analyse sind Gemeinsamkeiten und Unterschiede zwischen den verschiedenen Industriebereichen zu identifizieren und in Form von Metamodellen zu formalisieren. Während Basismodelle Gemeinsamkeiten wie beispielsweise Komponentenarchitekturen so weit wie möglich zusammenfassen, bilden spezialisierte Modelle die spezifischen Rahmenbedingen und Anforderungen der Anwendungsbereiche ab. Bei der Erstellung der Metamodelle ist darauf zu achten, dass bestehende Modellierungssprachen, Profile und Standards unterstützt und integriert werden. - Für ausgesuchte Werkzeuge aus den Anwendungsbereichen werden Export- und Import-adapter zur Anbindung der MDD-Infrastruktur entwickelt. Nicht durch bestehende Entwicklungswerkzeuge abgedeckte Modellierungskonzepte sind ggfs. durch eigene, neu zu entwickelnde Werkzeuge abzudecken.
- Für die konkreten Anwendungsbereiche der Projektpartner werden wiederverwendbare Transformations-Module (Cartridges) umgesetzt, mit denen einerseits Transformationen zwischen den Modellen der Entwicklung und den Modellen der Qualitätssicherung sowie die Erzeugung der Zielanwendungen ermöglicht werden.
Mit diesen Ergebnissen sollen die folgenden Vorteile erzielt werden:
- Große Teile des Codes von Neusystemen können in einer integrierten Umgebung auf Basis etablierter Werkezuge modelliert und dann für das Zielsystem generiert werden. Bisher nur unzureichend mit Modellierungswerkzeugen abgedeckte Aspekte der Entwicklung (Kommunikation, IT-Sicherheit, Betriebssicherheit) werden formalisiert und so für Analysen und Automation verfügbar gemacht (z.B. Traceability, Testfallgenereriung etc.).
- Die unternehmensübergreifende Vereinheitlichung von Metamodellen erlaubt den Austausch und die Nutzung von Modellen über Unternehmensgrenzen hinweg und vereinfacht dadurch die Kooperation und arbeitsteilige Umsetzung von Software-Systemen.
- Es soll die Entwicklung von industrieweiten oder sogar industrieübergreifenden Standards für die Spezifikation von Software-Systemen angestrebt werden. Dabei sind bereits bestehende Standards aufzugreifen und sinnvoll zu ergänzen.
Kooperationspartner
- Beuth- Hochschule Berlin
- Technische Universität Berlin
- Humboldt Universität Berlin
- Fraunhofer FOKUS
- ixellence GmbH
- Converteam GmbH
Projektvolumen
260.000 Euro
Laufzeit
2010 - 2013
Mittelgeber / Förderprogramm
Bundesministerium für Bildung und Forschung / FHprofUnt