IT CONSULTING & MANAGEMENT


Innovations of Empirical Software Engineering


THE GENERAL HIGHER ORDER SOFTWARE (HOS) APPROACH


Contact: Reiner R. Magdeburg, Germany, Email




Eine Methode der Software-Funktionsbeschreibung in einer speziellen baumartigen Form ist die so genannte Higher Order Software (kurz HOS) Methode. Ihre notationellen Grundlagen bestehen aus drei Arten von Funktionsbaumelementen, die in der folgenden Abbildung dargestellt sind (siehe [Dumke 1990] und [Hamilton 1976]).



Für die Funktionsstrukturierung gibt es nur eine Funktionssequenz (JOIN), eine Funktionsauswahl als ausschließliches Oder (OR) oder eine Funktionseinbettung bzw. -detaillierung (INCLUDE). Die Blätter der jeweiligen Funktionsdarstellung können eine elementare Funktion, eine anderswo definierte Funktion (als Funktionsreferenz), eine rekursive Funktion (als einzige Form der Zyklusbildung, die aber auch hinreichend ist) oder aber eine nicht in HOS definierte Funktion sein.

Diese Methode wurde ursprünglich entwickelt, die Qualität der Space-Shuttle-Software entscheidend zu verbessern. Dabei wird eine kompakte und konsistente Funktionsdarstellung angestrebt, die vor allem durch die Angabe der jeweiligen Ein- und Ausgaben gekennzeichnet ist so wie sie für alle Teilfunktionen genutzt werden bzw. sich redundanzfrei ergeben [Martin 1985].

Das folgende Beispiel zeigt den Entscheidungsprozess für die Implementation eines Softwaresystems aus einer vorgegebenen Architektur durch die jeweilige Auswahl von Architekturkomponenten oder deren eigenen Entwicklung durch eine Softwareentwicklungsumgebung (als so genanntes CASE-Tool).


Auf der Grundlage eines textlichen Baumbeschreibung (ähnlich der LISP-Programmiersprache) erzeugt ein Generator dann das Programm in der jeweils definierten Programmiersprache. Im Gegensatz zum Funktionsbaum werden hierbei auch die Funktionalitätsstruktur mit all den einbezogenen Funktionsargumenten bzw. -eingaben und Ergebnissen dargestellt, was insbesondere die Verifikation derartiger Softwarespezifikationen erheblich qualifiziert bzw. verbessert.

Die HOS-Technologie hat inzwischen im Feature-Driven-Design (FDD) eine Renaissance erfahren. Dabei wird allerdings nicht die für die HOS-Technologie avisierte Qualitätssicherung verwendet (siehe vor allem [Hamilton 1976]).

Note: Die Problematik des Feature-Ansatzes liegt auch in seiner eigenen Begriffswelt. So kann Feature einerseits schlechthin als Funktionalität verstanden werden, aber andererseits auch als Fähigkeit mit möglicherweise unterschiedlichen (weiteren) qualitativen Eigenschaften.


References:

[Dumke 1990] Dumke, R.: CASE: CAD-Systeme für den Software-Ingenieur. Wiss. Zeitschrift der TU Magdeburg, 34(1990)8, S. 7-10

[Hamilton 1976] Hamiton, M.; Zeldin, S.: Higher Order Software - A Methodolgy to Define Software. IEEE Transactions on Software Engineering, 2(1976)1, p. 9 - 32

[Martin 1985] Martin, J.: Manifest für die Informationstechnologie von morgen. Düsseldorf, 1985