from
The Free On-line Dictionary of Computing (8 July 2008)
PROgrammed Graph REwriting Systems
<language> (PROGRES) A very high level language based on
{graph grammars}, developed by Andy Scheurr
<[email protected]> and Albert Zuendorf
<[email protected]> of {RWTH}, Aachen in
1991.
PROGRES supports structurally {object-oriented specification}
of {attributed graph} structures with {multiple inheritance}
hierarchies and types of types (for {parametric
polymorphism}). It also supports declarative/relational
specification of derived attributes, node sets, binary
relationships (directed edges) and {Boolean} {constraints},
rule-oriented/visual specification of parameterised graph
rewrite rules with complex application conditions,
{nondeterministic} and {imperative programming} of composite
graph transformations (with built-in {backtracking} and
cancelling arbitrary sequences of failing graph
modifications).
It is used for implementing {abstract data types} with
graph-like internal structure, as a visual language for the
{graph-oriented database} {GRAS}, and as a rule-oriented
language for prototyping {nondeterministic}ally specified
data/rule base transformations.
PROGRES has a formally defined {semantics} based on
"PROgrammed Graph Rewriting Systems". It is an almost
{statically typed} language which additionally offers "down
casting" operators for run time checked type
casting/conversion (in order to avoid severe restrictions
concerning the language's expressiveness).
Version RWTH 5.10 includes an integrated environment.
[A. Scheurr, "Introduction to PROGRES, an Attribute Graph
Grammar Based Specification Language", in Proc WG89 Workshop
on Graphtheoretic Concepts in Computer Science", LNCS 411,
Springer 1991].
(ftp://ftp.informatik.rwth-aachen.de/pub/Unix/PROGRES/) for
{Sun-4}.
(1993-11-02)