Visual data flow language with higher-order combinators

Abstract

Moderne Softwaretechnik (Software Engineering) befasst sich mit der professionellen Entwicklung von hochqualitativen Softwaresystemen. Softwarequalität und insbesondere die relative Korrektheit eines Programms kann mit Hilfe von formalen Verfahren auf der Basis einer Spezifikation bestimmt werden. Im besten Falle kann a posteriori auf der Grundlage eines fertigen Programms eine formale Verifikation durchgeführt werden. Diese Arbeit untersucht eine konstruktive Herangehensweise, die Programme a priori korrekt erstellt, indem eine abstrakte Spezifikation sukzessive in ein ausführbares Programm überführt wird. Es wird eine graphische Notation und zugleich ein methodischer Ansatz zur Softwareentwicklung definiert, der die transformative Programmierung in den Vordergrund stellt. Die behandelte Thematik liegt dabei im Spannungsfeld mehrerer Aspekte wie Datenflussprogrammierung, Techniken des lambda,-Kalküls und des gegebenen Transformations-Rahmenwerks HOPS. Letzteres ist ein Entwicklungssystem zur visuellen Programmierung, das Gegenstand mehrerer Forschungsprojekte an der Universität der Bundeswehr München war. Ziel der Arbeit ist es, einen nahtlosen Übergang zwischen den einzelnen Phasen der Softwareentwicklung wie Analyse, Entwurf und Implementierung mittels eines transformativen Ansatzes zu erreichen. Dies wird an einem umfangreichen Beispiel aus dem Gebiet der digitalen Signalverarbeitung dargestellt.Modern software engineering deals with professional development of high quality software systems. Software quality and especially relative correctness of programs based on a specification can be determined by formal methods. At best a formal verification can be performed a posteriori on the basis of a complete program. This thesis investigates a constructive approach which generates programs correctly a priori by transforming an abstract pecification successively into an executable program. A graphical notation together with a methodical approach for software development will be defined emphasizing transformational programming. The outlined topic covers areas of several aspects like data flow programming, techniques of the lambda,-calculus and the given transformation framework HOPS. The latter is a development system for visual programming hich was subject of several research projects at the University of the Federal Armed Forces. The aim of the thesis is to obtain a transformational approach for the seamless transition between the specific phases of software development like analysis, design, and implementation. This will be demonstrated by a substantial example in the field of digital signal processing

    Similar works