Skip to main content

Exception Handling and Asynchronous Active Objects: Issues and Proposal

  • Chapter
Advanced Topics in Exception Handling Techniques

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 4119))

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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)

    Google Scholar 

  2. 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)

    Google Scholar 

  3. 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

    Article  Google Scholar 

  4. 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)

    Google Scholar 

  5. Romanovsky, A.: Practical exception handling and resolution in concurrent programs. Computer Languages 23(1), 43–58 (1997)

    Article  Google Scholar 

  6. 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)

    Chapter  Google Scholar 

  7. 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)

    Chapter  Google Scholar 

  8. 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)

    Chapter  Google Scholar 

  9. 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)

    Google Scholar 

  10. FIPA: Foundation For Intelligent Physical Agents: Request Interaction Protocol Specification (2002)

    Google Scholar 

  11. Ferber, J.: Multi-Agent Systems: An Introduction to Distributed Artificial Intelligence, 1st edn. Addison-Wesley Publishing company, Reading (2005)

    Google Scholar 

  12. 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)

    Google Scholar 

  13. 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)

    Chapter  Google Scholar 

  14. 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)

    Chapter  Google Scholar 

  15. Theriault, D.: A primer for the Act-1 language. Technical Report AI Memo 672, MIT Artificial Intelligence Laboratory (1982)

    Google Scholar 

  16. Halstead, R., Loaiza, J.: Exception handling in multilisp. In: 1985 Int’l. Conf. on Parallel Processing, pp. 822–830 (1985)

    Google Scholar 

  17. Campbell, R., Randell, B.: Error recovery in asynchronous systems. IEEE Transactions on Software Engineering (SE) SE-12(8), 811–826 (1986)

    Google Scholar 

  18. Gärtner, F.C.: Fundamentals of fault tolerant distributed computing in asynchronous environments. ACMCS 31(1), 1–26 (1999)

    Google Scholar 

  19. 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)

    Chapter  Google Scholar 

  20. 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)

    Google Scholar 

  21. 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)

    Chapter  Google Scholar 

  22. Carlsson, R., Gustavsson, B., Nyblom, P.: Erlang: Exception handling revisited. In: Proceedings of the Third ACM SIGPLAN Erlang Workshop (2004)

    Google Scholar 

  23. 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)

    Google Scholar 

  24. 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)

    Chapter  Google Scholar 

  25. Klein, M., Dellarocas, C.: Towards a systematic repository of knowledge about managing multi-agent system exceptions, ases working paper ases-wp-2000-01 (2000)

    Google Scholar 

  26. 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)

    Chapter  Google Scholar 

  27. Miller, R., Tripathi, A.: The guardian model and primitives for exception handling in distributed systems. IEEE Trans. Software Eng. 30(12), 1008–1022 (2004)

    Article  Google Scholar 

  28. 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)

    Chapter  Google Scholar 

  29. 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)

    Google Scholar 

  30. 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)

    Google Scholar 

  31. 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)

    Chapter  Google Scholar 

  32. 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)

    Google Scholar 

  33. Levin, R.: Program structures for exceptinal condition handling. Phd dissertation. Dept. Comput. Sci. Carnegie-Mellon University, Pittsburg (1977)

    Google Scholar 

  34. 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)

    Chapter  Google Scholar 

  35. 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)

    Google Scholar 

  36. Tartanoglu, F., Issarny, V., Levy, N., Romanovsky, A.: Dependability in the web service architecture (2002)

    Google Scholar 

  37. 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)

    Google Scholar 

  38. Goodenough, J.B.: Exception handling: Issues and a proposed notation. Commun. ACM 18(12), 683–696 (1975)

    Article  MathSciNet  MATH  Google Scholar 

  39. Meyer, B.: Disciplined exceptions. Technical report tr-ei-22/ex, Interactive Software Engineering, Goleta, CA (1988)

    Google Scholar 

  40. 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)

    Chapter  Google Scholar 

  41. 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)

    Google Scholar 

  42. 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)

    Google Scholar 

  43. 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)

    Google Scholar 

  44. 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)

    Google Scholar 

  45. Romanovsky, A.B.: Conversations of objects. Computer Languages 21(3/4), 147–163 (1995)

    Article  Google Scholar 

  46. Kienzle, J.: Open Multithreaded Transactions - A Transaction Model for Concurrent Object-Oriented Programming. Kluwer Academic Publishers, Dordrecht (2003)

    MATH  Google Scholar 

  47. 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)

    Google Scholar 

  48. 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)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics