An object-oriented framework for graphical programming (summary paper)

This paper describes the object-oriented basis of the GARDEN graphical programming system developed at Brown University. GARDEN is a gen. era1 framework for graphical programming that provides a programming environment without an underlying programming language. It is based on object-oriented programming where objects represent both programs and data. It provides powerful display packages for objects and introduces a consistent and powerful execution metaphor that is flexible enough to handle the demands of graphical programming. 1. Graphical Programming Most people think using pictures. Most programmers design their programs and systems using a variety of pictures. Currently the programmer must translate his graphical conceptualizations into a single textual representation that the computer can understand. Moreover, he must translate back and forth between this representation and his conceptualizations during the coding, debugging and maintenance phases of development. The aim of graphical programming is to allow a programmer to work directly with his conceptualizations: to let the pictures be the program. Graphical programming must involve multiple views. People use a variety of pictures for programming and design. These pictures reflect different viewpoints and different aspects of the program. Today’s textual programming languages can be seen as multiple languages tied together with appropriate syntactic sugar. A language like Ada contains sublanguages for describing declarations, expressions, control flow, tasking, and modularization. In a graphical world, there is no obvious syntactic sugar, and these different aspects each have a different representation. Moreover, to find the most appropriate representation for designing a particular program, programmers will choose t This research was supported in part by the Office of Naval Research and the Defense Advanced Research Projects Agency under contract NO001483-K-0146 and ARPA Order No. 4786, by NSF Grant SER80-04974, by a contract with International Business Machines, by a grant from the AT&T Foundation, and by a grant from the Digital Equipment Corporation. Partial equipment support was provided by Apollo Computer, Inc. SIGPLAN Notices V21 #lo, October 1986

[1]  Anthony I. Wasserman,et al.  Extending State Transition Diagrams for the Specification of Human–Computer Interaction , 1985, IEEE Transactions on Software Engineering.

[2]  Georg Raeder A Survey of Current Graphical Programming Techniques , 1985, Computer.

[3]  Mark Moriconi,et al.  Visualizing Program Designs Through PegaSys , 1985, Computer.

[4]  Robert J. K. Jacob,et al.  A State Transition Diagram Language for Visual Programming , 1985, Computer.

[5]  Eric J. Golin,et al.  Think Pad: A Graphical system for Program-ming bY Demonstration , 1985, IEEE Software.

[6]  Steven P. Reiss,et al.  PECAN: Program Development Systems that Support Multiple Views , 1984, IEEE Transactions on Software Engineering.

[7]  Warren Teitelman,et al.  A Tour Through Cedar , 1984, IEEE Transactions on Software Engineering.

[8]  Mayer D. Schwartz,et al.  Viewing a programming environment as a single tool , 1984, SDE 1.

[9]  Johan Georg Raeder,et al.  Programming in pictures , 1984 .

[10]  Christopher F. Herot,et al.  Program Visualization: Graphics Support for Software Development , 1983, 20th Design Automation Conference Proceedings.

[11]  M. L. Powell,et al.  Visual abstraction in an interactive programming environment , 1983, SIGPLAN '83.

[12]  Daniel Weinreb Lisp machine manual: Daniel Weinreb, David Moon, Richard Stallman , 1983 .

[13]  David Robson,et al.  Smalltalk-80: The Language and Its Implementation , 1983 .

[14]  Daniel L. Weller,et al.  A graphics-based programming-support system , 1978, SIGGRAPH.

[15]  Ivan E. Sutherland,et al.  Sketchpad a Man-Machine Graphical Communication System , 1899, Outstanding Dissertations in the Computer Sciences.