Efficient Testing of Self-Adaptive Behaviors in Collective Adaptive Systems

Collective adaptive systems (CAS) consist of multiple agents that adapt to changing system and environmental conditions in order to satisfy system goals and quality requirements. As more applications involve using CAS in a critical context, ensuring the correct and safe adaptive behaviors of quality-driven CAS has become more important. In this paper, we propose Collective Adaptive System Testing (CAST), a scalable and efficient approach to testing self-adaptive behaviors of CAS. We propose a selective method to instantiate and execute test cases relevant to the current adaptation context. This enables testers to focus testing on key self-adaptive behaviors while dealing with the scale and dynamicity of the system. An experimental evaluation using a traffic monitoring system is performed to validate its scalability, efficiency, and fault-detection effectiveness. The experimental results provide insights into how CAST can serve as a feasible and effective assurance technique for CAS.

[1]  Emanuele Carpanzano,et al.  Distributed Intelligent Automation Solutions for Self-adaptive Manufacturing Plants , 2010, BASYS.

[2]  Norha M. Villegas,et al.  Assurance Using Models at Runtime for Self-Adaptive Software Systems , 2012 .

[3]  Danny Weyns,et al.  A Case Study on Formal Verification of Self-Adaptive Behaviors in a Decentralized System , 2012, FOCLASA.

[4]  Gerard J. Holzmann,et al.  The SPIN Model Checker - primer and reference manual , 2003 .

[5]  Gerard J. Holzmann,et al.  The SPIN Model Checker , 2003 .

[6]  Marco Pistore,et al.  NuSMV 2: An OpenSource Tool for Symbolic Model Checking , 2002, CAV.

[7]  Peter Sawyer,et al.  Managing Testing Complexity in Dynamically Adaptive Systems: A Model-Driven Approach , 2010, 2010 Third International Conference on Software Testing, Verification, and Validation Workshops.

[8]  Ieee Std,et al.  Systems and Software Engineering— Systems and Software Assurance— Part 1: Concepts and Vocabulary , 2011 .

[9]  Tariq M. King,et al.  Towards Change Propagating Test Models in Autonomic and Adaptive Systems , 2011, 2011 18th IEEE International Conference and Workshops on Engineering of Computer-Based Systems.

[10]  Anna Perini,et al.  eCAT: a tool for automating test cases generation and execution in testing multi-agent systems , 2008, AAMAS.

[11]  Hausi A. Müller,et al.  A framework for evaluating quality-driven self-adaptive software systems , 2011, SEAMS '11.

[12]  Zina Houhamdi,et al.  Structured System Test Suite Generation Process for Multi-Agent System , 2011 .

[13]  Roy Sterritt,et al.  Autonomous and Autonomic Swarms , 2005, Software Engineering Research and Practice.

[14]  Danny Weyns,et al.  ActivFORMS: active formal models for self-adaptation , 2014, SEAMS 2014.

[15]  Sebastian Benz Combining test case generation for component and integration testing , 2007, A-MOST '07.

[16]  Serge Kernbach,et al.  Collective Adaptive Systems: Challenges Beyond Evolvability , 2011, ArXiv.

[17]  David B. Knoester,et al.  Automatically exploring how uncertainty impacts behavior of dynamically adaptive systems , 2011, 2011 26th IEEE/ACM International Conference on Automated Software Engineering (ASE 2011).

[18]  Didac Gil de la Iglesia A Formal Approach for Designing Distributed Self-Adaptive Systems , 2014 .

[19]  Wouter Joosen,et al.  The MACODO middleware for context-driven dynamic agent organizations , 2010, TAAS.

[20]  Betty H. C. Cheng,et al.  Towards run-time adaptation of test cases for self-adaptive systems in the face of uncertainty , 2014, SEAMS 2014.

[21]  Dietmar P. F. Möller,et al.  Systems and Software Engineering , 2016 .

[22]  Kim G. Larsen,et al.  A Tutorial on Uppaal , 2004, SFM.