BMFT-Verbundprojekt "KORSO"

Teilprojekt "Modulare und wiederverwendbare Spezifikationen"

Die Entwicklung von Softwaresystemen findet bis zum heutigen Tag nicht die notwendige theoretische Unterstützung, um die Zuverlässigkeit und Korrektheit der erstellten Software sicherzustellen. Die entscheidenden Probleme hierbei sind zum einen, dass es nur mangelnde Konzepte für die Modularisierung grosser Softwaresysteme gibt, und zum anderen, dass nahezu gleiche Softwareteile immer wieder neu entworfen und implementiert werden.

Dieses Vorhaben zielte darauf ab, einen formalen Rahmen für die Konfiguration und Kombination von Softwarekomponenten unter Einbeziehung von Wiederverwendung zu schaffen. Um die Korrektheit von Softwareprodukten zu garantieren, waren formale Konzepte (abgestützt auf eine klare mathematische Semantik) zu entwickeln, die es erlauben, sowohl die korrekte Kombination als auch die korrekte Wiederverwendung von Spezifikationskomponenten und die Korrektheit von Entwicklungsschritten zwischen den verschiedenen Abstraktionsebenen des Softwareentwurfs zu validieren. Für die korrekte Wiederverwendung von Komponenten sollten Formalismen und Methoden bereitgestellt werden, die die Beschreibung, Anpassung und Einbindung von wiederverwendbaren Komponenten in die aktuelle Softwareentwicklung erlauben. Die genannten Konzepte sollten durch Werkzeuge unterstützt werden, wobei besonderer Wert auf die Implementierung geeigneter Suchstrategien zum Auffinden passender Komponenten in einer Bibliothek von Komponenten zu legen war.

Im Projekt wurde bei der Erstellung eines KORSO-Methodikrahmens, eines Prozeßmodells für die KORSO-Methodik sowie bei einer Instantiierung der KORSO-Methodik mitgearbeitet. Eine existierende Methodik zur Wiederverwendung von Software-Komponenten wurde verfeinert, eine Methodik zur Erstellung von Requirement-Spezifikationen ausgearbeitet und ein typentheoretischer Ansatz für das Spezifizieren im Großen untersucht. Im Bereich der Wiederverwendung wurde ein formaler Ansatz ausgearbeitet und im Unterstützungssystem praktisch umgesetzt. Insbesondere wurden hier auf algebraischen Spezifikationsmethoden basierende Verfahren für die abstrakte Repräsentation von Softwarekomponenten, für deren Auffinden in einer Komponentenbibliothek und für deren Anpassung und Integration in ein Gesamtsystem entwickelt. Weiterhin wurde eine Bibliothek wiederverwendbarer Spezifikationen erarbeitet. Im Bereich Unterstützungssystem wurde das an der Lehr- und Forschungseinheit entwickelte CSDM-System zur Unterstützung der Softwareentwicklung für die Entwicklung modularer Spezifikationen instantiiert. Diese Instanz eignet sich zur Entwicklung und Konfiguration modularer Spezifikationen und Komponenten sowie zur Speicherung, Wiederauffindung und Wiederverwendung von wiederverwendbaren Spezifikationen und Komponenten. Im Projekt wurden zwei umfangreichere Fallstudien bearbeitet. Dabei handelt es sich zum einen um die Entwicklung eines computergesteuerten Informationssystems für das Deutsche Herzzentrum Berlin (HDMS-A) und zum anderen um die Spezifikation einer industriellen Fertigungszelle. Diese Fallstudien wurden in Kooperation mit den Partnern bearbeitet.