ADA concurrency specified by graph grammars

  • Manfred Jackel
Graph Grammars
Part of the Lecture Notes in Computer Science book series (LNCS, volume 246)


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.


Program Graph Graph Grammar Mixed Derivation Program Text Host Graph 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [AKdR]
    Apt, Krysztof R.,Francez, Nissim u. de Roever,Willem: A proof system for communicating sequential processes; ACM TOPLAS vol. 2, no. 3, 1980Google Scholar
  2. [AhUl]
    Aho, Alfred V.; Ullman, Jeffrey D.: Principles of Compiler Design; Reading: Addison Wesley, 1977Google Scholar
  3. [Broy]
    Broy, Manfred: Extensional behaviour of concurrent, nondeterministic communicating systems; Universität Passau, Bericht MIP 8506, 1985Google Scholar
  4. [BjJo]
    Bjorner, D.; Jones, C. B.: The Vienna Development Method: The Meta-Language; LNCS 61, Springer 1978Google Scholar
  5. [BjOe]
    Bjorner, D.; Oest, O. N.: Towards a Formal Description of ADA; LNCS 98, Springer 1980Google Scholar
  6. [Bun]
    Bunke, H.: Ein Ansatz zur Semantikbeschreibung von Programmiersprachen mit expliziten Parallelismen; Manuskripte 1976/77Google Scholar
  7. [DoKaLaKr]
    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, 1980Google Scholar
  8. [EnGaNaSc]
    Engels, G.; Gall, R.; Nagl, M.; Schäfer, W.: Software specification using graph grammars; Computing 31, 1983Google Scholar
  9. [EnSch1]
    Engels, G.; Schäfer, W.: Specification of a programming support environment by graph grammars; Osnabrücker Schriften zur Mathematik, Reihe I 5/82Google Scholar
  10. [EnSch2]
    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/84Google Scholar
  11. [GeCa]
    Gehani, N.H. u. Cargill, T.A.: Concurrent Programming in the ADA language. The polling bias; Software Practice and Experience, vol. 14(5), 1984Google Scholar
  12. [GiKa]
    Gilles; Kahn (Hrsg.): Semantics of Concurrent Computation; LNCS, Vol. 70, Springer, 1979Google Scholar
  13. [Goos]
    Goos, G. (Hrsg.): DIANA an intermediate Language for ADA; LNCS 161, Springer 1983Google Scholar
  14. [Hoare]
    Hoare, C. A. R.: Communicating sequential processes; CACM 21.08.1978, S. 666–677Google Scholar
  15. [INRIA]
    Formal Definition of the ADA Programming language; Preliminary Version for public review; INRIA, Le Chesnay Cedex, 1980Google Scholar
  16. [JKL]
    Jackel, Manfred: Formale Spezifikation nebenläufiger Konstrukte von ADA mit Graphgrammatiken; Dissertation, Osanbrück 1986Google Scholar
  17. [LRM]
    ADA Programming Language, Military Standard 22.01.1983; American National Standards Institute (ANSI / MIL-STD-1815A-1983)Google Scholar
  18. [MiSt]
    Milne, Robert; Strachey, Christopher: A theory of programming language semantics; London, Chapman and Hall, 1976Google Scholar
  19. [Nagl1]
    Nagl, Manfred: Einführung in die Programiersprache ADA; Braunschweig / Wiesbaden, Vieweg, 1982Google Scholar
  20. [Nag12]
    Nagl, Manfred: Graph Grammatiken — Theorie, Implementierung, Anwendung; Braunschweig / Wiesbaden; 1979Google Scholar
  21. [Nehm]
    Nehmer, Jürgen: Implementierungssprachen für nichtsequentielle Programmsysteme; Berichte des German Chapter of the ACM, Stuttgart; Teubner, 1981Google Scholar
  22. [Park]
    Park, David: On the sematics of fair parallelism, in: Abstract Software Specifications; LNCS 86, Springer 1980Google Scholar
  23. [Pratt]
    Pratt, Terrence W.: A Theory of Programming Languages, Part I; Departement of Computer Sciences, The University of Texas, Austin, 1975Google Scholar
  24. [Ratio]
    Ichbiah, Jean et al.: Rationale for the Design of the ADA Programming Language; Sigplan Notices vol. 14, no. 6,1979Google Scholar
  25. [UDPG]
    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, 1982Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1987

Authors and Affiliations

  • Manfred Jackel
    • 1
  1. 1.EWH Rheinland-PfalzKoblenz

Personalised recommendations