WG 1986: Graph-Theoretic Concepts in Computer Science pp 41-57 | Cite as
ADA concurrency specified by graph grammars
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.
Keywords
Program Graph Graph Grammar Mixed Derivation Program Text Host GraphPreview
Unable to display preview. Download preview PDF.
Literatur
- [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
- [AhUl]Aho, Alfred V.; Ullman, Jeffrey D.: Principles of Compiler Design; Reading: Addison Wesley, 1977Google Scholar
- [Broy]Broy, Manfred: Extensional behaviour of concurrent, nondeterministic communicating systems; Universität Passau, Bericht MIP 8506, 1985Google Scholar
- [BjJo]Bjorner, D.; Jones, C. B.: The Vienna Development Method: The Meta-Language; LNCS 61, Springer 1978Google Scholar
- [BjOe]Bjorner, D.; Oest, O. N.: Towards a Formal Description of ADA; LNCS 98, Springer 1980Google Scholar
- [Bun]Bunke, H.: Ein Ansatz zur Semantikbeschreibung von Programmiersprachen mit expliziten Parallelismen; Manuskripte 1976/77Google Scholar
- [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
- [EnGaNaSc]Engels, G.; Gall, R.; Nagl, M.; Schäfer, W.: Software specification using graph grammars; Computing 31, 1983Google Scholar
- [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
- [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
- [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
- [GiKa]Gilles; Kahn (Hrsg.): Semantics of Concurrent Computation; LNCS, Vol. 70, Springer, 1979Google Scholar
- [Goos]Goos, G. (Hrsg.): DIANA an intermediate Language for ADA; LNCS 161, Springer 1983Google Scholar
- [Hoare]Hoare, C. A. R.: Communicating sequential processes; CACM 21.08.1978, S. 666–677Google Scholar
- [INRIA]Formal Definition of the ADA Programming language; Preliminary Version for public review; INRIA, Le Chesnay Cedex, 1980Google Scholar
- [JKL]Jackel, Manfred: Formale Spezifikation nebenläufiger Konstrukte von ADA mit Graphgrammatiken; Dissertation, Osanbrück 1986Google Scholar
- [LRM]ADA Programming Language, Military Standard 22.01.1983; American National Standards Institute (ANSI / MIL-STD-1815A-1983)Google Scholar
- [MiSt]Milne, Robert; Strachey, Christopher: A theory of programming language semantics; London, Chapman and Hall, 1976Google Scholar
- [Nagl1]Nagl, Manfred: Einführung in die Programiersprache ADA; Braunschweig / Wiesbaden, Vieweg, 1982Google Scholar
- [Nag12]Nagl, Manfred: Graph Grammatiken — Theorie, Implementierung, Anwendung; Braunschweig / Wiesbaden; 1979Google Scholar
- [Nehm]Nehmer, Jürgen: Implementierungssprachen für nichtsequentielle Programmsysteme; Berichte des German Chapter of the ACM, Stuttgart; Teubner, 1981Google Scholar
- [Park]Park, David: On the sematics of fair parallelism, in: Abstract Software Specifications; LNCS 86, Springer 1980Google Scholar
- [Pratt]Pratt, Terrence W.: A Theory of Programming Languages, Part I; Departement of Computer Sciences, The University of Texas, Austin, 1975Google Scholar
- [Ratio]Ichbiah, Jean et al.: Rationale for the Design of the ADA Programming Language; Sigplan Notices vol. 14, no. 6,1979Google Scholar
- [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