Abstract
Model-based robustness testing requires precise and complete behavioral, robustness modeling. For example, state machines can be used to model software behavior when hardware (e.g., sensors) breaks down and be fed to a tool to automate test case generation. But robustness behavior is a crosscutting behavior and, if modeled directly, often results in large, complex state machines. These in practice tend to be error prone and difficult to read and understand. As a result, modeling robustness behavior in this way is not scalable for complex industrial systems. To overcome these problems, aspect-oriented modeling (AOM) can be employed to model robustness behavior as aspects in the form of state machines specifically designed to model robustness behavior. In this paper, we present a RobUstness Modeling Methodology (RUMM) that allows modeling robustness behavior as aspects. Our goal is to have a complete and practical methodology that covers all features of state machines and aspect concepts necessary for model-based robustness testing. At the core of RUMM is a UML profile (AspectSM) that allows modeling UML state machine aspects as UML state machines (aspect state machines). Such an approach, relying on a standard and using the target notation as the basis to model the aspects themselves, is expected to make the practical adoption of aspect modeling easier in industrial contexts. We have used AspectSM to model the crosscutting robustness behavior of a videoconferencing system and discuss the benefits of doing so in terms of reduced modeling effort and improved readability.
Similar content being viewed by others
References
UML Profile for Modeling QoS and Fault Tolerance Characteristics and Mechanisms. http://www.omg.org/spec/QFTP/1.1/ (2010)
Modeling and Analysis of Real-time and Embedded systems (MARTE). http://www.omgmarte.org/ (2010)
Jürjens, J.: UMLsec: extending UML for secure systems development. In: Proceedings of the 5th International Conference on the Unified Modeling Language. Springer, Berlin (2002)
IEEE Standard Glossary of Software Engineering Terminology. IEEE, IEEE Std 610.12-1990 (1990)
Yedduladoddi R.: Aspect oriented software development: an approach to composing UML design models. VDM Verlag Dr. Müller, Saarbrücken (2009)
Whittle, J., Moreira, A., Araújo, J., Jayaraman, P., Elkhodary, A., Rabbi, R.: An expressive aspect composition language for UML state diagrams (2007)
Runeson H., Höst M.: Guidelines for conducting and reporting case study research in software engineering. Empirical Softw. Eng. 14(2I), 131–164 (2009)
Aldini A., Gorrieri R., Martinelli F., Jürjens J.: Model-based security engineering with UML. Springer, Berlin/Heidelberg (2005)
Péreza J., Ali N., Carsı’b J.A., Ramosb I., Álvarezc B., Sanchezc P., Pastorc J.A.: Integrating aspects in software architectures: PRISMA applied to robotic tele-operated systems. Inf. Softw. Technol. 50(9-10I), 969–990 (2008)
Cottenier, T., Berg, A.v.d., Elrad, T.: The Motorola WEAVR: model weaving in a large industrial context. In: Proceedings of the Aspect Oriented Software Development (AOSD) (2007)
Cottenier, T., Berg, A.v.d., Elrad, T.: Stateful aspects: the case for aspect-oriented modeling. In: Proceedings of the 10th International Workshop on Aspect-Oriented Modeling. ACM, Vancouver (2007)
Shafique, M., Labiche, Y.A.: Systematic review of model based testing tools. Carleton University, Department of Systems and Computer Engineering. Technical Report (SCE-10-04) (2010)
Avizienis A., Laprie J.-C., Randell B., Landwehr C.: Basic concepts and taxonomy of dependable and secure computing. IEEE Trans. Dependable Secur. Comput. 1(1I), 11–33 (2004)
IEEE Standard Classification for Software Anomalies. IEEE, IEEE Std 1044-2009 (2009)
Kermeta-Breathe Life into Your Metamodels, IRISA and INRIA. http://www.kermeta.org/ (2010)
Ali, S., Hemmati, H., Holt, N.E., Arisholm, E., Briand, L.C.: Model Transformations as a strategy to automate model-based testing—a tool and industrial case studies. Simula Research Laboratory, Technical Report (2010-01) (2010)
QTRONIC, CONFORMIQ. http://www.conformiq.com/qtronic.php (2010)
Standard for Software Quality Characteristics. International Organization for Standardization, ISO-9126-3 (2003)
Software Assurance Standard. NASA Technical Standard, NASA-STD-8739.8 (2005)
Larman C.: Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development. Prentice Hall, Englewood Cliffs (2004)
Bruning, S., Weissleder, S., Malek, M.: A fault taxonomy for service-oriented architecture. In: Proceedings of the 10th IEEE High Assurance Systems Engineering Symposium. IEEE Computer Society (2007)
Chan K.S., Bishop J., Steyn J., Baresi L., Guinea S.: A Fault Taxonomy for Web Service Composition. Springer, Berlin (2009)
Mariani L.: A fault taxonomy for component-based software. Electron. Notes Theor. Comput. Sci. 82(6I), 55–65 (2003)
Hayes, J.H.: Building a requirement fault taxonomy: experiences from a NASA verification and validation research project. In: Proceedings of the 14th International Symposium on Software Reliability Engineering. IEEE Computer Society (2003)
Ho, W.-M., Jézéquel, J.-M., Pennaneac’h, F., Plouzeau, N.: A toolkit for weaving aspect oriented UML designs. In: Proceedings of the 1st International Conference on Aspect-Oriented Software Development. ACM, Enschede (2002)
Kienzle, J., Abed, W.A., Klein, J.: Aspect-oriented multi-view modeling. In: Proceedings of the 8th ACM International Conference on Aspect-Oriented Software Development. ACM, Charlottesville (2009)
Zhang, G.: Towards aspect-oriented state machines. In: Proceedings of the 2nd Asian Workshop on Aspect-Oriented Software Development (AOASIA’06), Tokyo (2006)
Zhang, G., Hölzl, M.: HiLA: High-Level Aspects for UML-state machines. In: Proceedings of the 14th Workshop on Aspect-Oriented Modeling (AOM@MoDELS’09) (2009)
Zhang, G., Hölzl, M.M., Knapp, A.: Enhancing UML State Machines with Aspects (2007)
Pazzi, L.: Explicit aspect composition by part-whole state charts. In: Proceedings of the Workshop on Object-Oriented Technology. Springer, Berlin (1999)
France, R., Ray, I., Georg, G., Ghosh, S.: Aspect-oriented approach to early design modelling. IEEE Softw. 151(4I) (2004)
Binder R.V.: Testing Object-Oriented Systems: Models, Patterns, and Tools. Addison-Wesley Longman Publishing Co., Inc., Reading (1999)
Xu, D., Xu, W., Nygard, K.: A state-based approach to testing aspect-oriented programs. In: Proceedings of the 17th International Conference on Software Engineering and Knowledge Engineering, Taiwan (2005)
Lagarde, F., Espinoza, H., Terrier, F., André, C., Gérard, S.: Leveraging Patterns on Domain Models to Improve UML Profile Definition (2008)
Weilkiens T.: Systems Engineering with SysML/UML: Modeling, Analysis, Design. Tim Weilkiens, Hamburg (2008)
UML Profile for Schedulability, Performance and Time. http://www.omg.org/technology/documents/profile_catalog.htm (2010)
Baker P., Dai Z.R., Grabowski J., Haugen Ø., Schieferdecker I., Williams C.: Model-Driven Testing: Using the UML Testing Profile. Springer, Berlin (2007)
Steinberg D., Budinsky F., Paternostro M., Merks E.: EMF: Eclipse Modeling Framework. Addison-Wesley Professional, Reading (2008)
Filman R.E., Elrad T., Clarke S., Aksit M.: Aspect-Oriented Software Development. Addison-Wesley Professional, Reading (2004)
IBM OCL Parser, IBM. http://www-01.ibm.com/software/awdtools/library/standards/ocl-download.html (2010)
OCLE. http://lci.cs.ubbcluj.ro/ocle/ (2010)
EyeOCL Software. http://maude.sip.ucm.es/eos/ (2010)
Pender T.: UML Bible. Wiley, New York (2003)
Laddad R.: AspectJ in Action: Practical Aspect-Oriented Programming. Manning Publications, Greenwich (2003)
Ali, S., Briand, L.C., Hemmati, H.: Modeling robustness behavior using aspect-oriented modeling to support robustness testing of industrial systems. Simula Research Laboratory, Technical Report (2010-03) (2010)
Stein, D., Hanenberg, S., Unland, R.: A UML-based aspect-oriented design notation for AspectJ. In: Proceedings of the 1st International Conference on Aspect-Oriented Software Development. ACM, Enschede (2002)
Clarke, S., Walker, R.J.: Composition patterns: an approach to designing reusable aspects. In: Proceedings of the 23rd International Conference on Software Engineering. IEEE Computer Society, Toronto (2001)
Stein, D., Hanenberg, S., Unland, R.: Designing aspect-oriented crosscutting in UML. In: Proceedings of the In AOSD-UML Workshop at AOSD ‘02 (2002)
Utting M., Legeard B.: Practical Model-Based Testing: A Tools Approach. Morgan-Kaufmann, San Fransisco (2007)
Tessier, F., Badri, L., Badri, M.: Towards a formal detection of semantic conflicts between aspects: a model-based approach. In: Proceedings of the The 5th Aspect-Oriented Modeling Workshop in Conjunction with UML 2004 (2004)
Perceptual Evaluation of Speech Quality (PESQ). http://en.wikipedia.org/wiki/PESQ (2010)
Ali, S., Iqbal, M.Z., Arcuri, A., Briand, L.C.: A search-based OCL constraint solver for model-based test data generation. In: Proceedings of the 11th International Conference on Quality Software (QSIC 2011) (2011)
Ali, S., Yue, T., Briand, L.C., Malik, Z.I.: Does aspect-oriented modeling help improve the readability of UML state machines? Simula Reserach Laboratory, Technical Report (2010–11) (2010)
Pintér, G., Majzik, I.: Modeling and Analysis of Exception Handling by Using UML Statecharts (2005)
Jiang, M., Zhang, J., Raymer, D., Strassner, J.: A modeling framework for self-healing software systems. In: Proceedings of the Models@run.time in conjunction with MoDELS/UML (2007)
Lei B., Liu Z., Morisset C., Li X.: State based robustness testing for components. Electron. Notes Theor. Comput. Sci. 260, 173–188 (2010)
Nebut C., Fleurey F., Traon Y.L., Jezequel J.-M.: Automatic test generation: a use case driven approach. IEEE Trans. Softw. Eng. 32(3I), 140–155 (2006)
Entwisle, S., Schmidt, H., Peake, I., Kendall, E.: A model driven exception management framework for developing reliable software systems. In: Proceedings of the 10th IEEE International Enterprise Distributed Object Computing Conference. IEEE Computer Society (2006)
Jingjun, Z.: Modeling Aspect-Oriented Programming with UML Profile (2009)
Júnior, J.U., Camargo, V.V., Chavez, C.V.F.: UML-AOF: a profile for modeling aspect-oriented frameworks. In: Proceedings of the 13th Workshop on Aspect-Oriented Modeling. ACM, Charlottesville (2009)
Aldawud, O., Elrad, T., Bader, A.: UML profile for aspect-oriented software development. In: Proceedings of the The Third International Workshop on Aspect Oriented Modeling (2003)
Evermann, J.: A meta-level specification and profile for AspectJ in UML. In: Proceedings of the 10th International Workshop on Aspect-Oriented Modeling. ACM, Vancouver (2007)
Zhang, J., Cottenier, T., Berg, A.V.D., Gray, J.: Aspect composition in the motorola aspect-oriented modeling weaver. J. Object Technol. 6, 7I (2007)
Petriu D., Rouquette N., Haugen Ø., Morin B., Klein J., Kienzle J., Jézéquel J.-M.: Flexible Model Element Introduction Policies for Aspect-Oriented Modeling. Springer, Berlin (2010)
Whittle J., Jayaraman P.: MATA: A Tool for Aspect-Oriented Modeling Based on Graph Transformation. Springer, Berlin (2008)
Xu, D., Xu, W.: State-based incremental testing of aspect-oriented programs. In: Proceedings of the 5th International Conference on Aspect-Oriented Software Development. ACM, Bonn (2006)
Xu, D., Xu, W., Nygard, K.: A State-based approach to testing aspect-oriented programs. In: Proceedings of the 17th International Conference on Software Engineering and Knowledge Engineering (2005)
Xu, W., Xu, D.: A model-based approach to test generation for aspect-oriented programs. In: Proceedings of the First Workshop on Testing Aspect-Oriented Programs (2005)
Bruel, J.-M., Araújo, J., Moreira, A., Royer, A.: Using aspects to develop built-in tests for components. In: Proceedings of the In AOSD Modeling with UML Workshop. 6th International Conference on the Unified Modeling Language (2003)
Bruel, J.M., Moreira, A., Araújo, J.: Adding Behavior Description Support to COTS Components through the Use of Aspects. In: Proceedings of the 2nd Workshop on Models for Non-functional Aspects of Component-Based Software (2005)
Author information
Authors and Affiliations
Corresponding author
Additional information
Communicated by Dr. Jean-Michel Bruel.
Rights and permissions
About this article
Cite this article
Ali, S., Briand, L.C. & Hemmati, H. Modeling robustness behavior using aspect-oriented modeling to support robustness testing of industrial systems. Softw Syst Model 11, 633–670 (2012). https://doi.org/10.1007/s10270-011-0206-z
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10270-011-0206-z