Während der Projektlaufzeit wurde die Betrachtung aller Bestandteile, die für eine Weiterentwicklung eingebetteter Systemplattformen (ESP) erforderlich sind, sowohl auf Seiten der Software (z.B. Basis-Software, Betriebssystem(e), Kommunikations-Stack und Anwendungsprogrammschnittstellen (API)) als auch auf Seiten der Hardware (Netzwerk- und Computerknoten, Hardware- und Laufzeitumgebung (RTE)) in die Forschungsarbeit eingeschlossen.
Aufgrund der gemeinsamen Ressourcennutzung kommt es bei der Integration von Anwendungen auf Plattformen eingebetteter Systeme (ESP) zu nicht-funktionalen Abhängigkeiten der Anwendungen untereinander, die zu einer Beeinträchtigung in Bezug auf Laufzeit, Speichernutzung, Datenschutz, Energieverbrauch und Datensicherheit führen. Solche Abhängigkeiten sind kaum zu vermeiden, es sei denn man nimmt einen großen Overhead in Kauf, der in der Regel jedoch zu kostenintensiv ist. Als Folge der gemeinsamen Ressourcennutzung nehmen die Softwarekomponenten bei jedem Update gegenseitig Einfluss aufeinander. Es stellt eine große Herausforderung dar, die Nebeneffekte solcher Updates vorauszusehen, sie zu überwachen und zu kontrollieren und die erforderlichen Systemeigenschaften weiterhin garantieren zu können. Die Frage, wie neue Mechanismen und Architekturen künftig aussehen müssen führte zum Forschungsthema Controlling Concurrent Change (CCC).
Um komplexe sicherheitskritische Systeme in einem praxis-orientierten Ansatz über selbständige Softwareupdates weiterentwickeln zu können, ohne jeweils eine aufwändige Prüfung im Labor vorzunehmen, muss eine Voraussetzung gegeben sein: das Vertrauen in die Mechanismen und Architekturen des Änderungsmanagements. Insbesondere bei kritischen Funktionen muss das gleiche Maß an Kontrolle und Qualität umsetzbar sein, wie es aktuelle Entwicklungsverfahren unter Laborbedingungen ermöglichen. Mechanismen und Prozesse einer marktfähigen Lösung müssen verständlich und nachvollziehbar sein, dürfen zu keinem nennenswerten Anstieg der Kosten führen und müssen durch Robustheit und Flexibilität lange Systemlebenszeiten ermöglichen. Der erarbeitete Ansatz muss zudem auf große Systeme skalierbar sein, zu denen auch offene Netzwerke zählen, die vereinzelt nicht vertrauenswürdige Komponenten und Anwendungen besitzen können.
Schaut man sich aktuelle Softwaredesign-Prozesse für komplexe eingebettete Systeme an, so folgen diese in der Regel einer Variante des V-Modells. Das V-Modell trennt die die Designphase von der Anforderungsspezifikation und der funktionellen Implementierung (linke Seite der Abbildung), gefolgt von einer Test-und Integrationsphase für Funktionstests, System-und Abnahmetests (rechte Seite der Abbildung). Ziel von CCC ist es gewesen, die meisten der manuellen und laborbasierten prozessgesteuerten Schritte des rechten Zweigs aus dem V-Modell durch eine Kombination von automatisierten Integrationsschritten, die auf formalen Modellen und Methoden basieren, zu ersetzen und neue Schutzmechanismen in die Architektur einzubauen. Die automatisierte Integration und Überwachung soll aus dem Labor oder Testfeld herausgelöst und in die Zielarchitektur verschoben werden. Dadurch werden eingebettete Systeme zu eigenen Entscheidern der sie betreffenden Updates.
Die Phase der Funktionsentwicklung, beschrieben im linken V-Modell-Zweig, wird zunächst weiterhin im Labor bleiben, aber durch die neuen Anforderungen der automatisierten Integrationsprozesse beeinflusst werden, ebenso wie durch die Notwendigkeit zur Ausdehnung des Anwendungsbereichs durch Anpassung der Spezifikation und Bedingungen.
Projektschwerpunkt A: Architektur und Infrastruktur
Schwerpunkt A befasst sich mit der Entwicklung der erforderlichen HW / SW-Architektur zur Bereitstellung einer ausreichenden Flexibilität, Robustheit, Offenheit und Skalierbarkeit für gleichzeitige Updates von Systemen unterschiedlicher Größe. Die zu entwickelnde Architektur soll die in B entwickelten Features aufnehmen können. Eine Kernfunktionalität der Architektur muss daher die Anpassung an jedes erforderliche Sicherheitsniveaus einer Anwendung sein. Eine solche Umsetzung ist mit einer monolithischen Struktur nicht möglich ist, aber eine sorgfältige Verteilung von Funktionalitäten auf Module mit verschiedenen sicherheitskritischen Niveaus erfordern, so dass einfache Kernfunktionalitäten entsprechend ihrer Rolle der gesamten Funktionalität geschützt werden können. Gleichzeitig soll der Ressourcenbedarf auf ein in der Praxis akzeptierbares Minimum beschränkt werden. Hierfür wiederum scheint ein modulares Design am besten geeignet zu sein mit dem Ziel, ein Minimum an Leistung zu ermöglichen.
Teilprojekt A1: Architektur und Mechanismen der Multi-Change Control Layer (MCCL)
Prof. Dr.-Ing. Rolf Ernst, Institut für Datentechnik und Kommunikationsnetze (IDA)
Teilprojekt A2: Kommunikations- und Interaktions-Plattform
Prof. Dr.-Ing. Lars Wolf, Institut für Betriebssyteme und Rechnerberbund (IBR)
Teilprojekt A3: Ressourceneffiziente dynamische Vereinbarung und Replikation
Prof. Dr.-Ing. Rüdiger Kapitza, Institut für Betriebssyteme und Rechnerberbund (IBR)
Projektschwerpunkt B: Theoretische Grundlagen, Bedingungen und Optimierung
In diesem Schwerpunkt werden Methoden für die wichtigsten technischen Herausforderungen erarbeitet, denen sich eingebettete Systeme mit komplexen Randbedingungen bei Veränderung stellen müssen. Der Schwerpunkt liegt dabei auf der Betrachtung einzelner Typen von Randbedingungen und ihren Auswirkungen auf mögliche Lösungen und Design-Prozesse. Diese Betrachtungsweise ähnelt dem Design-Ansatz aus dem Ingenieurwesen in dem versucht wird, vorauszusehende Bedingungen gedanklich voneinander zu trennen und scheint für die CCC-Idee, eine Konfiguration angepasst auf die spezifischen Bedürfnisse der verschiedenen Anwendungsfelder vorzunehmen, passend zu sein. Das Risiko dieser Vorgehensweise ist jedoch, dass die Lösungen der individuellen Bedingungen untereinander unvereinbar sind und ggf. im Widerspruch zueinander stehen. Um dieses Risiko zu mindern, werden entsprechende Themen der Schwerpunkte A und B in Arbeitsgruppen miteinander verknüpft und die Architektur aus A individuell nach allen Vorgaben aus B entwickelt.
Teilprojekt B1: Konfliktmanagement und Optimierung
Prof. Dr. Sándor Fekete, Institut für Betriebssyteme und Rechnerberbund (IBR)
Teilprojekt B2: Formale Methoden für kontraktbasierte Softwaresysteme
Prof. Dr.-Ing. Ina Schaefer, Institut für Softwaretechnik und Fahrzeuginformatik (ISF)
Teilprojekt B3: Datensicherheit und Verfügbarkeit
Prof. Dr.-Ing. Rolf Ernst und Prof. Dr.-Ing. Harald Michalik, Institut für Datentechnik und Kommunikationsnetze (IDA)
Teilprojekt B4: Datenschutz und Integration
Prof. Dr. Vassilis Prevelakis, Institut für Datentechnik und Kommunikationsnetze (IDA)
Projektschwerpunkt C: Anwendungen
Dieser Projektschwerpunkt fokussiert zwei anspruchsvolle Anwendungsbereiche mit unterschiedlichen Anforderungen: Automobil sowie Luft-und Raumfahrt. Die verantwortlichen Projektpartner bringen langjährige Erfahrung aus diesen Anwendungsbereichen ein, sowohl aus der Industrie als auch der Wissenschaft. Zudem werden Forschungsobjekte aus der Entwicklung zur Verfügung gestellt, die sehr geeignete Plattformen für CCC Experimente darstellen. Im Gegenzug werden beide Bereiche stark von CCC profitieren können, da Änderungsmanagement einer ihrer größten Herausforderungen darstellt. Beide im Projekt beteiligten Gruppen planen eine größere Reihe von Projekten, die aus anderen Quellen finanziert werden und wertvolle Synergien für CCC bedeuten.
Teilprojekt C1: Raumfahrt-Elektronik
Prof. Dr.-Ing. Harald Michalik, Institut für Datentechnik und Kommunikationsnetze (IDA)
Teilprojekt C2: Elektronische Systeme für Automobile
Prof. Dr.-Ing. Markus Maurer, Institut für Regelungstechnik (IFR)
Interdisziplinäre Arbeitsgruppen