Skip to main content

ADA concurrency specified by graph grammars

  • Graph Grammars
  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 246))

Abstract

We elaborate an abstract interpreter for ADA concurrency constructs. This interpreter accepts ADA programs, the abstract syntax of which is given in a graph form called program graph. The state transitions of the interpreter are formally defined by a graph grammar.

To cope with concurrency, we introduce a mixed derivation rule, which is an intermediate form between sequential and parallel graph rewriting. It is shown, that these tools basicly cover the intrinsic problems of specifying semantics with nondeterminism and concurrency. The underlying graphtheoretic concepts are adequate for a full operational semantics specification of ADA, though the work is restricted to the "hard kernel" of concurrency and synchronization.

The formal definition gives rise to some considerations concerning the precision of the textual ADA Military Standard, implementation considerations and the adequacy of some language constructs.

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

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Literatur

  1. Apt, Krysztof R.,Francez, Nissim u. de Roever,Willem: A proof system for communicating sequential processes; ACM TOPLAS vol. 2, no. 3, 1980

    Google Scholar 

  2. Aho, Alfred V.; Ullman, Jeffrey D.: Principles of Compiler Design; Reading: Addison Wesley, 1977

    Google Scholar 

  3. Broy, Manfred: Extensional behaviour of concurrent, nondeterministic communicating systems; Universität Passau, Bericht MIP 8506, 1985

    Google Scholar 

  4. Bjorner, D.; Jones, C. B.: The Vienna Development Method: The Meta-Language; LNCS 61, Springer 1978

    Google Scholar 

  5. Bjorner, D.; Oest, O. N.: Towards a Formal Description of ADA; LNCS 98, Springer 1980

    Google Scholar 

  6. Bunke, H.: Ein Ansatz zur Semantikbeschreibung von Programmiersprachen mit expliziten Parallelismen; Manuskripte 1976/77

    Google Scholar 

  7. Donzeau-Gouge, V.; Kahn, G.; Lang, B.; Krieg-Brückner, B.: On the formal definition of ADA in: Semantics-Directed Compiler Generation; LNCS 94, Springer, 1980

    Google Scholar 

  8. Engels, G.; Gall, R.; Nagl, M.; Schäfer, W.: Software specification using graph grammars; Computing 31, 1983

    Google Scholar 

  9. Engels, G.; Schäfer, W.: Specification of a programming support environment by graph grammars; Osnabrücker Schriften zur Mathematik, Reihe I 5/82

    Google Scholar 

  10. Engels, G.; Schäfer, W.: Graph grammar engineering: a method for the development of an integrated programming support environment; Osnabrücker Schriften zur Mathematik, Reihe I 17/84

    Google Scholar 

  11. Gehani, N.H. u. Cargill, T.A.: Concurrent Programming in the ADA language. The polling bias; Software Practice and Experience, vol. 14(5), 1984

    Google Scholar 

  12. Gilles; Kahn (Hrsg.): Semantics of Concurrent Computation; LNCS, Vol. 70, Springer, 1979

    Google Scholar 

  13. Goos, G. (Hrsg.): DIANA an intermediate Language for ADA; LNCS 161, Springer 1983

    Google Scholar 

  14. Hoare, C. A. R.: Communicating sequential processes; CACM 21.08.1978, S. 666–677

    Google Scholar 

  15. Formal Definition of the ADA Programming language; Preliminary Version for public review; INRIA, Le Chesnay Cedex, 1980

    Google Scholar 

  16. Jackel, Manfred: Formale Spezifikation nebenläufiger Konstrukte von ADA mit Graphgrammatiken; Dissertation, Osanbrück 1986

    Google Scholar 

  17. ADA Programming Language, Military Standard 22.01.1983; American National Standards Institute (ANSI / MIL-STD-1815A-1983)

    Google Scholar 

  18. Milne, Robert; Strachey, Christopher: A theory of programming language semantics; London, Chapman and Hall, 1976

    Google Scholar 

  19. Nagl, Manfred: Einführung in die Programiersprache ADA; Braunschweig / Wiesbaden, Vieweg, 1982

    Google Scholar 

  20. Nagl, Manfred: Graph Grammatiken — Theorie, Implementierung, Anwendung; Braunschweig / Wiesbaden; 1979

    Google Scholar 

  21. Nehmer, Jürgen: Implementierungssprachen für nichtsequentielle Programmsysteme; Berichte des German Chapter of the ACM, Stuttgart; Teubner, 1981

    Google Scholar 

  22. Park, David: On the sematics of fair parallelism, in: Abstract Software Specifications; LNCS 86, Springer 1980

    Google Scholar 

  23. Pratt, Terrence W.: A Theory of Programming Languages, Part I; Departement of Computer Sciences, The University of Texas, Austin, 1975

    Google Scholar 

  24. Ichbiah, Jean et al.: Rationale for the Design of the ADA Programming Language; Sigplan Notices vol. 14, no. 6,1979

    Google Scholar 

  25. Uhl, J.; Drossopoulu, S.; Persch, G.; Goos, S. Dausmann, M.; Winterstein, G.; Kichgässner, W.: An Attribute Grammar for the semantic Analysis of ADA; LNCS, Vol. 139, Springer, 1982

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Gottfried Tinhofer Gunther Schmidt

Rights and permissions

Reprints and permissions

Copyright information

© 1987 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Jackel, M. (1987). ADA concurrency specified by graph grammars. In: Tinhofer, G., Schmidt, G. (eds) Graph-Theoretic Concepts in Computer Science. WG 1986. Lecture Notes in Computer Science, vol 246. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-17218-1_48

Download citation

  • DOI: https://doi.org/10.1007/3-540-17218-1_48

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-17218-5

  • Online ISBN: 978-3-540-47415-9

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics