Abstract
Exception handling is an important feature of the tool-set that enables the building of fault-tolerant concurrent and distributed programs. While transactional distributed systems have been studied for a long time, distributed exception handling techniques are only now evolving towards maturity, especially within asynchronous multi agents or component based systems. In this paper, we review two recent proposals for distributed exceptions handling systems (DEHS), namely SaGE and Guardian, in the light of what the Erlang programming language brings to the table : native constructs for concurrency, distributedness and exception handling across processes. We expand on the merits and possible drawbacks of these systems. We advocate the need to introduce the notion of resumption, an often downplayed feature of EHSs, to modern day DEHS, in order to address the problem of multi agent systems facing the “real world”.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Weinreb, D.L.: Signalling and handling conditions. Technical report, Symbolics, Inc., Cambridge, MA (1983)
Koenig, A.R., Stroustrup, B.: Exception handling for C++. In: Proceedings C++ at Work Conference (1989)
Pitman, K.: Exceptional situations in lisp. In: EUROPAL 1990 (1990)
Dony, C.: A fully object-oriented exception handling system: Rationale and smalltalk implementation. In: Romanovsky, A., Dony, C., Knudsen, J.L., Tripathi, A.R. (eds.) ECOOP-WS 2000. LNCS, vol. 2022, p. 18. Springer, Heidelberg (2001)
Romanovsky, A., Dony, C., Knudsen, J.L., Tripathi, A.: Advances in Exception Handling Techniques. LNCS, vol. 2022. Springer, Heidelberg (2001)
Armstrong, J.: Making Reliable Distributed Systems in the presence of Software Errors. PhD thesis (2003)
Conchon, S., Le Fessant, F.: Jocaml: mobile agents for objective caml (1999)
Peter Van Roy, S.H.: Mozart, a programming system for agents applications (1999)
Souchon, F., Dony, C., Urtado, C., Vauttier, S.: A proposition for exception handling in multi-agent systems. In: Lucena, C., Garcia, A., Romanovsky, A., Castro, J., Alencar, P.S.C. (eds.) SELMAS 2003. LNCS, vol. 2940. Springer, Heidelberg (2004)
Souchon, F., Vauttier, S., Dony, C., Vrtado, C.: Fiabilité des applications multi-agents: le systéme de gestion d’exception sage (2004)
Tripathi, A., Miller, R.: Exception handling in agent-oriented systems. In: Romanovsky, A., Dony, C., Knudsen, J.L., Tripathi, A.R. (eds.) ECOOP-WS 2000. LNCS, vol. 2022, p. 128. Springer, Heidelberg (2001)
Miller, R., Tripathi, A.: Primitives and mechanisms of the guardian model for exception handling in distributed systems. In: Cardelli, L. (ed.) ECOOP 2003. LNCS, vol. 2743. Springer, Heidelberg (2003)
Miller, R.: The Guardian Model for Exception Handling in Distributed Systems. PhD thesis (2003)
Ferber, J.: Multi-Agent Systems: An Introduction to Distributed Artificial Intelligence, 1st edn., Addison-Wesley Pub. Co., Reading (1999)
Goodenough, J.B.: Exception handling: Issues and a proposed notation. Communications of the ACM 18, 683–696 (1975)
Ichbiah, J., Barnes, J.G.P., Heliard, J.-C., Krieg-Brueckner, B., Roubine, O., Wichmann, B.A.: Rationale for the design of the ada programming language. ACM Sigplan Notices 14(6B) (1979)
Sun Microsystems Mountain View, Calif.: Java 2 Platform, Standard Edition, J2SE (2004), http://java.sun.com/j2se
Jones, S.P.: Tackling the awkward squad: monadic input/output, concurrency, exceptions and foreign-language calls in haskell (2002)
Pitman, K.: Condition handling in the lisp language family. In: Romanovsky, A., Dony, C., Knudsen, J.L., Tripathi, A.R. (eds.) ECOOP-WS 2000. LNCS, vol. 2022, p. 39. Springer, Heidelberg (2001)
Dony, C.: Exception handling and object-oriented programming: towards a synthesis. ACM SIGPLAN Notices 25, 322–330 (1990); In: Meyrowitz, N. (ed.) OOPSLA/ECOOP 1990 Proceedings (1990)
Romanovsky, A.B., Kienzle, J.: Action-oriented exception handling in cooperative and competitive concurrent object-oriented systems. In: Romanovsky, A., Dony, C., Knudsen, J.L., Tripathi, A.R. (eds.) ECOOP-WS 2000. LNCS, vol. 2022, pp. 147–164. Springer, Heidelberg (2001)
Romanovsky, A.B.: Conversations of objects. Computer Languages 21, 147–163 (1995)
Wu, Z., Randell, B., Romanovsky, A., Rubira, C., Stroud, R., Xu, J.: From recovery blocks to concurrent atomic actions. In: Predictably Dependable Computing Systems. ESPRIT Basic Research Series, pp. 87–101 (1995)
Romanovsky, A., Kienzle, J.: Action-oriented exception handling in cooperative and competitive object-oriented systems. In: Romanovsky, A., Dony, C., Knudsen, J.L., Tripathi, A.R. (eds.) ECOOP-WS 2000. LNCS, vol. 2022, p. 147. Springer, Heidelberg (2001)
Liskov, B.: Distributed programming in argus. Communications of the ACM 31(3), 300–312 (1988)
Jacques Ferber, O.G.: Madkit: Organizing heterogeneity with groups in a platform for multiple multi-agent systems (1997)
Java open application server (JOnAS) 4.1: A J2EE platform (2004), http://www.objectweb.org/jonas/current/doc/JOnASWP.html
Halstead, R., Loaiza, J.: Exception handling in multilisp. In: 1985 Int’l. Conf. on Parallel Processing, pp. 822–830 (1985)
Issarny, V.: Concurrent exception handling. In: Advances in Exception Handling Techniques (2001)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2005 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Campéas, A., Dony, C., Urtado, C., Vauttier, S. (2005). Distributed Exception Handling: Ideas, Lessons and Issues with Recent Exception Handling Systems. In: Guelfi, N. (eds) Rapid Integration of Software Engineering Techniques. RISE 2004. Lecture Notes in Computer Science, vol 3475. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11423331_8
Download citation
DOI: https://doi.org/10.1007/11423331_8
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-25812-4
Online ISBN: 978-3-540-32039-5
eBook Packages: Computer ScienceComputer Science (R0)