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.
Key words
The author is supported by Deutsche Forschungsgemeinschaft
This is a preview of subscription content, log in via an institution.
Preview
Unable to display preview. Download preview PDF.
References
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
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
Bunke, H.: Programmed graph grammars, LNCS 56, pp. 155–166, Berlin: Springer
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
Ehrig, H./ Mahr, B.: Fundamentals of Algebraic Specification 1, Berlin: Springer
Engels, G.: Graphs as Central Data Structures in a Software Development Environment, Ph.D. thesis, (in german), Düsseldorf: VDI-Verlag
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
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
Jones, C.B./ Bjorner, D.: Formal Specifications and Software Development, London: Prentice-Hall
Kastens. U./ Hutt, B./ Zimmermann, E.: GAG: A Practical Compiler Generator, in LNCS 141, Berlin: Springer
Lewerentz, C.: Incremental Programming-in-the-Large, Ph.D. thesis (in german), Informatik III, RWTH Aachen, forthcoming
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
Nagl, M.: Graph-Grammatiken: Theorie, Implementierung, Anwendungen, Braunschweig: Vieweg
Nagl, M.: An Incremental Programming Support Environment, in Computer Physics Communications 38, 245–276, Amsterdam: North-Holland
Schäfer, W.: An Integrated Software Development Environment: Concepts, Design, and Implementation, Ph.D. thesis, (in german), Düsseldorf: VDI-Verlag
Sommerville, I.: Software Engineering, Reading: Addison-Wesley
Stoy, J.E.: Denotational Semantics: The Scott Strachey Approach to Programming Languages, Cambridge, Mass: MIT-Press
Wirth, N.: Programming in Modula-2, Berlin: Springer
Author information
Authors and Affiliations
Editor information
Rights 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