skip to main content
10.1145/2897053.2897059acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
research-article

Automatically hardening a self-adaptive system against uncertainty

Published:14 May 2016Publication History

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.

References

  1. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  2. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  3. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  4. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  5. A. Dardenne, A. Van Lamsweerde, and S. Fickas. Goal-directed requirements acquisition. Science of computer programming, 20(1):3--50, 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  7. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  8. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  9. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  10. 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 ScholarGoogle ScholarCross RefCross Ref
  11. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  12. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  13. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  14. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  15. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  16. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  17. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  18. J. H. Holland. Adaptation in Natural and Artificial Systems. MIT Press, Cambridge, MA, USA, 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  20. ISO. Iso 26262: Road vehicles -- functional safety. International Standard ISO/FDIS 26262, 2011.Google ScholarGoogle Scholar
  21. 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 ScholarGoogle Scholar
  22. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  23. J. Kephart and D. Chess. The vision of autonomic computing. Computer, 36(1):41--50, January 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  25. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  26. 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 ScholarGoogle Scholar
  27. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  28. P. McKinley, S. Sadjadi, E. Kasten, and B. H. C. Cheng. Composing adaptive software. Computer, 37(7):56--64, July 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  30. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  31. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  32. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  33. A. van Lamsweerde. Requirements Engineering: From System Goals to UML Models to Software Specifications. Wiley, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. A. Van Lamsweerde and E. Letier. Handling obstacles in goal-oriented requirements engineering. Software Engineering, IEEE Transactions on, 26(10):978--1005, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  36. 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 ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Automatically hardening a self-adaptive system against uncertainty

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in
        • Published in

          cover image ACM Conferences
          SEAMS '16: Proceedings of the 11th International Symposium on Software Engineering for Adaptive and Self-Managing Systems
          May 2016
          179 pages
          ISBN:9781450341875
          DOI:10.1145/2897053

          Copyright © 2016 ACM

          Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 14 May 2016

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • research-article

          Acceptance Rates

          Overall Acceptance Rate17of31submissions,55%

          Upcoming Conference

          ICSE 2025

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader