A software development environment based on graph technology
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 phrasesSoftware development environments conceptual modelling by graphs graph grammars adaptability in software development environments
Unable to display preview. Download preview PDF.
- /ACM 86/.Special Issue on “Language Issues in Programming Environments”, ACM Transactions on Programming Languages and Systems 8, 4.Google Scholar
- /BSS 84/.Barstow, D.R./Shrobe, H.E./Sandewall, E. (Eds.): 1984 Interactive Programming Environments, New York: McGraw-Hill.Google Scholar
- /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
- /Br 84/.Brendel, W.: Functional Design and Automatic Synthesis of Highly-Integrated Circuits (in German), Dissertation, University of Erlangen.Google Scholar
- /CDW 86/.Conradi/Didriksen/Wanvik (Eds.): 1986 Advanced Programming Environments, Lect. Notes Comp. Sci. 244, Berlin: Springer-Verlag.Google Scholar
- /De 85/.L.P. Deutsch (Ed.): Proc. ACM SIGPLAN 85 Symposium on Language Issues in Programming Environments, ACM SIGPLAN Notices 20, 7.Google Scholar
- /EGNS 83/.Engels, G./Gall, R./Nagl, M./Schäfer, W.: 1983 Software Specification using Graph Grammars, Computing 31, 317–346.Google Scholar
- /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
- /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
- /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
- /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
- /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
- /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
- /ES 87/.Engels, G./Schürr, A.: A Hybrid Interpreter in a Software Development Environment, submitted for publication.Google Scholar
- /ET 86/.Erdtmann, F./Tillmann, P.: Master's Theses on an Intelligent Text Editor.Google Scholar
- /GN 81/.Gall R./Nagl M.: 1981 Software Implementation of Associative Storages (in German), Elektronische Rechenanlagen 23, 2, 61–71.Google Scholar
- /Gö 87/.Göttler H.: Graph Grammars in Software Engineering (in German), 275 pp., University of Erlangen.Google Scholar
- /Ha 82/.Habermann, N. et.al.: The Second Compendium of GANDALF Documentation, Techn. Report, Dep. of Computer Science, Carnegie/Mellon University, Pittsburgh.Google Scholar
- /He 84/.Henderson, P. (Ed.): Proc. ACM SIGSOFT/SIGPLAN Software Engineering Symposium on Practical Software Development Environments, SIGPLAN Notices 19, 5.Google Scholar
- /He 87/.P. Henderson (Ed.): Proc. ACM SIGSOFT/SIGPLAN Software Engineering Symposium on Practical Software Development Environments, SIGPLAN Notices 22, 1.Google Scholar
- /Hue 81/.Huenke, H. (Ed.): 1981 Software Engineering Environments, Amsterdam: North Holland.Google Scholar
- /IEEE/.Proceedings of the IEEE International Conferences on Software Engineering containing many articles on methods and tools.Google Scholar
- /Le 87/.Lewerentz C.: Incremental Programming-in-the-Large, Dissertation forthcoming.Google Scholar
- /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
- /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
- /LNW 87/.Lewerentz C./Nagl, M./Westfechtel, B.: On Integration Mechanisms within a Graph-based Software Development Environment, submitted for publication.Google Scholar
- /LS 87/.Lewerentz, C./Schürr, A.: The Software Documents Database GRAS, submitted for publication.Google Scholar
- /Na 79/.Nagl, M.: 1979 Graph Grammars — Theory, Applications, Implementation (in German), 375 pp., Wiesbaden: Vieweg Verlag.Google Scholar
- /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
- /Na 85/.
- /Ne 82/.Neel, D. (Ed.): Tools and Notions for Program Construction, Cambridge: Cambridge University Press.Google Scholar
- /Oh 82.Y. Ohno (Ed.): 1982 Requirements Engineering Environments, Amsterdam: North Holland.Google Scholar