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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Banatre, J.P., Issarny, V.: Exception Handling in Communication Sequential Processes. Technical Report 660, INRIA-Rennes, IRISA (1992)
Best, E.: Semantics of Sequential and Parallel Programs. Prentice Hall. London New York (1996)
Buhr, P.A., Mok, W.Y.R.: Advanced Exception Handling Mechanisms. IEEE Transactions on Software Engineering, SE-26, 9 (2000)
Campbell, R.H., Randell, B.: Error Recovery in Asynchronous Systems. IEEE Transactions on Software Engineering, SE-12, 8 (1986) 811–826
Cristian, F.: Exception Handling and Tolerance of Software Faults. In Lyu, M.R. (ed.): Software Fault Tolerance. Wiley (1994) 81–108
Enterprise JavaBeans. Specification, v.1.1, Sun Microsystems, Inc. (1999)
Goodenough, J.B.: Exception Handling, Issues and a Proposed Notation. Communications of ACM, 18, 12 (1975) 683–696
Gray, J.N., Reuter, A.: Transaction Processing: Concepts and Techniques. Morgan Kaufmann, San Mateo, California (1993)
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
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
Horning, J.J., Randell, B.: Process Structuring. Computing Surveys, 5 (1974) 69–74
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
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
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
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)
Kim, K.H.: Approaches to Mehcanization of the Conversation Sccheme Based on Monitors. IEEE Transactions on Software Engineering, SE-8, 3 (1982) 189–197
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
Lee, P.A., Anderson, T.: Fault Tolerance: Principles and Practice (1990)
Liskov, B.: Distributed Programming in Argus. Communications of the ACM, 31, 3 (1988) 300–312
Object Management Group Object Transaction Service. Draft 4. OMG. OMG Document (1996)
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
Perry, D.E.: The Inscape Environment. In Proc. of the 11th International Conf. On Software Engineering. Pennsylvania (1989) 2–11
Randell, B.: System Structure for Software Fault Tolerance. IEEE Transactions on Software Engineering, SE-1, 6 (1975) 220–232
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
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)
]Romanovsky, A.: Conversations of Objects. Computer Languages, 21, 3/4 (1995) 147–163
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
Romanovsky, A.: On Structuring Cooperative and Competitive Concurrent Systems. Computer Journal, 42,8 (1999) 627–637
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
Tripathi, A., Van Oosten, J., Miller, R.: Object-Oriented Concurrent Programming Languages and Systems. Journal of Object-Oriented Programming, 12, 7 (1999) 22–29
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
Wellings, A.J., Burns, A.: Implementing Atomic Actions in Ada 95. IEEE Transactions on Software Engineering, SE-23, 2 (1997) 107–123
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
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
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
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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