Modeling robustness behavior using aspect-oriented modeling to support robustness testing of industrial systems

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.

[1]  Lionel C. Briand,et al.  A Search-Based OCL Constraint Solver for Model-Based Test Data Generation , 2011, 2011 11th International Conference on Quality Software.

[2]  José Uetanabara Júnior,et al.  UML-AOF: a profile for modeling aspect-oriented frameworks , 2009, AOM '09.

[3]  Dianxiang Xu,et al.  State-based incremental testing of aspect-oriented programs , 2006, AOSD.

[4]  Jean-Marc Jézéquel,et al.  A toolkit for weaving aspect oriented UML designs , 2002, AOSD '02.

[5]  Dianxiang Xu,et al.  A State-Based Approach to Testing Aspect-Oriented Programs , 2005, SEKE.

[6]  Ina Schieferdecker,et al.  Model-Driven Testing: Using the UML Testing Profile , 2007 .

[7]  Sébastien Gérard,et al.  Leveraging Patterns on Domain Models to Improve UML Profile Definition , 2008, FASE.

[8]  Raghu Yedduladoddi Aspect Oriented Software Development , 2009 .

[9]  Yvan Labiche,et al.  A Systematic Review of Model Based Testing Tool Support , 2010 .

[10]  Tzilla Elrad,et al.  UML PROFILE FOR ASPECT-ORIENTED SOFTWARE DEVELOPMENT , 2003 .

[11]  Luca Pazzi Explicit Aspect Composition by Part-Whole State Charts , 1999, ECOOP Workshops.

[12]  Siobhán Clarke,et al.  Composition patterns: an approach to designing reusable aspects , 2001, ICSE 2001.

[13]  Alexander Knapp,et al.  Enhancing UML state machines with aspects , 2007, MODELS'07.

[14]  Mourad Badri,et al.  Towards a Formal Detection of Semantic Conflicts Between Aspects: A Model-Based Approach , 2004 .

[15]  Frank Budinsky,et al.  EMF: Eclipse Modeling Framework 2.0 , 2009 .

[16]  Weifeng Xu A Model-Based Approach to Test Generation for Aspect-Oriented Programs , 2005 .

[17]  Jennifer Pérez,et al.  Integrating aspects in software architectures: PRISMA applied to robotic tele-operated systems , 2008, Inf. Softw. Technol..

[18]  Jean-Michel Bruel,et al.  Adding Behavior Description Support to COTS Components through the use of Aspects , 2005 .

[19]  Jon Whittle,et al.  MATA: A Tool for Aspect-Oriented Modeling Based on Graph Transformation , 2007, MoDELS Workshops.

[20]  Ramnivas Laddad,et al.  Aspectj in Action: Practical Aspect-Oriented Programming , 2003 .

[21]  Stefan Hanenberg,et al.  A UML-based aspect-oriented design notation for AspectJ , 2002, AOSD '02.

[22]  Tim Weilkiens,et al.  Systems engineering with SysML / UML - modeling, analysis, design , 2007 .

[23]  Tom Pender UML Bible , 2003 .

[24]  Leonardo Mariani,et al.  A Fault Taxonomy for Component-Based Software , 2003, TACoS.

[25]  Hongyu Sun,et al.  Integrating Product-Line Fault Tree Analysis into AADL Models , 2007 .

[26]  João Araújo,et al.  An expressive aspect composition language for UML state diagrams , 2007, MODELS'07.

[27]  J. Strassner,et al.  A Modeling Framework for Self-Healing Software Systems , 2007 .

[28]  Luciano Baresi,et al.  A Fault Taxonomy for Web Service Composition , 2009, ICSOC Workshops.

[29]  Tzilla Elrad,et al.  Aspect-Oriented Software Development , 2004 .

[30]  Barbara A. Kitchenham,et al.  The use and usefulness of the ISO/IEC 9126 quality standard , 2005, 2005 International Symposium on Empirical Software Engineering, 2005..

[31]  R. France,et al.  Aspect-oriented approach to early design modelling , 2004, IEE Proc. Softw..

[32]  Clémentine Nebut,et al.  Automatic test generation: a use case driven approach , 2006, IEEE Transactions on Software Engineering.

[33]  Gefei Zhang Towards Aspect-Oriented State Machines Gefei , 2006 .

[34]  Jan Jürjens,et al.  UMLsec: Extending UML for Secure Systems Development , 2002, UML.

[35]  Jacques Klein,et al.  Flexible model element introduction policies for aspect-oriented modeling , 2010, MODELS'10.

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

[37]  Per Runeson,et al.  Guidelines for conducting and reporting case study research in software engineering , 2009, Empirical Software Engineering.

[38]  Craig Larman,et al.  Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and the Unified Process , 2001 .

[39]  Heinz W. Schmidt,et al.  A Model Driven Exception Management Framework for Developing Reliable Software Systems , 2006, 2006 10th IEEE International Enterprise Distributed Object Computing Conference (EDOC'06).

[40]  Craig Larman,et al.  Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development (3rd Edition) , 1997 .

[41]  Lionel C. Briand,et al.  Does aspect-oriented modeling help improve the readability of UML state machines? , 2012, Software & Systems Modeling.

[42]  István Majzik,et al.  Modeling and Analysis of Exception Handling by Using UML Statecharts , 2004, FIDJI.

[43]  Jane Huffman Hayes Building a requirement fault taxonomy: experiences from a NASA verification and validation research project , 2003, 14th International Symposium on Software Reliability Engineering, 2003. ISSRE 2003..

[44]  Frank Budinsky,et al.  Eclipse Modeling Framework , 2003 .

[45]  Jacques Klein,et al.  Aspect-oriented multi-view modeling , 2009, AOSD '09.

[46]  Bran Selic,et al.  Modeling and Analysis of Real-Time and Embedded Systems , 2005, MoDELS.

[47]  Jan Jürjens,et al.  Model-Based Security Engineering with UML , 2004, FOSAD.

[48]  Siobhán Clarke,et al.  Composition patterns: an approach to designing reusable , 2001, Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001.

[49]  Thomas Cottenier The Motorola WEAVR : Model Weaving in a Large Industrial Context , 2006 .

[50]  Tzilla Elrad,et al.  Stateful aspects: the case for aspect-oriented modeling , 2007 .

[51]  Jean-Michel Bruel,et al.  Using Aspects to Develop Built-In Tests for Components , 2003 .

[52]  Jingjun Zhang,et al.  Modeling Aspect-Oriented Programming with UML Profile , 2009, 2009 First International Workshop on Education Technology and Computer Science.

[53]  Robert V. Binder,et al.  Testing Object-Oriented Systems: Models, Patterns, and Tools , 1999 .

[54]  Joerg Evermann,et al.  A meta-level specification and profile for AspectJ in UML , 2007, J. Object Technol..

[55]  Gefei Zhang,et al.  HiLA: high-level aspects for UML state machines , 2009, MODELS'09.

[56]  Stefan Hanenberg,et al.  Designing Aspect-Oriented Crosscutting in UML , 2002 .

[57]  Bin Lei,et al.  State Based Robustness Testing for Components , 2010, Electron. Notes Theor. Comput. Sci..

[58]  Miroslaw Malek,et al.  A Fault Taxonomy for Service-Oriented Architecture , 2007 .

[59]  L. C. Briand,et al.  Model Transformations as a Strategy to Automate Model-Based Testing - A Tool and Industrial Case Studies, Version 1.0 , 2010 .

[60]  Jeffrey G. Gray,et al.  Aspect Composition in the Motorola Aspect-Oriented Modeling Weaver , 2007, J. Object Technol..