Skip to main content

Progress: A VHL-language based on graph grammars

  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 532))

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/.

This is a preview of subscription content, log in via an institution.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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

    Google Scholar 

  2. 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

    Google Scholar 

  3. Burstall R.M., MacQueen D.B., Sannella D.T.: HOPE — An Experimental Applicative Language, Technical Report CSR-62-80; Edinburgh University

    Google Scholar 

  4. Cunningham R.J., Dick A.J.J.: 1985 Rewrite Systems on a Lattice of Types, in Acta Informatica 22, Berlin: Springer Verlag, 149–169

    Google Scholar 

  5. 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

    Google Scholar 

  6. Constable R., Zlatin D.: 1984 The Type Theory of PL/CV3, in ACM TOPLAS, vol. 6, no. 1, 94–117

    Article  Google Scholar 

  7. Ehrig H., Habel A.: 1986 Graph Grammars with Application Condition, in Rozenberg, Salomaa (eds.): The Book of L, Berlin: Springer Verlag, 87–100

    Google Scholar 

  8. 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

    Google Scholar 

  9. 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

    Google Scholar 

  10. 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

    Google Scholar 

  11. 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

    Google Scholar 

  12. Göttler H.: 1988 Graphgrammatiken in der Softwaretechnik, IFB 178; Berlin: Springer-Verlag

    Google Scholar 

  13. Herbrecht R.: 1989 Ein erweiterter Graphgrammatik-Editor, Diploma Thesis; Aachen: University of Technology

    Google Scholar 

  14. Horwitz S., Teitelbaum T.: 1986 Generating Editing Environments Based on Relations and Attributes, in Proc. ACM TOPLAS, vol. 8, no. 4, 577–608

    Article  Google Scholar 

  15. Hudson S.E.: 1987 Incremental Attribute Evaluation: An Algorithm for Lazy Evaluation in Graphs, Technical Report TR 87-20; Tucson: University of Arizona

    Google Scholar 

  16. Hull R., King R.: 1987 Semantic Database Modeling: Survey, Applications, and Research Issues, in: ACM Computing Surveys, vol. 19, No. 3, 201–260

    Article  Google Scholar 

  17. 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

    Google Scholar 

  18. Kaul M.: Präzedenz-Graph-Grammatiken, PH.D. Thesis; University of Passau

    Google Scholar 

  19. 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

    Google Scholar 

  20. Köther R.: 1990 Der EBNF-Editor/Generator, Diploma Thesis; Aachen: University of Technology

    Google Scholar 

  21. Lewerentz C.: 1988 Interaktives Entwerfen großer Programmsysteme, PH.D. Thesis, IFB 194; Berlin: Springer-Verlag

    Google Scholar 

  22. 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

    Google Scholar 

  23. Meyer A.M., Reinhold M.B.: 'Type’ is not a type, Proc. 13th ACM Symp. POPL '86, 287–295

    Google Scholar 

  24. Nagl M.: 1979 Graph-Grammatiken: Theorie, Implementierung, Anwendungen; Braunschweig: Vieweg-Verlag

    Google Scholar 

  25. Nagl M.: 1985 Graph Technology Applied to a Software Project, in: Rozenberg, Salomaa (eds): The Book of L; Berlin: Springer-Verlag, 303–322

    Google Scholar 

  26. Nagl M.: 1987 Set Theoretic Approaches to Graph Grammars, in: Proc. 3rd Int. Workshop on Graph Grammars, LNCS 291; Berlin: Springer Verlag, 41–54

    Google Scholar 

  27. Nestor J.R., Newcomer J.M., Giannini P., Stone D.L.: 1990 IDL: The Language and Its Implementation; Engelwood Cliffs: Prentice Hall

    Google Scholar 

  28. Normark K.: Transformations and Abstract Presentations in Language Development Environment, Technical Report DAIMI PB-222; Aarhus University

    Google Scholar 

  29. Nagl M., Schürr A.: A Specification Environment for Graph Grammars, this vol.

    Google Scholar 

  30. Reps T.: 1984 Generating Language-Based Environments, PH.D. Thesis; Cambridge, Mass.: MIT Press

    Google Scholar 

  31. Reps T., Teilbaum T.: The Synthesizer Generator, in: Proc. ACM SIGSOFT/SIGPLAN Symp. on Practical Software Development Environments, 42–48

    Google Scholar 

  32. Schütte A.: 1987 Spezifikation und Generierung von Übersetzern für Graph-Sprachen durch attributierte Graph-Grammatiken, PH.D. Thesis; Berlin: EXpress-Edition

    Google Scholar 

  33. 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

    Google Scholar 

  34. Schürr A.: 1990 Programmieren mit Graphersetzungssystemen: Theoretische Grundlagen und programmiersprachliche Einkleidung, PH.D. Thesis (in preparation); Aachen: University of Technology

    Google Scholar 

  35. Sowa J.F.: 1984 Conceptual Structures: Information Processing in Minds and Machines; Reading, Mass.: Addison-Wesley

    Google Scholar 

  36. Spielmann R.: 1989 Entwicklung einer Basisschicht für Gaphgrammatikinterpreter, Diploma Thesis; Aachen: University of Technology

    Google Scholar 

  37. Westfechtel B.: 1990 Revisionskontrolle in einer integrierten Softwareentwicklungsumgebung, PH.D. Thesis (in preparation); Aachen: University of Technology

    Google Scholar 

  38. Zündorf A.: 1989 Kontrollstrukturen für die Spezifikationssprache PROGRESS, Diploma Thesis, Aachen: University of Technology

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Hartmut Ehrig Hans-Jörg Kreowski Grzegorz Rozenberg

Rights and permissions

Reprints 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

Publish with us

Policies and ethics