Coordinated Atomic Actions


The Coordinated Atomic Action (or CA action) concept is a unified scheme for coordinating complex concurrent activities and supporting error recovery between multiple interacting components in a distributed object system. It provides a conceptual framework for dealing with different kinds of concurrency and achieving fault tolerance by integrating and extending two complementary concepts - conversations and transactions. Conversations (enhanced with concurrent exception handling) are used to control cooperative concurrency and to implement coordinated error recovery whilst transactions are used to maintain the consistency of shared resources in the presence of failures and competitive concurrency.

 

The rest of the page contains information about previous and ongoing work on CA actions.


Here you can download the files of several talks we have given on CA actions:

 

- Coordinated Atomic Actions: ten years after. Talk by A. Romanovsky at the EFTS workshop in Luxemburg (2006).

- the 2001 British Computer Society Brendan Murphy Prize for the work on Concurrent Exception Handling and Resolution in Distributed Object Systems. Talk by B. Randell in 2002.

- CA Actions and Software Fault Tolerance. Talk given by A. Romanovsky in 2004.

- The CA Action Concept. Talk given by J. Xu in 1999.

 


A draft of the paper written by Bob Schaefer from BAE SYSTEMS on employing CA actions for composing complex systems of systems: Systems of Systems and Coordinated Atomic Actions (August 2004).


In 1996-2001 we developed a number of CA action schemes, in particular in Java & RMI (freely available from us) and in Ada (these schemes are described in details in a number of technical papers mentioned below).


Ongoing Rigorous Stepwise Development of Complex Fault tOlerantDistRibuted Systems: from ARchitEctural DesCription to Java ImplemenTation (CORRECT) Luxemburg National Project (2004-2007). Project web page.

 

The project develops methodologies for rigorous development of complex systems using CA actions. Supporting tools and formal refinement methods will be produced within the project. A set of UML profiles for modelling CA actions and exception handling is under development.

 


In 2002-2003 we developed a CA action-based approach to integrating complex Web Services (a joint work between INRIA and Newcastle U.):

 

-       F. Tartanoglu, V. Issarny. A. Romanovsky. N. Levy. Coordinated Forward Error Recovery for Composite Web Services. The 22nd Symposium on Reliable Distributed Systems (SRDS). Florence, Italy. 2003. pp.167-176.

-       F. Tartanoglu, V. Issarny, A. Romanovsky, N. Levy. Dependability in the Web Service Architecture. In: Architecting Dependable Systems, de Lemos, R., Gacek, C., Romanovsky, A., (eds.) pp. 89-108. LNCS 2677. Springer-Verlag. 2003.

 


We have gained a significant experience in designing applications using CA actions:

  1. a Production Cell case study:
    - A. Zorzo, A. Romanovsky, J. Xu, B. Randell, R. Stroud, I. Welch, "Using Coordinated Atomic Actions to Design Complex Safety-Critical Systems: The Production Cell Case Study", Software: Practice & Experience, 29, 7, 1999, 1-21.
    - A.F. Zorzo, A. Romanovsky, J. Xu, B. Randell, R. Stroud, I. Welch, "Using Coordinated Atomic Actions to Design Dependable Distributed Object Systems", Presented on OOPSLA'97 Workshop on Dependable Distributed Object Systems. USA. 1997. A preliminary version: Computing Dept., University of Newcastle upon Tyne, TR 619, 1997.
    - E. Canver. Formal Verification of the CAA Design of the Production Cell. Design for Validation (DeVa) Basic ESPRIT Project. Second Year Report, V. 2, University of Newcastle, UK, February, 1998. ps file

 

2.     a fault tolerant Production Cell case study:
- J. Xu, B. Randell, A. Romanovsky, R.J. Stroud, A. Zorzo, E. Canver, F. von Henke, Rigorous Development of a Safety-Critical System Based on Coordinated Atomic Actions. Proc. 29th Int. Symp. on Fault-Tolerant Computing, Madison, USA, 1999, 68-75.
- J. Xu, B. Randell, A. Romanovsky, R.J. Stroud, A.F. Zorzo, E. Canver, F. von Henke. Rigorous development of an Embedded Fault-Tolerant System Based on Coordinated Atomic Actions. IEEE Trans on Computers, 51, 2, 164-179. 2002
.

 

3.     a real time Production Cell case study:
- A. Romanovsky, J. Xu and B. Randell, "Exception Handling in Object-Oriented Real-Time Distributed Systems", in the 1st IEEE Int. Symposium on Object-oriented Real-time Distributed Computing. Kyoto, Japan. April, pp.32-42, 1998.
- A.Romanovsky, J. Xu, B. Randell, "Coordinated Exception Handling in Real-Time Distributed Object Systems", Computer Systems Science and Engineering, 14, 4, 1999, 197-208.

 

4.     a distributed internet Gamma computation:
- A. Romanovsky, A. Zorzo, "Coordinated Atomic Actions as a Technique for Implementing Distributed Gamma Computation", Journal of Systems Architecture, 45, 15, 1999, 1357-1374.
- G. Di Marzo Serugendo, N. Guelfi, A. Romanovsky, A. Zorzo. "Formal Development and Validation of Java Dependable Distributed Systems", in ICECCS'99 (Fifth IEEE Int. Conference on Engineering of Complex Computer Systems), Nevada, USA, October, IEEE CS, pp. 98-108, 1999

 

5.     an Internet auction system:
- J. Vachon, N. Guelfi, A. Romanovsky. Using COALA to Develop a Distributed Object-Based Application. In the 2nd Int. Symposium on Distributed Objects and applications (DAO'00), P. Drew, R. Meersman, Z. Tari, R. Zicari (Eds.), Antwerp, Belgium, 2000, IEEE CS, pp. 195-208.

 

6.     a railway control system:
- D.M. Beder, A. Romanovsky, B. Randell, C.R. Snow, R.J. Stroud. An Application of Fault Tolerance Patterns and Coordinated Atomic Actions to a Problem in Railway Scheduling," ACM, Operating Systems Review, v. 34, No. 4, p 21-31, October 2000.
- D.M. Beder, B. Randell, A. Romanovsky, C.M.F. Rubira. "On Applying Coordinated Atomic Actions and Dependable Software Architectures for Developing Complex Systems. In the 4th IEEE International Symposium on Object-oriented Real-time Distributed Computing, Magdeburg, Germany, May, 2001, pp. 103-112.

 

7.     an Internet Travel Agency was developed within IST Dependable Systems of Systems (DSoS) Project

- A. Romanovsky, P. Periorellis, A. F. Zorzo. Structuring Integrated Web Applications for Fault Tolerance. The 6th Int. Symposium on Autonomous Decentralised Systems. Pisa, Italy, April 2003. IEEE CS, 2003. pp. 99-106.

- A.F. Zorzo, P. Periorellis, A. Romanovsky. Using Coordinated Atomic Actions for Building Complex Web Applications: a Learning Experience. The 8th IEEE International Workshop on Object-oriented Real-time Dependable Systems (WORDS 2003), January 15-17, 2002, Guadalajara, Mexico. IEEE CS. 2003. pp. 288-295.

 

  1. an Insulin Pump case study (the CORRECT project at Luxemburg University)

-       Capozucca, A., Guelfi, N., Pelliccione, P., The fault-tolerant insulin pump therapy. In Rigorous Development of Complex Fault-Tolerant Systems. Vol. 4157, 2006, ISBN 978-3-540-48265-9. pp. 59-79.

-       N. Guelfi, R. Razavi, A. Romanovsky, S. Vandenbergh. DRIP Catalyst: An MDE/MDA Method for Fault-tolerant Distributed Software Families Development. Presented at OOPSLA & GPCE Workshop on Best Practices for Model Driven Software Development. October 2004. Vancouver, Canada.

-       Capozucca, A., Guelfi, N., Pelliccione, P., Romanovsky, A., Zorzo, A. CAA-DRIP: a framework for implementing Coordinated Atomic Actions, In Proceedings of the 17th International Symposium on Software Reliability Engineering, ISSRE 2006, November 7-10, 2006, Raleigh, North Carolina   pp. 385-394. IEEE CS 2006.


Main papers on CA actions:

  1. J. Xu, B. Randell, A. Romanovsky, C. Rubira, R. Stroud, Z. Wu. "Fault tolerance in concurrent object-oriented software through coordinated error recovery", in FTCS-25, California, USA. 1995, pp.499-509.
  2. B. Randell, A. Romanovsky, C. Rubira, R. Stroud, Z. Wu, J. Xu. From Recovery Blocks to Coordinated Atomic Actions. In 'Predictably Dependable Computer Systems'. Eds. B. Randell, J.-C. Laprie et al., Springer-Verlag, pp.87-101, 1995.
  3. A. Romanovsky, J. Xu and B. Randell. Exception Handling and Resolution in Distributed Object-Oriented Systems. Proc. Int. Conference on Distributed Computing Systems, ICDCS-16, Hong Kong, May, 1996, pp. 545-552.
  4. A. Romanovsky, B. Randell, R. Stroud, J. Xu, A. Zorzo. Implementation of Blocking Coordinated Atomic Actions Based on Forward Error Recovery. Journal of System Architecture (Special Issue on Dependable Parallel Computing Systems), V.43, N.10, September, 1997, pp. 687-699.
  5. A. Romanovsky, S. E. Mitchell, A. J. Wellings. On Programming Atomic Actions in Ada 95. LNCS-1251. Ada Europe'97, London, June, 1997, pp.254-265.
  6. A. Romanovsky, A.F. Zorzo. On Distribution of Coordinated Atomic Actions. ACM Operating Systems Review, Vol. 31, No. 5, October, 1997, pp. 70-78.
  7. A.F. Zorzo, A. Romanovsky, J. Xu, B. Randell, R. Stroud and I. Welch, Using Coordinated Atomic Actions to Design Dependable Distributed Object Systems, Presented on OOPSLA'97 Workshop on Dependable Distributed Object Systems. USA. 1997.
  8. A. Romanovsky, J. Xu and B. Randell, "Exception Handling in Object-Oriented Real-Time Distributed Systems", in the 1st IEEE Int. Symposium on Object-oriented Real-time Distributed Computing. Kyoto, Japan. April, pp.32-42, 1998.
  9. R. de Lemos and A. Romanovsky, "Coordinated Atomic Actions in Modelling Object Cooperation", in the 1st IEEE Int. Symposium on Object-oriented Real-time Distributed Computing. Kyoto, Japan. April, p.152-161, 1998.
  10. J. Xu, A Romanovsky, B Randell. Coordinated Exception Handling in Distributed Object Systems: from Model to System Implementation. Proc. Int. Conference on Distributed Computing Systems, ICDCS-18, Amsterdam, The Netherland, May, 1998, pp. 12-21.
  11. J. Xu, B. Randell, A. Romanovsky, R J. Stroud, A.F. Zorzo, "Supporting and Controlling Complex Concurrency in Fault-Tolerant Distributed Systems", in Int. Symposium on Special Topics of Computers (invited paper). China, pp. 53-59, 1998.
  12. R. de Lemos, A. Romanovsky. "Exception Handling in a Cooperative Object-Oriented Approach", in the 2nd IEEE Int. Symposium on Object-oriented Real-time Distributed Computing. Saint Malo, France, pp. 3-13, 1999.
  13. A. Romanovsky, A.F. Zorzo. Coordinated Atomic Actions as a Technique for Implementing Distributed Gamma Computation. Journal of Systems Architecture (Special Issue on New Trends in Programming and Execution Models for Parallel Architectures, Heterogeneously Distributed Systems and Mobile Computing). Vol.45, No. 15, pp. 1357-1374, 1999.
  14. A.F. Zorzo, A. Romanovsky, J. Xu, B. Randell, R.J. Stroud, I.S. Welch, Using Coordinated Atomic Actions to Design Complex Safety-Critical Systems: The Production Cell Case Study. Software: Practice & Experience, Vol. 29, No. 7, 1999, pp. 1-21.
  15. A.Romanovsky, J. Xu, B. Randell. Coordinated Exception Handling in Real-Time Distributed Object Systems. Int. J. Computer Systems Science and Engineering. (Special Issue on Object-Oriented Real-Time Distributed Systems). Vol. 14, No 4, July, pp 197-208, 1999.
  16. J. Xu, B. Randell, A. Romanovsky, R.J. Stroud, A.F. Zorzo, E. Canver, F. von Henke. "Rigorous Development of a Safety-Critical System Based on Coordinated Atomic Actions", in FTCS-29, Madison, USA, pp. 68-75. 1999.
  17. G. Di Marzo Serugendo, N. Guelfi, A. Romanovsky, A. Zorzo. "Formal Development and Validation of Java Dependable Distributed Systems", in ICECCS 99 (Fifth IEEE International Conference on Engineering of Complex Computer Systems), Nevada, USA, October, IEEE Computer Society Press, pp. 98-108, 1999.
  18. A.Romanovsky. "On Structuring Cooperative and Competitive Concurrent Systems". Computer J. v.42, n.8, pp. 627-637, 1999.
  19. R. de Lemos, A. Romanovsky. Exception Handling in the Software Lifecycle. Int. J. Computer Systems Science and Engineering (accepted in 2000).
  20. J. Vachon, N. Guelfi, A. Romanovsky. Using COALA to Develop a Distributed Object-Based Application. In the 2nd Int. Symposium on Distributed Objects and applications (DAO'00), P. Drew, R. Meersman, Z. Tari, R. Zicari (Eds.), Antverp, Belgium, 2000, IEEE CS, pp. 195-208.
  21. D.M. Beder, A. Romanovsky, B. Randell, C.R. Snow, R.J. Stroud. An Application of Fault Tolerance Patterns and Coordinated Atomic Actions to a Problem in Railway Scheduling," ACM, Operating Systems Review, v. 34, No. 4, p 21-31, October 2000.
  22. D.M. Beder, B. Randell, A. Romanovsky, C.M.F. Rubira. On Applying Coordinated Atomic Actions and Dependable Software Architectures for Developing Complex Systems in the 4th IEEE International Symposium on Object-oriented Real-time Distributed Computing, Margeburg, Germany, May, 2001, pp. 103-112.
  23. J. Xu, A. Romanovsky, B. Randell Concurrent Exception Handling and Resolution in Distributed Object Systems. IEEE Trans. on Parallel and Distributed Systems. TPDS-11, 10, 2000.
  24. A. Romanovsky. Coordinated Atomic Actions: How to Remain ACID in the Modern World. ACM Software Eng. Notes. v. 26, n. 2, pp. 66-68, 2001.
  25. A. Romanovsky, A.F. Zorzo. A Distributed Co-ordinated Atomic Action Scheme. Int. J. Computer Systems Science and Engineering. v. 16, 4, 237-247. 2001.
  26. J. Xu, B. Randell, A. Romanovsky, R.J. Stroud, A.F. Zorzo, E. Canver, F. von Henke. Rigorous development of an Embedded Fault-Tolerant System Based on Coordinated Atomic Actions. IEEE Transactions on Computers, 51, 2, pp.164-179. 2002.
  27. J. Xu, B. Randell, A. Romanovsky. A Generic Approach to Structuring and Implementing Complex Fault-Tolerant Software. ISORC 2002. May. 2002.
  28. A. Romanovsky, P. Periorellis, A. F. Zorzo. Structuring Integrated Web Applications for Fault Tolerance. To be presented at the 6th Int. Symposium on Autonomous Decentralised Systems. Pisa, Italy, April 2003. pp. 99-106.
  29. A.F. Zorzo, P. Periorellis,  A. Romanovsky. Using Coordinated Atomic Actions for Building Complex Web Applications: a Learning Experience. Presented at the 8th IEEE International Workshop on Object-oriented Real-time Dependable Systems (WORDS 2003), January 15-17, 2003, Guadalajara, Mexico. IEEE CS. 2003.
  30.  F. Tartanoglu, V. Issarny. A. Romanovsky. N. Levy. Coordinated Forward Error Recovery for Composite Web Services. The 22nd Symposium on Reliable Distributed Systems (SRDS). Florence, Italy. 2003. pp.167-176.
  31. F. Tartanoglu, V. Issarny, A. Romanovsky, N. Levy. Dependability in the Web Service Architecture. In: Architecting Dependable Systems, de Lemos, R., Gacek, C., Romanovsky, A., (eds.) pp. 89-108. Series: Lecture Notes in Computer Science. Volume 2677. Springer-Verlag. 2003.
  32. N. Guelfi, R. Razavi, A. Romanovsky, S. Vandenbergh. DRIP Catalyst: An MDE/MDA Method for Fault-tolerant Distributed Software Families Development. Presented at OOPSLA & GPCE Workshop on Best Practices for Model Driven Software Development. October 2004. Vancouver, Canada.
  33. S. Veloudis, N. Nissanke. An approach to modelling and analysis of coordinated atomic actions. In Proceedings of 10th IEEE International Conference on Emerging Technologies and Factory Automation, ETFA 2005, September 19-22, 2006, Catania, Italy. IEEE 2005
  34. Capozucca, A., Guelfi, N., Pelliccione, P., Romanovsky, A., Zorzo, A. CAA-DRIP: a framework for implementing Coordinated Atomic Actions, In Proceedings of the 17th International Symposium on Software Reliability Engineering, ISSRE 2006, November 7-10, 2006, Raleigh, North Carolina   pp. 385-394. IEEE CS 2006.
  35. B. Gallina, N. Guelfi, A. Romanovsky. Coordinated Atomic Actions for Dependable Distributed Systems: the Cur-rent State in Concepts, Semantics and Verification Means. In Proceedings of the 18th International Symposium on Software Reliability Engineering, ISSRE 2007, November 2007. IEEE CS. 2007.


Some of the Technical reports on CA actions:

  1. J. Xu, B. Randell, A. Romanovsky, R.J. Stroud, A.F. Zorzo, A. Burns, S. E. Mitchell, A.J. Wellings. Cooperative and Competitive Concurrency in Fault-Tolerant Distributed Systems. Design for Validation (DeVa) Basic ESPRIT Project. First Year Report, January, LAAS, France, pp. 21-42, 1997. ps file.
  2. D. Schwier, F. von Henke, J. Xu, R.J. Stroud, A. Romanovsky, B. Randell. Formalization of the CA Action Concept Based on Temporal Logic. Design for Validation (DeVa) Basic ESPRIT Project. Second Year Report. Part 2, December, LAAS, France, pp. 3-15, 1997.
  3. B. Randell, A. Romanovsky, R.J. Stroud, J. Xu, A.F. Zorzo. Coordinated Atomic Actions: from Concept to Implementation. Computing Dept., University of Newcastle upon Tyne, TR 595, 1997.
  4. J. Xu, A. Romanovsky, B. Randell. Coordinated Exception Handling in Distributed Object-Oriented Systems: Improved Algorithm, Correctness and Implementation. Computing Dept., University of Newcastle upon Tyne, TR 596, 1997
  5. J. Xu, A Romanovsky, B Randell. Coordinated Exception Handling in Distributed Object Systems: from Model to System Implementation. Computing Dept., University of Newcastle upon Tyne, TR 612, 1997.
  6. A.F.Zorzo, A.Romanovsky, J.Xu, B.Randell, R.J.Stroud, I.S.Welch. Using Coordinated Atomic Actions to Design Dependable Distributed Object Systems. Computing Dept., University of Newcastle upon Tyne, TR 619, 1997.
  7. G. Di Marzo Serugendo, N. Guelfi, A. Romanovsky and A. Zorzo, Formal Development and Validation of the DSGamma System Based on COOPN/2 and Coordinated Atomic Actions, Software Engineering Laboratory, Swiss Federal Institute of Technology Lausanne, Technical Report N98/265, Lausanne, Switzerland, 1998.
  8. G. Di Marzo Serugendo, N. Guelfi, A. Romanovsky and A. Zorzo, CO-OPN/2 Specification of the DSGamma System designed Using Coordinated Atomic Actions. Computing Dept., University of Newcastle upon Tyne, Technical Report, TR 641, 1998.
  9. E. Canver, D. Schwier, A. Romanovsky, J. Xu, Formal Verification of CAA-based Designs: The Fault-Tolerant Production Cell, 3rd Year Report, ESPRIT Long Term Research Project 20072 on Design for Validation, LAAS, France, Nov. 1998.
  10. J. Vachon, D. Buchs, M. Buffo, G.D.M. Serugendo, B. Randell, A. Romanovsky, R.J. Stroud, J. Xu, COALA - A Formal Language for Co-ordinated Atomic Actions, 3rd Year Report, ESPRIT Long Term Research Project 20072 on Design for Validation, LAAS, France, Nov. 1998.
  11. J. Xu, A. Romanovsky, A. Zorzo, B. Randell, R.J. Stroud, E. Canver, "Developing Control Software for Production Cell II: Failure Analysis and System Design Using CA Actions," 3rd Year Report, ESPRIT Long Term Research Project 20072 on Design for Validation, LAAS, France, Nov. 1998.
  12. A.F. Zorzo, A. Romanovsky, J. Xu, B. Randell. R.J. Stroud, I.S. Welch, "Using Co-ordinated Atomic Actions to Design Complex Safety-Critical Systems: The Production Cell Case Study," 3rd Year Report, ESPRIT Long Term Research Project 20072 on Design for Validation, LAAS, France, Nov. 1998.
  13. A. Burns, B. Randell, A. Romanovsky, R.J. Stroud, A.J. Wellings and J. Xu. Temporal Constraints and Exception Handling in Object-Oriented Distributed Systems. Design for Validation (DeVa) - Third Year Report, Esprit LTR Project 20072 - DeVa, 1998.
  14. J. Xu, B. Randell, A. Romanovsky. "A Generic Implementation Approach to Concurrent Fault-Tolerant Software". University of Newcastle upon Tyne, CS-TR-692. February, 2000.

Last updated by Alexander Romanovsky on August 5, 2007 (email: alexander.romanovsky@newcastle.ac.uk)