Abstract
The Very High Level language PROGRESS presented within this paper is the first statically typed language which is based on the concepts of PRO grammed Graph RE-writing SyStems. This language supports different programming paradigms by offering procedural and declarative programming constructs for the definition of integrity constraints, functional attribute dependencies, derived binary relationships, atomic graph rewrite rules, and complex graph transformations.
Both the language and its underlying formalism are based on experiences of about ten years with a model-oriented approach to the specification of document classes and document processing tools (of the Integrated Programming Support ENvironment IPSEN). This approach, called graph grammar engineering, is characterized by using attributed graphs to model object structures. Programmed graph rewriting systems are used to specify operations in terms of their effect on these graph models.
This paper informally introduces PROGRESS' underlying graph grammar formalism and demonstrates its systematic use by specifying parts of a syntax-directed editor for a simple expression language. The construction of a PROGRESS-specific environment with an integrated set of tools is the topic of another paper within this volume (cf. /NS 90/).
This research was/is partially supported by Stiftung Volkswagenwerk and DFG.
A preliminary version of this paper appeared as /Sc 89/.
Preview
Unable to display preview. Download preview PDF.
References
Alpern B., Carle A., Rosen B., Sweeney P., Zadeck K.: 1987 Incremental Evaluation of Attributed Graphs, T. Report CS-87-29; Providence, Rhode Island: Brown University
Ait-Kaci H.: 1984 A Lattice-Theoretic Approach to Computation Based on a Calculus of Partially-Ordered Type Structures, Ph.D. Thesis; Philadelphia: University of Pennsylvania
Burstall R.M., MacQueen D.B., Sannella D.T.: HOPE — An Experimental Applicative Language, Technical Report CSR-62-80; Edinburgh University
Cunningham R.J., Dick A.J.J.: 1985 Rewrite Systems on a Lattice of Types, in Acta Informatica 22, Berlin: Springer Verlag, 149–169
Courcelle B., 1988 The Monadic Second Order Theory of Graphs: Definable Sets of Finite Graphs, in Leeuwen (ed.): Proc. Int. Workshop on Graph-Theoretic Concepts in Computer Science (WG '88), LNCS 344; Berlin: Springer Verlag
Constable R., Zlatin D.: 1984 The Type Theory of PL/CV3, in ACM TOPLAS, vol. 6, no. 1, 94–117
Ehrig H., Habel A.: 1986 Graph Grammars with Application Condition, in Rozenberg, Salomaa (eds.): The Book of L, Berlin: Springer Verlag, 87–100
Engels G., Lewerentz C., Schäfer W.: 1987 Graph Grammar Engineering — A Software Specification Method, in: Proc. 3rd Int. Workshop on Graph Grammars and Their Application to Computer Science, LNCS 153; Berlin: Springer Verlag, 186–201
Engels G., Schürr A.: 1987 A Hybrid Interpreter in a Software Development Environment, in: Proc. TAPSOFT '85, LNCS 186; Berlin: Springer-Verlag, 179–193
Elmasri R., Wiederhold G.: 1983 GORDAS: A Formal High-Level Query Language for the Entity-Relationship Model, in Chen (ed.): Entity-Relationship Approach to Information Modeling and Analysis, Amsterdam: Elsevier Science Publishers B.V. (North-Holland), 49–72
Genrich H.J., Janssens D., Rozenberg G., Thiagarajan P.S.: 1982 Petri nets and their relation to graph grammars, in Ehrig et al. (ed.): Proc. 2nd Int. Workshop on Graph Grammars and Their Application to Computer Science, LNCS 153; Berlin: Springer Verlag, 115–142
Göttler H.: 1988 Graphgrammatiken in der Softwaretechnik, IFB 178; Berlin: Springer-Verlag
Herbrecht R.: 1989 Ein erweiterter Graphgrammatik-Editor, Diploma Thesis; Aachen: University of Technology
Horwitz S., Teitelbaum T.: 1986 Generating Editing Environments Based on Relations and Attributes, in Proc. ACM TOPLAS, vol. 8, no. 4, 577–608
Hudson S.E.: 1987 Incremental Attribute Evaluation: An Algorithm for Lazy Evaluation in Graphs, Technical Report TR 87-20; Tucson: University of Arizona
Hull R., King R.: 1987 Semantic Database Modeling: Survey, Applications, and Research Issues, in: ACM Computing Surveys, vol. 19, No. 3, 201–260
Johnson G.F., Fischer C.N.: A Metalanguage and System for Nonlocal Incremental Attribute Evaluation in Language-Based Editors, in: Proc. ACM Symp. POPL '84
Kaul M.: Präzedenz-Graph-Grammatiken, PH.D. Thesis; University of Passau
Kaplan S.M., Goering St. K.: 1989 Priority Controlled Incremental Attribute Evaluation in Attributed Graph Grammars, in: Diaz, Orejas (eds.): Proc. TAPSOFT '89, vol. 1, LNCS 351, Berlin: Springer Verlag, pp.306–320
Köther R.: 1990 Der EBNF-Editor/Generator, Diploma Thesis; Aachen: University of Technology
Lewerentz C.: 1988 Interaktives Entwerfen großer Programmsysteme, PH.D. Thesis, IFB 194; Berlin: Springer-Verlag
Lewerentz C., Schürr A.: 1988 GRAS, a Management System for Graph-like Documents, in Beeri et al. (eds.): Proc. 3rd Int. Conf. on Data and Knowledge Bases; Los Altos, California: Morgan Kaufmann Publishers Inc., 19–31
Meyer A.M., Reinhold M.B.: 'Type’ is not a type, Proc. 13th ACM Symp. POPL '86, 287–295
Nagl M.: 1979 Graph-Grammatiken: Theorie, Implementierung, Anwendungen; Braunschweig: Vieweg-Verlag
Nagl M.: 1985 Graph Technology Applied to a Software Project, in: Rozenberg, Salomaa (eds): The Book of L; Berlin: Springer-Verlag, 303–322
Nagl M.: 1987 Set Theoretic Approaches to Graph Grammars, in: Proc. 3rd Int. Workshop on Graph Grammars, LNCS 291; Berlin: Springer Verlag, 41–54
Nestor J.R., Newcomer J.M., Giannini P., Stone D.L.: 1990 IDL: The Language and Its Implementation; Engelwood Cliffs: Prentice Hall
Normark K.: Transformations and Abstract Presentations in Language Development Environment, Technical Report DAIMI PB-222; Aarhus University
Nagl M., Schürr A.: A Specification Environment for Graph Grammars, this vol.
Reps T.: 1984 Generating Language-Based Environments, PH.D. Thesis; Cambridge, Mass.: MIT Press
Reps T., Teilbaum T.: The Synthesizer Generator, in: Proc. ACM SIGSOFT/SIGPLAN Symp. on Practical Software Development Environments, 42–48
Schütte A.: 1987 Spezifikation und Generierung von Übersetzern für Graph-Sprachen durch attributierte Graph-Grammatiken, PH.D. Thesis; Berlin: EXpress-Edition
Schürr A.: 1989 Introduction to PROGRESS, an Attribute Graph Grammar Based Specification Language, in: Nagl (ed.): Graph-Theoretic Concepts in Computer Science, WG '89, LNCS 411, Berlin: Springer Verlag, 151–165
Schürr A.: 1990 Programmieren mit Graphersetzungssystemen: Theoretische Grundlagen und programmiersprachliche Einkleidung, PH.D. Thesis (in preparation); Aachen: University of Technology
Sowa J.F.: 1984 Conceptual Structures: Information Processing in Minds and Machines; Reading, Mass.: Addison-Wesley
Spielmann R.: 1989 Entwicklung einer Basisschicht für Gaphgrammatikinterpreter, Diploma Thesis; Aachen: University of Technology
Westfechtel B.: 1990 Revisionskontrolle in einer integrierten Softwareentwicklungsumgebung, PH.D. Thesis (in preparation); Aachen: University of Technology
Zündorf A.: 1989 Kontrollstrukturen für die Spezifikationssprache PROGRESS, Diploma Thesis, Aachen: University of Technology
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1991 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Schürr, A. (1991). Progress: A VHL-language based on graph grammars. In: Ehrig, H., Kreowski, HJ., Rozenberg, G. (eds) Graph Grammars and Their Application to Computer Science. Graph Grammars 1990. Lecture Notes in Computer Science, vol 532. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0017419
Download citation
DOI: https://doi.org/10.1007/BFb0017419
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-54478-4
Online ISBN: 978-3-540-38395-6
eBook Packages: Springer Book Archive