Zusammenfassung
- FORMAC behandelte Formeln als manipulierbare Strukturen und konnte sie differenzieren, substituieren, ausmultiplizieren und vereinfachen, bevor konventionelles FORTRAN die numerische Arbeit übernahm.
- Eine erzeugte Formel belegte die Anwendung bestimmter formaler Regeln auf eine Darstellung; sie bewies weder globale Äquivalenz noch numerische Stabilität, Fehlerfreiheit oder eine wissenschaftliche Schlussfolgerung.
- Jean E. Sammet initiierte und leitete das Sprachprojekt; die Beiträge von E. R. Bond, Robert G. Tobey, Stephen N. Zilles, weiteren IBM-Fachleuten und der damaligen Symbolik-Community bleiben eigenständig.
Im dokumentierten Arbeitsablauf wechselte eine Gleichung mehrfach ihre Gestalt. Zuerst war sie ein symbolisches Modell. Dann wurde sie von FORMAC umgeformt. Anschließend erschien sie in einer für FORTRAN IV geeigneten Unterroutine, wurde kompiliert und mit Zahlen ausgeführt. Der Weg war zusammenhängend, doch jede Station beantwortete eine andere Frage.
Das Computer History Museum verzeichnet, dass Jean E. Sammet 1961 zu IBM kam und die Entwicklung von FORMAC leitete. Das System wurde zu einem weithin genutzten Werkzeug der symbolischen Mathematik. In ihrer Oral History beschreibt Sammet die Ausgangsidee: Eine bestehende numerische Sprache sollte symbolisch rechnen können. FORTRAN war die praktische Wahl, begrenzte aber zugleich Ausdruck und Stil des neuen Systems.
Wenn eine Formel zum Programmmaterial wird
Die 1964 erschienene Introduction to FORMAC von Sammet und E. R. Bond beschreibt benennbare Formeln und Operationen auf ihrer Struktur. Formales Differenzieren, Ersetzen von Variablen, Klammerauflösung, Erweiterung, Vereinfachung und spätere numerische Auswertung waren programmierbare Schritte.
Numerisches FORTRAN berechnet Werte, nachdem Variablen Werte erhalten haben. FORMAC konnte zuvor die Form des Ausdrucks bearbeiten. Damit wurde nicht nur das Ergebnis, sondern die Formel selbst zu einem Gegenstand der Ausführung.
Sammets Übersicht von 1966 ordnet das System in ein größeres Feld ein: Integration, Darstellung und Bearbeitung, Präzisionsarithmetik, Stapel- und Dialogsysteme sowie Anwendungen. FORMAC prägte dieses Feld, entstand aber nicht außerhalb seiner zeitgleichen Forschung.
Auch die IBM-Arbeit war ein Teamprozess. Eine Rückschau datiert die Grundideen auf Juli 1962, als Sammet mit Unterstützung von Robert G. Tobey arbeitete. Im August folgte ein internes Memorandum, im Dezember die Sprachspezifikation, im April 1964 ein vollständiges System und im November die Freigabe. Der ACM-Nachweis des experimentellen Compilers von 1964 nennt Elaine R. Bond, Marc A. Auslander, S. Grisoff, Robert Kenney, Mat Myszewski, Sammet, Tobey und Stephen N. Zilles.
Die FORTRAN-Schnittstelle hatte eine eigene Semantik
Eine NASA Technical Note von 1968 macht das praktisch sichtbar. Ein lineares Blockdiagramm wurde symbolisch beschrieben. FORMAC eliminierte Variablen, löste Gleichungen, setzte Beziehungen ein und konnte komplexe rationale Ausdrücke expandieren, sofern der Speicher ausreichte.
Danach wurden Gleichungen in einer Form ausgegeben, die sich in eine FORTRAN-IV-Unterroutine einfügen ließ. FORMAC-spezifische Abschlusszeichen und von FORTRAN nicht akzeptierte Exponentenschreibweisen mussten entfernt werden. Erst dann übersetzte FORTRAN die Unterroutine und berechnete aus numerischen Eingaben Real- und Imaginärteil, Betrag und Phase.
Diese Arbeitsteilung war bewusst. Wiederholte numerische Auswertung im symbolischen System war langsam und speicherintensiv. FORMAC reduzierte die Algebra; FORTRAN wiederholte die Zahlenarbeit. Eine produktive Schnittstelle ersetzte keine der beiden Verantwortlichkeiten.
Der Anwendungsrahmen blieb eng: lineare Systeme, keine zeitabhängigen Koeffizienten, benutzerdefinierte FORTRAN-Funktionen für beliebige Funktionen und mögliche Speichergrenzen bei der Expansion. Auch eine zeitgenössische geophysikalische Anwendung beschreibt FORMAC als symbolischen Vorprozessor vor einer weiteren Sprach- und Laufzeitumgebung.
Formale Richtigkeit braucht Voraussetzungen
Eine vereinfachte Ausgabe belegt zunächst nur, dass benannte Regeln auf eine konkrete Darstellung angewandt wurden. Beim Kürzen kann eine Nullstelle des ursprünglichen Nenners verschwinden. Wurzeln, Logarithmen und nichtganzzahlige Potenzen besitzen Bereiche und Zweige. Eine exakt äquivalente Umformung kann numerisch instabil sein. Kompilierbarer Code kann ein falsches Modell, eine fehlerhafte Hilfsfunktion oder schlechte Skalierung enthalten. Ein stabiles Ergebnis kann eine unzutreffende wissenschaftliche Annahme korrekt auswerten.
Die belastbare Kette braucht daher getrennte Identitäten: Modell und Voraussetzungen; symbolische Regeln und Ergebnis; erzeugter FORTRAN-Quelltext; Compiler, Optionen und Binärdatei; Eingaben, Genauigkeit und Laufzeitausgabe; schließlich die fachliche Abnahme. Eine Stufe liefert Material für die nächste, aber kein Blankozertifikat.
Präzision gilt auch für die Zuschreibung
Sammets Rückschau von 1993, The Beginning and Development of FORMAC, trennt Konzept, spätere Entwicklung, verwandte Systeme, IBM-Softwaremanagement und Wirkung. Damit wird auch die Arbeitsteilung lesbar.
Sammet setzte das Sprachprojekt in Gang und führte es. Bond war Mitautorin der zeitgenössischen Einführung und verfasste eine frühe Benutzerreferenz. Tobey unterstützte die Grundkonzepte und Algorithmen. Zilles und die weiteren namentlich belegten Autoren wirkten am experimentellen Compiler mit. Parallel arbeitende Gruppen erweiterten den Horizont der Formelmanipulation.
FORMACs Leistung liegt also nicht in einer Maschine, die Mathematik endgültig beglaubigte. Sie liegt darin, symbolische Algebra so mit Produktionsrechnen zu verbinden, dass aus Ausdrücken Programme werden konnten. Die Beweislast wechselte dabei an jeder Schnittstelle.
Quellen
- Computer History Museum: Jean E. Sammet
- Sammet und E. R. Bond, Introduction to FORMAC
- Jean E. Sammet, Survey of Formula Manipulation
- Jean E. Sammet, The Beginning and Development of FORMAC
- ACM-Nachweis des Autorenkollektivs von 1964
- Oral History von Jean E. Sammet
- IBM-Journal-Rückschau zu FORMAC
- NASA, Use of FORMAC in a Program for Block Diagram Reductions
- FORMAC-Anwendung in der Geophysik
- IEEE Computer Society: Jean E. Sammet
- Heng Lu, Running-Code Primacy
Mitgliederbriefing
Detaillierter Profilkontext
Melden Sie sich mit der richtigen Mitgliedschaftsstufe an, um das vollständige Briefing und die Quellennotizen freizuschalten.
Nur für Strategic Circle
Strategic Circle
Offen für alle Leser. Schalten Sie Profil-Briefings nach Beitritt und Anmeldung frei.
Strategic Circle beitretenNur für Leadership Alliance
Leadership Alliance
Für qualifizierte Inhaber von IP-Assets und Management; melden Sie sich an, um Leadership-Alliance-Briefings freizuschalten.
Leadership Alliance beitreten
