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.

27.02.1976

Ist "Fernwirkungsfreie Programmierung" nur ein Schlagwort?

Zwei Arten von Fernwirkungen in Programmen sind bekannt. Beim "schmutzigen Go-To" wird in einen Raum gesprungen, der zwar logisch, aber nicht räumlich benachbart ist. Gegen diese Art der "Spaghetti-Programmierung soll die strukturierte Programmierung mit Nasi/Shneidermann-Diagrammen Abhilfe schaffen.

Andere Fernwirkungen verursachen Programmstatus-Variablen oder, Schalter und Weichen, mit deren Hilfe Differenzierungen getroffen werden, die an räumlich anderer Stelle wirksam werden, wo dann die logischen. Zusammenhänge nicht immer ersichtlich sind. Da angeblich auch die Strukturierte Programmierung nach dem Strukturblock-Kalkül auf Programmstatus-Variable nicht verzichten kann, soll - so Hansbernd Berzheim, ADVIS-Softwarepartner KG, allein der neue "software-technologische Kalkül" LSS "Large Scale Standard" fernwirkungsfreie Programmierung erlauben, der von ADVIS zusammen mit dem Software-Werkzeug "Heureka" kürzlich vorgestellt wurde.

Seither wird über LSS und Heureka heftig diskutiert. "Die Erfindung des Rades" oder "Nichts als leere Worte"? -m-

Rainer Würsig, Leiter der Programmierung, Großversandhaus Quelle, Fürth

Die Erstellung von Programmen unter den Gesichtspunkten der Wirtschaftlichkeit, Wartungsfreundlichkeit, Transparenz und Qualität hat bei Quelle seit eh und je den höchsten Stellenwert. Selbstgemachte Erfahrungen und Anregungen, resultierend aus dem Informationsaustausch mit Software-Häusern und vergleichbaren Installationen, werden laufend in unsere Verfahren und Methoden eingearbeitet. Hier handelt es sich um einen kontinuierlichen Vorgang, der - unabhängig von der jeweiligen Diskussion in der Fachliteratur - einen nicht unwesentlichen Teil unseres Jobs ausmacht.

Natürlich werden solange unzufrieden sein, wie es uns nicht gelingt, fehlerfreie Programme an die Praxis zu (..)ergeben, Dabei ist es klar, daß garantiert fehlerfreie Programme in absehbarer Zeit ein Wunsch bleiben werden, weil sämtliche im Programm vorkommenden Verarbeitungskonstellationen nur mit einem dem Nutzen nicht adäquaten Aufwand über Testfälle abgedeckt werden können. Wo liegen aber die Ursachen von Programmierungsfehlern, soweit sie nicht auf falsche Vorgaben zurückzuführen sind? Entweder handelt es sich um zu große und damit unüberschaubare Programme beziehungsweise Module oder die Ursache liegt zu einem großen Teil in den mit Fernwirkung behafteten Befehlsmodifikationen, Quersprüngen und Schalterproblemen.

Deshalb begrüße ich jedes Verfahren, jede Methode und jedes Hilfsmittel, das die auf diesen Ursachen basierenden Fehler entweder von vornherein verhindert beziehungsweise in der Testphase aufdeckt.

An Ideen zu diesem Thema von Software-Häusern und Anwendern mangelt es ja nicht. Wir müssen sie nur aufgreifen und unterstützen, damit die fernwirkungsfreie Programmierung in Kürze kein Schlagwort mehr ist.

Je näher wir an die Fehleranzahl Null bei an die Praxis übergebenen Programmen herankommen um so effektiver können unsere Auftraggeber, die Fachbereiche den Nutzen der Abläufe realisieren.

Dr. Ing. Eberhard Wegner Institut für Software-Technologie, GMD, Birlinghoven

"Fernwirkungsfreie strukturierte Programmierung (FSP) nach H. Berzheim ist - wenn ich es recht sehe - erstens eine Notation für die Ablaufstruktur von Programmen - alternativ zu Programmablaufplänen - und zweitens ein Verfahren zur Anpassung von Ablaufstrukturen an diese Schreibweise. Diese Anpassung verändert einen fertigen Programmablaufplan, hilft also erst beim Dokumentieren der fertigen Problemlösung. Ich brauche eine gute Dokumentation aber schon vorher für die Zerlegung meines Problems in Teilprobleme und für deren Schnittstellen. Ich sehe nicht, wie mir FSP während des Problemlösens helfen könnte.

Schlimmer als Fernwirkungen in der Ablaufsteuerung können Fernwirkungen durch Daten sein, - FSP erspart immerhin die Schalter. Die fertige Lösung dokumentiere ich lieber durch den Programmtext selbst als in einer Beilage, geschickt eingerückter Text mit sinntragenden Programmierernamen ist für mich mindestens so gut lesbar wie irgendein Diagramm.

Horst Düe, Leiter GDU-Betrieb, Continental Gummiwerke AG, Hannover

Es ist keine Frage, daß Dijkstra Recht hatte, als er 1968 den "Go To-Befehl" verteufelte. Nur konnte man bislang mit herkömmlichen Methoden keine Go To-freien Programme entwickeln, die gleichzeitig frei von Fernwirkungen wie Schaltern oder Weichen waren. Es wende mancherlei versucht, normiert und strukturiert. Die Go To's kamen unter Kontrolle, die Weichen aber blieben, was sie waren: Weiche Stellen im Programm.

Zugegeben, bei den üblichen Gruppenwechsel- und Gleichleseprogrammen machte das nicht viel aus. Auch ein mittelmäßiger Programmierer konnte hier, noch die Zusammenhänge überblicken.

Wie aber geht es weiter? Realtime-Projekte stehen an, Prozeßsteuerung läßt sich nun einmal nicht oder nur schwer mit normiertet, Programmierung verwirklichen. Der, EDV-Karren läuft zwar schon auf Rädern, holpert aber noch durch so manches Schlagloch.

Hier nun glätten LSS und Heureka fernwirkungsfrei die Wege: Eine Methode, ein Kalkül, kein Schlagwort. Strukturen werden plötzlich transparent, logische Nachbarschaften finden ihre Entsprechung in räumlicher Nähe. Auf den Programmspuren verfolgen Analytiker und Programmierer schienen gleich den Programmfluß.

So etwas muß man beachten. Zwar wurde hier nicht das Rad erfunden. vielleicht aber der Reifen.

Prokurist Dipl.-Kfm. Rainer Hartmann, Leiter der EDV-Organisation Geha-Werke GmbH,

Hannover

Die Transparenz-Eigenschaften von Programmsystemen gewinnen immer größere Bedeutung. Eine Abkehr von der konventionellen Art und Weise, Problemstellungen zu analysieren, Programme zu entwickeln und zu dokumentieren, ist einfach unumgänglich. Die traditionellen Mittel scheitern an den Anforderungen, die sich aus den nach Umfang und logischer Kompliziertheit beträchtlich wachsenden Aufgabenstellungen ergeben.

Keine Methode, die zu hochtransparenten Programmstrukturen und weitgehend selbst dokumentierenden Programmen führt, würde einmal eine spürbare Effizienzsteigerung bei der Entwicklung bringen und - was vielleicht noch wichtiger ist - eine erhebliche Entlastung des späteren Wartungsaufwandes. LSS/(Large Scale Standard) ist eine solche Methode. Zur Zeit ist meines Erachtens wohl keine sichtbar, die ähnlich weittragend ist.

Eine Grunderkenntnis, auf der diese Methode basiert, liegt darin, daß Programme um so unverständlicher werden, je häufiger direkte logische Zusammenhänge im Programmtext räumlich auseinandergerissen werden. Dies sind Fernwirkungen.

Schon lange weiß man, daß unkontrollierte Programmsprünge von Übel sind. Der Begriff der, Fernwirkung ist eine Weiterführung und Verallgemeinerung dieser Erkenntnis. Sie wird über die schmutzigen "Go To's" hinaus ausgedehnt auf die Steuerung des Programmflusses mit Schaltern. LSS macht eine schalterfreie Programmierung möglich.

Bei uns wird bereits in Pilotprojekten nach der LSS-Methode gearbeitet. Sie ermöglicht auch die maschinelle Erzeugung jeder beliebigen Programmsteuerung. Das hierfür in Kürze zur Verfügung stehende Software-Produkt "Heureka" wird ebenfalls bei uns zum Einsatz kommen.