1. Gesamtziel

1.1. Motivation

Die zunehmende Zahl sicherheits-relevanter Anwendungen im Softwarebereich fordert eine vertrauenswürdige Software Entwicklungstechnologie, die aus heutiger Sicht nur durch Einsatz formaler Methoden im Entwicklungsprozeß implementierbar ist.

Es gibt bereits vielversprechende Formale Methoden und unterstützende Werkzeuge, die einzelne, stark spezialisierte Probleme im industriellen Softwareentwicklungszyklus -- häufig sogar effizient -- lösen können. Keine Methode und erst recht kein Werkzeug ist heute in der Lage, eine integrierte Lösung für den gesamten Software Life Cycle zu bieten. Es gibt gute Gründe dafür, daß dies auch nicht mit einer Methode allein möglich und sinnvoll ist.

Weiterhin wird die Eignung sogenannter universell, d.h. für jeden Typ von Entwicklungsvorhaben, verwendbarer Breitbandsprachen ("Wide Spectrum Languages") bzw. -methoden zunehmend in Frage gestellt. Es zeichnet sich ab, daß anstelle dessen problemangepaßte Formale Methoden höhere Erfolgsaussichten für konkrete industrielle Anwendungen haben. Hierfür sind folgende Gründe zu nennen: Aufgrund der hohen Komplexität heutiger Anwendungen ist der möglichst kompakte Umfang und die Übersichtlichkeit der Entwicklungsobjekte (Spezifikations- und Entwurfsdokumente, Programmtexte, Testdokumente etc.), die zur vertrauenswürdigen Beschreibung und Implementierung des Zielsystems erforderlich sind, ein wichtiges Erfolgsmaß einer formalen Methode. Daher sollen formale Spezifikationen nach Möglichkeit nur Fakten enthalten, die wesentlich für den korrekten Entwicklungsverlauf sind.

Vor dem Hintergrund nachlassender Euphorie der Software-Ingenieure über reine Top-Down Entwicklungstechniken werden die Vorteile gemischter Top-Down/Bottom-Up Vorgehensweisen wieder deutlicher: wesentlichen Einfluß auf die Auswahl geeigneter Semantiken für die Systembeschreibung haben die für das Zielsystem gültigen Randbedingungen. Lautet eine Randbedingung beispielsweise "die Anwendung ist auf Transputer-Basis zu implementieren", so führt die Verwendung einer Spezifikationssprache wie CSP, die a priori von einer synchronen Kanal-Kommunikation ausgeht, zu wesentlich kürzeren Beschreibungen als eine gleichwertige Spezifikation mittels Statecharts, wo auf dem Paradigma der asynchronen Kommunikation über global zugängliche Speicher aufgebaut wird. Die Software Entwicklungsumgebung der Zukunft muß eine Kombination von Werkzeugen anbieten, wobei jedes Werkzeug einen scharf eingegrenzten Aufgabenbereich effizient bearbeitet bzw. für bestimmte Typen von Zielsystemen besonders geeignet ist.

Damit die Entwicklung mit verschiedenartigen Methoden und Werkzeugen zu vertrauenswürdigen Ergebnissen führt, muß die Konsistenz der zugrundeliegenden Methoden nachgewiesen werden. Zur effizienten Abwicklung der Entwicklungsarbeit ist neben allgemeinen Aufgaben wie gemeinsame Benutzerschnittstelle oder Verwaltung der Projektdaten die Unterstützung der Kommunikation und Integration verschiedenartigster Werkzeuge und die Steuerung des Entwicklungsprozesses nach bewährten Vorgehensmodellen erforderlich, und zwar ausgerichtet auf die speziellen Anforderungen des Einsatzes Formaler Methoden. Dies sind die typischen Aufgaben einer Universellen Entwicklungsumgebung für Formale Methoden, der UniForM Workbench.

1.2. Ziele

Wie oben dargelegt, sind bei der Erstellung sicherheitskritischer Software für industriell relevante Aufgabenstellungen nicht eine, sondern mehrere formale Methoden nötig, genauer gesagt:

* eine geeignete Kombination von Methoden, und

* eine geeignete Kombination der Werkzeuge, die diese Methoden unterstützen.

Dieses ist ein großes Problem für die potentiellen Anwender formaler Methoden. Es ist nämlich notwendig

* viele verschiedene Methoden zu beherrschen,

* richtig von einer zur anderen Methode zu wechseln,

* viele Werkzeuge richtig einzusetzen bzw. für die speziellen Bedürfnisse weiterzuentwickeln.

Es sind sowohl kostspielige Trainingskurse in den einzelnen Methoden als auch kostspielige Weiterentwicklungen unzureichender Werkzeuge erforderlich. Dieses alles stellt einen Hinderungsgrund für Anwender dar, überhaupt Formale Methoden anzuwenden. Diesen Mißstand will dieses Projekt beseitigen helfen.

Das sichtbarste praktische Ziel des Projekts ist die prototypartige Konstruktion einer Universellen Entwicklungsumgebung für Formale Methoden (UniForM Workbench). Ihre Vorteile gegenüber existierenden Ansätzen sind eine

* klare Systemarchitektur, die den Vorgaben des Referenzmodells für Software-Entwicklungsumgebungen entspricht,

* offene Umgebung mit einheitlicher Schnittstelle (auf hohem, sicheren Niveau) zur Kommunikation und Integration weiterer Werkzeuge,

* Steuerung des Entwicklungsprozesses nach einem standardisierten Vorgehensmodell,

* Unterstützung der formalen Entwicklung durch Transformation, die auch eine Wiederverwendung des Entwicklungsprozesses ermöglicht,

* einheitlicher Einsatz der UniForM Workbench für die drei Ebenen der korrekten Entwicklung von Programmen, von spezialisierten Transformationswerkzeugen und des Systems selbst durch Integration weiterer Werkzeuge.

In der UniForM Workbench sollen konkrete Methoden und Werkzeuge kombiniert und integriert werden, die sich im industriellen Kontext bewährt haben. Soll diese Kopplung nicht rein syntaktisch bleiben, sondern auch im semantischen Sinne korrekt sein, so ergeben sich theoretische Fragestellungen, die in diesem Projekt zumindest exemplarisch gelöst werden sollen. Einerseits soll die konkrete Kombination von Methoden erreicht werden, die für die Entwicklung verteiler Realzeitsysteme geeignet sind. Dies ist aktueller Gegenstand der Grundlagenforschung, die hier fortgeführt und praktisch umgesetzt werden soll. Andererseits soll auch untersucht werden, wie im allgemeinen die Kombination unterschiedlicher Methoden erreicht werden kann; hierzu soll ein logisches Rahmenwerkzeug eingesetzt werden. Ein weiteres Ziel ist hierbei, auch für die konkrete Kombination von Methoden die Korrektheit von einzelnen Entwicklungsschritten sowie ihrer Anwendung mit Taktiken systematisch herleiten zu können. So kann die Zertifizierung auf die einmalige Abnahme korrekter Methoden und Werkzeuge zur interaktiven Entwicklung durch Transformation und ihrer schrittweisen Anwendung reduziert werden. Schließlich sollen die erzielten Ergebnisse anhand einer Fallstudie aus der industriellen Praxis demonstriert werden. Dazu wird eine dezentrale Bahnsteuerung formal korrekt entwickelt. Die UniForM Workbench soll zeigen, daß Probleme wie Realzeitbedingungen, reaktive Systeme, verteilte Steuerung etc. erfolgreich bearbeitet werden können.

2. Bezug zu förderpolitischen Zielen

2.1. Anwendungsbezogene Grundlagenforschung

Sichere Systemkomponenten sind Voraussetzung für heutige und zukünftige Industrieprojekte Der Anteil an sicherheitsrelevanten Komponenten nimmt in industriellen Projekten beständig zu. Dies betrifft z.B. Anwendungen im Bereich Verkehrsleittechnik für Straße und Bahn sowie Software für die Luftfahrt und Prozeßsteuerung.

Zugleich steigt die Komplexität der Anwendungen erheblich, so daß der Zuverlässigkeitsnachweis auf Grundlage konventioneller konstruktiver und analytischer Methoden der Softwaretechnik kaum noch mit vertrauenswürdigem Resultat zu bewältigen ist.

Die Bewältigung dieser Aufgaben ist nur durch eine grundlegende Verbesserung der Entwicklungsmethoden und der unterstützenden Werkzeuge möglich. Aus industrieller Sicht ist das Potential der mehr heuristisch orientierten Verfahren des konventionellen Software-Engineering bereits voll ausgeschöpft und hat nur einen Bruchteil des ursprünglichv orhergesagten Nutzens zur Lösung der Software-Krise beigetragen. So ist weitere intensive Forschungs- und Entwicklungstätigkeit notwendig; allerdings gehen noch viele der Anstrengungen zur Methodeninnovation im akademischen Bereich am tatsächlichen Industriebedarf vorbei. Daher ist eine direkte Wechselbeziehung zwischen Forschung und industrieller Anwendung erforderlich.

Alle heute erfolgversprechenden Ansätze für neue Software-Entwicklungsmethoden deuten darauf hin, daß eine neue Generation der Software-Werkzeuge zur Unterstützung des Entwicklungsprozesses erheblich komplexer als bisherige Werkzeuge sein werden. Dies hat folgende Konsequenzen: die Werkzeuganwendung wird in vielen Bereichen durch Spezialisten erfolgen (Beispiel: Verifikationswerkzeug), die Anforderungen an die Ausbildung wachsen; die Werkzeugentwicklung wird immer weniger attraktiv für den industriellen Bereich, denn die Entwicklungsaufwände werden immer höher, während der zu erwartende Ertrag der Investition in eine Produktentwicklung eher abnimmt. Da die neue Methoden- und Werkzeuggeneration dringend benötigt wird, um den steigenden Forderungen der heutigen Systemanwendungen nachkommen zu können, kann die Entwicklung der Software-Werkzeuge von morgen nur in enger Kooperation von Grundlagen- und angewandter Forschung und Entwicklung erfolgen.

2.2. Verbund aus Universitäten und Industriepartnern

Die Ziele des geplanten Projekts ergeben sich aus den typischen Problemstellungen und Erfahrungen der beteiligten Industriepartner:

* Die hohen Sicherheitsanforderungen bei der Entwicklung und Realisierung von verteilten Sicherungssystemen für die Verkehrstechnik in der Elpro LET GmbH können mittelfristig nur mit formalen Methoden bewältigt werden. Korrektheit der Software für die Steuerung ist dabei Voraussetzung nicht nur für die Qualitätssicherung der Funktion (und damit Sicherheit für Leib und Leben von Personen) sondern auch die Sicherheit gegen unbefugten Eingriff und Manipulation (z.B. bei der Kommunikation über Funk). Neben den Zielen der Erprobung der formalen Methoden und der UniForM Workbench verfolgt die Elpro LET GmbH mit der Teilnahme an dem Projekt die Verbesserung der Wettbewerbsfähigkeit für ihre Produkte und damit die Sicherung der Arbeitsplätze in den neuen Bundesländern.

* Bei der DST Deutsche System-Technik GmbH wurden seit Jahren (unter der Leitung von Dr. Peleska, jetzt Professor an der Universität Bremen) auch kommerziell erfolgreich Formale Methoden in der Qualitätssicherung der Software für die Steuerung technischer Systeme (wie z.B. bei der Elpro LET GmbH) eingesetzt. Die Erfahrung zeigt, daß in der Praxis nicht etwa eine Methode alle Probleme löst, sondern vielmehr mehrere Methoden zur Spezifikation, Entwicklung und Verifikation sowie eine Vielzahl von Werkzeugen auch gleichzeitig verwendet werden. Besonders wichtig ist das Zusammenspiel sequentieller und nebenläufiger Aspekte für die Entwicklung "reaktiver" verteilter Systeme. Ferner kommt der Integration von nicht-formalen Methoden und von Standards für Vorgehensmodelle sowie der Systemunterstützung bei Entwicklung und Verifikation große Bedeutung zu.

* Für beide Industriepartner ist die Wiederverwendbarkeit von früheren Entwicklungen in einem ähnlichen Anwendungskontext bzw. bei Änderungen und Erweiterungen von großem kommerziellem Interesse.

Daher soll eine Universelle Entwicklungsumgebung für Formale Methoden, die UniForM Workbench, gemeinsam von Universitäten und Industriepartnern entwickelt und in einer prototypischen Anwendung (Steuerung eines sicherheitskritischen Systems) durch die Industriepartner evaluiert werden. Gemäß den Vorgaben des BMBF liegt dabei die fachliche Federführung bei einer Wissenschaftseinrichtung.

Know-how-Akquisition und Know-how-Transfer

Die Projektziele sind so definiert, daß die Ergebnisse von allgemeiner wirtschaftlicher Bedeutung sind und daher ebenso von anderen deutschen Software entwickelnden Industrien genutzt werden können. Als zentrales Ergebnis des Projekts wird die UniForM Workbench als Public-Domain System der Öffentlichkeit zur Verfügung gestellt.

In der Anfangsphase des Projekts wird ein Seminar (5-tägig) für die Methodenschulung und Nutzung der UniForM Workbench in der Industriepraxis entwickelt; es kommt zunächst dem Projektpartner Elpro zugute und wird für die breitere Öffentlichkeit ständig fortentwickelt. Aufbauend auf den Erfahrungen bisheriger Seminare im Bereich der CASE-Methoden und Formalen Methoden wird diese Tätigkeit von Prof. Peleska übernommen. Zusätzlich zum Seminar werden Workshops ausgearbeitet und zu Projektende durchgeführt, die die Projektergebnisse und ihre Anwendungsmöglichkeiten in 1-tägigen Veranstaltungen vermitteln.

2.3. Forschungsfeld

Förderschwerpunkt III

Das Forschungsfeld des beantragten Projekts liegt eindeutig im Bereich des Förderschwerpunkts III: die Weiterentwicklung von formalen Methoden und Werkzeugen (insbesondere deren Kombination) zur Verbesserung der Sicherheit und Zuverlässigkeit komplexer Softwaresysteme.

Es ist nicht das Ziel, eine neue Sprache, Methodik oder das universelle Entwicklungssystem, das alle bekannten Methoden und Werkzeuge integriert, zu entwickeln. Im Vordergrund steht das theoretische Problem der Kombination verschiedenartiger, bewährter formaler Methoden und das praktische Problem der Integration der dazu notwendigen Entwicklungswerkzeuge. Außerdem soll gezeigt werden, daß Werkzeuge zur interaktiven Entwicklung durch Transformation auch vollständig formal im System als korrekt bewiesen werden können. So kann sich die Zertifizierung auf die einmalige Abnahme solcher Werkzeuge und ihrer schrittweisen Anwendung reduzieren.

Die "Sicherung hoher Qualitätsanforderungen ist Prozeß, der alle Phasen des Software-Lebenszyklus umfaßt". Eine Methode oder ein Werkzeug reicht dazu nicht aus. Um verschiedenartige Werkzeuge zu integrieren, ist aber ein Entwicklungssystem notwendig, das insofern universell ist, als es eine einheitliche Arbeitsumgebung, z.B. mit gemeinsamer Datenverwaltung und Benutzungsoberfläche, anbietet, eine sichere Kommunikation mit einheitlicher Schnittstelle erlaubt und bezüglich der Steuerung des Entwicklungsprozesses nach einem standardisierten Vorgehensmodell auf den Einsatz formaler Methoden zugeschnitten ist. Die UniForM Workbench soll dies erreichen.

Die erzielten Ergebnisse sollen anhand einer größeren Fallstudie aus der industriellen Praxis demonstriert werden.

Förderschwerpunkt I und II

Zu den Förderschwerpunkten I und II besteht insofern ein Bezug, als die Methodik der formalen Entwicklung durch Transformation und ihre Unterstützung in der UniForM Workbench nicht nur die Wiederverwendung von Bausteinen (z.B. Bibliotheken von Spezifikations- oder Programmteilen) sondern die Wiederverwendung des Entwicklungsprozesses selber ermöglichen soll; dieses Ziel ist angesichts der hohen Wahrscheinlichkeit von Erweiterungen bzw. Änderungen in den Anforderungen an ein Software-System im Lebenszyklus von großer praktischer Bedeutung.

Standardisierung und Normierung

Das "Vorgehensmodell zur Planung und Durchführung von IT-Vorhaben in der Bundesverwaltung" soll auf die systematische Anwendung formaler Methoden im Software-Entwicklungsprozeß hin untersucht werden; damit ergibt sich evtl. eine Erweiterung dieses Standards. Es wird für die UniForM Workbench instantiiert. Die UniForM Workbench hat eine offene Systemarchitektur, die dem im Vorgehensmodell enthaltenen Referenzmodell für Software-Entwicklungsumgebungen entspricht. Es werden Standardschnittstellen zur Kommunikation auf niederer Ebene (z.B. HP SoftBench) verwendet. Die höheren Schnittstellen halten sich an die Vorgaben des ECMA Standards PCTE (Portable Common Tool Environment).

2.4. Bezug zur EU

Die an diesem Projekt beteiligten Wissenschaftler der Universitäten waren bzw. sind an europäischen Projekten beteiligt (PROSPECTRA, ProCos, COMPASS, vgl. Abschnitt 6), die Grundlage für die geplanten Arbeiten sind. Die in gewissem Sinne im Bereich der formalen Methoden der Softwaretechnik führende fachliche Kompetenz in der BRD im europäischen Vergleich drückt sich z.B. durch die dominierende Beteiligung an der ESPRIT Basic Research WG COMPASS ("a COMPrehensive Algebraic Approach to System Specification and development"; Koordinator: Prof. Krieg-Brückner), aus, an der führende Wissenschaftler aus 20 Europäischen Universitäten und Forschungseinrichtungen beteiligt sind. Dieses Gremium ist ein gutes Forum, um theoretische Fragestellungen des Projekts zu diskutieren und die Ergebnisse zu verbreiten.

3. Wissenschaftliche und technische Arbeitsziele

3.1. Motivation

Das hier vorgeschlagene Projekt geht von der Beobachtung aus, daß einerseits für die Erstellung vertrauenswürdiger Software der Einsatz formaler Methoden unabdingbar ist, daß andererseits aber bei industrierelevanten, realen Aufgabenstellungen mehrere solcher Methoden in geeigneter Weise kombiniert werden müssen. Eine solche Kombination muß werkzeug-unterstützt, sicher und kostengünstig durchgeführt werden können.

Diese Anforderungen stellen für potentielle industrielle Anwender formaler Methoden ein großes Hindernis dar. Erstens ist die Entwicklung von Werkzeugen, insbesondere solcher, die ein Kombination von Methoden erlauben, für die Industrie selbst meist zu kostspielig. Zweitens ist dort das Wissen über die sichere, d.h. die semantisch konsistente Kombination von Methoden nicht vorhanden. Andererseits ist ohne eine solche Kombination von Methoden und Werkzeugen keine Verbesserung bei der Erstellung vertrauenswürdiger Software möglich.

Um diesem Dilemma zu entkommen, schlagen wir vor, die Kombination von Methoden und Werkzeugen Hand in Hand mit Industrie- und Universitätspartnern in einem gemeinsamen Projekt durchzuführen. Dabei erfolgt die Auswahl der zu kombinierenden Methoden und Werkzeuge so, daß ein von den Industriepartnern vorgegebener Aufgabenbereich besser als nach bisherigem Stand der Technik mit formalen Methoden bearbeitet werden kann. Die Industriepartner achten darauf, daß Vorgehensmodelle und technologische Randbedingungen voll in die formale Entwicklungsmethodik mit einbezogen werden. Die Universitätspartner haben die Verantwortung, neueste wissenschaftliche Erkenntnisse in die Entwicklungsmethodik einzubringen und die semantische Konsistenz der kombinierten Methoden zu beweisen.

Konkret verfolgen wir die im folgenden beschriebenen Projektziele.

3.2. Die UniForM Workbench

Software-Entwicklungsumgebungen sollen alle Phasen des Software-Lebenszyklus durch Werkzeuge unterstützen. Sie werden gewöhnlich dadurch entwickelt, daß existente Werkzeuge in einen Entwicklungs-Rahmen (z.B. HP SoftBench, Atherton Backplane oder der ECMA Standard PCTE) eingepaßt ("plugged in" - "eingesteckt") werden, der Basisdienste für die Steuerung, die Daten, die externe Darstellung und die Integration auf der Plattform anbietet. Die praktische Erfahrung in der Industrie zeigt, daß die Integration einer vollständigen Umgebung aufbauend auf einem solchen Rahmen extrem kostspielig ist, ebenso die Wartung. Auch sind diese Einzelwerkzeuge nicht für die Integration entwickelt worden und haben nicht genau die Schnittstellen, die erforderlich sind; daher werden Adapter oder Filter meist mit sehr rudimentärer Technologie (C, LEX etc.) entwickelt.

So entsteht ein Bedarf für eine fortschrittlichere Technologie der Integration, auf einer höheren Ebene; diese Technologie sollte die Flexibilitat eines "plug-in"-Ansatzes mit solchen Software-Engineering Paradigmen wie typsicheren Schnittstellen zwischen Werkzeugen verbinden. Neuere Forschung zeigt, daß eine höhere funktionale Sprache hier entschiedende Vorteile über die traditionalle Technologie bietet.

Das sichtbarste praktische Ziel des Projekts ist daher die prototypartige Konstruktion einer Universellen Entwicklungsumgebung für Formale Methoden (UniForM Workbench). Ihre Vorteile gegenüber existierenden Ansätzen sind eine

* klare Systemarchitektur, die den Vorgaben des Referenzmodells für Software-Entwicklungsumgebungen entspricht,

* einheitliche Arbeitsumgebung mit gemeinsamer Datenverwaltung und Benutzungsoberfläche, die eine gezielte Darstellung nur der relevanten Objekte im formalen Entwicklungsprozeß aufgrund ihrer semantischen Abhängigkeiten erlaubt,

* offene Umgebung mit einheitlicher Schnittstelle (auf hohem, sicheren Niveau) zur Kommunikation und Integration weiterer Werkzeuge,

* Steuerung des Entwicklungsprozesses nach einem standardisierten Vorgehensmodell,

* Unterstützung der formalen Entwicklung durch Transformation, die auch eine Wiederverwendung des Entwicklungsprozesses ermöglicht,

* einheitlicher Einsatz der UniForM Workbench für die drei Ebenen der korrekten Entwicklung von Programmen, von spezialisierten Transformationswerkzeugen und des Systems selbst durch Integration weiterer Werkzeuge.

Wie die Erfahrungen des Vorprojekts PROSPECTRA zeigen, sollten auch für die Entwicklung der Werkzeuge und der Umgebung wieder Formale Methoden einsetzbar sein. Dadurch wird die Einheitlichkeit erhöht und Teile des Systems konnen formal korrekt bewiesen werden. Mit einer höheren funktionalen Sprache wird ein Schritt in diese Richtung gemacht; so könnte auch (durch Parametrisierung höherer Ordnung) eine Plattform für schnelle Prototypisierung geschaffen werden.

Die UniForM Workbench ist zunächst ein allgemeiner Rahmen, der im Projekt aber mit konkreten Werkzeugen instantiiert wird.

3.3. Kombination konkreter Methoden

Die Auswahl der konkreten Methoden, die werkzeugunterstützt in der UniForM Workbench integriert werden sollen, wird einseits von den Bedürfnissen der Industriepartner und andererseits von den einschägigen Forschungskompetenz der Universitätspartner bestimmt. Der Schwerpunkt der ausgewählten Methoden liegt in der formalen Behandlung von

* Realzeitbedingungen

* kommunizierenden Systemen

* verteilten Architekturen

* speicherprogrammierbaren Steuerungen

Konkret sollen die Methoden Duration Calculus (zur Spezifikation von Realzeitanforderungen), CSP (zur Beschreibung von Entwürfen verteilter kommunizierender Systeme), Z (zur Spezifikation sequentieller, zustansverändernder Systemmkomponenten und zur Modularisierung), SPS (industrielle Implementierungssprache zur Realisierungen zeitkritischer speicherprogrammierbarer Steuerungen) in geeigneter Weise miteinander kombiniert werden.

Bei der Anwendung dieser Methoden in konkreten Systementwicklungen lassen wir uns von der Philosophie der transformationellen Entwicklung über verschiedene Beschreibungsebenen leiten, d.h. eine Systembeschreibung auf einer höheren Ebene wird in die nächsttiefere durch Anwendung korrekter Transformationsregeln überführt. Dieser Transformationsansatz wird durch automatische Verfahren zur Verifikation (z.B. Modelchecking für CSP) und zur Übersetzung unterstützt.

Das Ziel ist hier, diese Methoden so zu kombinieren und aufzubereiten, daß sie für industriell relevante Fragestellungen ingenieursmäßig angewandt werden können. Dieses soll exemplarisch an Hand einer Fallstudie (s.u.) gezeigt werden.

3.4. Integration von Werkzeugen

Zu den oben genannten Methoden gehören konkrete Werkzeuge, die entweder bereits existieren (wie z.B. der Modelchecker FDR für CSP) oder während des Projektes auf der Basis der bei den Projektpartnern durchgeführten Vorarbeiten entwickelt werden sollen. Dazu sollen insbesondere ein Übersetzer von CSP in SPS-Code sowie ein Transformationskalkül von Duration Calculus über eine im Vorprojekt ProCoS entwickelte Spezifikationssprache MIX nach CSP gehören.

Zur Validation von Spezifikationen dienen Visualisierungswerkzeuge und Testgeneratoren.

Das Ziel ist hier eine mit diesen Werkzeugen instantiierte UniForM Workbench.

3.5. Methodik der Kombination

Methoden sind nicht einfach syntaktisch mitander zu kombinieren. Vielmehr müssen hierzu die oft ganz unterschiedlichen semantischen Modelle, die diesen Methoden zugrundeliegen, miteinander in logisch konsistenter Weise in Beziehung gesetzt werden. Auch zu diesem grundlegenden Aspekt des Projektes, der der Qualitätssicherung der eingesetzten Entwicklungsmethodik dient, sollen Ergebnisse erzielt werden.

Dazu soll auf der Basis des logischen Rahmenwerkzeuges Isabelle die Korrektheit von Methodenkopplungen nachgewiesen werden. Auch sollen einzelne Transformationsregeln und -taktiken in Isabelle systematisch entwickelt werden, damit ihre Korrektheit garantiert ist.

Das Ziel ist hier der systematische Nachweis der Korrektheit von Transformationsregeln und Taktiken.

3.6. Fallstudie dezentrale Bahnsteuerung

Die industrielle Nutzbarkeit der UniForM Workbench soll anhand einer vom Projektpartner Elpro vorbereiteten Fallstudie aus der industriellen Praxis nachgewiesen werden.

Es handelt sich dabei um einen Spezialfall einer dezentralen Steuerungs- und Sicherungseinrichtung für Regionalbahnen. Das Konzept einer solchen Steuerungseinrichtung besteht in der Verteilung der Aufgaben eines zentralen Stellwerkes auf dezentrale kommunizierende Komponenten, die jeweils eine lokale Gruppe von Schalteinheiten kontrollieren. Der hier betrachtete Spezialfall behandelt eine eingleisige Stecke mit Ausweichstellen. Dadurch ist die Anzahl der kommunizierenden Komponenten gering.

Da die Fallstudie jedoch über alle Ebenen von Anforderungsanalyse, globaler Spezifikation, Validation dieser Spezifikation, Systementwurf bis hin zur Implementierung in SPS-Code entwickelt werden soll, ist die Entwicklungsaufgabe so komplex, daß mit unterschiedlichen Methoden und daher verschiedenen Wekzeugen vorgegangen werden muß. Insbesondere sind Realzeitanforderungen, Kommunikation und Verteiltheit der Implementierung zu behandeln.

Das Ziel ist hier die Demonstration der Anwendbarkeit der UniForM Workbench auf eine industriell relevante Fallstudie.

4. Erfolgsaussichten

4.1. Erreichbarkeit der Projektziele

Die Antragsteller sehen vier Merkmale der Projektdefinition als entscheidend für das Erreichen der Ziele an:

* Spezialisierung auf eng umrissene, wohldefinierte Problemstellungen

* Lösung durch Kombination bewährter Methoden anstelle der Entwicklung neuer Methoden

* Fachkompetenz des Projektteams

* Einbettung in ein internationales Netz von Forschungsstellen mit hoher Kompetenz auf den verschiedenen im Projekt angesprochenen Teilgebieten

4.1.1. Erfolg durch Spezialisierung

Der unzureichende Erfolg mancher Grundlagenprojekte auf dem Gebiet der Formalen Methoden läßt sich aus heutiger Sicht in vielen Fällen dadurch erklären, daß in diesen Projekten der Versuch unternommen wurde, "eine Methode zur Lösung aller Problemstellungen" zu finden. Auf dem Gebiet der Spezifikationssprachen drückte sich dies in der immer wiederkehrenden Bezeichnung "Wide Spectrum Language" als unverzichtbares Attribut für neu entwickelte Sprachen aus. Es ist fraglich, ob dieses prinzipiell wünschenswerte und vorteilhafte Ziel in der Praxis je verwirklicht werden kann. Ein Blick auf das traditionelle Vorgehen in anderen naturwissenschaftlichen oder Ingenieurdisziplinen zeigt, daß hier nicht alle Arbeitsschritte nach einem einzigen Verfahren und mit einem einzigen Werkzeug abgewickelt werden.

Im vorliegenden Projekt besteht die Zielsetzung gerade darin, eng umrissene, wohldefinierte Teilproblemstellungen herauszuarbeiten und diese dann, in Kombination, mit Methoden und zugehörigen Werkzeugen zu bearbeiten, die für diese Teilproblemstellung optimiert sind. Dieser Ansatz wird in zwei Richtungen verfolgt: erstens für verschiedene Arbeitsschritte innerhalb des Software Entwicklungsprozesses, zweitens durch die Spezialisierung auf bestimmte Problemstellungen (kommunizierende Systeme mit Realzeitanforderungen) und Zielsystemtypen.

So kann z.B. Model-Checking nie als Universalmethode für die automatische Verifikation angesehen werden, denn zahlreiche Problemstellungen erfordern die Betrachtung unendlicher Zustandsräume oder machen zumindestens durch eine nicht beherrschbare kombinatorische Explosion der möglichen relevanten Systemzustände die mechanische Prüfung der Systemeigenschaften in akzeptabler Zeit unmöglich. Trotzdem existieren Problemstellungen mit hoher Praxisrelevanz, die mit heutigen Model-Checkern vollständig verifiziert werden können (Beispiele hierfür liefern die Vorarbeiten der Antragsteller). In diesem Teilbereich sind Model-Checker anderen Bewseissystemen (Theorem-Provern oder Proof-Assistants) überlegen, da sie eine effiziente vollautomatische Verifikation ohne Eingriffe des Anwenders ermöglichen. Damit können sie in diesem Bereich auch von Benutzern angewandt werden, die geringe Kenntnisse über Formale Methoden haben (dies ist bei der Anwendung von Theorem-Provern oder Proof-Assistants aus heutiger Sicht undenkbar), dafür aber gutes Anwendungs-Know-How besitzen.

4.1.2. Erfolg durch Kombination bewährter Methoden

Ein weiteres Problem von Grundlagenprojekten, in denen neue Methoden entwickelt werden, besteht darin, daß nach dem Entwurf häufig keine Zeit mehr für die Erprobung der praktischen Verwertbarkeit bleibt, bzw. hierfür auch nicht das richtige Personal verfügbar ist.

Im vorliegenden Projekt besteht die Zielsetzung in der Kombination und Nutzung bereits vorhandener bewährter Methoden mit unterstützenden Werkzeugen. Hierfür bestehen heute sehr günstige Voraussetzungen durch den Abschluß des KORSO Projektes und die zahlreichen Ergebnisse, die aus den Basic Research Activities der ESPRIT Projekte verfügbar sind.

Die Entwicklung neuer Methoden und Werkzeugkomponenten bezieht sich bei dem beantragten Projekt immer auf die Herstellung methodischer bzw. technischer Grundlagen, Basiswerkzeugen und Schnittstellen, die die effiziente Kombination bisher isolierter Verfahren ermöglichen.

4.1.3. Vorhandene Kapazitäten

Sowohl bei den Universitätspartnern, als auch bei den Industriepartnern des Projektes werden durchweg Mitarbeiter eingesetzt, die bereits mehrjährige Erfahrung auf den geplanten Arbeitsgebieten haben, sehr gut qualifiziert sind und wesentlich an den Vorarbeiten (siehe Abschnitt 6) beteiligt waren. Hierdurch kann eine Einarbeitungszeit für die Teammitglieder sehr gering gehalten und sofort an den direkten Projektaufgaben gearbeitet werden. Diese günstigen Voraussetzungen ergeben sich aus den bereits von allen vier Partnern gemeinsam unternommenen Vorarbeiten zur Definition der Fallstudie. In diesem Rahmen wurden bereits einfachere von Elpro vorgegebene Problemstellungen gemeinsam gelöst.

Von den Projektpartnern wird weiterhin als wichtig angesehen, daß die Projektmitarbeiter nicht vom operativen Geschäft abgesetzten Forschungslaboratorien angehören, sondern direkt Abteilungen zugeordnet sind, in denen die Projektergebnisse zukünftig von ihren Kollegen und ihnen selbst angewendet werden. Hierdurch besteht eine gute Voraussetzung für die Sicherung der Marktrelevanz in den Projektzielsetzungen und Ergebnissen.

4.1.4. Zusammenarbeit mit anderen Forschungsstellen

Die Projektpartner verstehen das Projekt nicht als "Arbeit hinter verschlossenen Türen", sondern eingebettet in ein europäisches Netz von Aktivitäten, die für UniForM genutzt werden können. In Deutschland sind u.a. die Kontakte der Bremer und Oldenburger Gruppe im Rahmen des BMFT-Vorprojekts KORSO zu nennen.

Die Oldenburger Gruppe arbeitet mit Forschungsgruppen in Oxford (C.A.R. Hoare), Lyngby / Kopenhagen (A.P. Ravn) und Kiel (H. Langmaack) im Rahmen des ESPRIT-Projektes ProCoS und der ProCoS Working Group eng zusammen. Die in dieser Zusammenarbeit erzielten Forschungsresultate fließen unmittelbar in das hier beantragte Projekt ein.

Weiterhin unterhält die Oldenburger Gruppe eine 3-jährige Kooperation mit den Philips GmbH Forschungslaboratorien in Aachen, in dem es um die Anwendung und Erweiterung der im ProCoS-Projekt entwickelten formalen Methoden im Bereich der Telekommunikations-Software geht. Der Schwerpunkt liegt in der Erstellung geeigneter Spezifikationen. Eine Werkzeugunterstützung wie im hier beantragten Projekt fehlt dort. Deshalb wäre die UniForM Workbench auch für diese Industrie-Kooperation interessant.

Die Bremer Arbeitsgruppe von Prof. Krieg-Brückner hat vielfältige internationale Kontakte (außerhalb der EU u.a. zur Academia Sinica Beijing, Carnegie-Mellon University, Kestrel Institute, Polish Academy of Sciences, Stanford University, SRI International). Besonders hervorzuheben ist die ESPRIT Basic Research WG COMPASS ("a COMPrehensive Algebraic Approach to System Specification and development"; Koordinator: Prof. Krieg-Brückner), an der führende Wissenschaftler aus 20 Europäischen Universitäten und Forschungseinrichtungen beteiligt sind: viele dieser Wissenschaftler sind auch noch an anderen inhaltlich verwandten ESPRIT Aktivitäten beteiligt; dadurch ergibt sich ein Multiplikationseffekt. Dieses Gremium ist ein gutes Forum, um theoretische Fragestellungen des Projekts zu diskutieren und die praktischen Ergebnisse zu verbreiten.

Prof. Peleska unterhält seit Jahren einen intensiven Kontakt zu den Universitäten Kiel (Professoren Langmaack und deRoever; gemeinsame Vorlesungen, Betreuung von Diplomarbeiten, Projekt CATI, Abschnitt 6), TU Eindhoven (Software-Engineering und Formale Methoden), Oxford (Mitglied in der ProCoS Working Group, Review-Mitglied im ZIP-Projekt zur Standardisierung von Z) und arbeitet außerdem mit der University of Capetown (Department of Mathematics, Department of Electrical Engineering) an der Entwicklung und Verifikation sicherer drahtloser Übertragungssysteme für verteilte Stellwerkslösungen zusammen. Hier wird ein bereits entwickelter Systemprototyp mit Hilfe von Harels State&Activity Charts spezifiziert und durch eine Kombination von Model Checking und formaler Verifikation analysiert.

4.2. Nutzbarkeit der Projektergebnisse

4.2.1. Wirtschaftliche Nutzung

Die Elpro LET GmbH erhofft sich von der Erprobung der formalen Methoden während des Projekts und der anschließenden Nutzung der UniForM Workbench die Verbesserung der Wettbewerbsfähigkeit für ihre Produkte und damit die Sicherung der Arbeitsplätze in den neuen Bundesländern. Sie erhofft sich eine, auch theoretisch wohlfundierte, Bündelung der bisher bereits erfolgreich eingesetzten Methoden zur Spezifikation, Entwicklung und Verifikation sowie eine Erweiterung durch den Transfer neuerer Ansätze aus der Forschung. Besondere Bedeutung kommt der Systemunterstützung und Integration existierender Werkzeuge in einer offenen Entwicklungsumgebung mit möglichst einheitlicher Benutzungsoberfläche zu.

Die Projektziele sind so definiert, daß die Ergebnisse von allgemeiner wirtschaftlicher Bedeutung sind und daher ebenso von anderen deutschen Software entwickelnden Industrien genutzt werden können. Die UniForM Workbench soll als "public domain software" zur allgemeinen Benutzung zur Verfügung gestellt werden.

Vertrauenswürdige und effiziente Methodenkombination für sicherheitsrelevante Anwendungen

Das Thema der Methodenkombination ist für alle industriellen Bereiche relevant, in denen sichersheitskritische Anwendungen entwickelt werden. Neben dem in der Fallstudie angesprochenen Thema "Bahnsicherungstechnik" ist die im Projekt behandelte Methodenanwendung z.B. für die Industriezweige

* Luft- und Raumfahrt

* Automobilindustrie (intelligente ABS-Systeme und Komponentenvernetzung)

* Medizintechnik (z.B. Narkose- und Respirationssysteme)

* Kraftwerkstechnik

von großer Bedeutung. In allen genannten Bereichen vollzieht sich derzeit ein Wechsel von konventionellen Entwicklungstechniken zum verstärkten Einsatz von Methoden mit höherem Formalitätsgrad. UniForM leistet einen Beitrag zur effizienten Nutzung der Methoden, die bisher häufig als "sehr zuverlässig, aber zu teuer in der industriellen Anwendung" eingestuft wurden.

Speziell für die Entwicklung sicherheitsrelevanter SPS-Anwendungen bringt UniForM einen erheblichen Produktivitäts- und Sicherheitszuwachs.

Verbesserter Schutz bisheriger Investitionen

Für Industriebetriebe ist ein rascher und häufiger Methodenwechsel aufgrund der hohen Einarbeitungskosten und bisher hohen Kosten für neue Werkzeugplattformen nicht durchführbar. Die Antragsteller schätzen die Erfolgsaussichten für eine industrielle Akzeptanz der UniForM-Ergebnisse daher als hoch ein, denn

* die UniForM Workbench ermöglicht die schrittweise Kombination bereits existierender bewährter Methoden mit neuen Verfahren,

* die UniForM Workbench bietet eine Entwicklungsumgebung, in der Erweiterungen möglich sind, ohne auf bisher eingesetzte Werkzeuge verzichten zu müssen.

4.2.2. Wissenschaftliche Nutzung

Nachweis der Machbarkeit durchgängiger Entwicklungsunterstützung

Die bisherigen ESPRIT Projekte und in Deutschland geförderten Forschungen haben sich zumeist auf die Entwicklung neuer Methoden und Werkzeuge konzentriert. Auf diesen Ergebnissen aufbauend, wird durch Spezialisierung auf SPS-Anwendungen in diesem Projekt erstmals die Machbarkeit einer durchgängigen Entwicklungsunterstützung bei der Anwendung Formaler Methoden im Software Life Cycle nachgewiesen. Dies wird nach Auffassung der Projektpartner zu zahlreichen Entwicklungen anderer Forschungsgruppen für weitere Typen von Zielsystemen führen, so daß die durchgängige Unterstützung in Zukunft für ein immer breiter werdendes Feld von Anwendungen verfügbar sein wird.

Fortschritt im Bereich "Formale Methoden für Realzeitanwendungen"

UniForM ist eines der ersten Projekte, in denen - wiederum durch Spezialisierung auf einen Anwendungstyp - das Einhalten von Realzeiteigenschaften von den Systemanforderungen bis zum ausführbaren Code garantiert bzw. verifiziert werden kann. Diese Ergebnisse werden für weitere Forschungen im Bereich "Formale Methoden für Realzeitsysteme" von Nutzen sein.

Klassifizierung von Problemstellungen und geeigneten Lösungsmethoden

Die Antragsteller erwarten, daß das Projekt wichtige Beiträge zur Klassifizierung von Problemstellungen bei der Software-Entwicklung liefern wird. Dies wird die Zuordnung vom Problem zur Lösungsmethode erleichtern.

Kombination "scheinbar isolierter Methoden"

Eine Ursache für die unzureichende Nutzung bisheriger Forschungsergebnisse bestand in der Vergangenheit häufig in der Bildung "akademischer Gemeinden", die sich auf die Erforschung einer isolierten Methode spezialisierten und die Einbeziehung anderer Verfahren vermieden.

In diesem Projekt wird gezeigt, daß gerade durch die Kombination der Forschungsergebnisse für verschiedenartige Methoden eine effiziente Entwicklung möglich wird. Die Projektpartner hoffen, daß dies auch andere Forschungsgruppen zu einer besseren Nutzung und Verbreitung von Forschungsergebnissen anregt.

Experimentierplattform

Nach Beendigung des Projekts soll die UniForM Workbench als "public domain software" der Öffentlichkeit zur Verfügung gestellt werden. Die UniForM Workbench als ganzes und speziell die generischen Systeme zur Entwicklung und Ausführung von Transformationen sind sehr vielseitig einsetzbar. Die Projektpartner erwarten, daß sie für andere Bereiche zunächst im wissenschaftlichen Umfeld als Experimentierplattform genutzt und später in der Industrie eingesetzt werden.