Skip to main content

On programming atomic actions in Ada 95

  • Conference paper
  • First Online:
Reliable Software Technologies — Ada-Europe '97 (Ada-Europe 1997)

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

Included in the following conference series:

Abstract

This paper describes the development of two kinds of atomic action schemes for Ada 95. We start by discussing the basic features required of an atomic action scheme and what choices, e.g. between synchronous and asynchronous actions, are appropriate for Ada 95. We then present two implementations of actions; first using Ada 95 packages to create asynchronous actions and secondly, as sets of tasks for synchronous actions. For each action type, we present code fragments illustrating their development and use. Finally, we discuss some related issues (exception resolution, action nesting, state restoration, software re-use and extension, preventing information smuggling, distributed execution) which have been addressed in our work and show some of the problems encountered (the deserter problem, using different sorts of interparticipant communications and resources).

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. A. Burns and A. Wellings, Ada95: An Effective Concurrent Programming Language, in: Proc. Ada Euro 96, Switzerland, 1996, 58–77.

    Google Scholar 

  2. R.H. Campbell and B. Randell, Error Recovery in Asynchronous Systems, IEEE Transactions on Software Engineering SE-12, 8 (1986) 811–826.

    Google Scholar 

  3. DeVa Project Programme and Description, Design for Validation, Proposal Document (http://www.newcastle.research.ec.org/deva/index.html, 1995).

    Google Scholar 

  4. S.T. Gregory and J.C. Knight, On the provision of Backward Error Recovery in production programming languages, in: Proc. FTCS-19, USA, 1989, 506–511.

    Google Scholar 

  5. Information technology — Programming languages — Ada. Language and Standard Libraries. ISO/IEC 8652:1995(E), Intermetrics, Inc., 1995.

    Google Scholar 

  6. K.H. Kim, Approaches to Mechanization of the Conversation Scheme Based on Monitors, IEEE Transactions on Software Engineering SE-8, 3 (1982) 189–197.

    Google Scholar 

  7. P.A. Lee and T. Anderson, Fault Tolerance: Principles and Practice (Springer-Verlag, Wien-New York, 1990).

    Google Scholar 

  8. B. Randell, System Structure for Software Fault Tolerance, IEEE Transactions on Software Engineering SE-1, 2 (1975) 220–232.

    Google Scholar 

  9. B. Randell and J. Xu, The Evolution of the Recovery Block Concept, in M.R. Lyu, eds., Software Fault Tolerance (J. Wiley, 1994) 1–22.

    Google Scholar 

  10. A. Romanovsky, Atomic actions based on distributed/concurrent exception resolution, TR 560, Comp. Dept., University of Newcastle upon Tyne, 1996.

    Google Scholar 

  11. A. Romanovsky, Practical exception handling and resolution in concurrent programs, TR 545, Comp. Dept., University of Newcastle upon Tyne, 1996.

    Google Scholar 

  12. A. Romanovsky and L. Strigini, Backward error recovery via conversations in Ada, Software Engineering Journal 10, 8 (1995) 219–232.

    Google Scholar 

  13. A.J. Wellings and A. Burns, Implementing Atomic Actions in Ada95, TR YCS-263, Department of Computer Science, University of York, 1996.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Keith Hardy Jim Briggs

Rights and permissions

Reprints and permissions

Copyright information

© 1997 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Romanovsky, A., Mitchell, S.E., Wellings, A.J. (1997). On programming atomic actions in Ada 95. In: Hardy, K., Briggs, J. (eds) Reliable Software Technologies — Ada-Europe '97. Ada-Europe 1997. Lecture Notes in Computer Science, vol 1251. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-63114-3_23

Download citation

  • DOI: https://doi.org/10.1007/3-540-63114-3_23

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-63114-9

  • Online ISBN: 978-3-540-69150-1

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics