Meilensteine der Forschung am Departement Informatik

Die ETH Zürich blickt auf eine lange und erfolgreiche Geschichte bei der Entwicklung von Computersystemen und von Softwarewerkzeugen zurück. Den Auftakt bildete das 1948 neu gegründete Institut für Angewandte Mathematik.

Zuse Z4 an der ETH Zürich

Ambros Speiser und Heinz Rutishauser sitzen vor der Rechenmaschine Z4
An der Bedienkonsole von Zuse Z4 sind zwei Mitarbeiter des Instituts für Angewandte Mathematik abgebildet: Ambros Speiser und Heinz Rutishauser, die hier 1955 am Computer sitzen.

Die ETH Zürich spielte eine wichtige Rolle in der Anfangsphase der Schweizer Informatik-Forschung. Eduard Stiefel, ursprünglich Professor für Geometrie, hatte das Potential und die Wichtigkeit der Informatik für die Schweiz und die ETH vorausgesehen. Als Folge dessen ging er im Jahr 1949 nach Deutschland und mietete die Zuse Z4, die programmierbare elektromechanische Rechenmaschine des deutschen Ingenieurs Konrad Zuse, die den Krieg nur wenig beschädigt überstanden hatte. Auf der Z4 konnten praktische numerische Aufgaben gelöst werden. Die Z4 war einige Jahre in Betrieb und wurde während dieser Zeit auch weiterentiwckelt, unter anderem von Heinz Rutishauser und Ambros Speiser: Rutishauser hat sich dabei um die Software gekümmert und Speiser um die Elektronik. Durch die Z4 kamen an der ETH sehr viele Entwicklungen in Gang. Gleichzeitig liefen die Vorarbeiten für den Bau eines eigenen Rechners, der ERMETH.

Entwicklung der ERMETH

ERMETH
Das Konzept der ERMETH basierte zu einem grossen Teil auf dem Wissen, das Eduard Stiefel, Ambros Speiser und Heinz Rutishauser auf Studienreisen in Europa und in den USA gesammelt hatten.

1949 sandte Eduard Stiefel seine damaligen Oberassistenten Heinz Rutishauser und Ambros Speiser in die USA, um die u.a. in Harvard eingesetzten elektronischen Rechenautomaten zu studieren. Daraus entstanden verschiedene Projekte, darunter die Entwicklung der ERMETH («Elektronische Rechenmaschine der ETH»). Die ERMETH war ein Digitalrechner mit 2000 Elektronenröhren und 6000 Germaniumdioden. Dioden waren damals noch neu, es zeigte sich aber, dass sie bereits genügend zuverlässig arbeiteten. Der Transistor, heute ein Hauptbestandteil jedes Computers, war zwar bereits 1948 erfunden worden, aber in Zürich hatte noch kaum jemand eines dieser neuen Bauteile gesehen, geschweige denn damit arbeiten können. An der ETH bereitete vor allem der Bau des Hauptspeichers Probleme, einer magnetischen Trommel, die mit 6000 Umdrehungen pro Minute rotierte. Die ERMETH war ab 1955 teilweise, ab 1957 voll nutzbar und stand anschliessend bis September 1963 in Vollbetrieb. Bis 2004 stand sie als Museumsstück im Technorama in Winterthur, danach wurde sie als Dauerleihgabe dem Museum für Kommunikation in Bern übergeben. 

Für die Programmierung der ERMETH stand anfänglich nur die Maschinensprache zur Verfügung. Rutishauser und seine europäischen Kollegen entwickelten jedoch die Sprache ALGOL; Hans Rudolf Schwarz schrieb 1960 für die ERMETH den dafür nötigen Compiler.

SRF Podcast: externe SeiteWarum die Schweiz trotz Pionierarbeit keine Computernation wurde (24.02.2024)

Die Innovation von ALGOL 

Portrait Heinz Rutishauser
Die wesentlichen Errungenschaften von Heinz Rutishauser bei den Sprachen waren sein Einsatz für die Universsalität von ALGOL und sein Einsatz für die numerischen Algorithmen, die auch heute noch gebraucht werden.  

Heinz Rutishauser hat früh erkannt, dass das mühsame Programmieren abgekürzt werden kann; dass also die Maschine das Programm selbst schreiben kann. Er wollte das in einer Sprache formulieren, die nahe bei der Mathematik ist, damit das Kompilieren leichter fällt. Dieser Gedanke von Rutishauser war für die Zeit sehr innovativ. Seine Habilitationsschrift drehte sich um das Thema «Automatische Rechenplanfertigung». Diese Idee hat ihn wiederum weiter beflügelt. Im Jahr 1958 fand in Zürich schliesslich eine gemeinsame Konferenz statt, an der ein erster Bericht einer neuen universellen Programmiersprache namens ALGOL (ALGOrithmic Language) verabschiedet wurde. Ein wichtiges Anliegen der ALGOL 58-Spezifikation war die Portabilität bestehender Programme auf unterschiedliche Rechnerarchitekturen. ALGOL entstand nicht zuletzt aus dem Willen, der Dominanz von IBM mit ihrem wild wachsenden Fortran eine saubere und systematisch entwickelte Sprache entgegenzusetzen. Heinz Rutishauser war treibende Kraft in diesen frühen Entwicklung von ALGOL und leistete wichtige Beiträge zur Entwicklung dieser Programmiersprache. Die Verantwortung für die Weiterentwicklung von ALGOL wurde 1962 an die International Federation for Information Processing (IFIP) übergeben. Ebenfalls 1962 wurde der wegweisende ALGOL 60-Report publiziert. Die IFIP erwies sich als grosse internationale Organisation aber als zu schwerfällig, um die Programmiersprache in geeigneter Weise weiter zu entwickeln. Dies führte schliesslich dazu, dass Niklaus Wirth aus der Projektgruppe ausschied und praktisch im Alleingang ALGOL-W entwickelte und in Stanford implementierte, was schliesslich zur Entwicklung der Programmiersprache Pascal in Zürich führte.

Handbook for Automatic Computation

Cover image of the book "Description of ALGOL 60"
Algol 60 war ein Meilenstein in der Geschichte der Programmiersprachen: Mit ihr begann die exakte Definition von Spracheigenschaften unabhängig von (und vor) jeder Implementierung.

Das Handbook ist eine Kollektion von Softwares, dessen erster Band im Springer Verlag im Jahr 1968 publiziert wurde. Für die Sprache des Handbooks hat man sich auf ALGOL geeinigt. Im Buch 1A wird die Sprache ALGOL erklärt. Heinz Rutishauser war wiederum treibende Kraft dieses Projekts. Er hat den ganzen Band auf dem Flexowriter geschrieben und war sehr bedacht darauf, dass die ganzen Programme im Buch ohne Fehler sind. Im Buch 1B wurde schliesslich beschrieben, wie man den Compiler für ALGOL macht und implementiert.

Den zweiten Band haben die beiden Forscher Christian Reinsch und James H. Wilkinson geschrieben: In diesem Buch wird die lineare Algebra beschrieben. Es handelt sich hierbei um eine Kollektion von Algorithmen, die von verschiedenen Personen geschrieben wurden. Die Autoren haben Algorithmen gesammelt, getestet und geschaut, ob sie richtig funktionieren. Wenn die Algorithmen diesen Test bestanden haben, wurden sie im Handbook aufgenommen. Als Referenz ist das Handbook auch heute noch von Bedeutung, gebraucht wird es jedoch nicht mehr.

Pascal: Eine Programmiersprache erobert die Welt

Niklaus Wirth
Professor Niklaus Wirth hat die Informatik in der Schweiz und an der ETH Zürich wesentlich vorangetrieben.

Niklaus Wirth entwickelte zwischen 1968 bis 1972 die Programmiersprache Pascal, die zu einem grossen Teil auf ALGOL 60 basiert und im Kern die Konzepte von ALGOL-W übernahm. Wirth verfolgte dabei zwei Absichten: Die Sprache sollte für den Programmierunterricht geeignet und somit einfach und auf fundamentalen Prinzipien aufgebaut sein. Zweitens sollte sie auch ein effizientes Werkzeug für die Entwicklung von grossen Programmen sein und damit die geläufige Meinung widerlegen, dass in höheren Sprachen geschriebene Software langsam und fehlerbehaftet sei. Gegenüber ALGOL 60 bot Pascal vor allem umfangreichere Möglichkeiten im Bereich der verwendbaren Datenstrukturen. Angeregt durch den vermehrten Einsatz von Pascal auf anderen Plattformen als auf CDC-6000-Anlagen, veränderte man 1973 den Compiler, sodass er statt Maschinencode sogenannten P-Code erzeugte, welcher anschliessend durch einen Interpreter – zugeschnitten auf den entsprechenden Rechner – ausgeführt wurde. Aufgrund der geringen Grösse und dem offen publizierten Quellcode bot sich Pascal für den Einsatz auf den damals von verschiedenen Instituten evaluierten Minicomputern an. An der ETH und zahlreichen anderen Hochschulen wurde Pascal während vieler Jahre in der Lehre eingesetzt. Der Erfolg dieser Programmiersprache brachte der Informatikforschung an der ETH Zürich internationale Anerkennung. Für Pascal und für seine weiteren Leistungen auf dem Gebiet der Programmiersprachen wurde Niklaus Wirth 1984 mit dem Turing Award ausgezeichnet.

Der Computer Lilith

Lilith
Auf den Namen "Lilith" war Wirth durch einen befreundeten Psychiater gekommen, der ihm von einer verführerischen Dämonin aus der jüdischen Mythologie mit diesem Namen erzählte. Wirth sah, wie die Männer am Institut auch nachts und am Wochenende an der Workstation arbeiteten und ihr buchstäblich erlegen waren.

Die vollständige Eigenentwicklung eines Computers wurde an der ETH nach zwei Jahrzehnten Unterbruch mit Lilith wieder aufgenommen. Die Workstation, inspiriert vom Alto der Bell Labs, wurde unter der Leitung von Niklaus Wirth von 1978 bis 1980 entwickelt. Lilith wurde rund fünf Jahre vor dem ersten Macintosh in Betrieb genommen und war bis 1990 an der ETH Zürich im Einsatz. Basierend auf den Erfahrungen aus früheren Projekten verfügte Lilith über einen grafikfähigen Bildschirm sowie eine Maus und verschaffte damit dem Institut fünf Jahre Vorsprung für die tägliche Arbeit, denn kommerziell waren erst 1984 ähnliche graphische Benutzerschnittstellen verfügbar. Wirth stellte zudem einen Typografen ein, der für den WYSIWYG-Texteditor Schriften entwarf. Die Lilith hatte zwei Funktionen: Erstens diente sie in den Gruppen von Niklaus Wirth und Carl August Zehnder als Arbeitsinstrument. Nicht nur die Professoren und Assistierenden arbeiteten damit, sondern auch die Administration. Für die Studierenden wurde ein Arbeitsraum mit Liliths ausgestattet. Die Workstation ermöglichte einen Programmierunterricht mit modernsten Mitteln. Die Übungsprogramme konnten direkt kompiliert und gestartet werden; bei Fehlern konnte der Code sofort geändert und ein neuer Versuch unternommen werden. Das lange Warten auf Reaktionen eines Grossrechners entfiel. Die zweite Funktion der Lilith bestand darin, dass sie ab 1980 zu einem Nukleus für zahlreiche weitere Forschungsprojekte wurde. Es wurden verschiedene Applikationen und sogar Spiele darauf programmiert. Aufbauend auf der Lilith entstanden zum Beispiel das relationale Datenbanksystem LIDAS oder das Information Retrieval-System Caliban. Bei beiden Projekten wurde ein Augenmerk auf die Gestaltung der Benutzerschnittstelle gelegt. Mit der Lilith kamen Erkenntnisse bisheriger Projekte zum Ausdruck. Sie setzte aber auch Akzente in der künftigen Forschung und kann als Kern der Informatik-Forschung an der ETH der 1980er Jahre angesehen werden.

Ceres Workstation

ceres
Der Name Ceres stammt von der römischen Göttin des Ackerbaus.

Ceres ist der Name des Computersystems, das 1986 von Niklaus Wirth und seiner Gruppe entwickelt wurde. Die Basis war ein 32-Bit-Prozessor (NS32032). Gleichzeitig wurde das dazugehörige Betriebssystem, das Oberon System, entwickelt. Es wurde in der parallel definierten Programmiersprache Oberon programmiert. Die Rechner wurden bis etwa 2003 für die Ausbildung von Informatikstudent:innen an der ETH Zürich eingesetzt. Im Laufe der Zeit wurde das ETH Oberon System auf andere Plattformen wie Windows oder Solaris portiert, um von der alten und inzwischen fehleranfälligen Ceres-Hardware unabhängig zu sein.

Leistungen des Oberon Systems

Oberon
Das System wurde in der Sprache Oberon programmiert und benötigt nur einen Bruchteil der Ressourcen, die kommerzielle Systeme benötigen.

Zwischen 1986 und 1988 entwickelten Niklaus Wirth und Jürg Gutknecht Oberon, das sowohl ein Betriebssystem als auch eine objektorientierte Programmiersprache war. Oberon wurde an der ETH zur Standardsprache im Programmierunterricht und bestand als solche bis ins neue Jahrtausend. Das Oberon-System ist ein modulares, single-user, single-process, multitasking Betriebssystem, geschrieben in der Programmiersprache Oberon. Es wurde ursprünglich als Teil des NS32032-basierten Ceres-Workstation-Projekts entwickelt. Sein Design und seine Implementierung sind in dem Buch «Project Oberon» von Wirth und Gutknecht ausführlich dokumentiert. Das Oberon-System verfügt über eine unkonventionelle visuelle Textbenutzerschnittstelle (TUI) anstelle einer konventionellen Befehlszeilenschnittstelle (CLI) oder grafischen Benutzerschnittstelle (GUI). Diese TUI war zu ihrer Zeit sehr innovativ und beeinflusste das Design des Acme Texteditors für das Betriebssystem Plan 9 von Bell Labs. Die neuste Version des Oberon-Systems, das «Project Oberon 2013», wird immer noch von Niklaus Wirth und mehreren Mitarbeitenden gepflegt, aber ältere ETH-Versionen des Systems sind mittlerweile verwaist.

Mit dem Wachstum des Instituts und später des Departements weitete sich auch die Forschungstätigkeit aus. Ein Charakteristikum der Forschungspolitik ab den ausgehenden 1980er-​Jahren bestand darin, Projekte vermehrt mit externen Partnern und Finanzierungsmitteln durchzuführen.

Heute forschen am D-INFK über 40 renommierte Professor:innen in sieben Forschungsbereichen.

JavaScript wurde auf Ihrem Browser deaktiviert