Skip to main content

Action-Oriented Exception Handling in Cooperative and Competitive Concurrent Object-Oriented Systems

  • Chapter
  • First Online:
Advances in Exception Handling Techniques

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2022))

Abstract

The chief aim of this survey is to discuss exception handling models which have been developed for concurrent object systems. In conducting this discussion we rely on the following fundamental principles: exception handling should be associated with structuring techniques; concurrent systems require exception handling which is different from that used in sequential systems; concurrent systems are best structured out of (nested) actions; atomicity of actions is crucial for developing complex systems. In this survey we adhere to the well-known classification of concurrent systems, developed in the 70s by C.A.R. Hoare, J.J. Horning and B. Randell, into cooperative, competitive and disjoint ones. Competitive systems are structured using atomic transactions. Atomic actions are used for structuring cooperative systems. Complex systems in which components can compete and cooperate are structured using Coordinated Atomic actions. The focus of the survey is on outlining models and schemes which combine these action-based structuring approaches with exception handling. In conclusion we emphasise that exception handling models should be adequate to the system development paradigm and structuring approaches used.

Acknowledgments

Alexander Romanovsky has been supported by the EC IST RTD Project on Dependable Systems of Systems (DSoS). Jörg Kienzle has been partially supported by the Swiss National Science Foundation project FN 2000-057187.99/1.

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. Banatre, J.P., Issarny, V.: Exception Handling in Communication Sequential Processes. Technical Report 660, INRIA-Rennes, IRISA (1992)

    Google Scholar 

  2. Best, E.: Semantics of Sequential and Parallel Programs. Prentice Hall. London New York (1996)

    MATH  Google Scholar 

  3. Buhr, P.A., Mok, W.Y.R.: Advanced Exception Handling Mechanisms. IEEE Transactions on Software Engineering, SE-26, 9 (2000)

    Google Scholar 

  4. Campbell, R.H., Randell, B.: Error Recovery in Asynchronous Systems. IEEE Transactions on Software Engineering, SE-12, 8 (1986) 811–826

    Google Scholar 

  5. Cristian, F.: Exception Handling and Tolerance of Software Faults. In Lyu, M.R. (ed.): Software Fault Tolerance. Wiley (1994) 81–108

    Google Scholar 

  6. Enterprise JavaBeans. Specification, v.1.1, Sun Microsystems, Inc. (1999)

    Google Scholar 

  7. Goodenough, J.B.: Exception Handling, Issues and a Proposed Notation. Communications of ACM, 18, 12 (1975) 683–696

    Article  MATH  MathSciNet  Google Scholar 

  8. Gray, J.N., Reuter, A.: Transaction Processing: Concepts and Techniques. Morgan Kaufmann, San Mateo, California (1993)

    MATH  Google Scholar 

  9. Haines, N., Kindred, D., Morrisett, J.G., Nettles, A.M., Wing, J.M.: Composing First-Class Transactions. ACM Transactions on Programming Languages and Systems, 16, 6 (1994) 1719–1736

    Article  Google Scholar 

  10. Hoare, C.A.R.: Parallel Programming: an Axiomatic Approach. In Goos, G., Harmanis, J. (eds.): Language Hierarchies and Interfaces. Lecture Notes in Computer Science, Vol. 46. Springer-Verlag, Berlin Heidelberg New York (1976) 11–42

    Google Scholar 

  11. Horning, J.J., Randell, B.: Process Structuring. Computing Surveys, 5 (1974) 69–74

    Google Scholar 

  12. Ichisugi, Y., Yonezawa. A.: Exception Handling and Real Time Features in Object-Oriented Concurrent Language. In Yonezawa, A., Ito, T. (eds.): Concurrency: Theory, Language, and Architecture. Lecture Notes in Computer Science, Vol. 491. Springer-Verlag, Berlin Heidelberg New York (1991) 92–109

    Google Scholar 

  13. Issarny, V.: An Exception Handling Mechanism for Parallel Object-Oriented Programming: Towards Reusable, Robust Distributed Software. Journal of Object-Oriented Programming, 6, 6 (1993) 29–40

    Google Scholar 

  14. Jimenez-Peris, R., Patino-Martinez, M., Arevalo, S.: TransLib: An Ada 95 Object Oriented Framework for Building Transactional Applications. Computer Systems: Science & Engineering Journal, 15, 1 (2000) 113–125

    Google Scholar 

  15. Kienzle, J., Romanovsky, A.:Combining Tasking and Transactions: Open Multithreaded Transactions. Presented at the 10th Int. Real-Time Ada Workshop, Avila, Spain (2000) (to be published in AdaLetters, 2000)

    Google Scholar 

  16. Kim, K.H.: Approaches to Mehcanization of the Conversation Sccheme Based on Monitors. IEEE Transactions on Software Engineering, SE-8, 3 (1982) 189–197

    Article  Google Scholar 

  17. Kurki-Suonio, R., Mikkonen, T.: Liberating object-oriented modeling from programming-level abstractions. In Bosch, J., Mitchell, S. (eds): Object-Oriented Technology: ECOOP’97 Workshop Reader, Lecture Notes in Computer Science, Vol. 1357. Springer-Verlag, Berlin Heidelberg New York (1998) 195–199

    Google Scholar 

  18. Lee, P.A., Anderson, T.: Fault Tolerance: Principles and Practice (1990)

    Google Scholar 

  19. Liskov, B.: Distributed Programming in Argus. Communications of the ACM, 31, 3 (1988) 300–312

    Article  MathSciNet  Google Scholar 

  20. Object Management Group Object Transaction Service. Draft 4. OMG. OMG Document (1996)

    Google Scholar 

  21. Parrington, G.D., Shrivastava, S.K., Wheater, S.M., Little, M.C.: The Design and Implementation of Arjuna. USENIX Computing Systems Journal, 8, 3 (1995) 255–308

    Google Scholar 

  22. Perry, D.E.: The Inscape Environment. In Proc. of the 11th International Conf. On Software Engineering. Pennsylvania (1989) 2–11

    Google Scholar 

  23. Randell, B.: System Structure for Software Fault Tolerance. IEEE Transactions on Software Engineering, SE-1, 6 (1975) 220–232

    Google Scholar 

  24. Randell, B., Romanovsky, A., Rubira, C., Stroud, R., Wu, Z., Xu, J.: From Recovery Blocks to Coordinated Atomic Actions. In Randell, B., Laprie, J.-C., Kopetz H., Littlewood, B. (eds.): Predictably Dependable Computer Systems. Springer-Verlag, Berlin Heidelberg New York (1995) 87–101

    Google Scholar 

  25. Randell, B., Romanovsky, A., Stroud, R.J., Xu, J., Zorzo, A.F.: Coordinated Atomic Actions: from Concept to Implementation. Computing Dept., University of Newcastle upon Tyne. Technical Report 595 (1997)

    Google Scholar 

  26. ]Romanovsky, A.: Conversations of Objects. Computer Languages, 21, 3/4 (1995) 147–163

    Article  Google Scholar 

  27. Romanovsky, A., Xu, J., Randell, B.: Exception Handling and Resolution in Distributed Object-Oriented Systems, in Proc. of the 16th International Conference on Distributed Computing Systems, Hong Kong (1996) 545–552

    Google Scholar 

  28. Romanovsky, A.: On Structuring Cooperative and Competitive Concurrent Systems. Computer Journal, 42,8 (1999) 627–637

    Article  MATH  Google Scholar 

  29. Thomsen, B., Leth, L., Prasad, S., Kuo, T.-S., Kramer, A., Knabe, F., Giacalone, A.: Facile Antigua Release-Programming Guide. TR ECRC-93-20, ECRC GmbH, Germany (1993) http://www.ecrc.de/research/projects/facile/report/report.html

    Google Scholar 

  30. Tripathi, A., Van Oosten, J., Miller, R.: Object-Oriented Concurrent Programming Languages and Systems. Journal of Object-Oriented Programming, 12, 7 (1999) 22–29

    Google Scholar 

  31. Van Roy, P., Haridi, S., Brand, P., Smolka, G., Mehl, M., Scheidhauer, R.: Mobile Objects in Distributed Oz. ACM Transactions on Programming Languages and Systems, 19, 5 (1997) 804–851

    Article  Google Scholar 

  32. Wellings, A.J., Burns, A.: Implementing Atomic Actions in Ada 95. IEEE Transactions on Software Engineering, SE-23, 2 (1997) 107–123

    Article  Google Scholar 

  33. Xu, J., Randell, B., Romanovsky, A., Rubira, C., Stroud, R., Wu, Z.: Fault tolerance in concurrent object-oriented software through coordinated error recovery, in Proc. of the 25th International Symp. on Fault-Tolerant Computing. Pasadena, California (1995) 499–509

    Google Scholar 

  34. Xu, J., Randell, B., Romanovsky, A., Stroud, R. J., Zorzo, A. F., Canver, E., von Henke, F.: Rigorous Development of a Safety-Critical System Based on Coordinated Atomic Actions, in Proc. of the 29th International Symp. on Fault-Tolerant Computing, Madison, (1999) 68–75

    Google Scholar 

  35. Xu, J., Romanovsky, A., Randell, B.: Concurrent Exception Handling and Resolution in Distributed Object Systems. IEEE Transactions on Parallel and Distributed Systems. TPDS-11, 11 (2000) 1019–1032

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2001 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Romanovsky, A., Kienzle, J. (2001). Action-Oriented Exception Handling in Cooperative and Competitive Concurrent Object-Oriented Systems. In: Romanovsky, A., Dony, C., Knudsen, J.L., Tripathi, A. (eds) Advances in Exception Handling Techniques. Lecture Notes in Computer Science, vol 2022. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45407-1_9

Download citation

  • DOI: https://doi.org/10.1007/3-540-45407-1_9

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-41952-5

  • Online ISBN: 978-3-540-45407-6

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics