Quelle, Fürth: Neuer Programmieransatz - ein Mixtum-Compositum

Assembler-Sprache und Methodenverbund

14.01.1977

Im Hause Quelle ist die Datenverarbeitung durch den Anfall großer Datenmengen sehr stark assemblerorientiert. In einem langjährigen Entwicklungsprozeß wurde diese Programmiersprache durch Schaffung von Hilfsmitteln zur Programmierunterstützung und durch Integration moderner Softwaremethoden laufend der Forderung angepaßt, Effizienz, Transparenz, Sicherheit und Personalunabhängigkeit der Programme zu steigern.

Die Art der Programme bestimmt die Methoden für die Erstellung von Anwendersoftware. Weit über die Hälfte der in unserem Hause zu schreibenden Programme enthalten Gruppenwechsel- und Mehrdateienverarbeitung.

Das Zusammenspiel und die Steuerung sind in der Normierten Programmierung standardmäßig gelöst. Der Benutzer hat damit einen generierbaren Programmrahmen, den er problemspezifisch ausfüllt.

Für die Gliederung dieser einzufügenden Verarbeitungsvorgänge gibt die Normierte Programmierung keine Unterstützung. Hier bieten die Strukturierte Programmierung sowie die Entscheidungstabellentechnik die Möglichkeit, diese begrenzten Programmfunktionen übersichtlich zu gliedern.

Durch die Integration der Strukturierten Programmierung und der EntscheidungstabelIentechnik in die Normierte Programmierung werden die Vorteile aller drei Methoden genutzt (Abbildung 0.

SP und ASSEMBLER

Wir haben die im Sprachumfang problemorientierte Programmiersprachen enthaltenen Grundelemente der SP (IF, DO und CASE) auch im Assembler verwirklicht. Durch die Ausnutzung der umfangreichen Möglichkeiten des Makro-Assemblers ist es gelungen, Struktur-Makros zu schaffen, die aus einfach zu codierenden Bedingungsangaben (Abbildung 2) die entsprechenden Assembler-Instruktionen und die dazu notwendige Verzweigungslogik generieren. Jedes dieser Makros kann logische und arithmetische Vergleiche, Bit-Abfragen (TM) und Gültigkeitsprüfungen (TRT) durchführen. Die allgemein gehaltenen Bedingungsangaben können durch UND und ODER miteinander verkettet werden. Damit besteht die Möglichkeit, in einer Makro-Anweisung eine komplexe Entscheidung zu treffen.

Über den Assembler hinausgehende Prüfungen (Längen- und Formatunterschiede der Operanden) verhindern Codierschwächen, die zu Programmfehlern führen würden.

In der Fallunterscheidung (IF) wird einer von zwei alternativen Verarbeitungsteilen ausgewählt, wobei der zweite (ELSE) nicht vorhanden sein muß.

IF (X, E, Y), OR, (X, E, Z), THEN

:

THEN-Verarbeitung

:

ELSE-Verarbeitung

:

EIF

Die Wiederholung (DO) bietet die Möglichkeit, eine Verarbeitung mehrmals (Anzahl fest oder variabel) durchzuführen.

DO 50, OR, (X, E, ENDE)

:

Schleifenverarbeitung

EDO

In der Auswahlverarbeitung (CASE) sahen wir die Notwendigkeit, den ELSE-Zweig aufzunehmen, in dem alle nicht ausgewählten Fälle bearbeitet werden.

CASE (SA, E, X'11'),OR, (SA, E, X'21'),(SA, E, X'12')

PROG F

:

Fehlerbehandlung

:

EPROG

PROG 1

:

Verarbeitung SA11/21

:

EPROG

PROG 2

:

Verarbeitung SA12

:

EPROG

ECASE

Programm-Transparenz

Durch die Anwendung der Makros allein wird aber noch keine bessere Programm-Transparenz erzielt. Die Umwandlungslisten müssen durch optische Aufbereitung die ineinander verschachtelten Grundelemente erkennen lassen. Diese Aufbereitung übernimmt ein Programm, das alle zu einem Element gehörenden Instruktionen einrückt. Durch Vergabe einer Level-Nummer wird die Schachteltiefe sowie Anfang und Ende des Grundelementes gekennzeichnet (Abbildung 3). Alle Makro-Auflösungen, die zu Unübersichtlichkeit der Programmliste führen würden, werden auf einer sogenannten Makro-Liste ausgegeben.

Die praktische Anwendung hat gezeigt, daß die Programme bei Benutzung des Methodenverbunds durch ihre höhere Transparenz leichter zu testen und zu ändern sind. Durch die GOTO-lose Programmierung innerhalb der Verarbeitungsblöcke und die Verwendung von Entscheidungstabellen wird die Sicherheit der Programme wesentlich erhöht.

Hinzu kommt eine Verringerung des Codieraufwandes durch die Möglichkeit der komplexen Schreibweise.

Erwin Schmidtlein ist Hauptabteilungsleiter Programmierung beim Großversandhaus Quelle Fürth