PROGRES , A Visual Language and Environment for PROgramming with Graph REwriting Systems 1

Graphs play an important role within many areas of applied computer science, and there exists an abundance of (diagrammatic) visual languages which have graphs as their underlying data model. Furthermore, rule-based languages and systems have proven to be well-suited for the description of complex transformation or inference processes on complex data structures. Although graphs and rule-based systems are quite popular, their combination in the form of graph rewriting systems (graph grammars) were more or less unknown among computer scientists for a very long time. Nowadays the situation is gradually improving with the appearance of a number of graph grammar based languages and tools. Currently, the multi-paradigm language PROGRES is the latest and most expressive descendant of a whole family of graph-rewriting system based specification languages. It has the flavor of a visual database programming language with powerful pattern matching and replacing facilities as well as backtracking capabilities. An integrated set of language-specific tools supports editing, analyzing, and debugging of applications, and even prototypes of PROGRES compilers with Modula-2 and C as target languages are available.

[1]  Michael F. Kilian A note on type composition and reusability , 1991, OOPS.

[2]  Tiziana Catarci,et al.  QBD*: A Graphical Query Language with Recursion , 1989, IEEE Trans. Software Eng..

[3]  Manfred Nagl,et al.  A Specification Environment for Graph Grammars , 1990, Graph-Grammars and Their Application to Computer Science.

[4]  Bernd Meyer,et al.  Pictures depicting pictures on the specification of visual languages by visual grammars , 1992, Proceedings IEEE Workshop on Visual Languages.

[5]  Shi-Kuo Chang,et al.  Visual Languages , 1986, Management and Information Systems.

[6]  Bernhard Westfechtel,et al.  Integrated data management in a heterogeneous CIM environment , 1993, 1993 CompEuro Proceedings Computers in Design, Manufacturing, and Production.

[7]  Andy Schürr,et al.  Logic Based Structure Rewriting Systems , 1993, Dagstuhl Seminar on Graph Transformations in Computer Science.

[8]  Eric J. Golin,et al.  The specification of visual language syntax , 1990, J. Vis. Lang. Comput..

[9]  Manfred Nagl,et al.  Graph-Grammars and Their Application to Computer Science , 1982, Lecture Notes in Computer Science.

[10]  Patrick Borras,et al.  Centaur: the system , 1988, Software Development Environments.

[11]  Herbert Göttler,et al.  Use Graph Grammars to Design CAD-Systems! , 1990, Graph-Grammars and Their Application to Computer Science.

[12]  Gregor Engels,et al.  Syntax and Semantics of Hybrid Database Languages , 1993, Dagstuhl Seminar on Graph Transformations in Computer Science.

[13]  R. G. G. Cattell,et al.  The Object Database Standard: ODMG-93 , 1993 .

[14]  Fred Lakin,et al.  Spatial Parsing for Visual Languages , 1986 .

[15]  Barton A. Smith Discrete Structures and Algorithms , 1981 .

[16]  Michael Löwe,et al.  AGG - An Implementation of Algebraic Graph Rewriting , 1993, RTA.

[17]  Manfred Nagl,et al.  Building integrated software development environments. Part I: tool specification , 1992, TSEM.

[18]  Dieter Kratsch,et al.  Graph-Theoretic Concepts in Computer Science , 1987, Lecture Notes in Computer Science.

[19]  Albert Zündorf Implementation of the imperative / rule based language PROGRES , 1992 .

[20]  Yaowei Liu,et al.  btC: A Backtracking Procedural Language , 1991 .

[21]  Thomas Reps,et al.  The Synthesizer Generator: A System for Constructing Language-Based Editors , 1988 .

[22]  Gregor Engels,et al.  Graph Grammar Engineering: A Software Specification Method , 1986, Graph-Grammars and Their Application to Computer Science.

[23]  Ramez Elmasri,et al.  A graphical data manipulation language for an extended entity-relationship model , 1990, Computer.

[24]  Frances Paulisch,et al.  The Design of an Extendible Graph Editor , 1993, Lecture Notes in Computer Science.

[25]  Bernhard Westfechtel,et al.  Revision control in an integrated software development environment , 1989 .

[26]  Steven P. Reiss Working in the Garden Environment for Conceptual Programming , 1987, IEEE Software.

[27]  Manfred Nagl,et al.  Graph Technology Applied to a Software Project , 1986 .

[28]  Jan Rekers On the use of Graph Grammars for defining the Syntax of Graphical Languages , 1994 .

[29]  Charles E. Hughes,et al.  Automatically generating visual syntax-directed editors , 1990, CACM.

[30]  Ephraim P. Glinert,et al.  Visual Programming Environments: Paradigms and Systems , 1990 .

[31]  Rita Loogen,et al.  Graph-based Implementation of a Functional Logic Langugage , 1990, ESOP.

[32]  Manfred Nagl,et al.  Characterization of the IPSEN Project , 1990 .

[33]  Bernhard Westfechtel,et al.  Structure-oriented merging of revisions of software documents , 1991, SCM '91.

[34]  Andy Schürr,et al.  Nondeterministic Control Structures for Graph Rewriting Systems , 1991, WG.

[35]  Ephraim P. Glinert,et al.  Visual tools for generating iconic programming environments , 1992, Proceedings IEEE Workshop on Visual Languages.

[36]  Azriel Rosenfeld,et al.  Web Grammars , 1969, IJCAI.