Abstract
Modern object-oriented software is inherently complex and has to cope with an increasing number of exceptional conditions to meet the system’s dependability requirements. In this context, the goal of our work is twofold: (i) to present an exception handling model which is suitable for developing dependable object-oriented software, and (ii) to provide a systematic approach to incorporating exception handling during the design stage, that is, from the architectural design stage to the detailed design stage. The proposed approach employs the computational reflection concept to achieve a clear and transparent separation of concerns between the application’s functionality and the exception handling facilities. This separation minimizes the complexity caused by the handling of abnormal behavior and facilitates the task of building dependable software with better readability, maintainability and reusability.
Acknowledgments
This work has been supported by CNPq/Brazil under grant No. 141457/2000-7 for Alessandro, and grant No. 351592/97-0 for Cecìlia. She is also supported by the FINEP “Advanced Information Systems” Project (PRONEX-SAI-7697102200).
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
Avizienis, A.: Toward Systematic Design of Fault-Tolerant Systems. Computer 30(4):51–58 (1997)
Beder, D., Romanovsky, A., Randel, A., Snow, C., Stroud, R.: An Application of Fault Tolerance Patterns and Coordinated Atomic Actions to a Problem in Railway Scheduling. ACM Operating System Review, 34(4):21–31 (2000)
Borgida, A.: Language Features for Flexible Handling of Exceptions in Information Systems. ACM Transactions on Database Systems, 10(4):565–603 (1985)
Borgida, A.: Exceptions in Object-Oriented Languages. ACM Sigplan Notices, 21(10):107–119 (1986)
Buschmann, F., Meunier, R., Rohnert, H., Sommerlad, P., Stal, M.: A System of Patterns: Patterns-Oriented Software. John Wiley & Sons, (1996)
Campbell, R., Randell, B.: Error Recovery in Asynchronous Systems. IEEE Trans-actions on Software Engineering, 12(8):811–826 (1986)
Cristian, F.: Exception Handling and Software Fault Tolerance. IEEE Transactions on Computers, C-31(6):531–540, (1982)
Cui, Q., Gannon, J.: Data-Oriented Exception Handling. IEEE Transactions on Software Engineering, 18(5):393–401, (1992)
Dony, C.: Exception Handling and Object-Oriented Programming: Towards a Synthesis. ACM Sigplan Notices, 25(10): 322–330, (1990)
de Lemos, R., Romanovsky, A.: Exception Handling in the Software Lifecycle. Int. Journal of Computer Systems Science and Engineering, (Accepted in 2000)
Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns-Elements of Reusable Object-Oriented Software. Addison Wesley Publishing Company, (1995)
Garcia, A.: Exception Handling in Concurrent Object-Oriented Software. Master’s thesis, Institute of Computing, University of Campinas, Brazil, March (2000)
Garcia, A., An Exception Handling Mechanism for Developing Dependable Object-Oriented Software Based on a Meta-Level Approach. Proceedings of the 10th IEEE ISSRE, USA, November (1999), 52–61
Garcia, A., Beder, D., Rubira, C.: An Exception Handling Software Architecture for Developing Fault-Tolerant Software. Proceedings of the 5th IEEE HASE, USA, November (2000), 311–320
Garcia, A., Rubira, C., Romanovsky, A., Xu, J.: A Comparative Study of Exception Handling Mechanisms for Building Dependable Object-Oriented Software. Technical Report CS-TR-714, Comput. Dept., Univ. of Newcastle upon Tyne, (2000)
Goodenough, J.: Exception Handling: Issues and a Proposed Notation. Communi-cations of the ACM, 18(12): 683–696, (1975)
Liskov, B., Snyder, A.: Exception Handling in CLU. IEEE Transactions on Software Engineering, 5(6):546–558, (1979)
Maes, P.: Concepts and Experiments in Computacional Reflection. ACM SIG-PLAN Notices, 22(12):147–155, (1987)
Moon, D., Weinreb, D.: Signalling and Handling Conditions. LISP Machine Manual, 4th Edition, MIT Artif. Intelligence Lab, Cambridge, Massachussets, (1983)
Oliva, A., Buzato, L.: Composition of Meta-Objects in Guaraná. Proceedings of the Workshop on Reflective Programming in C++ and Java, OOPSLA’98, Vancouver, Canada, (1998), 86–90
Pitman, K.: Error/Condition Handling. Contribution to WG16, revision 18, Proposals for ISO-LISP. AFNOR, ISO/IEC JTC1/SC 22/WG 16N15, (1988)
Shaw, M. and Garlan, D.: Software Architecture-Perspectives on an Emerging Discipline. Prentice Hall, (1996)
Sommervile, I.: Software Engineering. Fifth Edition, Addison-Wesley, (1995)
van Lamsweerde, A., Letier, E.: Handling Obstacles in Goal-Oriented Requirements Engineering. IEEE Trans. on Software Engineering, 26(10):978–1005, (2000)
Yemini, S., Berry, D.: A Modular Verifiable Exception Handling Mechanism. ACM Transactions on Programming Languages and Systems, 7(2):214–243, (1985)
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
Garcia, A.F., Rubira, C.M.F. (2001). An Architectural-Based Reflective Approach to Incorporating Exception Handling into Dependable Software. 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_12
Download citation
DOI: https://doi.org/10.1007/3-540-45407-1_12
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