Abstract
The design, implementation and testing of the exceptional activity of a software system are complex tasks that usually do not receive the necessary attention from existing development methodologies. This work presents a systematic way to deal with exception handling, from the requirement specification phase to the implementation and testing phases, in component-based software development. Testing activities are performed since the early stages of development, promoting an increase in the quality of the produced system. Our solution refines the Methodology for the Definition of Exception Behavior, MDCE, in the architectural design, implementation, and testing phases. Moreover, the proposed method was adapted to the UML Components process.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Anderson, T., Lee, P.A.: Fault Tolerance: Principles and Practice, 2nd edn. Prentice-Hall, Englewood Cliffs (1990)
Atkinson, C., Bayer, J., Muthig, D.: Component-based product line development: the kobra approach. In: Proceedings of the 1st conference on Software product lines: experience and research directions, Norwell, MA, USA, pp. 289–309. Kluwer Academic Publishers, Dordrecht (2000)
Atkinson, C., Gross, H.-G.: Built-in contract testing in model-driven, component-based development. In: Proceedings of the 1st International Working Conference on Component Deployment, Workshop on Component-based Software Development Processes (2002)
Bertolino, A., Marchetti, E., Muccini, H.: Introducing a reasonably complete and coherent approach for model-based testing. Electr. Notes Theor. Comput. Sci. 116, 85–97 (2005)
Binder, R.V.: Design for testability in object-oriented systems. Communications of the ACM 37(9), 87–101 (1994)
Binder, R.V.: Testing object-oriented systems: models, patterns, and tools. Addison-Wesley Longman Publishing Co., Inc., Amsterdam (1999)
Briand, L., Dzidek, W., Labiche, Y.: Using aspect-oriented programming to instrument ocl contracts in java. Technical Report SCE-04-03, Carleton University (2004)
Briand, L., Labiche, Y.: A uml-based approach to system testing. Software and Systems Modeling 1(1), 10–42 (2002)
Chessman, J., Daniels, J.: UML Components: A Simple Process for Specifying Component-Based Software. Paperback (1992)
da Silva Brito, P.H., Rocha, C.R., Martins, E., Rubira, C.M.F.: An integrated method for modeling and testing exceptions in component-based software development: A case study (in portuguese). Technical Report (to appear), Institute of Computing (2005)
da Silva Jr., M.C., de C. Guerra, P.A., Rubira, C.M.F.: A java component model for evolving software systems. In: Proc. of the ASE, pp. 327–330 (2003)
de Lemos, R., Romanovsky, A.: Exception handling in a cooperative object-oriented approach. In: Proc. of the 2nd IEEE ISORC 1999 (May 1999)
de Oliveira Moraes, R.L., Martins, E.: Jaca - a software fault injection tool. In: DSN, p. 667. IEEE Computer Society, Los Alamitos (2003)
D’Souza, D., Wills, A.C.: Objects, Components, and Frameworks with UML The Catalysis Approach, 2nd edn. Addison-Wesley, Reading (1999)
Farias, C., Machado, P.: A functional testing method for components verification (in portuguese). In: Proc. Brazilian Software Engineering Symposium, SBES (2003)
Filho, F.C., Brito, P.H.S., Rubira, C.M.F.: A framework for analyzing exception flow in software architectures. In: Proceedings of the ICSE 2005 Workshop on Architecting Dependable Systems (2005)
Filho, F.C., de C. Guerra, P.A., Pagano, V.A., Rubira, C.M.F.: A systematic approach for structuring exception handling in robust component-based software. Journal of the Brazilian Computer Society - Special Issue on Dependable Computing (2005)
Goodenough, J.B.: Exceptional handling: Issues and a proposed notation. CACM 18(12) (1975)
Object Management Group. OMG Unified Modeling Language Specification Version 1.5 (2003)
Object Management Group. UML 2.0 OCL Specification (2003)
Kiczales, G., Lamping, J., Menhdhekar, A., Maeda, C., Lopes, C., Loingtier, J.-M., Irwin, J.: Aspect-oriented programming. In: Aksit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 220–242. Springer, Heidelberg (1997)
Koopman, P.: et al. Ballista project: Cots software robustness testing (2003), http://www.ece.cmu.edu/~koopman/ballista/
Kropp, N.P., Koopman, P.J., Siewiorek, D.P.: Automated robustness testing of off-the-shelf software components. In: FTCS 1998: Proceedings of the The Twenty-Eighth Annual International Symposium on Fault-Tolerant Computing, Washington, DC, USA, p. 230. IEEE Computer Society, Los Alamitos (1998)
Martins, E., Toyota, C.M., Yanagawa, R.L.: Constructing self-testable software components. In: Proc. DSN 2001 (2001)
Messina, S., Pleinevaux, P.: Enhancing cimosa with exception handling. In: Proceedings of the International Symposium on Robotics and Manufacturing ISRAM, World Automation Congress 1996, Montpellier, France (May 1996)
Meyer, B.: Object-Oriented Software Construction, 1st edn. Prentice-Hall, Englewood Cliffs (1988)
Reimer, D., Srinivasan, H.: Analysing exception usage in large java applications. In: Proc. of ECOOP Workshop on Exception Handling in Object-Oriented Systems(EHOOS 2003) (2003)
Rivest, R.L., Leiserson, C.E.: Introduction to Algorithms. McGraw-Hill, Inc., New York (1990)
Rocha, C.R., Martins, E.: A strategy to improve component testability without source code. In: Beydeda, S., Gruhn, V., Mayer, J., Reussner, R., Schweiggert, F. (eds.) SOQUA/TECOS, GI. LNI, vol. 58, pp. 47–62 (2004)
Rubira, C., de Lemos, R., Ferreira, G., Filho, F.C.: Exception handling in the development of dependable component-based systems. In: Software Practice and Experience. John Wiley and Sons, Chichester (2005)
Schneider, G., Winters, J.P.: Applying Use Cases: A Practical Guide, 1st edn. Addison-Wesley, Reading (1998)
Shaw, M., Garlan, D.: Software Architecture: Perspectives on an Emerging Discipline, 1st edn. Prentice Hall, Englewood Cliffs (1996)
Sinha, S., Harrold, M.J.: Analysis and testing of programs with exception handling constructs. IEEE Transactions on Software Engineering 26(9), 849–871 (2000)
Sommerville, I.: Software Engineering, 6th edn. Addison-Wesley, Reading (1995)
Szyperski, C.: Component software and the way ahead. In: Gary, T. (ed.) Foundations of Component-Based Systems, ch. 1, pp. 1–20. Cambridge University Press, Cambridge (2000)
Tomita, R.T., Filho, F.C., Rubira, C.M.F.: Bellatrix: An environment to provide architectural support for component-based software development (in portuguese). In: IV Workshop of Component-Based Development, WDBC 2004 (September 2004)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2005 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
da S. Brito, P.H., Rocha, C.R., Filho, F.C., Martins, E., Rubira, C.M.F. (2005). A Method for Modeling and Testing Exceptions in Component-Based Software Development. In: Maziero, C.A., Gabriel Silva, J., Andrade, A.M.S., de Assis Silva, F.M. (eds) Dependable Computing. LADC 2005. Lecture Notes in Computer Science, vol 3747. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11572329_8
Download citation
DOI: https://doi.org/10.1007/11572329_8
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-29572-3
Online ISBN: 978-3-540-32092-0
eBook Packages: Computer ScienceComputer Science (R0)