A model of communication in Ada using shared data abstractions

  • Chris Marlin
  • Michael Oudshoorn
  • Dennis Freidel
Computer Architecture, Concurrency, Parallelism, Communication And Networking
Part of the Lecture Notes in Computer Science book series (LNCS, volume 468)


Language-level concurrency is becoming more widely available in programming languages, placing parallel programming features in the hands of many programmers for the first time. Unfortunately, the precise semantics of these features is frequently not well understood, principally because of the informal way in which such features are described. Typical of such informal description techniques is the manner in which technical English is used in the Ada Language Reference Manual to define the tasking facilities of Ada.

This paper describes a formal model of the intertask communication aspect of the programming language Ada. The model is an information structure model whose precision is based on the use of shared data abstractions (an extension of abstract data types which allows for parallel access). The model enables the description of parallel programming languages in a manner which is suited to the needs of diverse groups of potential users of a language definition: programmers, compiler writers and those interested in making comparisons between languages (such as language designers).


Select Statement Language Feature Event Description Abstract Data Type Communication Port 
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. [1]
    D.H. Freidel. Modelling Communication and Synchronization in Parallel Programming Languages. Technical Report 84-01, Department of Computer Science, The University of Iowa, Iowa City, Iowa, May 1984. {Ph.D. Thesis}.Google Scholar
  2. [2]
    D.H. Freidel, C.D. Marlin, and M.J. Oudshoorn. Modelling Communication in Ada with Shared Data Abstractions. Technical Report 88-06, Department of Computer Science, The University of Adelaide, Adelaide, South Australia, December 1988. (Revised September 1989).Google Scholar
  3. [3]
    J.A. Goguen, J.W. Thatcher and E.G. Wagner. An initial algebra approach to the specification, correctness and implementation of abstract data types. In R.T. Yeh, editor, Current Trends in Programming Methodology, chapter 5, pages 80–149, Prentice-Hall, Inc., Englewood Cliffs, New Jersey, 1978.Google Scholar
  4. [4]
    J.V. Guttag. Notes on type abstraction (Version 2). I.E.E.E. Transactions on Software Engineering. Volume SE-6, pages 13–23, January 1980.Google Scholar
  5. [5]
    J.V. Guttag and J.J. Horning. The algebraic specification of abstract data types. Acta Informatica. Volume 10, number 1, pages 27–52, 1978.Google Scholar
  6. [6]
    Honeywell, Inc.Formal Definition of Ada. Interim Draft, Systems and Research Center, Honeywell Inc., Minneapolis, Minnesota, October 1979.Google Scholar
  7. [7]
    W.R. Mallgren. Formal Specification of Interactive Graphics Programming Languages. M.I.T. Press, Cambridge, Massachusetts, 1983.Google Scholar
  8. [8]
    C.D. Marlin. Coroutines: A Programming Methodology, a Language Design and an Implementation. Volume 95 of Lecture Notes in Computer Science, Springer-Verlag, Berlin, 1980.Google Scholar
  9. [9]
    M.J. Oudshoorn and C.D. Marlin. Describing data control in programming languages. In IEEE International Conference on Computer Languages '88, pages 100–109, Miami Beach, Florida, October 9–13 1988.Google Scholar
  10. [10]
    M.J. Oudshoorn and C.D. Marlin. Language definition and implementation. Australian Computer Science Communications. Volume 11, number 1, pages 26–36, February 1989.Google Scholar
  11. [11]
    J. Uhl, S. Drossopoulou, G. Persch, G. Goos, M. Dausmann, G. Winterstein, and W. Kirchgässner. An Attribute Grammar for the Semantic Analysis of Ada. Volume 139 of Lecture Notes in Computer Science, Springer-Verlag, Berlin, 1982.Google Scholar
  12. [12]
    U.S. Department of Defense. The Programming Language Ada Reference Manual, ANSI/MILSTD-1815A-1983. United States Department of Defense, Washington, D.C., 1983.Google Scholar
  13. [13]
    P. Wegner. Data structure models for programming languages. In J.T. Tou and P. Wegner, editors, Proceedings of the Symposium on Data Structures in Programming Languages, pages 1–54, 1971.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1991

Authors and Affiliations

  • Chris Marlin
    • 1
  • Michael Oudshoorn
    • 1
  • Dennis Freidel
    • 2
  1. 1.Department of Computer ScienceThe University of AdelaideAdelaideAustralia
  2. 2.Hewlett Packard — Colorado Networks DivisionFort CollinsU.S.A.

Personalised recommendations