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).
Keywords
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.
This is a preview of subscription content, log in via an institution.
Preview
Unable to display preview. Download preview PDF.
References
A. Burns and A. Wellings, Ada95: An Effective Concurrent Programming Language, in: Proc. Ada Euro 96, Switzerland, 1996, 58–77.
R.H. Campbell and B. Randell, Error Recovery in Asynchronous Systems, IEEE Transactions on Software Engineering SE-12, 8 (1986) 811–826.
DeVa Project Programme and Description, Design for Validation, Proposal Document (http://www.newcastle.research.ec.org/deva/index.html, 1995).
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.
Information technology — Programming languages — Ada. Language and Standard Libraries. ISO/IEC 8652:1995(E), Intermetrics, Inc., 1995.
K.H. Kim, Approaches to Mechanization of the Conversation Scheme Based on Monitors, IEEE Transactions on Software Engineering SE-8, 3 (1982) 189–197.
P.A. Lee and T. Anderson, Fault Tolerance: Principles and Practice (Springer-Verlag, Wien-New York, 1990).
B. Randell, System Structure for Software Fault Tolerance, IEEE Transactions on Software Engineering SE-1, 2 (1975) 220–232.
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.
A. Romanovsky, Atomic actions based on distributed/concurrent exception resolution, TR 560, Comp. Dept., University of Newcastle upon Tyne, 1996.
A. Romanovsky, Practical exception handling and resolution in concurrent programs, TR 545, Comp. Dept., University of Newcastle upon Tyne, 1996.
A. Romanovsky and L. Strigini, Backward error recovery via conversations in Ada, Software Engineering Journal 10, 8 (1995) 219–232.
A.J. Wellings and A. Burns, Implementing Atomic Actions in Ada95, TR YCS-263, Department of Computer Science, University of York, 1996.
Author information
Authors and Affiliations
Editor information
Rights 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