95 km hin und zurück für Programmtest

Ein ganz spezieller Ort für Tests auf einer IBM 1401

Es muss im Sommer 1963 gewesen sein, als die IBM Basel alles daran setzte, die bestellte IBM 1401 sofort nach Installation in ihrem Servicebüro produktiv einsetzen zu können. Das heisst, es sollten zu diesem Zeitpunkt bereits lauffähige Applikationen für die guten Kunden zur Verfügung stehen. Wie bei den Berichten ‚Pech wenn beim Lochen P und W verwechselt werden‘ und ‚Ein Roller löst eine Flut von Unannehmlichkeiten aus‘ bereits erwähnt, wurden die Programme mit der Sprache SPS (Symbolic Programming System) erstellt.

Für eine einfache Lohnabrechnung benötigte man schon ein paar Wochen bis der Kunde einigermassen zufrieden war. Folgende Schritte waren dabei zu durchlaufen:

  1. Analyse der Anforderung (Gespräch zwischen Kunde und IBM-Analyst)
  2. Weitergabe mit Besprechung der Analyse an den Programmierer
  3. Erstellen eines Blockdiagrammes durch den Programmierer
  4. Erfassen des Programmcodes auf einem Lochformular durch den Programmierer
  5. Lochen des Quellcodes aufgrund des Formulars durch die Locherin oder Programmierer
  6. Erstellen eines sogenannten Probespiels (Eingabe für Testdaten) durch den Programmierer; d.h. es mussten Eingabekarten gemäss Vorgaben des Kunden gelocht werden. Wenn möglich sollten ALLE möglichen Anforderungen vorhanden sein!
  7. Einlesen der Lochkarten ins System für das Erstellen der Programmliste auf dem Drucker und Stanzen des Lademoduls mit dem Stanzer durch den Operator
  8. Pulttest (wir nannten es Ysebähnle) durch Vergleich der gedruckten Liste mit Blockdiagramm durch den Programmierer
  9. Fehlersuche und Fehlerkorrektur mit Bleistift auf der Liste durch den Programmierer
  10. Lochen der benötigten Korrekturen und einordnen in das bestehende Quellcodepaket durch den Programmierer
  11. Wiederholung von Punkt 7
  12. Testen mit dem Probespiel durch den Programmierer; folgenden Komponenten waren dazu notwendig:
    • Testlauf mit Probespiel
    • Abklären des Absturzes (bei den ersten Tests) oder wenn kein Absturz dann Kontrolle des Ergebnisses
    • benötigte Anpassungen machen d.h. Punkt 9 -12 durchführen.

Normalerweise und wenn alles einigermassen gut lief benötigte man mind. 6 bis 20 oder bei schwierigen Fällen auch noch mehr Testläufe.

Im SB Basel hatten wir aber in der ersten Zeit nur zwei Möglichkeiten für Tests; wie bei ‚Ein Roller löst eine Flut von Unannehmlichkeiten aus‘ im grenznahen Mulhouse bei einem IBM-Kunden oder im IBM-Forschungslabor Rüeschlikon.

Park im Grünen in Rüschlikon

Deshalb war es auch wichtig, dass man schon für den ersten Test ein sehr gut entwickeltes Lademodul bereit hatte. So durfte ich einmal mit meinem damaligen Mentor nach Rüeschlikon reisen. Die 1401 war sehr begehrt und täglich 24 Stunden im Einsatz. Nicht nur wir Programmierer aus Basel sondern auch Berufskollegen aus Zürich, Genf und St. Gallen durften ihre Tests dort machen. Aber eigentlich wurde der Grossrechner vor allem für die Berechnungen der IBM-Forscher benötigt. Sie mussten neue Möglichkeiten im IT-Bereich suchen und erfinden. Deshalb war jeweils ein genauer Benützungsplan einzuhalten, der nach den angemeldeten Bedürfnissen erstellt wurde. Ich denke so etwa geht es auch in einem Spital zu und her, wo die OP-Sääle reserviert werden müssen.

Für einen Tagesaufenthalt waren mehrere Zeiteinheiten reserviert, damit der oben unter Punkt 12 beschriebene Testlauf möglichst oft gemacht werden konnte. Das Ziel der Reise war, mit einem ausgetesteten und lauffähigen Programm, d.h. Quellprogramm und Lademodul in Lochkarten und einer Programmliste gedruckt auf Endlospapier nach Hause zu kommen. Zum Glück stand jeweils auch ein Locher im Maschinenraum zur Verfügung, dann konnte man die Anpassungen sofort selber machen.

Allerdings gab es auch Wartezeiten. Dabei hatte ich das Glück, dass ich und 2 oder 3 andere Kollegen, die ebenfalls warten mussten von einem erfolgreichen IBM-Forscher durch das Labor geführt wurden. Was ich da sah, ist mir bis jetzt sehr gut in Erinnerung geblieben. Er zeigte uns, welch tolle Idee im Moment erforscht wird und er dabei mitmachen durfte. Wir kamen in eine grosse Halle – es sah eigentlich wie ein kleineres Hallenbad aus. Darin waren 9 Kanäle mit Schleusentoren. Jeder Kanal war verbunden mit dem Wasserzufuhr-Kanal. So wie ich es verstand, stellte jeder Kanal mit dem Schleusentor ein Bit dar, also 8 Bitkanäle für 1 Byte und der 9. Kanal stellte das damals noch übliche Paritybit dar.

Mit diesen Wasserkanälen konnten die Wissenschaftler Informationen darstellen, indem der Durchfluss des Wassers im richtigen Moment und im richtigen Kanal auf ON = Durchfluss oder OFF = kein Durchfluss gesetzt wurde. Für mich war es ein ganz grosses Erlebnis, den IT-Forschern ein wenig über die Schultern zu gucken und dabei kam ich zur Erkenntnis:

Forschen heisst, sich Unvorstellbares vorzustellen.