Skip to main content

Graph grammar engineering: A software specification method

  • Part II Technical Contributions
  • Conference paper
  • First Online:
Graph-Grammars and Their Application to Computer Science (Graph Grammars 1986)

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

Abstract

Graphs as conceptual data models are accepted and used in a wide range of different problem areas. Giving some examples we outline common aspects for modeling complex structures by graphs. We present a formal frame-work based on graph grammars to specify graph classes and the corresponding graph manipulations. We show that such a specification can be written in a systematic, engineering-like manner. This is achieved by an extension of the known programmed, attributed graph grammars. Node-set operators are introduced to facilitate graph queries. Concepts like abstraction, decomposition, refinement, parameterization, and integration have been adopted from software engineering to yield a comprehensive specification method. This method has successfully been applied to specify the central data structures in a software development environment project.

The author is supported by Deutsche Forschungsgemeinschaft

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Brandes, Th./ Lewerentz, C.: GRAS — A Nonstandard Data Base System within a Programing Support Environment, Proc. of the GTE-Workshop on Software Engineering Environments for Programming-in-the-Large, Cape Cod 1985, pp. 113–121

    Google Scholar 

  2. Brendel, W.: Application of Attributed Graph Grammars to VLSI Design, in Nagl, M./ Perl, J.(eds.): Proc. of the WG '83, pp. 50–60, Linz: Trauner

    Google Scholar 

  3. Bunke, H.: Programmed graph grammars, LNCS 56, pp. 155–166, Berlin: Springer

    Google Scholar 

  4. Bunke, H.: Graph grammars as a generative tool in image understanding, in Ehrig, H./ Nagl, M./ Rozenberg, G. (eds.): Graph-Grammars and Their Application to Computer Science, LNCS 153, pp. 8–19, Berlin: Springer

    Google Scholar 

  5. Ehrig, H./ Mahr, B.: Fundamentals of Algebraic Specification 1, Berlin: Springer

    Google Scholar 

  6. Engels, G.: Graphs as Central Data Structures in a Software Development Environment, Ph.D. thesis, (in german), Düsseldorf: VDI-Verlag

    Google Scholar 

  7. Engels, G./Schäfer, W.: Graph Grammar Engineering: A Method Used for the Development of an Integrated Programming Support Environment, in LNCS 186, 179–193, Berlin: Springer

    Google Scholar 

  8. Göttler, H.: Attributed graph grammars for graphics, in Ehrig, H./ Nagl, M./ Rozenberg, G. (eds.): Graph-Grammars and Their Application to Computer Science, LNCS 153, pp. 130–142, Berlin: Springer

    Google Scholar 

  9. Jones, C.B./ Bjorner, D.: Formal Specifications and Software Development, London: Prentice-Hall

    Google Scholar 

  10. Kastens. U./ Hutt, B./ Zimmermann, E.: GAG: A Practical Compiler Generator, in LNCS 141, Berlin: Springer

    Google Scholar 

  11. Lewerentz, C.: Incremental Programming-in-the-Large, Ph.D. thesis (in german), Informatik III, RWTH Aachen, forthcoming

    Google Scholar 

  12. Lewerentz, C./ Nagl, M.: A Formal Specification Language for Software Systems Defined by Graph Grammars, in Pape, U. (ed.): Proc. of the WG '84, pp. 224–241, Linz: Trauner

    Google Scholar 

  13. Nagl, M.: Graph-Grammatiken: Theorie, Implementierung, Anwendungen, Braunschweig: Vieweg

    Google Scholar 

  14. Nagl, M.: An Incremental Programming Support Environment, in Computer Physics Communications 38, 245–276, Amsterdam: North-Holland

    Google Scholar 

  15. Schäfer, W.: An Integrated Software Development Environment: Concepts, Design, and Implementation, Ph.D. thesis, (in german), Düsseldorf: VDI-Verlag

    Google Scholar 

  16. Sommerville, I.: Software Engineering, Reading: Addison-Wesley

    Google Scholar 

  17. Stoy, J.E.: Denotational Semantics: The Scott Strachey Approach to Programming Languages, Cambridge, Mass: MIT-Press

    Google Scholar 

  18. Wirth, N.: Programming in Modula-2, Berlin: Springer

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Hartmut Ehrig Manfred Nagl Grzegorz Rozenberg Azriel Rosenfeld

Rights and permissions

Reprints and permissions

Copyright information

© 1987 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Engels, G., Lewerentz, C., Schäfer, W. (1987). Graph grammar engineering: A software specification method. In: Ehrig, H., Nagl, M., Rozenberg, G., Rosenfeld, A. (eds) Graph-Grammars and Their Application to Computer Science. Graph Grammars 1986. Lecture Notes in Computer Science, vol 291. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-18771-5_53

Download citation

  • DOI: https://doi.org/10.1007/3-540-18771-5_53

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-18771-4

  • Online ISBN: 978-3-540-48178-2

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics