Computing

, Volume 31, Issue 4, pp 317–346 | Cite as

Software specification using graph grammars

  • G. Engels
  • R. Gall
  • M. Nagl
  • W. Schäfer
Article

Abstract

The following paper demonstrates that programmed sequential graph grammars can be used in a systematic proceeding to specify the changes of high level intermediate data structures arising in a programming support environment, in which all tools work in an incremental and syntax-driven mode. In this paper we lay stress upon the way to get the specification rather than on the result of this process. Therefore, we give here some approach to “specification engineering” using graph grammars. This approach is influenced by the syntactical definition of the underlying language for Programming in the Small, the module concept etc. to be supported on one side but also by the idea of the user interface.

AMS Subject Classifications

68 B 05 68 B 10 68 F 05 68 F 25 90-04 

Key words

Software development environments software specification syntax graph grammars 

Spezifikation von Software mittels Graph-Grammatiken

Zusammenfassung

Der folgende Aufsatz zeigt auf, daß programmierte sequentielle Graph-Grammatiken dazu benutzt werden können, die Veränderung hoher Zwischencodes zu spezifizieren, die im Kontext einer Software-Entwicklungsumgebung auftreten, deren Werkzeuge alle inkrementell und syntaxgesteuert arbeiten. Wir legen in diesem Aufsatz mehr Wert auf die Erläuterung einer systematischen Vorgehensweise, um die Spezifikation zu erhalten, als auf die detaillierte Abhandlung der Spezifikation selbst. Somit kann dieses Papier auch als ein Ansatz zu einem „Spezifikations-Engineering” mit Hilfe von Graph-Grammatiken angesehen werden. Der Ansatz wird maßgeblich beeinflußt von der Syntaxdefinition der zugrundeliegenden formalen Sprache für das Programmieren im Kleinen bzw. für das Modulkonzept etc. einerseits und andererseits von der Vorstellung der Form der Benutzerschnittstelle.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. [BN 1982] Burkhart, H., Nievergelt, J.: Structure-oriented editors (Informatik-Fachberichte 30), pp. 164–184. Berlin-Heidelberg-New York: Springer.Google Scholar
  2. [Bu 1980a] Buxton, J. N.: Requirements for the Ada programming support environment (“Stoneman”), United States Department of Defense.Google Scholar
  3. [Bu 1980b] Buxton, J. N.: An informal bibliography on programming support environments. SIGPLAN Notices15, 12, 17–30.Google Scholar
  4. [CER 1979] Claus, V., Ehrig, H., Rozenberg, G., eds.: Proceedings of the international workshop on “Graph Grammars and their Application to Computer Science and Biology”. (Lecture Notes in Computer Science, Vol. 73.) Berlin-Heidelberg-New York: Springer.Google Scholar
  5. [DG 1980] Donzeau-Gouge, M., et al.: Programming environments based on structured editors — the MENTOR experience. Techn. Report 26, INRIA, France.Google Scholar
  6. [ES 1982] Engels, G., Schäfer, W.: Specification of a programming support environment by graph grammars. In: Proceedings of the WG '82 on “Graphtheoretic Concepts in Computer Science”, pp. 47–62. München: Hanser.Google Scholar
  7. [Ga 1982] Gall, R.: Structured development of modular software systems: the module graph as central data structure. In: Proceedings of the WG '81 on “Graphtheoretic Concepts in Computer Science”, pp. 327–338. München: Hanser.Google Scholar
  8. [Ga 1983] Gall, R.: Dissertation, Techn. Rep. IMMD-16-1, Universität Erlangen.Google Scholar
  9. [Ha 1982] Habermann, N., et al.: A compendium of GANDALF documentation. Techn. Report, May 1982, Department of Computer Science, Carnegie-Mellon University, Pittsburgh.Google Scholar
  10. [JW 1978] Jensen, K., Wirth, N.: PASCAL user manual and report, 2nd ed. New York: Springer.Google Scholar
  11. [Me 1982] Medina-Mora, R.: Syntax-directed editing — towards integrated programming environments. Techn. Report CMU-CS-82-113, Department of Computer Science, Carnegie-Mellon University, Pittsburgh.Google Scholar
  12. [Na 1979] Nagl, M.: Graph-Grammatiken — Theorie, Anwendungen, Implementierung. Wiesbaden: Vieweg.Google Scholar
  13. [Na 1980] Nagl, M.: An incremental compiler as component of a system for software development (Informatik-Fachberichte 25), pp. 29–44. Berlin-Heidelberg-New York: Springer.Google Scholar
  14. [Na 1982] Nagl, M.: Einführung in die Programmiersprache Ada. Wiesbaden: Vieweg.Google Scholar
  15. [NEGS 1983] Nagl, M., Engels, G., Gall, R., Schäfer, W.: Software specification by graph grammars, Proc. 2nd International Workshop in Graph Grammars. In: (Lecture Notes in Computer Science, Vol. 153), pp. 267–287. Berlin-Heidelberg-New York: Springer.Google Scholar
  16. [Sch 1975] Schneider, H. J.: Syntax-oriented description of incremental compilers (Lecture Notes in Computer Science, Vol. 26), pp. 192–201. Berlin-Heidelberg-New York: Springer.Google Scholar
  17. [TR 1981] Teitelbaum, T., Reps, T.: The Cornell program synthesizer — a syntax-directed programming environment. ACM24, pp. 563–573.Google Scholar

Copyright information

© Springer-Verlag 1983

Authors and Affiliations

  • G. Engels
    • 1
  • R. Gall
    • 2
  • M. Nagl
    • 1
  • W. Schäfer
    • 1
  1. 1.Angewandte Informatik Fachbereich MathematikUniversität OsnabrückOsnabrückFederal Republic of Germany
  2. 2.Lehrstuhl für ProgrammiersprachenUniversität Erlangen-NürnbergErlangenFederal Republic of Germany

Personalised recommendations