{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,2,27]],"date-time":"2025-02-27T20:40:01Z","timestamp":1740688801728,"version":"3.38.0"},"reference-count":40,"publisher":"Springer Science and Business Media LLC","issue":"3","license":[{"start":{"date-parts":[[2004,10,1]],"date-time":"2004-10-01T00:00:00Z","timestamp":1096588800000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/2.0"},{"start":{"date-parts":[[2004,10,1]],"date-time":"2004-10-01T00:00:00Z","timestamp":1096588800000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/2.0"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["J Braz Comp Soc"],"published-print":{"date-parts":[[2004,10]]},"abstract":"<jats:title>Abstract<\/jats:title><jats:p>Component-based development (CBD) is recognized today as the standard paradigm for structuring large software systems. However, the most popular component models and component-based development processes provide little guidance on how to systematically incorporate exception handling into component-based systems. The problem of how to employ language-level exception handling mechanisms to introduce redundancy in componentbased systems is recognized by CBD practitioners as very difficult and often not adequately solved. As a consequence, the implementation of the redundant exceptional behaviour causes a negative impact, instead of a positive one, on system and maintainability. In this paper, we propose an approach for the construction of dependable component-based systems that integrates two complementary strategies: (i) a global exception handling strategy for inter-component composition and (ii) a local exception handling strategy for dealing with errors in reusable components. A case study illustrates the application of our approach to a real software system.<\/jats:p>","DOI":"10.1007\/bf03192362","type":"journal-article","created":{"date-parts":[[2010,11,12]],"date-time":"2010-11-12T04:44:56Z","timestamp":1289537096000},"page":"3-17","source":"Crossref","is-referenced-by-count":0,"title":["A systematic approach for structuring exception handling in robust component-based software"],"prefix":"10.1007","volume":"10","author":[{"given":"Fernando Castor","family":"Filho","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Paulo Asterio de C.","family":"Guerra","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Vinicius Asta","family":"Pagano","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Cec\u00edlia Mary F.","family":"Rubira","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","reference":[{"key":"BF03192362_CR1","volume-title":"Fault Tolerance: Principles and Practice","author":"T. Anderson","year":"1990","unstructured":"T. Anderson and P A. Lee. Fault Tolerance: Principles and Practice. Springer-Verlag, Wine, Austria, 2nd Edition, 1990.","edition":"2nd Edition"},{"unstructured":"P. H. S. Brito, F. C. Filho and C. M. F. Rubira. A method for modeling exceptions in component-based development (in portuguese). In Proc. IV Brazilian Workshop on Component-Based Development (WDBC\u20192004), pp. 29\u201334, Jo\u00e3o Pessoa, PB, Brazil, Sep. 2004.","key":"BF03192362_CR2"},{"doi-asserted-by":"crossref","unstructured":"F. Castor Filho, P. A. de C. Guerra and C. M. F. Rubira. An Architectural-level Exception Handling System for Component-based Applications. In: Proc. First Latin-American Symposium on Dependable Computing, LNCS 2847, pp. 321-340, Springer-Verlag, 2003.","key":"BF03192362_CR3","DOI":"10.1007\/978-3-540-45214-0_23"},{"issue":"7","key":"BF03192362_CR4","first-page":"843","volume":"10","author":"F. Castor Filho","year":"2004","unstructured":"F. Castor Filho and C. M. F. Rubira. Implementing Coordinated Error Recovery for Distributed Object-Oriented Systems in AspectJ. Journal of Universal Computer Science, 10(7):843\u2013858, Jul. 2004.","journal-title":"Journal of Universal Computer Science"},{"doi-asserted-by":"crossref","unstructured":"F. Castor Filho, P. H. S. Brito, and C. M. F. Rubira. A Framework for Analyzing Exception Flow in Software Architectures. Submitted to IV ICSE Workshop on Architecting Dependable Systems (WADS\u20192005).","key":"BF03192362_CR5","DOI":"10.1145\/1083217.1083221"},{"key":"BF03192362_CR6","volume-title":"UML Components: A Simple Process for Specifying Component-Based Software","author":"J. Cheesman","year":"2000","unstructured":"J. Cheesman and J. Daniels. UML Components: A Simple Process for Specifying Component-Based Software. Addison-Wesley, Reading, MA., USA, Oct. 2000."},{"key":"BF03192362_CR7","doi-asserted-by":"publisher","first-page":"203","DOI":"10.1145\/302405.302466","volume-title":"Proc. 21st International Conference on Software Engineering (ICSE\u20191999)","author":"J. E. Cook","year":"1999","unstructured":"J. E. Cook and J. A. Dage. Highly reliable upgrading of components. In Proc. 21st International Conference on Software Engineering (ICSE\u20191999), pp. 203\u2013212, Los Angeles, CA, ACM Press, May 1999."},{"key":"BF03192362_CR8","first-page":"68","volume-title":"Dependability of Resilient Computers","author":"F. Cristian","year":"1989","unstructured":"F. Cristian. Exception Handling. In: T. Anderson (Ed.) Dependability of Resilient Computers. BSP Professional Books, UK, pp. 68\u201397, 1989."},{"unstructured":"G. Doshi. Best practices for exception handling. ONJava Website. November 2003. http:\/\/ www.oreillynet.com\/pub\/a\/onjava\/2003\/11\/19\/ exceptions.html","key":"BF03192362_CR9"},{"unstructured":"D. D\u2019Souza and A. C. Wills. Objects, Components and Frameworks with UML: The Catalysis Approach. Addison-Wesley, 2nd edition, 1999.","key":"BF03192362_CR10"},{"issue":"10","key":"BF03192362_CR11","first-page":"28","volume":"44","author":"T. Elrad","year":"2001","unstructured":"T. Elrad, R. E. Filman and A. Bader. Aspect-oriented programming. Communications of the ACM, 44(10):28\u201332, 2001.","journal-title":"Communications of the ACM"},{"unstructured":"E. Gamma, R. Helm, R. Johnson and J. Vlissides. Design Patterns: Elements of Reusable Software Systems. Addison-Wesley, 1995.","key":"BF03192362_CR12"},{"issue":"6","key":"BF03192362_CR13","doi-asserted-by":"publisher","first-page":"17","DOI":"10.1109\/52.469757","volume":"12","author":"D. Garlan","year":"1995","unstructured":"D. Garlan, R. Allen and J. Ockerbloom. Architectural Mismatch: Why Reuse Is So Hard. IEEE Software. 12(6):17\u201326, 1995.","journal-title":"IEEE Software"},{"key":"BF03192362_CR14","first-page":"47","volume-title":"Foundations of Component Based Systems","author":"D. Garlan","year":"2000","unstructured":"D. Garlan, R. T. Monroe and D. Wile. Acme: Architectural Description of Component-Based Systems. In: G. T. Leavens and M. Sitamaran (Eds.) Foundations of Component Based Systems, chapter 3, pp. 47\u201367. Cambridge University Press, Cambridge, UK. 2000."},{"doi-asserted-by":"crossref","unstructured":"P. A. de C. Guerra, F. Castor Filho V. A. Pagano and C. M. F. Rubira. Structuring exception handling for dependable component-based software systems. In Proc. 30th Euromicro Conference, Rennes, France, IEEE Computer Society Press. Sep. 2004.","key":"BF03192362_CR15","DOI":"10.1109\/EURMIC.2004.1333425"},{"doi-asserted-by":"crossref","unstructured":"P. A. de C. Guerra, C. M. F. Rubira and R. de Lemos. A Fault-Tolerant Software Architecture for Component-Based Software Systems. In Architecting Dependable Systems. LNCS 2677. Springer-Verlag. 2003.","key":"BF03192362_CR16","DOI":"10.1007\/3-540-45177-3_6"},{"unstructured":"P. A. de C. Guerra. An Architectural Approach for Fault Tolerance in Component-Based Software Systems (in portuguese). PhD thesis, Universidade Estadual de Campinas, 2004.","key":"BF03192362_CR17"},{"unstructured":"V. Issarny and J. P. Banatre. Architecture-Based Exception Handling. In Proc. 34th Annual Hawaii International Conference on System Sciences (HICSS\u201934). IEEE Computer Society Press, 2001.","key":"BF03192362_CR18"},{"key":"BF03192362_CR19","doi-asserted-by":"publisher","first-page":"261","DOI":"10.1109\/PRDC.2004.1276576","volume-title":"Proc. 10th IEEE Pacific Rim International Symposium on Dependable Computing (PRDC\u20192004)","author":"A. Kalakech","year":"2004","unstructured":"A. Kalakech et al. Benchmarcing operating system dependability: Windows 2000 as a case study. In Proc. 10th IEEE Pacific Rim International Symposium on Dependable Computing (PRDC\u20192004), pp. 261\u2013270, Papeete, Tahiti, IEEE Computer Society Press, Mar. 2004."},{"key":"BF03192362_CR20","first-page":"88","volume-title":"Software Engineering","author":"M. D. McIlroy","year":"1976","unstructured":"M. D. McIlroy. Mass-Produced Software Components. In P. Naur and B. Randell (Eds) Software Engineering. Petrocelli\/Charter, Brussels, Belgium, pp. 88\u201398. 1976."},{"doi-asserted-by":"crossref","unstructured":"N. Medvidovic and R. N. Taylor. A framework for classifying and comparing architecture description languages. In Proc. 6th Joint ACM\/Sigsoft Symposium on Foundations of Software Engineering and European Software Engineering Conference (FSE\/ESEC\u201997), Sep. 1997.","key":"BF03192362_CR21","DOI":"10.1007\/3-540-63531-9_7"},{"key":"BF03192362_CR22","volume-title":"Object-Oriented Software Construction","author":"B. Meyer","year":"1988","unstructured":"B. Meyer. Object-Oriented Software Construction. Prentice-Hall, New Jersey, 1988."},{"doi-asserted-by":"crossref","unstructured":"B. Meyer. The grand challenge of trusted components. In Proc. 25th International Conference on Software Engineering, pp. 660-667. IEEE Computer Society Press, May 2003.","key":"BF03192362_CR23","DOI":"10.1109\/ICSE.2003.1201252"},{"unstructured":"Microsoft Corporation. Microsoft .Net Information. Available at http:\/\/www.microsoft.com\/net\/","key":"BF03192362_CR24"},{"unstructured":"Object Management Group. Unified Modeling Language: Superstructure, version 2.0. Jul. 2003.","key":"BF03192362_CR25"},{"unstructured":"V. A. Pagano. An architectural approach based on exception handling for the design of componentbased software systems (in portuguese). Master\u2019s thesis, Universidade Estadual de Campinas, 2004.","key":"BF03192362_CR26"},{"doi-asserted-by":"crossref","unstructured":"M. Rakic and N. Medvidovic. Increasing the confidence in off-the-shelf components: A software connector-based approach. In Proc. 2001 Symposium on Software Reusability, pp. 11-18. ACM\/SIGSOFT, May 2001.","key":"BF03192362_CR27","DOI":"10.1145\/379377.375228"},{"unstructured":"D. Reimer and H. Srinivasan. Analyzing exception usage in large java applications. In Proc. ECOOP\u20192003 -Workshop on Exception Handling for Object-Oriented Systems, pp. 10-19, Darmstadt, Germany, Jul. 2003.","key":"BF03192362_CR28"},{"doi-asserted-by":"crossref","unstructured":"C. M. F. Rubira, R. de Lemos, G. Ferreira and F. Castor Filho. Exception handling in the development of dependable component-based systems. Software \u2014 Practice and Experience, 2005.","key":"BF03192362_CR29","DOI":"10.1002\/spe.632"},{"unstructured":"M. Shaw and D. Garlan. Software Architecture: Perspectives on an Emerging Discipline. Morgan Kaufmann Publishers, 1996.","key":"BF03192362_CR30"},{"unstructured":"S. Shenoy. Best practices in EJB exception handling. In IBM developerWorks website. Available at http:\/ \/www-106.ibm.com\/developerworks\/library\/jejbexcept. 2002.","key":"BF03192362_CR31"},{"unstructured":"J. Siedersleben. Errors and exceptions \u2014 rights and responsibilities. In Proc. ECOOP\u20192003 -Workshop on Exception Handling for Object-Oriented Systems, pp. 2-9, Darmstadt, Germany, Jul. 2003.","key":"BF03192362_CR32"},{"doi-asserted-by":"crossref","unstructured":"M. Silva Jr., P. A. de C. Guerra and C. M. F. Rubira. A Java Component Model for Evolving Software Systems. In Proc. 18th IEEE International Symposium on Automated Software Engineering, pp. 327-330, Oct. 2003.","key":"BF03192362_CR33","DOI":"10.1109\/ASE.2003.1240331"},{"unstructured":"Sun Microsystems. Enterprise javabeans specification v2.1 \u2014 proposed final draft, 2002. Available at http:\/\/java.sun.com\/products\/ejb\/","key":"BF03192362_CR34"},{"unstructured":"Sun Microsystem. Java 2 Platform, Enterprise Edition (J2EE). Available at http:\/\/java.sun.com\/j2ee\/ index.jsp","key":"BF03192362_CR35"},{"key":"BF03192362_CR36","volume-title":"Component Software: Beyond Object-Oriented Programming","author":"C. Szyperski","year":"2002","unstructured":"C. Szyperski. Component Software: Beyond Object-Oriented Programming. ACM Press and Addison-Wesley, New York, NY, second edition, November 2002.","edition":"second edition"},{"unstructured":"R. T. Tomita, F. Castor Filho, P. A. de C. Guerra and C. M. F. Rubira. Bellatrix: An environment with architectural support for component-based development (in portuguese). In Proc. IV Brazilian Workshop on Component-Based Development (WDBC\u20192004), pp. 43-48, Jo\u00e3o Pessoa, PB, Brazil, Sep. 2004.","key":"BF03192362_CR37"},{"unstructured":"G. Veccellio and W. M. Thomas. Issues in the assurance of component-based software. In Proc. 2000 International Workshop on Component-Based Software, Carnegie Mellon Software Engineering Institute, 2000.","key":"BF03192362_CR38"},{"unstructured":"J. Xu, B. Randell, A. Romanovsky, C. Rubira, R. Stroud and Z. Wu. Fault Tolerance in Concurrent Object-Oriented Software through Coordinated Error Recovery. In Proc. IEEE 25th Int. Symp. on Fault-Tolerant Computing, pp. 499-508, Pasadena, 1995.","key":"BF03192362_CR39"},{"issue":"2","key":"BF03192362_CR40","doi-asserted-by":"publisher","first-page":"164","DOI":"10.1109\/12.980006","volume":"51","author":"J. Xu","year":"2002","unstructured":"J. Xu, B. Randell, A. Romanovsky, R. J. Stroud, A. F. Zorzo, E. Canver and F. von Henke. Rigorous development of an embedded fault-tolerant system based on coordinated atomic actions. IEEE Transactions on Computers, 51(2):164\u2013179, Feb. 2002.","journal-title":"IEEE Transactions on Computers"}],"container-title":["Journal of the Brazilian Computer Society"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/BF03192362.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/article\/10.1007\/BF03192362\/fulltext.html","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/www.springerlink.com\/index\/pdf\/10.1007\/BF03192362","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"},{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/BF03192362.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,2,27]],"date-time":"2025-02-27T20:05:17Z","timestamp":1740686717000},"score":1,"resource":{"primary":{"URL":"https:\/\/journal-bcs.springeropen.com\/articles\/10.1007\/BF03192362"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2004,10]]},"references-count":40,"journal-issue":{"issue":"3","published-print":{"date-parts":[[2004,10]]}},"alternative-id":["BF03192362"],"URL":"https:\/\/doi.org\/10.1007\/bf03192362","relation":{},"ISSN":["0104-6500","1678-4804"],"issn-type":[{"type":"print","value":"0104-6500"},{"type":"electronic","value":"1678-4804"}],"subject":[],"published":{"date-parts":[[2004,10]]}}}