Stefan Schiffer: Visuelle Programmierung: Grundlagen, Potentiale und Grenzen, Dissertation, Institut für Wirtschaftsinformatik - Software Engineering, Johannes Kepler Universität Linz, 1997.


Visuelle Programmierung ist jene Art der Softwareentwicklung, bei der für die Erstellung von Programmen oder Programmteilen primär grafische Notationen und interaktiv manipulierbare Softwarekomponenten zum Einsatz kommen. Das Ziel visueller Programmierung ist vor allem die Erhöhung der Verständlichkeit von Programmen und die Erleichterung der Programmierung selbst. Durch visuelle Programmierung sollen auch Anwender in die Lage versetzt werden, Applikationen für den eigenen Bedarf zu erstellen, für deren Programmierung beim Einsatz konventioneller Werkzeuge und Sprachen professionelle Softwareentwickler benötigt würden.

Diese Arbeit hat drei Schwerpunkte: die Grundlagen der visuellen Programmierung, die Potentiale und Grenzen der visuellen Programmierung sowie die komponentenbasierte Softwareentwicklung mit Vista, ein visuelles Programmiersystem, das vom Autor entwickelt wurde.

Die Grundlagen der visuellen Programmierung. Dieser Teil umfaßt eine eingehende Auseinandersetzung mit den Begriffen der visuellen Programmierung und definiert eine homogene Terminologie, die bisher fehlte. Die Konzepte visueller Programmierung werden anhand von neun Paradigmen erläutert und durch Beispiele für visuelle Programmiersysteme ergänzt. Eine Übersicht zu Taxonomien zeigt verschiedene Aspekte unter denen visuelle Sprachen und Programmiersysteme klassifizierbar sind.

Die Potentiale und Grenzen der visuellen Programmierung. Ausgehend von fünf Thesen zur Rolle des Bildes in der Programmierung wird gezeigt, daß visuelle Elemente nicht in jedem Fall das Programmieren erleichtern oder zu besser verständlichen Programmen führen, sondern die Softwareentwicklung auch erschweren können. Die Argumente stützen sich auf Literaturstudien (einschließlich kognitionspsychologischer Erkenntnisse) sowie Erfahrungen und Beobachtungen in Programmierprojekten.

Die komponentenbasierte Softwareentwicklung mit Vista. Dieser Teil beschreibt das multiparadigmenorientierte, visuelle Programmiersystem Vista, das die Implementierung reaktiver und transformativer Systeme unterstützt. Nach einer kurzen Einführung in reaktive und transformative Systeme und die komponentenbasierte Softwareentwicklung wird das Programmiermodell von Vista erläutert, das auf der objektorientierten Programmierung in Verbindung mit Signal- und Datenflußmodellen beruht. Die in Vista realisierten Konzepte beruhen auf einer konsequenten Berücksichtigung softwaretechnischer Prinzipien und können vor allem für jene Leser interessant sein, die selbst ein visuelles Programmiersystem entwickeln wollen.

Abstract

Visual programming refers to software development where graphical notations and interactively manipulable software components are primarily used to define and compose programs. The goal of visual programming is to enhance the comprehensibility of programs and to simplify programming itself. Furthermore, visual programming should empower end users to build their own programs that otherwise would have to be written by professional programmers.

This work focuses on three issues: the foundations of visual programming, the potential and limits of visual programming, and component-based software development with Vista, a visual programming system, developed by the author.

The foundations of visual programming. This part includes a thorough discussion of the terms of visual programming and defines a homogenous terminology that was previously lacking. The concepts of visual programming are explained by means of nine language paradigms and supplemented by examples of visual programming systems. An overview of taxonomies shows several aspects by which visual languages and programming systems may be classified.

The potential and limits of visual programming. On the basis of five theses concerning the role of pictures in the process of programming, the argumentation shows, that visual elements do not always ease programming or lead to more comprehensible programs; quite the contrary they can make software development more difficult. The arguments are based on literature (including findings of cognitive psychology) as well as experience and observations gathered during programming projects.

Component-based programming with Vista. This part describes the author’s multiparadigm visual programming system Vista, which supports the implementation of reactive and transformational systems. After a short introduction to reactive and transformational systems and several aspects of component-based software development, this chapter explains the programming model of Vista, which combines object oriented programming with signal-flow and data-flow models. The concepts of Vista where developed with software engineering principles in mind and could be of particular interest for readers, who want to build their own visual programming system.

Visuelle Programmierung: Grundlagen, Potentiale und Grenzen