"Die Zeit kann nicht angehalten werden"

23. März 2010, 18:33
posten

Edward Lee beschäftigt sich mit dem Design von Embedded Systems - Mit Sascha Aumüller sprach er über Spielzeug, Schraubenzieher und Systemfehler in statischen Sprachen

STANDARD: Wofür wurden die ersten Embedded Systems entwickelt?

Lee: Es waren immer problemorientierte Systeme. In Gegenstände eingebettete Computer verrichten dabei unterschiedliche Aufgaben. Autos sind ein gutes Beispiel: Sowohl die Sicherheit als auch die Emissionswerte konnten durch integrierte Computer erheblich verbessert werden. Eines der ersten Anwendungsgebiete war aber Spielzeug: Speak and Spell aus dem Jahr 1978 zeigte erstmals, was Dinge können (z. B. Sprachsimulation, Anm. d. Red.), die eigentlich gar keine Computer sind.

STANDARD: Verfolgen die Techniker und Computerwissenschafter dabei gleiche Ziele?

Lee: Das tun sie. Allerdings beschäftigen sich Techniker mit menschlichen Artefakten und Wissenschafter mit Phänomenen der Natur. Aus dieser Perspektive ist die Computerwissenschaft aber auch die reinste Disziplin der Technik. Sie wird am wenigsten von physikalischen, natürlichen Faktoren beeinflusst. Die Computerwissenschaft hat, so gesehen, ihre eigenen Gesetze der Physik.

STANDARD: Aber genau darin liegt ja ein Problem, wie Sie sagen. Embedded Systems sind darauf ausgelegt, mit der "echten" Welt zu interagieren. Gleichzeitig ignorieren sie deren physikalischen Gesetze.

Lee: Die Diskrepanz ergibt sich aus der Art, wie wir Computer einsetzen. Wir versuchen mit ihnen mittlerweile Probleme zu lösen, die eigentlich gar keine Probleme der Informationsverarbeitung sind. Das ist so, als würden wir einen Hammer nehmen, obwohl wir einen Schraubenzieher brauchen.

STANDARD: Wie kann diese Diskrepanz überwunden werden?

Lee: Mit Programmiersprachen, die auch eine zeitbezogene Semantik integrieren. Die gab es zwar schon, als noch gar nicht klar war, ob wir das jemals brauchen würden. Nun ist aber offensichtlich, dass der Zeit-aspekt wichtig ist für Embedded Systems. Statische Sprachen können nur mit Bibliotheken umgehen, denen die Gleichzeitigkeit von Prozessen fremd ist.

STANDARD: Warum ist der Faktor Zeit so wichtig?

Lee: Bei Embedded Systems ist es essenziell, dass ihre Ingenieure verstehen, wie sie funktionieren. Diese Systeme interagieren nämlich mit einer physischen Welt, und die Konsequenzen können verheerend sein, wenn sie dabei Fehler machen. Wir nehmen fälschlicherweise an, dass aufeinanderfolgende Computerprozesse jederzeit gestoppt werden können, ohne dass die Prozesse das "mitbekommen" würden. Das stimmt ja auch in der physischen Welt nicht - die Zeit kann nicht angehalten werden. Wenn wir also Programme mit diesem Fehler bauen, können sie nicht einmal die Entwickler verstehen.

STANDARD: Das Problem liegt also bereits auf der Konstrukteurs- und nicht erst auf der Anwenderseite?

Lee: Die Benutzer haben ein separates Problem. Es ist extrem wichtig, Systeme zu kreieren, die einen Mehrwert für den Menschen erzeugen - und es ist sehr leicht, genau das Gegenteil zu tun. Ein Beispiel: Ein Ingenieur hat vor kurzem versucht, die Bedienelemente eines Mobiltelefons auf das Armaturenbrett zu projizieren. Allerdings ist das Interface eines Mobiltelefons niemals dafür gemacht worden, um risikolos von einem fahrenden Menschen bedient zu werden. Das ist dann das Gegenteil von cleverem Design.

STANDARD: Wer entscheidet, was clever ist und was nicht?

Lee: Einerseits regelt das der Markt, aber da es auch um Sicherheitsaspekte geht, ist es nicht akzeptabel, dass nur Märkte darüber entscheiden, was aufs Armaturenbrett kommt. Leider gibt es auch eine Diskrepanz zwischen dem, was Leute wollen und was vernünftig ist. Es bleibt also in der Verantwortung der Ingenieure.

STANDARD: Wie kann man es den Ingenieuren leichter machen?

Lee: Durch offene Systeme. Moderne Autos haben 80 bis 100 Mikroprozessoren integriert, das erhöht die Kosten und die Fehleranfälligkeit. Es wäre nett, wenn die Hardware so einfach wäre, dass Funktionen verknüpft werden können. Das zu erreichen ist aber alles andere als trivial.

STANDARD: Ist das ein technisches oder ein Industrieproblem?

Lee: Die Industrie muss zuverlässige Gesamtsysteme herausbringen. Sie ist ja verantwortlich für das korrekte Funktionieren. Bei offenen Systemen stellt sich die Frage, wer Verantwortung für Fehler übernimmt. Es ist also ein Industrieproblem, für das es vielleicht technische Lösungen gibt.

STANDARD: Technisch gesehen ist es längst möglich, ohne Ampeln zu fahren, weil die Verkehrsregelung genauso gut über ein Embedded System im Auto funktioniert. Warum tun wir's nicht?

Lee: Das Problem ist derzeit das Vertrauen in ein solches System. Die Ingenieure müssen in diesem Fall also nicht nach einer technischen, sondern nach einer vertrauenswürdigen Lösung suchen.

STANDARD: Was sind solche "vertrauensbildende Maßnahmen"?

Lee: Das, was mit Embedded Systems schon erreicht wurde: Flugzeuge sind nicht nur unglaublich sicher geworden, sondern auch energieeffizienter. Wenn künftige Systeme sicher und effizient sind und dann auch noch einen Mehrwert für den Menschen genieren, sprechen wir von einer nützlichen Anwendung. (DER STANDARD, Printausgabe, 24.3.2010)

 


Zur Person
Edward Lee studierte in Yale und am MIT; in Berkeley unterrichtet er Electrical Engineering and Computer Sciences. Er ist Direktor des Berkeley Center for Hybrid and Embedded Software Systems.

  • Embedded Systems, so Edward Lee, steuern Prozesse einer realen Welt, ohne diese Welt zu "verstehen".
    foto: standard/fischer

    Embedded Systems, so Edward Lee, steuern Prozesse einer realen Welt, ohne diese Welt zu "verstehen".

Share if you care.