You are here: irt.org | FOLDOC | PROgrammed Graph REwriting Systems
<language> (PROGRES) A very high level language based on graph grammars, developed by Andy Scheurr <andy@i3.informatik.rwth-aachen.de> and Albert Zuendorf <albert@i3.informatik.rwth-aachen.de> 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 nondeterministically 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)
Nearby terms: Programmable Logic Controller « Programmable Read-Only Memory « Programmed Data Processor « PROgrammed Graph REwriting Systems » programmer » Programmer Brain Damage » Programmer's Cheer
FOLDOC, Topics, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, ?, ALL