Abstract
Dynamically adaptive systems (DAS) must cope with system and environmental conditions that may not have been fully understood or anticipated during development. RELAX is a fuzzy logic-based specification language for identifying and assessing sources of environmental uncertainty, thereby making DAS requirements more tolerant of unanticipated conditions. This paper presents AutoRELAX, an approach that automatically generates RELAXed goal models to address environmental uncertainty. Specifically, AutoRELAX identifies goals to RELAX, which RELAX operators to apply, and the shape of the fuzzy logic function that establishes the goal satisfaction criteria. AutoRELAX generates different solutions by making tradeoffs between minimizing the number of RELAXed goals and maximizing delivered functionality by reducing the number of adaptations triggered by minor and adverse environmental conditions. In a recent extension, AutoRELAX uses a stepwise adaptation of weights to balance these two competing concerns and thereby further improve the utility of AutoRELAX. We apply it to two industry-based applications involving network management and a robotic controller, respectively.
Similar content being viewed by others
Notes
Component refers to an identifiable executable element, such as a software component or network node.
Although fitness sub-functions can be combined in different ways, we find that a linear-weighted sum facilitates the balancing of competing concerns.
For this article, we examined the fitness sub-function results every 5th generation.
Because the datasets used in this paper are drawn from a normal distribution, are of unequal sample size, and have unequal variance, we use the Welch t-test to test for statistical significance.
See http://www.ode.org.
References
Baresi L, Pasquale L, Spoletini P (2010) Fuzzy goals for requirements-driven adaptation. In: Proceedings of the 18th IEEE international requirements engineering conference. IEEE, Sydney, pp 125–134
Bencomo N, Whittle J, Sawyer P, Finkelstein A, Letier E (2010) Requirements reflection: requirements as runtime entities. In: Proceedings of the 32nd ACM/IEEE international conference on software engineering. ACM, Cape Town, pp 199–202
Bencomo N, Belaggoun A (2013) Supporting decision-making for self-adaptive systems: from goal models to dynamic decision networks. In: Requirements engineering: Foundation for Software Quality. Springer, pp 221–236
Cheng BHC, Sawyer P, Bencomo N, Whittle J (2009) A goal-based modeling approach to develop requirements of an adaptive system with environmental uncertainty. In: ACM/IEEE international conference on model driven engineering languages and systems (MODELS’09). Lecture notes in computer science. Springer-Verlag, Denver, pp 468–483
Chung L, Nixon B, Yu E, Mylopoulos J (2000) Non-functional requirements in software engineering. Kluwer
Craenen B, Eiben A (2001) Stepwise adaption of weights with refinement and decay on constraint satisfaction problems. In: Proceedings of the genetic and evolutionary computation conference (GECCO 2001), pp 291–298
Dardenne A, van Lamsweerde A, Fickas S (1993) Goal-directed requirements acquisition. Sci Comput Program 20(1-2):3–50
Deb K, Pratap A, Agarwal S, Meyarivan T (2002) A fast and elitist multiobjective genetic algorithm: NSGA-II. In: IEEE transactions on evolutionary computation, vol 6. IEEE, pp 182–197
de Grandis P, Valetto G (2009) Elicitation and utilization of application-level utility functions. In: Proceedings of the sixth international conference on autonomic computing (ICAC’09). ACM, Barcelona, pp 107–116
Eiben Á, van der Hauw J (1997) Solving 3-sat by gas adapting constraint weights. In: IEEE international conference on evolutionary computation. IEEE, pp 81–86
Eiben A, van der Hauw J (1998) Adaptive penalties for evolutionary graph coloring. In: Artificial evolution. Springer, pp 95–106
Eiben A, van der Hauw J, van Hemert J (1998) Graph coloring with adaptive evolutionary algorithms. J Heuristics 4:25–46
Esfahani N (2011) A framework for managing uncertainty in self-adaptive software systems. In: Proceedings of the 26th IEEE/ACM international conference on automated software engineering. Lawrence , Kansas
Esfahani N, Kouroshfar E, Malek S (2011) Taming uncertainty in self-adaptive software. In: Proceedings of the 19th ACM SIGSOFT symposium and the 13th European conference on foundations of software engineering. Szeged, pp 234–244
Feather MS, Fickas S, van Lamsweerde A, Ponsard C (1998) Reconciling system requirements and runtime behavior. In: Proceedings of the 8th international workshop on software specification and design. IEEE Computer Society, Washington, DC, pp 50–59
Fickas S, Feather MS (1995) Requirements monitoring in dynamic environments. In: Proceedings of the second IEEE international symposium on requirements engineering. IEEE Computer Society, Washington, DC, pp 140–147
Filieri A, Ghezzi C, Tamburrelli G (2011) Run-time efficient probabilistic model checking. In: Proceedings of the 33rd international conference on software engineering. ACM, Waikiki, pp 341–350
Holland JH (1992) Adaptation in natural and artificial systems. MIT Press, Cambridge
Jackson M, Zave P (1995) Deriving specifications from requirements: an example. In: Proceedings of the 17th international conference on software engineering. ACM, Seattle, pp 15–24
Ji M, Veitch A, Wilkes J (2003) Seneca: remote mirroring done write. In: USENIX 2003 annual technical conference. USENIX Association, Berkeley, pp 253–268
Keeton K, Santos C, Beyer D, Chase J, Wilkes J (2004) Designing for disasters. In: Proceedings of the 3rd USENIX conference on file and storage technologies. USENIX Association, Berkeley, pp 59–62
Kramer J, Magee J (1990) The evolving philosophers problem: dynamic change management. IEEE Trans Soft Eng 16(11):1293–1306
Letier E, van Lamsweerde A (2004) Reasoning about partial goal satisfaction for requirements and design engineering. In: Proceedings of the 12th ACM SIGSOFT international symposium on foundations of software engineering. ACM, Newport Beach, pp 53–62
Neema S, Bapty T, Scott J (1999) Development environment for dynamically reconfigurable embedded systems. In: Proceedings of the international conference on signal processing applications and technology. Orlando
Pasquale L, Spoletini P (2011) Monitoring fuzzy temporal requirements for service compositions: motivations, challenges, and experimental results. In: Proceedings of the 2011 international workshop on requirements engineering for systems, services and systems of systems. IEEE, Trento, pp 63–69
Ramirez AJ, Knoester DB, Cheng BHC, McKinley PK (2009) Applying genetic algorithms to decision making in autonomic computing systems. In: Proceedings of the sixth international conference on autonomic computing. Barcelona, pp 97–106
Ramirez AJ, Knoester DB, Cheng BHC, McKinley PK (2010) Plato: a genetic algorithm approach to run-time reconfiguration of autonomic computing systems. Clust Comput to appear
Ramirez AJ, Cheng BHC (2011) Automatically deriving utility functions for monitoring software requirements. In: Proceedings of the 2011 international conference on model driven engineering languages and systems conference. Wellington, pp 501–516
Ramirez AJ, Jensen AC, Cheng BH, Knoester DB (2011) Automatically exploring how uncertainty impacts behavior of dynamically adaptive systems. In: Proceedings of the 2011 international conference on automatic software engineering, ASE’11. Lawrence, Kansas
Ramirez AJ, Fredericks EM, Jensen AC, Cheng BHC (2012) Automatically relaxing a goal model to cope with uncertainty. In: Fraser G, Teixeira de Souza J (eds) Search based software engineering, lecture notes in computer science, vol 7515. Springer, Berlin, pp 198–212
Sawyer P, Bencomo N, Letier E, Finkelstein A (2010) Requirements-aware systems: a research agenda for re self-adaptive systems. In: Proceedings of the 18th IEEE international requirements engineering conference. Sydney, pp 95–103
Souza VES, Mylopoulos J (2011) From awareness requirements to adaptive systems: a control-theoretic approach. In: Proceedings of the second international workshop on requirements at run time. IEEE Computer Society, Trento, pp 9–15
van der Hauw K (1996) Evaluating and improving steady state evolutionary algorithms on constraint satisfaction problems. Master’s thesis, Leiden University
van Lamsweerde A (2009) Requirements engineering: from system goals to UML models to software specifications. Wiley
van Lamsweerde A, Letier E (2000) Handling obstacles in goal-oriented requirements engineering. IEEE Trans Softw Eng 26(10):978–1005
Walsh WE, Tesauro G, Kephart JO, Das R (2004) Utility functions in autonomic systems. In: Proceedings of the first IEEE international conference on autonomic computing. IEEE Computer Society, New York, pp 70–77
Wei O, Gurfinkel A, Chechik M (2011) On the consistency, expressiveness, and precision of partial models. J Inf Comput 209(1):20–47
Welsh K, Sawyer P (2010) Understanding the scope of uncertainty in dynamically adaptive systems. In: Proceedings of the sixth international working conference on requirements engineering: foundation for software quality, vol 6182. Springer, Essen, pp 2–16
Welsh K, Sawyer P, Bencomo N (2011 ) Towards requirements aware systems: run-time resolution of design-time assumptions. In: Proceedings of the 26th IEEE/ACM international conference on automated software engineering. IEEE Computer Society, Lawrence, pp 560–563
Whittle J, Sawyer P, Bencomo N, Cheng BHC, Bruel JM (2009) RELAX: Incorporating uncertainty into the specification of self-adaptive systems. In: Proceedings of the 17th international requirements engineering conference (RE ’09). IEEE Computer Society, Atlanta, pp 79–88
Witty R, Scott D (2001) Disaster recovery plans and systems are essential. Technical Report FT-14-5021, Gartner research
Acknowledgments
We gratefully acknowledge conceptual and implementation contributions from Jared M. Moore. Much of the original work with AutoRELAX was done by Andres J. Ramirez.
This work has been supported in part by NSF grants CCF-0854931, CCF-0750787, CCF-0820220, DBI-0939454, Army Research Office grant W911NF-08-1-0495, and Ford Motor Company. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation, Army, Ford, or other research sponsors. The authors declare that they have no conflict of interest.
Author information
Authors and Affiliations
Corresponding author
Additional information
Communicated by: Gordon Fraser and Jerffeson Teixeira de Souza
Rights and permissions
About this article
Cite this article
Fredericks, E.M., DeVries, B. & Cheng, B.H.C. AutoRELAX: automatically RELAXing a goal model to address uncertainty. Empir Software Eng 19, 1466–1501 (2014). https://doi.org/10.1007/s10664-014-9305-0
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10664-014-9305-0