Dienstag, 16. Dezember 2014

Erinnerungen an George Radin (1931-2013)

Während meiner 35-jährigen Tätigkeit bei der Firma IBM habe ich eine ganze Reihe ausländischer Kolleginnen und Kollegen kennengelernt, an die ich mich heute noch gerne erinnere. Zu einigen von ihnen habe ich heute noch Kontakt. Es sind dies in erster Linie Amerikaner, aber auch Engländer, Franzosen, Holländer, Japaner, Österreicher, Schweden und Schweizer. Mehrere dieser Kollegen wurden auch außerhalb der Firma IBM bekannt. Beispiele dafür sind Fred Brooks, Ted Codd,  Watts Humphrey, Ken Iverson, Nat Rochester, Jean Sammet und Heinz Zemanek. Im Folgenden will ich an George Radin erinnern, einen Kollegen, mit dem ich in mehreren Stationen meiner Laufbahn zusammengearbeitet habe. Es gibt mir außerdem die Gelegenheit, über einige wichtige Trends unserer Branche zu reflektieren, da Radin fast immer mit dabei war, wenn es um technische und strategische Fragen ging.


Zum ersten Mal trafen wir uns im Oktober 1963 im Time/Life Building in New York City. Wir waren beide Kollegen in derselben Abteilung, deren Aufgabe es war, eine neue Programmiersprache, New Programming Language (NPL) genannt, zu definieren. Sie wurde später in PL/I umbenannt. Im Time/Life-Hochhaus, das nach den zwei Zeitschriften des Verlegers Henry Luce benannt war, hatte IBM eine mittlere Etage gemietet. Das Gebäude liegt in der Avenue of the Americas und gilt als Teil des Rockefeller Centers. Hier waren die Compiler-Gruppen untergebracht für Commercial Translator (abgekürzt Comtran) und COBOL, die vorher in der Madison Avenue zuhause waren, sowie Reste der ursprünglichen (von John Backus geleiteten) Fortran-Gruppe, die sich mit einem interaktiven Interpreter beschäftigte.  

Um dieselbe Zeit, als ich in New York eintraf, wurde eine paritätisch besetzte Kommission, bestehend aus Vertretern der beiden Nutzerorganisationen SHARE und GUIDE und der IBM, beauftragt, die Sprachdefinition festzulegen. Die IBM hatte drei Vertreter George Radin, Bernice Weitzenhoffer und C. W. Medlock. Radin und Weitzenhoffer kamen aus Time/Life. Medlock kam von der aktuellen Fortran-Entwicklergruppe in Poughkeepsie, NY, und verfügte als einziger über Erfahrungen im Übersetzerbau. Die Sprachdefinition stand unter enormem Zeitdruck, da die neue Sprache zusammen mit dem System/360 angekündigt werden sollte. Das geschah auch im April 1964. Über den Definitionsprozess hat George Radin im Jahre 1981 einen externen Rückblick vorgelegt. Deshalb beschränke ich mich hier auf George Radins Rolle bei diesem Projekt. 

Bekanntlich war es das Ziel von PL/I auf der Sprachebene dasselbe zu erreichen, was die Hardware-Kollegen in Bezug auf die Rechnerarchitektur vorgemacht hatten, nämlich die Anforderungen der technisch-wissenschaftlichen und der kommerziellen Nutzer mit einem Produkt abzudecken. Es war nicht so sehr das Problem, die Kommissionsmitglieder unter einen Hut zu bringen als die sehr starken Einflüsse zu berücksichtigen, die von außerhalb der Gruppe kamen. Diese Anforderungen waren sehr widersprechend. Am stärksten wirkte sich der Einfluss der Fortran-Anwender aus. Sie sollten PL/I als konsequente Weiterentwicklung von Fortran erkennen und akzeptieren, weshalb die neue Sprache zwischendurch auch Fortran VI hieß. Aus der Sicht der COBOL-Nutzer mussten alle funktionalen Möglichkeiten vorhanden sein, so dass man vorhandene COBOL-Programme maschinell umwandeln konnte. Das führte zu einer Vielzahl von Datentypen und Datenstrukturen. Außerdem wollte man der akademischen Welt entgegenkommen, und einige Konzepte aus Algol übernehmen, wie etwa Rekursion und Blockstruktur. Schließlich kamen noch Forderungen von internen Benutzern dazu, die PL/I als Systemimplementierungssprache verwenden wollten. Daraus resultierten Zeiger und explizite Befehle zur Listenverarbeitung, direkter Speicherkontrolle und Ausnahmebehandlung. Das Ergebnis war eine ausdrucksstarke, sehr umfangreiche Sprache, die uns späteren Übersetzerbauern einiges Kopfzerbrechen bereitete. In einem Vortrag in Amsterdam im Jahre 2007 habe ich darüber berichtet. Der Vortrag ist in erweiterter Form in den IEEE Annals of Computing History (Heft 4/2013) erschienen. 

Radin hatte zweifellos einen bestimmenden Einfluss auf die neue Sprache. Seine Stärke war eine vorurteilsfreie, gesamtheitliche Sicht der Dinge. Seine schnelle Auffassungsgabe und geistige Flexibilität ließen ihn immer wieder Lösungen finden, die den divergierenden Anforderungen gerecht wurden. Da er meist schneller war als alle andern Mitglieder der Kommission, hatten seine Vorschläge gute Chancen das Rennen zu machen. Andere aus der Abteilung, so Louis Bolliet (auf Abordnung aus Grenoble), Peter Woon (mit dem ich heute noch Kontakt habe) und ich schrieben unter anderem Beispielprogramme, um nachzuweisen, dass COBOL-Anforderungen abgedeckt waren. Auch machten wir Detailvorschläge zu einigen Aspekten, die auch teilweise den Weg in die Sprache fanden. 

Nach Comtran, Fortran und APL beendete die Firma IBM mit PL/I ihr direktes Engagement für prozedurale Sprachen. Mit SQL, ADF und RPG verschob sich ihr Interesse auf deklarative Sprachen. Bei Anwendern erwiesen sich Fortran und COBOL als sehr resistent. Im akademischen Bereich – und später auch im PC-Bereich − setzten sich Sprachen durch, die leichter zu lehren und zu lernen waren als PL/I (wie Pascal und Basic). Den Bereich Systemprogrammierung übernahm eine Sprachfamilie (C, C++, Java), die stark mit dem Unix-System verknüpft war.


 

  Überblick über Radins Projekte

Wie in der Tabelle zusammengefasst, war Radin nach der PL/I-Zeit an mehreren Projekten beteiligt, die teilweise innerhalb der Firma eine größere Bedeutung hatten, als dies nach außen durchdrang. Das erste Projekt dieser Art hieß Future Systems, abgekürzt FS, und wurde von Poughkeepsie, NY, aus geleitet. Hier war Radin der Chefarchitekt. Ein Kollege, der ihn sehr unter­stützte, war Pete Schneider. Das Ziel war es, als Nachfolge für das System/360 eine umfassende Rechnerarchitektur zu definieren, die eine Basis für eine Vielzahl von technischen Realisierungen ermöglichte. Es sollte dem Anwendungsprogrammierer eine Schnittstelle angeboten werden, die einerseits seine Entwicklerproduktivität erhöht, andererseits den Programmen eine sichere und portable Ausführungs­umgebung bietet. Alle Datenobjekte sollten sich bezüglich Eigenschaften und Rechten weitgehend selbst beschreiben, so dass Fehlzugriffe vermieden wurden (engl. capability addressing). Statt einer explizit zu adressierenden Speicherhierarchie, die zwischen Hauptspeicher und peripherem Speicher unterschied, sollten sich alle Objekte in einem einheitlichen Adressraum befinden (engl. one-level store).  

Wie in [1] (S.538-553) nachzulesen, waren intern drei Schnittstellen festgelegt, und zwar von oben beginnend: 
  • ADI (Application Development Interface) für Compiler und Anwendungs­programme
  • EDI (Executive Discipline Interface) für die bisherigen Betriebssysteme und
  • NMI (New Machine Interface) für die anzuschließenden Geräte und Speichermedien
Es wurde angenommen, dass die beiden oberen Schichten in Mikrocode implementiert würden. Die Entwicklung der einzelnen Rechner war zwischen den Labors in Böblingen, Endicott, Hursley und Poughkeepsie in der Weise aufgeteilt, dass Böblingen das untere Ende, Endicott und Hursley den mittleren Bereich und Poughkeepsie das obere Ende abdecken sollten. Das Projekt geriet alsbald in mehrfacher Hinsicht in Schwierigkeiten. Einerseits zog sich der Termin für die Fertigstellung der Architektur immer mehr in die Länge, so dass die geplante Auslieferung der ersten neuen Systeme zu einer zeitlichen Angebotslücke im Markt zu führen drohte. Leistungsvergleiche für vorhandene Anwendungen ergaben, dass sie nicht mehr wettbewerbsfähig waren. Meine Kollegen in Böblingen hatten hier die überzeugendsten Argumente. Außerdem wurden immer mehr Fragen bezüglich Migrationspfaden und Umstellungskosten aufgeworfen – ein Argument, das immer wieder revolutionären Konzepten den Todesstoß gegeben hat. Im Jahre 1975 wurde das Projekt, was den Großsystembereich der IBM betraf, eingestellt. Die wesentlichen Elemente der FS-Architektur wurden später von den Kollegen in Rochester, MN, (unter Glenn Henry) übernommen und als AS/400 in den Markt gebracht.

Ob Radin selbst zu dem Schluss gekommen war, dass die Richtung die FS eingeschlagen hatte, technisch falsch war, ist mir nicht bekannt. Jedenfalls vollzog er fachlich einen Schwenk um 180°. Er plädierte nicht länger dafür, dass die Schnittstelle zwischen Hardware und Software nach oben verschoben werden sollte. Im Gegenteil, er argumentierte jetzt dafür, die Hardware in ihren Funktionen zu beschränken. Das interne Projekt, dem er sich anschloss, hieß Minicomputer 801. Die Architektur-Richtung, die er jetzt verfolgte, wurde als ‚Reduced instruction set computer‘ (RISC) in der Branche bekannt. Für Einzelheiten möchte ich auf seinen Bericht von 1982 verweisen. Die erste Implementierung dieses Konzepts erfolgte im Labor der IBM in Austin, TX, und wurde als RS/6000 angekündigt. 

Als nächstes wandte sich Radin wieder einem reinen Software-Projekt zu. Es war IBMs Versuch, in den Markt der CASE-Systeme einzusteigen. Zusammen mit Mitarbeitern aus dem Labor in Santa Teresa, CA, entwickelte er eine umfassende Software-Architektur, die im Jahre 1989 als AD/Cycle angekündigt wurde. Eine Artikelserie [2] im IBM Systems Journal im Jahre 1990 stellte das Konzept vor. Das Rückgrat dieser Architektur war ein zentraler Objektspeicher, der als ‚Repository‘ bezeichnet wurde. Hier sollten die Ergebnisse aller Entwicklungsstufen abgelegt werden. Das betraf Anforderungsdefinitionen, Entwurfsspezifikationen, Quellcode, Testfälle, usw. Ähnliche Konzepte wurden bereits von externen Normierungsgremien wie ECMA verfolgt. Objekt-orientierte Datenbanken waren in aller Munde.  

Das Konzept scheiterte im Markt an zwei Tendenzen, die Radin und seine Kollegen offensichtlich falsch eingeschätzt hatten. Viele Nutzer sahen in dem zentralen Objektspeicher den Versuch der IBM, den zentralen IT-Abteilungen dazu zu verhelfen, weiterhin im Geschäft zu bleiben. Genau das wollten die Nutzer von Personal Computern aber nicht. Sie wollten sich lösen und selbständig werden. Andererseits litten spezielle objekt-orientierte Datenbanken (OODBs) darunter, dass sie die vorhandenen relationalen Datenbanken nicht ersetzen konnten. Diese waren leistungsmäßig inzwischen so ausgereift, dass sie OODBs deklassierten. Außerdem verteidigten sie ihr Terrain, indem sie sich selbst in Richtung baumartiger Objekte erweiterten. IBM hat später wieder im CASE-Bereich Fuß gefasst durch die Akquisition der Firma Rational. Auf der Basis des bereits sehr erfolgreichen System Rose entstand später die Entwicklungsumgebung Eclipse, indem IBM das Produkt der Open Source Community zur Verfügung stellte.  

Radin hatte seit 1980 die Position eines IBM Fellows inne. Er besaß acht Patente im Bereich Rechner- und Systemarchitektur. Für die Erfindung der RISC-Architektur verlieh der US-Senat ihm 1992 den ‚Inventor of the Year Award‘. Sehr lebhaft erinnere ich mich an seinen Besuch 1976 in Stuttgart anlässlich der GI-Jahrestagung [3]. Ihm zuliebe besuchten Erich Neuhold und ich das Cannstatter Volksfest. Es blieb - nebenbei bemerkt - bislang mein einziger Besuch.

George Radin stammte aus Brooklyn, NY. Seine Eltern waren aus Osteuropa eingewandert. Er hatte 1951 einen B.A. in Englischer Literatur vom Brooklyn College erworben und 1952 einen M.A. in Mathematik von der Columbia University, gefolgt von einem M.Sc. in Mathematik von der City University of New York. Er war von 1962 bis etwa 1996 bei IBM tätig. Während seiner ganzen IBM-Laufbahn wohnte er im selben Haus in Grand View im Staat New York, am Westufer des Hudson River. Er pendelte täglich, mal nach Süden nach New York City, mal nach Norden nach Yorktown Heights oder Poughkeepsie, NY. Während seiner Zeit in Austin, TX, oder Santa Teresa, CA, wechselte er wöchentlich zwischen Wohn- und Arbeitsort. Er pendelte  ̶  jetzt per Flugzeug anstatt per Auto  ̶  über den ganzen Kontinent hinweg. Wie ich erst vor einigen Wochen erfuhr, starb George Radin im Mai 2013 in Agawam, Massachusetts. Er hinterließ seine Frau, drei Kinder und zwei Enkelkinder. Radin galt im privaten Bereich als Musik- und Tierfreund und spielte Cello. 

Zusätzliche Quellen
  1. Pugh, E.W., Johnson, L.R., Palmer, J.H. (1991): IBM’s 360 and Early 370 Systems. MIT Press, Cambridge, MA
  2. Mercurio, V. J., Meyers, B. F., Nisbet, A. M., Radin, G. (1990): AD/Cycle strategy and architecture. IBM Systems Journal, 29,2; 170-188
  3. Radin, G.: An Evaluation of Several System Protection Strategies. In: E.J. Neuhold: 6.GI-Jahrestagung, Stuttgart, Informatik-Fachberichte, Springer 1976,1-15
PS: You can find an English version of this entry here, albeit without activated links.

Kommentare:

  1. Heute schrieb Ulrich Lang aus Nehren bei Tübingen:

    Er war ein Großer.

    AntwortenLöschen
  2. Gestern schrieb Gerhard Schimpf aus Pforzheim:

    Ein schöner Artikel! Ich habe als Fußsoldat an diesen Feldzügen der IBM teilgenommen. Zunächst als Compilerbauer wurde PL/I meine Muttersprache. Später nach Amsterdam abgeordnet habe ich die Database Requirements für FS geschrieben. Die offizielle Lesart, warum FS eingestellt wurde, war die, dass die Kunden den Sprung von der System/360 Welt in das futuristische FS nicht mitmachen würden. Daraufhin entschloss man sich entlang einer weicheren Migrationsstrategie.

    AntwortenLöschen
  3. Heute schrieb Peter Woon an Bord eines Kreuzfahrtschiffes am Kap Hoorn, normalerweise in Boston, Mass.:

    … we have been on a tour in South America. We took a cruise on Oceania Mariner around the south of this continent, starting in Buenos Aires for a few days and ending in Santiago. We will fly to Shanghai on New Year’s Eve. …I continue to marvel at your interest and energy as a historian of IBM’s glorious past, albeit a sad contrast to its present state.

    Peter, crediting my excellent health to my genes only, as my doctor says.

    AntwortenLöschen
  4. Heute schrieb Hans Diel aus Sindelfingen:

    Die Treffen mit Georg Radin gehören zu meinen schönsten Erinnerungen an die IBM. Seine fachlichen und intellektuellen Fähigkeiten brauche ich Ihnen gegenüber nicht zu erwähnen. Am meisten bewundert habe ich jedoch die Fairness mit der er seinen Standpunkt in Diskussionen (nicht nur fachlichen) vertreten hat.

    AntwortenLöschen