APICES - Ein Framework mit Mustern für technische Anwendungen

Dr. Ansgar Bredenfeld

Der Entwurf von komplexen technischen Anwendungen erfordert spezielle Entwurfswerkzeuge. Das im Institut für Systementwurfstechnik (SET) der GMD entstandene Framework APICES ist besonders auf die schnelle Entwicklung solcher Werkzeuge zugeschnitten. Mit APICES wird ein Werkzeug unter Wiederverwendung vordefinierter Muster modelliert. Anschließend werden aus dem Modell mit Hilfe von Code-Generatoren objektorientierte Implementierungen erzeugt. Die Kombination von wiederverwendbaren Mustern und generativen Verfahren verkürzt deutlich die Entwicklungszeit der Werkzeuge und erhöht die Wartbarkeit und Qualität ihrer Implementierungen.

Das Konzept von APICES sieht vor, charakteristische Strukturen, die in technischen Anwendungen üblicherweise auftreten, als wiederverwendbare Bausteine anzubieten. Die charakteristischen Strukturen sind im wesentlichen netzwerkartig, oft hierarchisch und bestehen aus Komponenten, die ein Verhalten aufweisen können. Sie kommen beispielsweise mehrfach in Synthesewerkzeugen vor, die aus einer Software-Beschreibung eine Hardware-Beschreibung automatisch erzeugen. Sie finden sich ferner in Simulatoren, die hierarchische Netzlisten simulieren oder in digitalen Signalverarbeitungssystemen, in denen Signalströme verarbeitet werden. Derartige Strukturen werden in APICES als eine Klasse vordefinierter, erweiterbarer Muster angeboten, die für die Modellierung eines Werkzeugs - typischerweise mehrfach - verwendet werden.

Mit APICES wird auf diese Weise ein Großteil der Werkzeugentwicklung auf die Modellierungsebene verlagert, so daß ein Werkzeug auf sehr hohem Abstraktionsniveau beschrieben werden kann. Ungeliebte Routineaufgaben im Zusammenhang mit der Implementierung des Werkzeugs werden dem Entwickler von Code-Generatoren abgenommen. Bisher sind in APICES die folgenden Code-Generatoren realisiert:

Die spezielle Unterstützung netzwerkartiger Strukturen macht APICES besonders geeignet für die schnelle Entwicklung von technischen Anwendungen (Rapid Prototyping). Darüberhinaus kann APICES natürlich auch in anderen Bereichen eingesetzt werden, in denen vergleichbare Strukturen vorkommen. Das sind beispielsweise Computer-unterstütztes Entwerfen, Workflow oder Multimedia.

In dem Vortrag wird näher auf die Konzepte, die Architektur und die Realisierung von APICES eingegangen. Anschließend wird die Funktionsweise des APICES-Prototypen anhand einiger Beispiele demonstriert.