Towards architecture-level middleware-enabled exception handling of component-based systems

Exception handling is a practical and important way to improve the availability and reliability of a component-based system. The classical code-level exception handling approach is usually applied to the inside of a component, while some exceptions can only or properly be handled outside of the components. In this paper, we propose a middleware-enabled approach for exception handling at architecture level. Developers specify what exceptions should be handled and how to handle them with the support of middleware in an exception handling model, which is complementary to software architecture of the target system. This model will be interpreted at runtime by a middleware-enabled exception handling framework, which is responsible for catching and handling the specified exceptions mainly based on the common mechanisms provided by the middleware. The approach is demonstrated in JEE application servers and benchmarks.

[1]  Ling Yuan,et al.  Generic Fault Tolerant Software Architecture Reasoning and Customization , 2006, IEEE Transactions on Reliability.

[2]  Cecília M. F. Rubira,et al.  A fault-tolerant architectural approach for dependable systems , 2006, IEEE Software.

[3]  Gang Huang,et al.  Selecting Fault Tolerant Styles for Third-Party Components with Model Checking Support , 2009, CBSE.

[4]  Hui Song,et al.  Supporting runtime software architecture: A bidirectional-transformation-based approach , 2011, J. Syst. Softw..

[5]  Zhao Liu,et al.  The Model and Implementation of Component Array Container , 2006, 30th Annual International Computer Software and Applications Conference (COMPSAC'06).

[6]  Hemma Prafullchandra,et al.  Going Beyond the Sandbox: An Overview of the New Security Architecture in the Java Development Kit 1.2 , 1997, USENIX Symposium on Internet Technologies and Systems.

[7]  Rebecca Wirfs-Brock Toward Exception-Handling Best Practices and Patterns , 2006, IEEE Software.

[8]  Gang Huang,et al.  Runtime recovery and manipulation of software architecture of component-based systems , 2006, Automated Software Engineering.

[9]  Valérie Issarny,et al.  Architecture-based exception handling , 2001, Proceedings of the 34th Annual Hawaii International Conference on System Sciences.

[10]  Hong Mei,et al.  Failure Analysis of Open Source J2EE Application Servers , 2007 .

[11]  Carl E. Landwehr,et al.  Basic concepts and taxonomy of dependable and secure computing , 2004, IEEE Transactions on Dependable and Secure Computing.

[12]  Benjamin J. Shannon,et al.  Java 2 platform enterprise edition specification , 2001 .

[13]  Alexander L. Wolf,et al.  Acm Sigsoft Software Engineering Notes Vol 17 No 4 Foundations for the Study of Software Architecture , 2022 .

[14]  Qian Cui,et al.  Data-Oriented Exception Handling , 1992, IEEE Trans. Software Eng..

[15]  P. Cochat,et al.  Et al , 2008, Archives de pediatrie : organe officiel de la Societe francaise de pediatrie.

[16]  Gang Huang,et al.  PKUAS: an architecture-based reflective component operating platform , 2004, Proceedings. 10th IEEE International Workshop on Future Trends of Distributed Computing Systems, 2004. FTDCS 2004..

[17]  Jie Xu,et al.  Concurrent Exception Handling and Resolution in Distributed Object Systems , 2000, IEEE Trans. Parallel Distributed Syst..

[18]  George Candea,et al.  JAGR: an autonomous self-recovering application server , 2003, 2003 Autonomic Computing Workshop.

[19]  Bedir Tekinerdogan,et al.  Introducing Recovery Style for Modeling and Analyzing System Recovery , 2008, Seventh Working IEEE/IFIP Conference on Software Architecture (WICSA 2008).

[20]  Alexander Romanovsky,et al.  Workshop on Architecting Dependable Systems , 2002 .

[21]  John B. Goodenough,et al.  Exception handling: issues and a proposed notation , 1975, CACM.

[22]  하수철,et al.  [서평]「Component Software」 - Beyond Object-Oriented Programming - , 2000 .

[23]  G. G. Stokes "J." , 1890, The New Yale Book of Quotations.

[24]  Gang Huang,et al.  Coordinated Recovery of Middleware Services: A Framework and Experiments , 2007, Int. J. Softw. Informatics.