Graph grammar engineering: A method used for the development of an integrated programming support environment

  • G. Engels
  • W. Schäfer
Colloquium On Software Engineering Tools And Environments
Part of the Lecture Notes in Computer Science book series (LNCS, volume 186)


We introduce a method to specify the functional behaviour of software tools in an incremental and integrated software development environment. This specification method is based on graph grammars. It is an adequate method to specify the behaviour of all software systems using graphs as internal data structures. We show that a specification can be developed systematically by which the adaptability of the environment is increased towards modification of tools or extension by new tools. Furthermore, guidelines for the implementation can directly be derived from this specification.

Key Words

integrated tools graph grammars programming support environments programming-in-the-small software engineering specification 


  1. /BL 84/.
    Brandes, Th./Lewerentz, C.: GRAS: A Non-standard Data Base System within a Software Development Environment, Tech. Rep. OSM — 118, Univ. of OsnabrueckGoogle Scholar
  2. /Bu 81/.
    Bunke, H.: Attributed Programmed Graph Grammars as a Tool for Image Interpretation, Purdue University, Techn. Report TR-EE-81-22Google Scholar
  3. /DG 80/.
    Donzeau-Gouge, M. Programming Environments Based on Structured Editors — The MENTOR Experience, Techn. Report 26, INRIA, FranceGoogle Scholar
  4. /EG 83/.
    Engels, G./Gall, R./Nagl, M./Schäfer, W.: Software Specification using Graph Grammars, Computing 31, 317–346Google Scholar
  5. /ES 84/.
    Engels, G./ Schäfer, W.: The Design of an Adaptive and Portable Programming Support Environment, submitted for publicationGoogle Scholar
  6. /Ha 82/.
    Habermann, N. The Second Compendium of GANDALF Documentation, Techn. Report, May 1982, Dept. of Computer Science, Carnegie-Mellon University, PittsburghGoogle Scholar
  7. /LN 84/.
    Lewerentz, C./ Nagl, M.: A Formal Specification Language for Software Systems Defined by Graph Grammars, in U. Pape (Ed.): Proceedings WG'84 on ‘Graphtheoretic Concepts in Computer Science', Linz: Trauner VerlagGoogle Scholar
  8. /LN 85/.
    Lewerentz, C./Nagl, M.: Incremental Programming in the Large: Syntax-aided Specification Editing, Integration and Maintenance, to appear Proc. 18th Hawaii International Conference on System SciencesGoogle Scholar
  9. /Na 79/.
    Nagl, M.: Graph-Grammatiken — Theorie, Anwendungen, Implementierung, Wiesbaden: Vieweg-VerlagGoogle Scholar
  10. /Na 84/.
    Nagl, M.: An Incremental Programming Support Environment, to appear in Computer Physics Communications, North-HollandGoogle Scholar
  11. /Re 84/.
    Reiss, St.: PECAN: Program Development Systems That Support Multiple Views, in Proc. of the ACM SIGSOFT/SIGPLAN Software Engineering Symposium on Practical Software Development Environments, PittsburghGoogle Scholar
  12. /RT 83/.
    Reps, T./ Teitelbaum, T.: Incremental Context-Dependent Analysis for Language-Based Editors, ACM TOPLAS, Vol. 5, No. 3, 449–477Google Scholar
  13. /SF 76/.
    Schnupp, P./ Floyd, Ch.: Software — Programmentwicklung und Projektorganisation, Berlin: Walter de GruyterGoogle Scholar
  14. /TR 81/.
    Teitelbaum, T./Reps, T.: The Cornell Programm Synthesizer — A syntax-directed Programming Environment, CACM 24, 9, 563–573Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1985

Authors and Affiliations

  • G. Engels
    • 1
  • W. Schäfer
    • 1
  1. 1.Angewandte Informatik, FB 6Universität OsnabrückOsnabrück

Personalised recommendations