Fehlertoleranz ist keine Lösung
Immer öfter vertraut man im Alltag auf Mikrochips und Sensoren. Das Militär hat es vorgezeigt, die Luftfahrt weiterentwickelt, und mittlerweile kommt auch die Autoindustrie nicht mehr ohne Embedded Systems aus. Von der Verknüpfung der physischen mit der digitalen Welt erwartet man sich noch Großes, vor allem aber das Überdenken alter Paradigmen in der Computerwissenschaft.
Wenn Computer mit der physischen Welt interagieren, dann gelten andere Parameter als für Rechensklaven, die auf Datenbanken zugreifen oder auf Tasten und Mausklick reagieren. Schließlich werden mit Embedded Systems auch Steuerungs- und Kontrollsysteme gebaut, die Flugzeuge und Raumschiffe lenken und Atomkraftwerke überwachen sollen. Stürzt ein Desktop-Computer einmal ab, so ist das zwar unangenehm, aber im Gegensatz zu einem Flugkontrollsystems bedeutet so ein Absturz keine Lebensgefahr.
Am Sonntag in "matrix"
Mehr zu diesem Beitrag hören Sie am Sonntag, dem 10. April 2010, um 22.30 Uhr im Ö1-Netzkulturmagazin "matrix".
Kritisch ist bei "eingebetteten Systemen" vor allem die Zeitkomponente. Die Systeme müssen schnell, verlässlich und zeitgerecht Messdaten liefern, bearbeiten und weitergeben können. Denn nur dann kann ein Flugzeug ein plötzlich auftauchendes Hindernis rechtzeitig erkennen und ausweichen oder das Anti-Schleuder-System das Fahrverhalten eines Autos wieder in den Griff bekommen.
Von einem Sortieralgorithmus, so Tom Henzinger vom neu gegründeten Institute of Science and Technology bei Klosterneuburg, erwarte man natürlich auch, dass er seine Aufgaben schnell erledigt. Im Grunde sei es aber nicht wichtig, ob eine Berechnung eine oder drei Millisekunden daure. "Wenn jedoch ein Flugkontrollsystem nicht zeitgerechnet reagiert, dann haben Sie ein Problem."
Nicht alle "eingebetteten Systeme" seien systemkritisch, wie etwa Feuersprenkelanlagen, Gartenbewässerungssysteme und Kontrollsysteme, die dafür sorgen würden, dass der Lift auf und ab fährt. Die Tendenz, Computer immer mehr mit der physikalischen Welt interagieren zu lassen, nehme jedoch zu, egal ob sich die Parameter dafür eignen oder nicht.
Der Traum von fehlerfreier Software
Die Computerwissenschaftler eint heute die Einsicht, dass keine Software fehlerfrei funktioniert. Nur Entwickler von systemkritischen Systemen würden sich mit dieser Erkenntnis allein nicht zufriedengeben. "Mich irritiert die Haltung, die Fehleranfälligkeit von Computersystemen einfach so hinzunehmen", so Henzinger. Schließlich würden generell immer mehr Aufgaben an Computer delegiert: vom Wahlsystem bis hin zur Kontoführung.
Tom Henzinger, Joseph Sifakis: "The Embedded Systems Design Challenge", 2006
Software-Probleme, so Henzinger, betreffen nicht nur "Embedded Systems": "Software kann auch dann fehlerhaft sein, wenn sie zwar das richtige Ergebnis liefert, aber dafür zu lange braucht. Das ist eine weitere Dimension, die Embedded Systems zu dieser ganzen Problematik hinzufügen."
Aus der Faszination wurde Desinteresse
Im Grunde genommen ist es erstaunlich, wie nachsichtig Benutzer von Rechenmaschinen mit der Computerbranche umgehen: Am Anfang war man von deren Leistungen einfach nur fasziniert, mittlerweile hat man die Scheu vor Geräten verloren, und aus der einstigen Bewunderung ist Desinteresse geworden.
Computer werden in fast allen Lebenslagen genutzt. Dennoch weiß man immer weniger über ihre Funktionsweise Bescheid. Trotzdem - oder vielleicht deswegen - drängt die Industrie immer stärker darauf, die physische mit der digitalen Welt zu verknüpfen, und stößt dabei an Grenzen.
Man steht erst am Anfang
Edward A. Lee: Computing needs time
Veröffentlicht im Magazin Communications of the ACM, Volume 52 , Issue 5, Mai 2009
Edward Lee von der "University of California" in Berkeley spricht auf Vorträgen gerne von seiner Vision einer ampelfreien Stadt. Nur diese Idee sei bis jetzt nicht umsetzbar. Nicht weil die dafür notwendigen Teile fehlen würden, sondern einfach deswegen, weil mit den heutigen Methoden die einzelnen Komponenten nicht verlässlich miteinander zusammenarbeiten können.
"Ich bin jedoch sehr optimistisch, dass wir in der Zukunft derartige komplexe Systeme bauen werden und sie dazu bringen können, sich ordnungsgemäß zu verhalten. Um das umzusetzen, brauchen wir allerdings ein besseres System der Abstraktion", meint Lee.
"Abstraktion bedeutet in der Computerei nichts anderes, als dass irrelevante Informationen von einem ferngehalten werden, um sich um die Lösung des anstehenden Problems kümmern zu können", erläutert Lee. Sich ständig das ganze System vor Augen zu halten, sei heute schlichtweg unmöglich. Die Anwendungen seien einfach zu komplex. So falle es leichter, sich einen Raum als Würfel vorzustellen, und zu ignorieren, dass Wände nie gleich, gerade oder eben sind. Wichtiger als diese Details sei die Funktion, die sowohl ein Raum als auch ein Würfel erfüllen kann.
Die Phantasie der Programmierer
Richard Gabriel: "Abstraction Descant". In "Patterns of Software. Tales from the Software Community", 1996, p. 17ff (pdf)
"Die Grenzen der Abstraktion liegen dort, wo die Phantasie und das Vorstellungsvermögen eines Programmierers endet", meinte einmal Richard Gabriel, der die Programmiersprache Lisp mitentwickelt hat und in der Java Community als Zar bezeichnet wird. Weniger poetisch drückt es Edward Lee aus: "Abstraktion hilft bei der Weiterentwicklung eines Systems - von einer Stufe zur nächsten - Dinge zu verbergen".
"Zeit", so Henzinger, "ist auch eine Form der Abstraktion." Die klassische Computerwissenschaft nehme sich jedoch die Freiheit, diesen Faktor einfach zu ignorieren, "und sie war damit durchaus erfolgreich".
Henzinger über das Verständnis von Zeit in der klassischen Computerwissenschaft:
"Zeit als abstrakte Sequenz von Ereignissen, die beliebig miteinander verwoben werden können", so Henzinger, darin liege die Essenz der klassischen Computerwissenschaft.
Das Konzept des Speicherns, das Zwischenspeichern und der Transport von Datenpaketen durch die Netzwerke funktionieren so wunderbar. Diesen Ansatz zu hinterfragen, wird zwar immer wieder angeregt, bleibt aber weiterhin eine spannende Aufgabe für die Zukunft.
Die Zukunft hat bereits einen Namen
Für die Zukunft und das Zusammenwachsen der digitalen und der physischen Welt hat man sich in den USA schon einen neuen Namen ausgedacht: Cyber Physical Systems (CPS). So nennt das zumindest die amerikanische Wissenschaftlerin Helen Gill von der National Science Foundation. Aber wie diese Systeme möglichst fehlerfrei funktionieren und zusammenwachsen sollen, darüber muss erst nachgedacht werden.
Im Grunde, so die Wissenschaftler, stehe man mit dieser Frage erst am Anfang. Dabei könnte ein Griff ins Bücherregal durchaus nützlich sein, denn Norbert Wiener beschrieb diese Idee bereits in den 1940er Jahren in seinem Buch "Cybernetics: or Control and Communication in the Animal and the Machine". Was Wiener unter Kontrolle verstand, entspreche durchaus dem physischen in "CyberPhysical", meint Lee, und er fügt hinzu: "Norbert Wiener war seiner Zeit weit voraus."
(matrix/Mariann Unterluggauer)