Actas de congresos
Explicit Exception Handling Variability In Component-based Product Line Architectures
Weh '08 - Proceedings Of The 4th International Workshop On Exception Handling, Co-located With The 16th Acm Sigsoft International Symposium On The Foundations Of Software Engineering. , v. , n. , p. 47 - 54, 2008.
Separation of concerns is one of the overarching goals of exception handling in order to keep separate normal and exceptional behaviour of a software system. In the context of a software product line (SPL), this separation of concerns is also important for designing software variabilities related to different exception handling strategies, such as the choice of different handlers depending on the set of selected features. This paper presents a method for refactoring object-oriented product line architecture in order to separate explicitly their normal and exceptional behaviour into different software components. The new component-based software architecture includes variation points related to different choices of exception handlers that can be selected during product instantiations, thus facilitating the evolution of the exceptional behaviour. The feasibility of the proposed approach is assessed through a SPL of mobile applications. Copyright 2008 ACM.4754Atkinson, C., (2002) Component-based Product Line Engineering with UML, , Addison-WesleyBass, L., Clements, P., Kazman, R., (1997) Software Architecture in Practice, , Addison-Wesley Professional, DecemberP. H. S. Brito, C. R. Rocha, F. Castor Filho, E. Martins, and C. M. F. Rubira. A method for modeling and testing exceptions in component-based software development. In Proc. of the 2nd Latin American Symposium on Dependable Computing (LADC 2005), LNCS 3747, pages 61-79, 2005Buschmann, F., (1996) Pattern-oriented software architecture: A system of patterns, , John Wiley & Sons, IncCacho, N., Filho, F.C., Garcia, A., Figueiredo, E., Ejflow: Taming exceptional control flows in aspect-oriented programming (2008) 7th Int. Conf. on Aspect-Oriented Software Development (AOSD'08), pp. 72-83Cheesman, J., Daniels, J., (2000) UML Components, , Addison-WesleyClements, P., Northrop, L., (2002) Software Product Lines: Practices and Patterns, , Addison-WesleyCristian, F., Exception handling (1989) Dependability of Resilient Computers, pp. 68-97. , T. Anderson, editor, Blackwell Scientific PublicationsFerber, S., Haag, J., Savolainen, J., Feature interaction and dependencies: Modeling features for reengineering a legacy product line (2002) LNCS, 2379, pp. 37-60. , Proc. of the Second International Software Product Lines Conference SPLCFigueiredo, E., Evolving software product lines with aspects: An empirical study on design stability (2008) ICSE '08: Proc. of the 30th international conference on Software engineering, pp. 261-270Filho, F.C., Guerra, P.A.D.C., Pagano, V.A., Rubira, C.M.F., A systematic approach for structuring exception handling in robust component-based software (2005) Journal of the Brazilian Computer Society, 10 (3), pp. 5-19Gamma, E., Helm, R., Johnson, R., Vlissides, J., (1995) Design Patterns: Elements of Reusable Software Systems, , Addison-WesleyGayard, L.A., Rubira, C.M.F., de Castro Guerra, P.A., COSMOS*: A COmponent System MOdel for Software Architectures (2008), Technical Report IC-08-04, FebGray, J., Reuter, A., (1993) Transaction Processing: Concepts and Techniques, , Morgan KaufmannKruchten, P., Obbink, J.H., Stafford, J.A., The past, present, and future for software architecture (2006) IEEE Software, 23 (2), pp. 22-30Lippert, M., Lopes, C.V., A study on exception detection and handling using aspect-oriented programming (2000) Proc. of the 22nd international conference on Software engineering (ICSE'00), pp. 418-427Parnas, D.L., Würges, H., Response to undesired events in software systems (1976) Proceedings of the 2nd International Conference on Software Engineering, pp. 437-446Robillard, M.P., Murphy, G.C., Designing robust java programs with exceptions (2000) SIGSOFT Softw. Eng. Notes, 25 (6), pp. 2-10Szyperski, C., (2002) Component Software: Beyond Object-Oriented Programming, , ACM Press and Addison-Wesley, New York, USA, second edition edition, NovemberR. T. Tomita, F. Castor Filho, P. A. de C. Guerra, and C. M. F. Rubira. Bellatrix: An environment with arquitectural support for component-based development (in portuguese). In Proc. of the IV Brazilian Workshop on Component-Based Development, pages 43-48, 2004