Bit-Dschungel in der SDI-Software
Der Leiter der University of Victoria, Victoria,
Canada; (Navel Research Laboratory, Washington, D.C.)
gegenüber der SDI-Organistion hat
seinen Verzicht auf die weitere Mitarbeit im
Ausschuß für computergestützte Kriegsführung
dargelegt. Im Folgenden werden einige Auszüge seiner
Begründung wiedergegeben. Dabei sind wörtlich
übersetzte Zitate in Anführung (") eingeschlossen.
Einleitend weist Prof. Parnas darauf hin, daß seine
Schlußfolgerung, daß seine Arbeit des Ausschusses
nutzlos sei, nicht politisch motiviert ist.
In der Vergangenheit hat er sich nicht geweigert,
an militärisch geförderten Forschungsprojekten mitzuwirken.
"Meine Schlußfolgerungen basieren auf mehr als
20-jähriger Forschung in der Softwareentwicklung,
einschließlich einer mehr als 8-jährigen Entwicklungsarbeit
an Software für Realzeitsysteme, die für
Militärflugzeugen eingesetzt werden. Sie beruht auf
der Vertrautheit sowohl mit militärisch genutzter
Software als auch mit der Forschung in der
Computer-Wissenschaft."
Seine Begründung ist in acht jeweils zwei bis drei
Seiten langen Artikeln niedergelegt:
1) Warum arbeitet Software unzuverlässig ?
2) Warum das SDI-Softwaresystem nicht vertrauenswürdig sein wird.
3) Warum bei konventioneller Softwareentwicklung
keine zuverlässigen Programme entstehen.
4) Die Grenzen der Methoden des Softwareengineerings.
5) Künstliche Intelligenz und SDI.
6) Kann automatisierte Programmierung das SDI-Softwareproblem lösen ?
7) Kann Programmverifikation die SDI-Software
vertrauenswürdig machen ?
8) Ist die SDI-Organisation ein effizienter Weg erfolgreiche
Forschung zu ermöglichen ?
zu 1)
Für Softwareprodukte wird häufig eine
Garantieleistung ausgeschlossen. Das liegt daran,
daß Industrieprodukte mit analog arbeitenden
Maschinen erzeugt werden und die Funktionsweise dieser
Maschine durch stetige Funktionen beschrieben werden.
Die entsprechenden mathematischen Modelle
sind entwickelt und seit langem beherrscht.
Demgegenüber sind Softwarekomponenten Systeme
mit einer sehr großen Anzahl diskreter Zustände.
Die zahlreichen Einzelzustände und Wechselwirkungen
der Komponenten untereinander können derzeit
durch kein mathematisches Modell annähernd vollständig
beschrieben werden. Eventuell kann die mathematische Logik
für die Softwareentwicklung die
Rolle der Analysis in der traditionellen Technik
übernehmen. Derzeit reichen diese Methoden jedoch
bei Weitem nicht aus, selbst kleine Softwaresysteme
zu behandeln.
zu 2)
Wenn Software die für SDI erforderlichen Eigenschaften
besitzen soll, muß man sich felsenfest auf sie verlassen
können, bevor man das gesamte Verteidigungskonzept
darauf abstellt. Aus folgenden Gründen ist dieser
hohe Grad der Zuverlässigkeit nicht erreichbar:
1) Ohne genaue Kenntnis der ballistischen Eigenschaften
der Ziele, die mit Hilfe der SDI-Software
identifiziert, verfolgt und letztlich vernichtet werden
sollen, müssen schwerwiegende Fehlreaktionen die
Folge sein. Es liegen jedoch keine genauen Informationen
über alle Ziele vor.
2) "Es wird unmöglich sein, das System unter
realistischen Bedingungen vor einem Einsatz zu testen."
3) Da einige Sensoren und Abwehrsysteme über
eigene rechnergestützte Leitsysteme verfügen,
entsteht so ein Gesamtsystem, das wesentlich komplizierter
als alle bisherigen Systeme ist.
zu 3)
Die konventionelle Methode der Softwareentwicklung ist,
"wie ein Computer zu denken". Die Komplexität eines
Problems und die Abhängigkeit von Bedingungen, die
erst zum Ablaufzeitpunkt ermittelt werden, führt
stets dazu, daß Softwarefehler bei Tests oder
sogar erst während des Einsatzes festgestellt werden.
In der Industrie gibt es eigenständige Arbeitsgruppen,
die unabhängig vom Programmierer Test durchführen
(Qualitätssicherung). Diese Möglichkeit steht
aber für die SDI-Software nicht zur Verfügung
s. 2) ]
zu 4)
Die wichtigsten Methoden bei der Erstellung großer
Softwaresysteme sind:
1) strukturierte Programmierung und der Gebrauch
formaler Programmiersprachen
2) formale Spezifikation abstrakter Schnittstellen
3) der Einsatz kooperierender sequentieller Prozesse.
Anhand eines Projektes der US-Marine zeigt Prof.
Parnas auf, warum die Softwareerstellung trotzdem
nicht problemlos erfolgen kann. Effizientere
Programmiersprachen und Programmentwicklungswerkzeuge
können zwar diese Probleme mildern,
aber nicht beseitigen. "Methoden des Software-Engineerings
verhindern keine Fehler. ... die erfolgreiche Anwendung
dieser Methoden hängt ab von der Erfahrung, die mit
der Erstellung und Pflege vergleichbarer Systeme gesammelt
wurde. Es gibt keinen derartigen Erfahrungsschatz
für das SDI-Kriegsführungssystem. ...
Ich gehe davon aus, daß
auch die Forschung der nächsten 20 Jahre keine
Änderung dieser Tatsache erbringen wird."
zu 5)
Da insbesondere auch eine so moderne Technologie
wie die der künstlichen Intelligenz im Rahmen der
SDI-Forschung eine große Rolle spielen soll, warnt
Prof. Parnas vor übertriebenen und unrealistischen
Erwartungen ("Künstliche Intelligenz stellt keinen
Zauber zur Lösung unserer Probleme dar. Insbesondere
ist der Einsatz von Computersystemen, deren
Problemlösungsstrategien denen menschlicher
Experten nachempfunden ist, gefährlich, da sich die
Regeln, die man aus der Beobachtung der menschlichen
Handlungsweise gewinnt, als inkonsistent,
unvollständig und ungenau herausstellen.)
zu 6)
Nach Meinung von Prof. Parnas ist automatisierte
Programmierung nichts ohne (algorithmische)
Programmiersprachen, aber Fehlerfreiheit garantieren
sie auch nicht.
"Außerdem ist eines der grundlegenden Probleme
bei SDI, daß uns die Information fehlt,
vertrauenswürdige Spezifikationen aufzuschreiben."
zu 7)
Abgesehen davon, daß bisher nur für im
Vergleich zur SDI-Software kleinen Programmen eine
Verifikation erfolgreich durchgeführt wurde,
muß vor einer Verifikation zunächst eine
vollständige Programmspezifikation vorliegen [s. 2), 6) ].
Außerdem soll die SDI-Software auch dann noch
funktionsfähig bleiben, wenn selbst Teile des
Gesamtsystems zerstört sind.
Es gibt aber bisher, trotz 20-jähriger Forschung auf
diesem Gebiet, "keine Beweistechniken für die
Korrektheit eines Programms beim Auftreten nicht
vorhersehbarer Bedrohung bleiben. (...) Der Präsident
und die Öffentlichkeit müssen dies wissen."
|