ABSTRACT
A self-adaptive system (SAS) can reconfigure to adapt to potentially adverse conditions that can manifest in the environment at run time. However, the SAS may not have been explicitly developed with such conditions in mind, thereby requiring additional configuration states or updates to the requirements specification for the SAS to provide assurance that it continually satisfies its requirements and delivers acceptable behavior. By discovering both adverse environmental conditions and the SAS configuration states that can mitigate those conditions at design time, an SAS can be hardened against uncertainty prior to deployment, effectively extending its lifetime. This paper introduces two search-based techniques, Ragnarok and Valkyrie, for hardening an SAS against uncertainty. Ragnarok automatically discovers adverse conditions that negatively impact an SAS by searching for environmental conditions that explicitly cause requirements violations. Valkyrie then searches for SAS configurations that improve requirements satisficement throughout execution in response to discovered adverse environmental conditions. Together, these techniques can be used to improve the design and implementation of an SAS. We apply each technique to an industry-provided remote data mirroring application that can self-reconfigure in response to unknown or adverse conditions, such as network message delays, network link failures, and sensor noise.
- J. H. Andrews, T. Menzies, and F. C. Li. Genetic algorithms for randomized unit testing. IEEE Transactions on Software Engineering, 37(1):80--94, January 2011. Google ScholarDigital Library
- L. Baresi, L. Pasquale, and P. Spoletini. Fuzzy goals for requirements-driven adaptation. In Requirements Engineering Conference (RE), 2010 18th IEEE International, pages 125--134, 27 2010-oct. 1 2010. Google ScholarDigital Library
- B. H. C. Cheng, R. Lemos, H. Giese, P. Inverardi, J. Magee, and et al. Software engineering for self-adaptive systems: A research roadmap. In Software engineering for self-adaptive systems, chapter Software Engineering for Self-Adaptive Systems: A Research Roadmap, pages 1--26. Springer-Verlag, Berlin, Heidelberg, 2009. Google ScholarDigital Library
- B. H. C. Cheng, P. Sawyer, N. Bencomo, and J. Whittle. A goal-based modeling approach to develop requirements of an adaptive system with environmental uncertainty. In Proceedings of the 12th International Conference on Model Driven Engineering Languages and Systems, pages 468--483, Berlin, Heidelberg, 2009. Springer-Verlag. Google ScholarDigital Library
- A. Dardenne, A. Van Lamsweerde, and S. Fickas. Goal-directed requirements acquisition. Science of computer programming, 20(1):3--50, 1993. Google ScholarDigital Library
- E. M. Dashofy, A. van der Hoek, and R. N. Taylor. Towards architecture-based self-healing systems. In Proceedings of the First Workshop on Self-healing Systems, WOSS '02, pages 21--26. ACM, 2002. Google ScholarDigital Library
- P. deGrandis and G. Valetto. Elicitation and utilization of application-level utility functions. In Proceedings of the 6th International Conference on Autonomic Computing, ICAC '09, pages 107--116. ACM, 2009. Google ScholarDigital Library
- S. Elbaum and D. S. Rosenblum. Known unknowns: Testing in the presence of uncertainty. In Proceedings of the 22Nd ACM SIGSOFT International Symposium on Foundations of Software Engineering, pages 833--836, 2014. Google ScholarDigital Library
- N. Esfahani, E. Kouroshfar, and S. Malek. Taming uncertainty in self-adaptive software. In Proceedings of the 19th ACM SIGSOFT symposium and the 13th European conference on Foundations of software engineering, pages 234--244. ACM, 2011. Google ScholarDigital Library
- N. Esfahani and S. Malek. Uncertainty in self-adaptive software systems. In Software Engineering for Self-Adaptive Systems II, pages 214--238. Springer, 2013.Google ScholarCross Ref
- L. Etxeberria, C. Trubiani, V. Cortellessa, and G. Sagardui. Performance-based selection of software and hardware features under parameter uncertainty. In Proceedings of the 10th International ACM Sigsoft Conference on Quality of Software Architectures, QoSA '14, pages 23--32, 2014. Google ScholarDigital Library
- A. Filieri, M. Maggio, K. Angelopoulos, N. D'Ippolito, I. Gerostathopoulos, A. B. Hempel, H. Hoffmann, P. Jamshidi, E. Kalyvianaki, C. Klein, F. Krikava, S. Misailovic, A. V. Papadopoulos, S. Ray, A. M. Sharifloo, S. Shevtsov, M. Ujma, and T. Vogel. Software engineering meets control theory. In Proceedings of the 10th International Symposium on Software Engineering for Adaptive and Self-Managing Systems, SEAMS '15, pages 71--82, 2015. Google ScholarDigital Library
- E. M. Fredericks, B. DeVries, and B. H. C. Cheng. Autorelax: Automatically relaxing a goal model to address uncertainty. Empirical Software Engineering, 19(5):1466--1501, 2014. Google ScholarDigital Library
- E. M. Fredericks, B. DeVries, and B. H. C. Cheng. Towards run-time adaptation of test cases for self-adaptive systems in the face of uncertainty. In Proceedings of the 9th International Symposium on Software Engineering for Adaptive and Self-Managing Systems, SEAMS '14, 2014. Google ScholarDigital Library
- E. M. Fredericks, A. J. Ramirez, and B. H. C. Cheng. Validating code-level behavior of dynamic adaptive systems in the face of uncertainty. In Search Based Software Engineering, volume 8084 of Lecture Notes in Computer Science, pages 81--95. Springer Berlin Heidelberg, 2013. Google ScholarDigital Library
- D. Garlan and B. Schmerl. Model-based adaptation for self-healing systems. In Proceedings of the First Workshop on Self-healing Systems, pages 27--32, Charleston, SC, 2002. ACM. Google ScholarDigital Library
- D. Ghosh, R. Sharman, H. Raghav Rao, and S. Upadhyaya. Self-healing systems -- survey and synthesis. Decision Support Systems, 42(4):2164--2185, 2006. Google ScholarDigital Library
- J. H. Holland. Adaptation in Natural and Artificial Systems. MIT Press, Cambridge, MA, USA, 1992. Google ScholarDigital Library
- M. Z. Iqbal, A. Arcuri, and L. Briand. Empirical investigation of search algorithms for environment model-based testing of real-time embedded software. In Proceedings of the 2012 International Symposium on Software Testing and Analysis, ISSTA 2012, pages 199--209, 2012. Google ScholarDigital Library
- ISO. Iso 26262: Road vehicles -- functional safety. International Standard ISO/FDIS 26262, 2011.Google Scholar
- M. Ji, A. Veitch, and J. Wilkes. Seneca: Remote mirroring done write. In USENIX 2003 Annual Technical Conference, pages 253--268, Berkeley, CA, USA, June 2003. USENIX Association.Google Scholar
- K. Keeton, C. Santos, D. Beyer, J. Chase, and J. Wilkes. Designing for disasters. In Proceedings of the 3rd USENIX Conference on File and Storage Technologies, pages 59--62, Berkeley, CA, USA, 2004. USENIX Association. Google ScholarDigital Library
- J. Kephart and D. Chess. The vision of autonomic computing. Computer, 36(1):41--50, January 2003. Google ScholarDigital Library
- M. Lajolo, L. Lavagno, and M. Rebaudengo. Automatic test bench generation for simulation-based validation. In Proceedings of the Eighth International Workshop on Hardware/Software Codesign, pages 136--140, San Diego, California, United States, 2000. ACM. Google ScholarDigital Library
- Y. Ledru, A. Petrenko, and S. Boroday. Using string distances for test case prioritisation. In Proceedings of the 2009 IEEE/ACM International Conference on Automated Software Engineering, ASE'09, pages 510--514, Auckland, New Zealand, November 2009. IEEE Computer Society. Google ScholarDigital Library
- J. Lehman and K. O. Stanley. Exploiting open-endedness to solve problems through the search for novelty. In Proceedings of the Eleventh International Conference on Artificial Life, ALIFE XI. MIT Press, 2004.Google Scholar
- E. Letier and A. van Lamsweerde. Reasoning about partial goal satisfaction for requirements and design engineering. In Proceedings of the 12th ACM SIGSOFT Twelfth International Symposium on Foundations of Software Engineering, pages 53--62, 2004. Google ScholarDigital Library
- P. McKinley, S. Sadjadi, E. Kasten, and B. H. C. Cheng. Composing adaptive software. Computer, 37(7):56--64, July 2004. Google ScholarDigital Library
- A. Ramirez, A. Jensen, B. H. C. Cheng, and D. Knoester. Automatically exploring how uncertainty impacts behavior of dynamically adaptive systems. In Automated Software Engineering (ASE), 2011 26th IEEE/ACM International Conference on, pages 568--571, Nov. 2011. (Preliminary work described in short paper). Google ScholarDigital Library
- A. J. Ramirez and B. H. C. Cheng. Automatically deriving utility functions for monitoring software requirements. In Proceedings of the 2011 International Conference on Model Driven Engineering Languages and Systems Conference, pages 501--516, Wellington, New Zealand, 2011. Google ScholarDigital Library
- A. J. Ramirez, D. B. Knoester, B. H. C. Cheng, and P. K. McKinley. Applying genetic algorithms to decision making in autonomic computing systems. In Proceedings of the 6th International Conference on Autonomic Computing, pages 97--106, 2009. (Best paper award). Google ScholarDigital Library
- P. Sawyer, N. Bencomo, J. Whittle, E. Letier, and A. Finkelstein. Requirements-aware systems: A research agenda for re for self-adaptive systems. In Requirements Engineering Conference (RE), 2010 18th IEEE International, pages 95--103, 2010. Google ScholarDigital Library
- A. van Lamsweerde. Requirements Engineering: From System Goals to UML Models to Software Specifications. Wiley, 2009. Google ScholarDigital Library
- A. Van Lamsweerde and E. Letier. Handling obstacles in goal-oriented requirements engineering. Software Engineering, IEEE Transactions on, 26(10):978--1005, 2000. Google ScholarDigital Library
- W. E. Walsh, G. Tesauro, J. O. Kephart, and R. Das. Utility functions in autonomic systems. In Proceedings of the First IEEE International Conference on Autonomic Computing, pages 70--77. IEEE Computer Society, 2004. Google ScholarDigital Library
- J. Whittle, P. Sawyer, N. Bencomo, B. H. C. Cheng, and J. Bruel. Relax: Incorporating uncertainty into the specification of self-adaptive systems. In 17th IEEE International Requirements Engineering Conference (RE'09), pages 79--88, 2009. Google ScholarDigital Library
Index Terms
- Automatically hardening a self-adaptive system against uncertainty
Recommendations
Towards a requirements modeling language for self-adaptive systems
REFSQ'12: Proceedings of the 18th international conference on Requirements Engineering: foundation for software quality[Context and motivation] Self-adaptive systems (SAS) monitor and adapt to changing end-user requirements, operating context conditions, and resource availability. Specifying requirements for such dynamic systems is not trivial. Most of the research on ...
Towards run-time adaptation of test cases for self-adaptive systems in the face of uncertainty
SEAMS 2014: Proceedings of the 9th International Symposium on Software Engineering for Adaptive and Self-Managing SystemsSelf-adaptive systems (SAS) may be subjected to conditions for which they were not explicitly designed. For those high-assurance SAS applications that must deliver critical services, techniques are needed to ensure that only acceptable behavior is ...
Requirements engineering for self-adaptive systems: core ontology and problem statement
CAiSE'11: Proceedings of the 23rd international conference on Advanced information systems engineeringThe vision for self-adaptive systems (SAS) is that they should continuously adapt their behavior at runtime in response to changing user's requirements, operating contexts, and resource availability. Realizing this vision requires that we understand ...
Comments