Skip to main content

Advertisement

Log in

AutoRELAX: automatically RELAXing a goal model to address uncertainty

  • Published:
Empirical Software Engineering Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17
Fig. 18
Fig. 19
Fig. 20

Similar content being viewed by others

Notes

  1. Component refers to an identifiable executable element, such as a software component or network node.

  2. Although fitness sub-functions can be combined in different ways, we find that a linear-weighted sum facilitates the balancing of competing concerns.

  3. For this article, we examined the fitness sub-function results every 5th generation.

  4. 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.

  5. See http://www.irobot.com/

  6. 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

    Google Scholar 

  • 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

    Google Scholar 

  • 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

    Google Scholar 

  • 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

    Article  MATH  Google Scholar 

  • 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

    Google Scholar 

  • 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

    Article  MATH  Google Scholar 

  • 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

    Google Scholar 

  • 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

    Google Scholar 

  • 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

    Google Scholar 

  • 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

    Google Scholar 

  • Holland JH (1992) Adaptation in natural and artificial systems. MIT Press, Cambridge

    Google Scholar 

  • 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

    Google Scholar 

  • Ji M, Veitch A, Wilkes J (2003) Seneca: remote mirroring done write. In: USENIX 2003 annual technical conference. USENIX Association, Berkeley, pp 253–268

    Google Scholar 

  • 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

    Google Scholar 

  • Kramer J, Magee J (1990) The evolving philosophers problem: dynamic change management. IEEE Trans Soft Eng 16(11):1293–1306

    Article  Google Scholar 

  • 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

    Google Scholar 

  • 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

    Book  Google Scholar 

  • 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

    Google Scholar 

  • 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

    Google Scholar 

  • 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

    Article  Google Scholar 

  • 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

    Google Scholar 

  • Wei O, Gurfinkel A, Chechik M (2011) On the consistency, expressiveness, and precision of partial models. J Inf Comput 209(1):20–47

    Article  MathSciNet  MATH  Google Scholar 

  • 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

    Google Scholar 

  • 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

    Google Scholar 

  • 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

    Google Scholar 

  • Witty R, Scott D (2001) Disaster recovery plans and systems are essential. Technical Report FT-14-5021, Gartner research

Download references

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

Authors

Corresponding author

Correspondence to Erik M. Fredericks.

Additional information

Communicated by: Gordon Fraser and Jerffeson Teixeira de Souza

Rights and permissions

Reprints 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

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10664-014-9305-0

Keywords

Navigation