Abstract
Asynchronous Active Objects (AAOs), primarily exemplified by actors [1], nowadays exist in many forms (various kinds of actors, agents and components) and are more and more used because they fit well the dynamic and asynchronous nature of interactions in many distributed systems. They raise various new issues regarding exception handling for which few operational solutions exist. More precisely, a need exists for a generic, simple and expressive, programmer level, exception handling system that appropriately handles the following main exception handling issues or requirements in the context of AAOs: encapsulation, object autonomy, coordination of concurrent collaborative entities [2], “caller contextualization” [3], asynchronous signaling and handler execution, resolution of concurrent exceptions [4,5], exception criticality [6] and object reactivity.
This paper presents the specification of an evolution of the Sage exception handling system [7], which provides solutions to those issues in the context of systems developed with active objects using one way asynchronous communications and interacting via the request / response protocol. Such a context, in which synchronizations constraints are, when needed, handled at the application level, allows for a very generic view of what could be done regarding exception handling in all systems that use active objects. The Sage solution is original and provides a good compromise between expressive-power and simplicity.
Keywords
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Hewitt, C., Peter Bishop, R.S.: A universal modular actor formalism for artificial intelligence. In: Proceedings of the International Joint Conference on Artificial Intelligence, pp. 235–246 (1973)
Randell, B., Romanovsky, A., Rubira-Calsavara, C., Stroud, R., Wu, Z., Xu, J.: From recovery blocks to concurrent atomic actions. In: Predictably Dependable Computing Systems. ESPRIT Basic Research Series, pp. 87–101 (1995)
Dony, C.: Exception handling and object-oriented programming: towards a synthesis. ACM SIGPLAN Notices 25(10), 322–330 (1990); Meyrowitz, N. (ed.) OOPSLA ECOOP 1990 Proceedings
Issarny, V.: An exception handling model for parallel programming and its verification. In: Proceedings of the ACM SIGSOFT 1991 Conference on Software for Critical Systems, New Orleans, Louisianna, USA, pp. 92–100 (1991)
Romanovsky, A.: Practical exception handling and resolution in concurrent programs. Computer Languages 23(1), 43–58 (1997)
Lacourte, S.: Exceptions in Guide, an object-oriented language for distributed applications. In: America, P. (ed.) ECOOP 1991. LNCS, vol. 512, pp. 268–287. Springer, Heidelberg (1991)
Souchon, F., Dony, C., Urtado, C., Vauttier, S.: Improving 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, pp. 167–188. Springer, Heidelberg (2004)
Briot, J.-P., Guerraoui, R.: A classification of various approaches for object-based parallel and distributed programming. In: Padget, J.A. (ed.) Collaboration between Human and Artificial Societies 1997. LNCS, vol. 1624, pp. 3–29. Springer, Heidelberg (1999)
Lavender, R.G., Schmidt, D.C.: Active object: An object behavioral pattern for concurrent programming. In: Coplien, Vlissides, Kerth (eds.) Pattern Languages of Program Design. Addison-Wesley, Reading (1996)
FIPA: Foundation For Intelligent Physical Agents: Request Interaction Protocol Specification (2002)
Ferber, J.: Multi-Agent Systems: An Introduction to Distributed Artificial Intelligence, 1st edn. Addison-Wesley Publishing company, Reading (2005)
Clement Jonquet, S.A.C.: The strobe model: Dynamic service generation on the grid. Applied Artificial Intelligence Journal Special issue on Learning Grid Services 19(9-10), 967–1013 (2005)
Dedecker, J., Cutsem, T.V., Mostinckx, S., D’Hondt, T., Meuter, W.D.: Ambient-oriented programming in ambienttalk. In: Thomas, D. (ed.) ECOOP 2006. LNCS, vol. 4067, pp. 230–254. Springer, Heidelberg (2006)
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)
Theriault, D.: A primer for the Act-1 language. Technical Report AI Memo 672, MIT Artificial Intelligence Laboratory (1982)
Halstead, R., Loaiza, J.: Exception handling in multilisp. In: 1985 Int’l. Conf. on Parallel Processing, pp. 822–830 (1985)
Campbell, R., Randell, B.: Error recovery in asynchronous systems. IEEE Transactions on Software Engineering (SE) SE-12(8), 811–826 (1986)
Gärtner, F.C.: Fundamentals of fault tolerant distributed computing in asynchronous environments. ACMCS 31(1), 1–26 (1999)
Keen, A.W., Olsson, R.A.: Exception handling during asynchronous method invocation. In: Monien, B., Feldmann, R.L. (eds.) Euro-Par 2002. LNCS, vol. 2400, pp. 656–660. Springer, Heidelberg (2002)
Van Roy, P.: On the separation of concerns in distributed programming: Application to distribution structure and fault tolerance in Mozart. In: Fourth International Workshop on Parallel and Distributed Computing for Symbolic and Irregular Applications (PDSIA 1999), Tohoku University, Sendai, Japan. World Scientific, Singapore (1999)
Campéas, A., Dony, C., Urtado, C., Vauttier, S.: Distributed exception handling: ideas, lessons and issues with recent exception handling systems. In: Guelfi, N. (ed.) RISE 2004. LNCS, vol. 3475, pp. 82–92. Springer, Heidelberg (2005)
Carlsson, R., Gustavsson, B., Nyblom, P.: Erlang: Exception handling revisited. In: Proceedings of the Third ACM SIGPLAN Erlang Workshop (2004)
Iliasov, A., Romanovsky, A.: Exception handling in coordination-based mobile environments. In: Proceedings of 29th IEEE International Computer Software and Applications Conference (COMPSAC 2005), Edinburgh, Scotland, UK, July 25-28, pp. 341–350 (2005)
Klein, M., Dellarocas, C.: Exception handling in agent systems. In: Etzioni, O., Müller, J.P., Bradshaw, J.M. (eds.) Proceedings of the Third Annual Conference on Autonomous Agents (AGENTS 1999), pp. 62–68. ACM Press, New York (1999)
Klein, M., Dellarocas, C.: Towards a systematic repository of knowledge about managing multi-agent system exceptions, ases working paper ases-wp-2000-01 (2000)
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, pp. 128–146. Springer, Heidelberg (2001)
Miller, R., Tripathi, A.: The guardian model and primitives for exception handling in distributed systems. IEEE Trans. Software Eng. 30(12), 1008–1022 (2004)
Dony, C.: An object-oriented exception handling system for an object-oriented language. In: Gjessing, S., Nygaard, K. (eds.) ECOOP 1988. LNCS, vol. 322, pp. 146–161. Springer, Heidelberg (1988)
Issarny, V.: An exception handling mechanism for parallel object-oriented programming: Towards the design of reusable, and robust distributed software. Journal of Object-Oriented Programming 6(6), 29–39 (1993)
Souchon, F., Urtado, C., Vauttier, S., Dony, C.: Exception handling in component-based systems: a first study. In: Romanovsky, A., Dony, C., Knudsen, J., Tripathi, A. (eds.) ECOOP 2003. LNCS, vol. 2743, pp. 84–91. Springer, Heidelberg (2003)
Miller, R., Tripathi, A.R.: Issues with exception handling in object-oriented systems. In: Aksit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 85–103. Springer, Heidelberg (1997)
Dellarocas, C.: Toward exception handling infrastructures for component-based software. In: Proceedings of the International Workshop on Component-based Software Engineering, 20th International Conference on Software Engineering (ICSE), Kyoto, Japan, April 25-26 (1998)
Levin, R.: Program structures for exceptinal condition handling. Phd dissertation. Dept. Comput. Sci. Carnegie-Mellon University, Pittsburg (1977)
Knudsen, J.L.: Fault Tolerance and Exception Handling in BETA. In: Romanovsky, A., Dony, C., Knudsen, J.L., Tripathi, A.R. (eds.) ECOOP-WS 2000. LNCS, vol. 2022, p. 1. Springer, Heidelberg (2001)
Burns, A., Randell, B., Romanovsky, A., Stroud, R.J., Wellings, A.J., Xu, J.: Temporal constraints and exception handling in object-oriented distributed systems. Design for Validation (DeVa) - Third Year Report, Esprit LTR Project 20072 - DeVa (1998)
Tartanoglu, F., Issarny, V., Levy, N., Romanovsky, A.: Dependability in the web service architecture (2002)
Pitman, K.: Error/condition handling. Technical report, Contribution to WG16. Revision 18.Propositions for ISO-LISP. AFNOR, ISO/IEC JTC1/SC 22/WG 16N15 (April 1988)
Goodenough, J.B.: Exception handling: Issues and a proposed notation. Commun. ACM 18(12), 683–696 (1975)
Meyer, B.: Disciplined exceptions. Technical report tr-ei-22/ex, Interactive Software Engineering, Goleta, CA (1988)
Issarny, V.: Concurrent exception handling. In: Romanovsky, A., Dony, C., Knudsen, J.L., Tripathi, A.R. (eds.) ECOOP-WS 2000. LNCS, vol. 2022, pp. 111–127. Springer, Heidelberg (2001)
Randell, B., Romanovsky, A., Stroud, R.J., Xu, J., Zorzo, A.F.: Coordinated Atomic Actions: from Concept to Implementation. Technical Report 595, Department of Computing Science, University of Newcastle upon Tyne (1997)
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)
Caromel, D., Henrio, L., Serpette, B.: Asynchronous and deterministic objects. In: Proceedings of the 31st ACM Symposium on Principles of Programming Languages. ACM Press, New York (to appear 2004)
Rintala, M.: Handling multiple concurrent exceptions in C++ using futures, kokoelmassa romanovsky. In: Developing Systems that Handle Exceptions, Proceedings of ECOOP 2005 Workshop on Exception Handling in Object Oriented Systems. ACM Press, New York (2005)
Romanovsky, A.B.: Conversations of objects. Computer Languages 21(3/4), 147–163 (1995)
Kienzle, J.: Open Multithreaded Transactions - A Transaction Model for Concurrent Object-Oriented Programming. Kluwer Academic Publishers, Dordrecht (2003)
Guelfi, N., Razavi, R., Romanovsky, A., Vandenbergh, S.: Drip catalyst: An MDE/MDA method for fault-tolerant distributed software families development. In: Proceedings of the OOPSLA and GPCE Workshop on Best Practices for Model Driven Software Development (2004)
Pitman, K.M.: 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, pp. 39–59. Springer, Heidelberg (2001)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2006 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Dony, C., Urtado, C., Vauttier, S. (2006). Exception Handling and Asynchronous Active Objects: Issues and Proposal. In: Dony, C., Knudsen, J.L., Romanovsky, A., Tripathi, A. (eds) Advanced Topics in Exception Handling Techniques. Lecture Notes in Computer Science, vol 4119. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11818502_5
Download citation
DOI: https://doi.org/10.1007/11818502_5
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-37443-5
Online ISBN: 978-3-540-37445-9
eBook Packages: Computer ScienceComputer Science (R0)