PROgrammed Graph REwriting Systems


PROgrammed Graph REwriting Systems

(language)(PROGRES) A very high level language based ongraph grammars, developed by Andy Scheurr and Albert Zuendorf of RWTH, Aachen in1991.

PROGRES supports structurally object-oriented specificationof attributed graph structures with multiple inheritancehierarchies and types of types (for parametric polymorphism). It also supports declarative/relationalspecification of derived attributes, node sets, binaryrelationships (directed edges) and Boolean constraints,rule-oriented/visual specification of parameterised graphrewrite rules with complex application conditions,nondeterministic and imperative programming of compositegraph transformations (with built-in backtracking andcancelling arbitrary sequences of failing graphmodifications).

It is used for implementing abstract data types withgraph-like internal structure, as a visual language for thegraph-oriented database GRAS, and as a rule-orientedlanguage for prototyping nondeterministically specifieddata/rule base transformations.

PROGRES has a formally defined semantics based on"PROgrammed Graph Rewriting Systems". It is an almoststatically typed language which additionally offers "downcasting" operators for run time checked typecasting/conversion (in order to avoid severe restrictionsconcerning the language's expressiveness).

Version RWTH 5.10 includes an integrated environment.

[A. Scheurr, "Introduction to PROGRES, an Attribute GraphGrammar Based Specification Language", in Proc WG89 Workshopon Graphtheoretic Concepts in Computer Science", LNCS 411,Springer 1991].

ftp://ftp.informatik.rwth-aachen.de/pub/Unix/PROGRES/ forSun-4.