Einsehbar während die Applikation läuft
Ein weiterer Vorteil dieser Herangehensweise ist die Möglichkeit, bereits zu einem frühen Zeitpunkt Prototypen zu erzeugen. Dank eines Operating System Abstraction Layers (OSAL), der das darunterliegende Betriebssystem abstrahiert, kann die Applikation quasi per Knopfdruck für verschiedene Betriebsysteme übersetzt werden. Die nötigen OSAL Adapter für die gängigsten Embedded Betriebsysteme auf dem Markt sind Bestandteil des Lieferumfangs von Rhapsody. Gerade in der Multicoreentwicklung wird dieses Rapid Prototyping eine bedeutende Schlüsselfunktion einnehmen, da dies eine elegante Möglichkeit bietet die Konfigurationsfragen frühzeitig zu beantworten. Frühes Prototyping versetzt die Entwickler in die Lage, das System bereits in einer möglichst frühen Entwurfsphase zu evaluieren, die richtige Konfiguration zu identifizieren und zu optimieren. Aber auch für den eigentlichen Entwicklungsprozess ist Rapid Prototyping hilfreich, um Systemanforderungen auch noch während der Entwicklung ändern zu können.
Systemanforderungen während der Entwicklung ändern
Im nächsten Schritt wird dann das System entsprechend seiner Architektureigenschaften auf die einzelnen Cores aufgeteilt (einzelne Target Prototypen). Im konkreten Fall bedeutet dies, dass das FlightInformationSystem nicht mehr mit dem FlightController verbunden ist. An die Stelle des FlightControllers tritt ein Stellvertreter (sogenanntes Proxy). Dieser Proxy bedient die gleichen Schnittstellen wie ursprüngliche FlightController, realisiert aber über definierte Intercore Kommunikationsmechanismen die Verbindung zum eigentlichen FlightController auf dem anderen Core. Das FlightInformationSystem selbst ändert sich nicht, für dieses Modul ist die Kommunikation völlig transparent. Dieses Vorgehen verbunden mit den Möglichkeiten der Modelbasierten Entwicklung hat entscheidende Vorteile. So sind etwa Host- und Target Prototyp nicht redundant. Eine neue Funktionalität die in den Host Prototype einfließt und getestet wurde, ist automatisch Bestandteil des Target Prototyps. (Es gibt nur ein FlightInformationSystem). Weiterhin kann der Target Prototype auf beliebige Betriebsysteme portiert werden und sogar die Kommunikation zwischen den Subsystemen ist dank des Proxies von der physikalischen Implementierung unabhängig. Alles in allem, ideale Voraussetzungen, diverse Konfigurationen in einer möglichst frühen Entwurfsphase zu evaluieren. Autoren: Frank Braun, Rhapsody Program Manager, IBM Rational;