Distributed Atomic Actions in Ada 95

This paper discusses the development of a distributed asynchronous atomic action scheme for Ada 95. The scheme makes use of many unique Ada 95 features including protected objects, asynchronous transfer of control and the distributed systems annex. We present the packages which implement the local and global action support and illustrate their use in a (partial) implementation of the FZI production cell problem. We also discuss a number of variations of the model and how these might be included. Finally, we discuss how the distribution model used in Ada 95 has influenced our design.

[1]  Roy H. Campbell,et al.  Atomic actions for fault-tolerance using CSP , 1986, IEEE Transactions on Software Engineering.

[2]  Santosh K. Shrivastava,et al.  On the Duality of Fault Tolerant System Structures , 1987, Experiences with Distributed Systems.

[3]  Roy H. Campbell,et al.  Atomic Actions in Concurrent Systems , 1986, ICDCS.

[4]  C. Q. Lee,et al.  The Computer Journal , 1958, Nature.

[5]  Jie Xu,et al.  Exception handling and resolution in distributed object-oriented systems , 1996, Proceedings of 16th International Conference on Distributed Computing Systems.

[6]  Angel Alvarez,et al.  An Ada Library to Program Fault-Tolerant Distributed Applications , 1997, Ada-Europe.

[7]  K. H. Kim,et al.  Implementation of the Conversation Scheme in Message-Based Distributed Computer Systems , 1992, IEEE Trans. Parallel Distributed Syst..

[8]  Alan Burns,et al.  Implementing Atomic Actions in Ada 95 , 1997, IEEE Trans. Software Eng..

[9]  Claus Lewerentz,et al.  Formal Development of Reactive Systems: Case Study Production Cell , 1995 .

[10]  K. H. Kim,et al.  Time-bounded cooperative recovery with the distributed real-time conversation scheme , 1997, Proceedings Third International Workshop on Object-Oriented Real-Time Dependable Systems.

[11]  Alan Burns,et al.  Concurrency in ADA , 1995 .

[12]  K. H. Kim,et al.  Approaches to Mechanization of the Conversation Scheme Based on Monitors , 1982, IEEE Transactions on Software Engineering.

[13]  D. B. Lomet Process structuring, synchronization, and recovery using atomic actions , 1977 .

[14]  Andy J. Wellings,et al.  On Programming Atomic Actions in Ada 95 , 1997, Ada-Europe.

[15]  Hermann Kopetz,et al.  Fault tolerance, principles and practice , 1990 .

[16]  Brian Randell,et al.  Error recovery in asynchronous systems , 1986, IEEE Transactions on Software Engineering.

[17]  Andreas Reuter,et al.  Transaction Processing: Concepts and Techniques , 1992 .

[18]  Brian Randell System structure for software fault tolerance , 1975 .

[19]  Pankaj Jalote Using Broadcasting for Multiprocess Recovery , 1986, ICDCS.

[20]  Andrea Clematis,et al.  Structuring Conversation in Operation/Procedure Oriented Programming Languages , 1993, Comput. Lang..

[21]  Brian Randell,et al.  Coordinated Atomic Actions: from Concept to Implementation , 1997 .

[22]  Brian Randell,et al.  System structure for software fault tolerance , 1975, IEEE Transactions on Software Engineering.

[23]  Cecília M. F. Rubira,et al.  Fault tolerance in concurrent object-oriented software through coordinated error recovery , 1995, Twenty-Fifth International Symposium on Fault-Tolerant Computing. Digest of Papers.

[24]  Alexander Romanovsky,et al.  Atomic Actions Based on Distributed/C oncurrent Exception Resolution , 1996 .