Melden Sie sich hier an, um auf Kommentare und die Whitepaper-Datenbank zugreifen zu können.

Kein Log-In? Dann jetzt kostenlos registrieren.

Falls Sie Ihr Passwort vergessen haben, können Sie es hier per E-Mail anfordern.

Der Zugang zur Reseller Only!-Community ist registrierten Fachhändlern, Systemhäusern und Dienstleistern vorbehalten.

Registrieren Sie sich hier, um Zugang zu diesem Bereich zu beantragen. Die Freigabe Ihres Zugangs erfolgt nach Prüfung Ihrer Anmeldung durch die Redaktion.

31.01.1975 - 

Programmierung nach DIN:

Kritik und Würdigung des Norm-Entwurfs DIN 66220

Exklusiv für CW, von Dr. R. Schneider

Der DlN-Entwurf hat die funktionelle Normierung des Verarbeitungsablaufes innerhalb der Programme zum Ziel. Formale Normierungen, zu denen auch die Schaffung einer Nomenklatur gehören wurde, werden ausdrücklich nicht angestrebt. Die funktionelle Normierung findet ihren Niederschlag in einem "Normierten Programmgerüst", in das von Programm zu Programm unterschiedliche problemspezifische Bausteine eingefügt werden können. Das normierte Programmgerüst verkörpert die normierte Gliederung der Programme und stellt damit die Voraussetzung für die wahlweise Verwendung von problemspezifischen Bausteinen in verschiedenen Programmen dar.

Das Programmgerüst wurde entwickelt, um die Abbildungsprobleme zu vereinfachen, die bei der Abbildung sequentieller Dateien mit elementefremden Satzgruppen auftreten.

Um die Universalität dieses Programmgerüstes nachzuweisen hinsichtlich seiner Eigenschaften, die normalerweise zyklischen Abbildungsprobleme (vergleichbar den periodischen Funktionen) auf einfache Abbildungsprobleme Satz-Satz zu reduzieren, sind folgende Überlegungen nötigenfalls im mathematischen Sinne zu beweisen:

Beliebige Strukturen sequentieller Dateien lassen sich unter Verwendung dieses Programmgerüstes in elementefremde Satzgruppierungen überführen; durch das Programmgerüst werden die erforderlichen Abbildungen auf die Abbildungen Satz-Satz reduziert, gegebenenfalls ergänzt durch eine anschließende Sortierung.

Die Beschreibung von Programmgerüsten kann in Form von elementefremden Satzgruppen erfolgen. Dazu benutzen die auf dem Markt befindlichen Systeme der "Normierten Programmierung" geeignete "Parameterkarten" oder "Pilotkarten". Die Abbildung dieser Beschreibung eines Programmgerüstes auf eine lauffähige Programm-Version des Gerüstes wird ebenfalls durch dieses normierte Programmgerüst auf die Abbildung Satz-Satz reduziert und ist damit im mathematischen Sinn beweisbar.

In der Praxis findet diese Eigenschaft ihren Niederschlag in der Tatsache, daß sogenannte "Generatoren für Normierte Programmierung" selbst als Programme nach den Regeln der normierten Programmierung erstellt sind und nur einfache "Ergänzungsroutinen" enthalten, eventuell durch eine Sortierung vervollständigt.

Ergänzungen des Norm-Entwurfs

Anwender, die einige Erfahrungen mit dem System der normierten Programmierung haben, werden sehr schnell erkennen, an welchen Stellen das im Norm-Entwurf vorgeschlagene Programmgerüst geändert werden muß, wenn seine Verwendung auch in komplexen Programmen von Nutzen sein soll.

Das Programmgerüst des Norm-Entwurfs muß um einen Programm-Baustein "Satzprüfungen" erweitert werden. Von dem Baustein Satzprüfung müssen Verzweigungen zu den Bausteinen Programm-Abschluß und "Eingabe" vorgesehen werden.

Die Erweiterung ist notwendig, um stammdatenbezogene Prüfungen durchführen zu können, wenn Bewegungs- und Stammdatei sequentielle gesteuerte Eingabedateien sind. Diese Prüfungen können weder im Baustein "Eingabe" noch im Baustein "Einzelverarbeitung" erfolgen. Denn im Baustein "Eingabe" ist normalerweise der zum Bewegungssatz gehörende Stammsatz nicht verfügbar, und im Baustein Einzelverarbeitung darf ein falscher Bewegungssatz nicht erst als solcher erkannt werden, weil er dann schon unerwünschte Gruppenverarbeifungsfunktionen ausgelöst hat.

Programmabschluß

Ein besonderer Programm-Baustein "Programmabschluß", der vom Baustein Gruppenverarbeitung getrennt ist, ist in den Norm-Entwurf einzufügen.

Diese Abgrenzung ist einerseits notwendig, um den Baustein "Programmabschluß" von jeder Stelle des Programmes aus anspringen zu können und damit das Programm kontrolliert abbrechen und beenden zu können.

Andererseits ist die Abgrenzung unerläßlich, wenn das Programmgerüst für Unterprogramme oder Mehrphasenprogramme verwendet wird. Denn in diesen Fällen darf der Baustein "Programmabschluß" nur einmal, beim letzten Aufruf durchlaufen werden, so wie der Baustein "Vorlauf" nur beim ersten Aufruf durchlaufen werden darf.

Der Baustein "Programmabschluß" darf nur das Abschließen der Dateien und Schlußnachrichten enthalten. Die Ausgabe von Gesamtwerten muß im Baustein Gruppenverarbeitung verbleiben, damit Gesamtwerte bei Programmabbruch nicht falsch und irreführend ausgegeben werden.

Andere Erweiterungen des Systems der normierten Programmierung

Außer den vorgeschlagenen Ergänzungen des Norm-Entwurfs bedarf es noch einiger Erweiterungen für das System der "Normierten Programmierung", die nicht oder noch nicht in einen solchen Norm-Entwurf hineingehören, da sie mehr die praktische Handhabung betreffen.

Es zeigt sich in der Praxis, daß die konsequente Anwendung der normierten Programmgerüste zu einer Unterteilung von Datenverarbeitungsabläufen in eine größere Anzahl von Programmen zwingt, als es sonst notwendig wäre.

Jeder Anwender normierter Programmgerüste kennt das Problem, zwei Eingabedateien sequentiell zu steuern, die nicht in der Satzgruppierung übereinstimmen.

Beispiel: Datei 1 Gruppierbegriff WERK, Datei 2 Gruppierbegriff WERK, PERSONAL-NR.

Durch geschickte Erweiterung und Manipulation des Gruppierwortes der Datei 1 gelangt man zu einer Lösung mit dem normierten Programm-Gerüst.

Noch aufwendigere Hilfskonstruktionen werden benötigt, wenn die Satzgruppierung lauten würde:

Datei 1 Gruppierbegriffe WERK, LAGER, TEIL-NR.

Datei 2 Gruppierbegriffe WERK, ABTLG., PERSONAL-NR.

Die Anwendung wird von diesen Hilfskonstruktionen befreit, wenn eine Lösung gewählt wird, die im obigen Beispiel zwei Programme benutzt. Da in der Praxis eine Abneigung gegen die Lösung mit zwei Programmen besteht, muß nach einem anderen Weg gesucht werden.

Programme zusammenfassen

Ein Weg liegt darin, die beiden Programme zu einem Programm zusammenzufassen, wobei das funktionell als Lösung mit Hauptprogramm und Unterprogramm aufgefaßt werden kann.

Ein solches Programm, das zwei oder mehrere Einzel-Programme (von denen Jedes ein normiertes Programm-Gerüst besitzt) zu einem Programm zusammenfaßt, heißt Mehrphasenprogramm. Die Schnittstelle zwischen den einzelnen Phasen heißt virtuelle Datei. Die Menge der Sätze einer virtuellen Datei existiert zu keinem Zeitpunkt als ganzes auf einem physikalischen Speichermedium.

Die virtuellen Dateien müssen in gleicher Weise wie reale Dateien systematisiert werden, in Eingabe-, Ausgabe-, Update-Dateien mit Unterscheidung sequentieller und direkter Verarbeitung. Die Programmgerüste müssen solche virtuellen Dateien wie reale Dateien unterstützen und sie müssen zu Mehrphasenprogrammen kombiniert werden können. Dann lassen sich auf der Basis des normierten Programmgerüstes beliebige Abbildungsprobleme in einem Programm lösen und auf Abbildungen Satz-Satz reduzieren.

Da virtuelle Dateien auch als Schnittstellen zu Datenbanken, Bildschirmen und dergleichen auftreten, ist das Gedankengebäude der normierten Programmierung damit zugleich in einfacher Weise auf alle damit zusammenhängenden Fälle ausgedehnt.