Skip to main content
Log in

Software specification using graph grammars

Spezifikation von Software mittels Graph-Grammatiken

  • Published:
Computing Aims and scope Submit manuscript

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.

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  • [BN 1982] Burkhart, H., Nievergelt, J.: Structure-oriented editors (Informatik-Fachberichte 30), pp. 164–184. Berlin-Heidelberg-New York: Springer.

    Google Scholar 

  • [Bu 1980a] Buxton, J. N.: Requirements for the Ada programming support environment (“Stoneman”), United States Department of Defense.

  • [Bu 1980b] Buxton, J. N.: An informal bibliography on programming support environments. SIGPLAN Notices15, 12, 17–30.

    Google Scholar 

  • [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 

  • [DG 1980] Donzeau-Gouge, M., et al.: Programming environments based on structured editors — the MENTOR experience. Techn. Report 26, INRIA, France.

    Google Scholar 

  • [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 

  • [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 

  • [Ga 1983] Gall, R.: Dissertation, Techn. Rep. IMMD-16-1, Universität Erlangen.

  • [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 

  • [JW 1978] Jensen, K., Wirth, N.: PASCAL user manual and report, 2nd ed. New York: Springer.

    Google Scholar 

  • [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 

  • [Na 1979] Nagl, M.: Graph-Grammatiken — Theorie, Anwendungen, Implementierung. Wiesbaden: Vieweg.

    Google Scholar 

  • [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 

  • [Na 1982] Nagl, M.: Einführung in die Programmiersprache Ada. Wiesbaden: Vieweg.

    Google Scholar 

  • [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 

  • [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 

  • [TR 1981] Teitelbaum, T., Reps, T.: The Cornell program synthesizer — a syntax-directed programming environment. ACM24, pp. 563–573.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Engels, G., Gall, R., Nagl, M. et al. Software specification using graph grammars. Computing 31, 317–346 (1983). https://doi.org/10.1007/BF02251236

Download citation

  • Received:

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF02251236

AMS Subject Classifications

Key words

Navigation