Abstract
Cooperative distributed system covers a wide range of applications such as the systems for industrial controlling and business-to-business trading, which are usually safety-critical. Coordinated exception handling (CEH) refers to exception handling in the cooperative distributed systems, where exceptions raised on a peer should be dealt with by all relevant peers in a consistent manner. Some CEH algorithms have been proposed. A crucial problem in using these algorithms is how to develop the peers which are guaranteed coherent in both normal execution and exceptional execution. Straightforward testing or model checking is very expensive. In this paper, we propose an effective way to rigorously develop the systems with correct CEH behavior. Firstly, we formalize the CEH algorithm by proposing a Peer Process Language to precisely describe the distributed systems and their operational semantics. Then we dig out a set of syntactic conditions, and prove its sufficiency for system coherence. Finally, we propose a global-to-local approach, including a language describing the distributed systems from a global perspective and a projection algorithm, for developing the systems. Given a well-formed global description, a set of peers can be generated automatically. We prove the system composed of these peers satisfies the conditions, that is, it is always coherent and correct for CEH.
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.References
Zorzo A F, Romanovsky A B, Xu J, Randell B, Stroud R J, Welch I. Using coordinated atomic actions to design safety-critical systems: A production cell case study. Softw. Pract. Exper., 1999, 29(8): 677–697.
Capozucca A, Guelfi N, Pelliccione P. The Fault-Tolerant Insulin Pump Therapy. RODIN Book, Springer-Verlag, 2006, pp.59–79.
Beder D M, Romanovsky A B, Randell B, Snow C R, Stroud R J. An application of fault tolerance patterns and coordinated atomic actions to a problem in railway scheduling. SIGOPS Oper. Syst. Rev., October 2000, 34(4): 21–31.
Campbell R H, Randell B. Error recovery in asynchronous systems. IEEE Trans. Softw. Eng., August 1986, 12(8): 811–826.
Banâtre J-P, Issarny V. Exception handling in communication sequential processes. Technical Report 660, INRIA-Rennes, IRISA, 1992.
Xu J, Romanovsky A B, Randell B. Concurrent exception handling and resolution in distributed object systems. IEEE Trans. Parallel and Distributed Systems, October 2000, PDS-11(10): 1019–1032.
Xu J, Randell B, Romanovsky A B, Stroud R J, Zorzo A F, Canver E, von Henke F W. Rigorous development of an embedded fault-tolerant system based on coordinated atomic actions. IEEE Trans. Computers, 2002, 51(2): 164–179.
Vachon J, Buchs D, Buffo M, Marzo G D, Randell S B, Romanovsky S, Stroud R, Xu J. Coala — A formal language for coordinated atomic actions. Technical Report, third year report, ESPRIT Long Term Research Project 20072 on Design for Validation, 1998.
Issarny V. Concurrent exception handling. In Proc. Advances in Exception Handling Techniques, 2001, LNCS 2022, Springer-Verlag, pp.111–127.
Hoare C A R. Communicating Sequential Processes. Prentice Hall, 1985.
Goodenough J B. Exception handling: Issues and a proposed notation. Communications of ACM, December 1975, 18(12): 683–696.
Xu J, Randell B, Romanovsky A B, Rubira C M F, Stroud R J, Wu Z. Fault tolerance in concurrent object-oriented software through coordinated error recovery. In Proc. the 25th Int. Symp. Fault-Tolerant Computing, Pasadena, CA, USA, June 27–30, 1995, pp.499–509.
Qiu Z, Zhao X, Cai C, Yang H. Towards the theoretical foundation of choreography. In Proc. WWW 2007, Banff, Canada, May 8–12, 2007, pp.973–982.
Cai C, Qiu Z, Yang H, Zhao X. Coordinated exception handling in Web service. Technical Report, Institute of Mathematics, Peking University, 2007. Available as Preprint 2007–23, http://www.math.pku.edu.cn:8000/en/preindex.php.
Zhang L, Krintz C, Nagpurkar P. Supporting exception handling for futures in Java. In Proc. the 5th Int. Symp. Principles and Practice of Programming in Java, Lisboa, Portugal, ACM International Conference Proceeding Series, Vol. 272, 2007, pp.175–184.
Randell B. System structure for software fault tolerance. IEEE Trans. Soft. Eng., 1975, SE–1(2): 220–232.
Romanovsky A. Looking ahead in atomic actions with exception handling. In Proc. the 20th Symposium on Reliable Distributed Systems, New Orleans, USA, IEEE Computer Society, Oct. 28–31, 2001, pp.142–151.
Xu J, Romanovsky A B, Randell B. Coordinated exception handling in distributed object systems: From model to system implementation. In Proc. 18th Int. Conf. Distributed Computing Systems, Amsterdam, The Netherlands, May 29, 1998, pp.12–21.
Romanovsky A, Kienzle J. Action-oriented exception handling in cooperative and competitive concurrent object-oriented systems. In Proc. Advances in Exception Handling Techniques, LNCS 2022, Springer, 2001, pp.147–164.
Perry D E, Romanovsky A, Tripathi A. Current trends in exception handling. IEEE Trans. Softw. Eng., 2000, 26(9): 817–819.
Hagen C, Alonso G. Exception handling in workflow management systems. IEEE Trans. Softw. Eng., 2000, 26(10): 943–958.
Tartanoglu F, Issarny V, Romanovsky A B, Lévy N. Coordinated forward error recovery for composite Web services. In Proc. the 22nd Symposium on Reliable Distributed Systems, Florence, Italy, Oct. 6–8, 2003, pp.167–176.
Filho F C, Romanovsky A, Rubira C M F. Verification of coordinated exception handling. In Proc. SAC 2006, Dijon, France, April 23–27, 2006, pp.680–685.
Carbone M, Honda K, Yoshida N, Milner R. A theoretical basis of communication-centred concurrent programming. Technical Report, W3C., 2006, Available at http://www.w3.org/2002/ws/chor/edcopies/theory/note.pdf.
Author information
Authors and Affiliations
Corresponding author
Additional information
This work is supported by the National Natural Science Foundation of China under Grant Nos. 90718002 and 60573161.
Rights and permissions
About this article
Cite this article
Cai, C., Qiu, ZY., Yang, HL. et al. Global-to-Local Approach to Rigorously Developing Distributed System with Exception Handling. J. Comput. Sci. Technol. 24, 238–249 (2009). https://doi.org/10.1007/s11390-009-9220-9
Received:
Revised:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11390-009-9220-9