A software development environment based on graph technology

  • Manfred Nagl
Part II Technical Contributions
Part of the Lecture Notes in Computer Science book series (LNCS, volume 291)


This paper describes what we call graph technology and how it is applied to a software development environment (abbreviated SDE) project. This graph technology consists of a careful design of internal representations for software documents as graphs, of a specification of the operations on these graphs induced by activations of environment tools, of the application of certain integration mechanisms on graphs, and of a rather mechanical proceeding how to get a software architecture for the SDE as well as the implementation of the corresponding tools.

This graph technology is one of the bases for the adaptability considerations of the project, i.e. the investigation how to derive something like a ‘standard’ architecture for a SDE supposed that graphs are used on the modelling side by the designer. Graph Technology is specific to the project described in this paper.

This paper is devoted to internal aspects of a specific SDE, namely to the modelling aspects of a SDE if regarded from the problem specification and design specification point of view.

Key words and phrases

Software development environments conceptual modelling by graphs graph grammars adaptability in software development environments 


  1. /ACM 86/.
    Special Issue on “Language Issues in Programming Environments”, ACM Transactions on Programming Languages and Systems 8, 4.Google Scholar
  2. /BSS 84/.
    Barstow, D.R./Shrobe, H.E./Sandewall, E. (Eds.): 1984 Interactive Programming Environments, New York: McGraw-Hill.Google Scholar
  3. /BL 85/.
    Brandes, Th./Lewerentz, C.: GRAS — A Nonstandard Data Base System within a Programming Support Environment, Proc. of the GTE-Workshop on Software Engineering Environments for Programming in the Large, Cape Cod 1985, 113–121.Google Scholar
  4. /Br 84/.
    Brendel, W.: Functional Design and Automatic Synthesis of Highly-Integrated Circuits (in German), Dissertation, University of Erlangen.Google Scholar
  5. /CDW 86/.
    Conradi/Didriksen/Wanvik (Eds.): 1986 Advanced Programming Environments, Lect. Notes Comp. Sci. 244, Berlin: Springer-Verlag.Google Scholar
  6. /De 85/.
    L.P. Deutsch (Ed.): Proc. ACM SIGPLAN 85 Symposium on Language Issues in Programming Environments, ACM SIGPLAN Notices 20, 7.Google Scholar
  7. /EGNS 83/.
    Engels, G./Gall, R./Nagl, M./Schäfer, W.: 1983 Software Specification using Graph Grammars, Computing 31, 317–346.Google Scholar
  8. /ELNS 86/.
    Engels, G./Lewerentz, C./Nagl, M./Schäfer, W.: On the Structure of an Incremental and Integrated Software Development Environment, Proc. 19th Hawaii Int. Conf. on System Sciences, vol. 2a, 585–597.Google Scholar
  9. /ELS 87/.
    Engels, G./Lewerentz, C./Schäfer, W.: Graph Grammar Engineering: A Software Specification Method, in Proc. 3rd GraGra Workshop, to appear in Lect. Notes in Comp. Sc.Google Scholar
  10. /ENR 83/.
    Ehrig, H./Nagl, M./Rozenberg, G. (Eds.): Proc. of the 2nd Intern. Workshop on ‘Graph Grammars and Their Application to Computer Science', Leture Notes in Computer Science 153, Berlin: Springer-VerlagGoogle Scholar
  11. /ENS 86/.
    Engels G./Nagl, M./Schäfer, W.: On the Structure of Structured Editors for Different Applications, Proc. 2nd ACM SIGSOFT/SIGPLAN Software Engineering Symposium on Practical Software Development Environments, SIGPLAN Notices 22, 1, 190–198.Google Scholar
  12. /ES 85a/.
    Engels, G./Schäfer, W.: 1985a Graph Grammar Engineering: A Method Used for the Development of Integrated Programming Support Tools, Proc. TAPSOFT Conference, Lect. Notes on Comp. Science 186, 179–193.Google Scholar
  13. /ES 86b/.
    Engels, G./Schäfer, W.: The Design of an Adaptive and Portable Programming Support Environment, in Valle, G./Bucci, G. (Eds): Proc. of the 8th International Computing Symposium 1985, Florence, Italy, 297–308, Amsterdam: North Holland.Google Scholar
  14. /ES 87/.
    Engels, G./Schürr, A.: A Hybrid Interpreter in a Software Development Environment, submitted for publication.Google Scholar
  15. /ET 86/.
    Erdtmann, F./Tillmann, P.: Master's Theses on an Intelligent Text Editor.Google Scholar
  16. /GN 81/.
    Gall R./Nagl M.: 1981 Software Implementation of Associative Storages (in German), Elektronische Rechenanlagen 23, 2, 61–71.Google Scholar
  17. /Gö 87/.
    Göttler H.: Graph Grammars in Software Engineering (in German), 275 pp., University of Erlangen.Google Scholar
  18. /Ha 82/.
    Habermann, N. The Second Compendium of GANDALF Documentation, Techn. Report, Dep. of Computer Science, Carnegie/Mellon University, Pittsburgh.Google Scholar
  19. /He 84/.
    Henderson, P. (Ed.): Proc. ACM SIGSOFT/SIGPLAN Software Engineering Symposium on Practical Software Development Environments, SIGPLAN Notices 19, 5.Google Scholar
  20. /He 87/.
    P. Henderson (Ed.): Proc. ACM SIGSOFT/SIGPLAN Software Engineering Symposium on Practical Software Development Environments, SIGPLAN Notices 22, 1.Google Scholar
  21. /Hue 81/.
    Huenke, H. (Ed.): 1981 Software Engineering Environments, Amsterdam: North Holland.Google Scholar
  22. /IEEE/.
    Proceedings of the IEEE International Conferences on Software Engineering containing many articles on methods and tools.Google Scholar
  23. /Le 87/.
    Lewerentz C.: Incremental Programming-in-the-Large, Dissertation forthcoming.Google Scholar
  24. /LN 84/.
    Lewerentz, C./Nagl M.: 1984 A Formal Specification Language for Software Systems defined by Graph Grammars, in U. Pape (Ed.): Proc. WG'84 on Graphtheoretic Concepts in Computer Science, Linz, Austra: Trauner Verlag.Google Scholar
  25. /LN 85/.
    Lewerentz, C./Nagl, M.: Incremental Programming-in-the-Large: Syntax-aided Specification Editing, Integration, and Maintenance, Proc. 18th Hawaii International Conference on System Sciences, Vol. 2, 638–649.Google Scholar
  26. /LNW 87/.
    Lewerentz C./Nagl, M./Westfechtel, B.: On Integration Mechanisms within a Graph-based Software Development Environment, submitted for publication.Google Scholar
  27. /LS 87/.
    Lewerentz, C./Schürr, A.: The Software Documents Database GRAS, submitted for publication.Google Scholar
  28. /Na 79/.
    Nagl, M.: 1979 Graph Grammars — Theory, Applications, Implementation (in German), 375 pp., Wiesbaden: Vieweg Verlag.Google Scholar
  29. /Na 80/.
    Nagl, M.: 1980 GRAPL — A Programming Language for Handing Dynamic Problems on Graphs, in U. Pape (Ed.): Discrete Structures and Algorithms, 25–45, Munich, Hanser Verlag.Google Scholar
  30. /Na 85/.
    Nagl, M.: 1985 An Incremental and Integrated Software Development Environment, Computer Physics Communications. 38, 245–276.CrossRefGoogle Scholar
  31. /Ne 82/.
    Neel, D. (Ed.): Tools and Notions for Program Construction, Cambridge: Cambridge University Press.Google Scholar
  32. /Oh 82.
    Y. Ohno (Ed.): 1982 Requirements Engineering Environments, Amsterdam: North Holland.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1987

Authors and Affiliations

  • Manfred Nagl
    • 1
  1. 1.Lehrstuhl f. Informatik IIIAachen University of TechnologyAachenWest Germany

Personalised recommendations