Skip to main content

Self-adaptation with End-User Preferences: Using Run-Time Models and Constraint Solving

  • Conference paper
Model-Driven Engineering Languages and Systems (MODELS 2013)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 8107))

Abstract

This paper presents an approach to developing self-adaptive systems that takes the end users’ preferences into account for adaptation planning, while tolerating incomplete and conflicting adaptation goals. The approach transforms adaptation goals, together with the run-time model that describes current system contexts and configurations, into a constraint satisfaction problem. From that, it diagnoses the conflicting adaptation goals to ignore, and determines the required re-configuration that satisfies all remaining goals. If users do not agree with the solution, they can revise some configuration values. The approach records their preferences embedded in the revisions by tuning the weights of existing goals, so that subsequent adaptation results will be closer to the users’ preferences. The experiments on a medium-sized simulated smart home system show that the approach is effective and scalable.

This work was supported, in part, by Science Foundation Ireland grant 10/CE/I1855 to Lero - the Irish Software Engineering Research Centre ( www.lero.ie )

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Salehie, M., Tahvildari, L.: Self-adaptive software: Landscape and research challenges. ACM Transactions on Autonomous and Adaptive Systems (TAAS) 4(2), 14 (2009)

    Google Scholar 

  2. Garlan, D., Cheng, S., Huang, A., Schmerl, B., Steenkiste, P.: Rainbow: Architecture-based self-adaptation with reusable infrastructure. Computer 37(10), 46–54 (2004)

    Article  Google Scholar 

  3. de Lemos, R., Giese, H., Müller, H.A., Shaw, M., Andersson, J., Litoiu, M., Schmerl, B., Tamura, G., Villegas, N.M., Vogel, T., Weyns, D., Baresi, L., Becker, B., Bencomo, N., Brun, Y., Cukic, B., Desmarais, R., Dustdar, S., Engels, G., Geihs, K., Göschka, K.M., Gorla, A., Grassi, V., Inverardi, P., Karsai, G., Kramer, J., Lopes, A., Magee, J., Malek, S., Mankovskii, S., Mirandola, R., Mylopoulos, J., Nierstrasz, O., Pezzè, M., Prehofer, C., Schäfer, W., Schlichting, R., Smith, D.B., Sousa, J.P., Tahvildari, L., Wong, K., Wuttke, J.: Software engineering for self-adaptive systems: A second research roadmap. In: de Lemos, R., Giese, H., Müller, H.A., Shaw, M. (eds.) Software Engineering for Self-Adaptive Systems. LNCS, vol. 7475, pp. 1–32. Springer, Heidelberg (2013)

    Chapter  Google Scholar 

  4. Kephart, J., Walsh, W.: An artificial intelligence perspective on autonomic computing policies. In: IEEE International Workshop on Policies for Distributed Systems and Networks, pp. 3–12. IEEE (2004)

    Google Scholar 

  5. Kephart, J.: Research challenges of autonomic computing. In: ICSE, pp. 15–22. IEEE (2005)

    Google Scholar 

  6. Maximilien, E., Singh, M.: Toward autonomic web services trust and selection. In: Proceedings of the 2nd international conference on Service Oriented Computing, pp. 212–221. ACM (2004)

    Google Scholar 

  7. Blair, G., Bencomo, N., France, R.: Models@ run. time. Computer 42(10), 22–27 (2009)

    Article  Google Scholar 

  8. Morin, B., Barais, O., Nain, G., Jezequel, J.: Taming dynamically adaptive systems using models and aspects. In: ICSE, pp. 122–132. IEEE Computer Society (2009)

    Google Scholar 

  9. Kumar, V.: Algorithms for constraint-satisfaction problems: A survey. AI Magazine 13(1), 32 (1992)

    Google Scholar 

  10. Song, H.: All the source code, experiment resource, and results mentioned in this paper, hosted by github, https://github.com/songhui/cspadapt

  11. France, R., Rumpe, B.: Model-driven development of complex software: A research roadmap. In: 2007 Future of Software Engineering, pp. 37–54. IEEE Computer Society (2007)

    Google Scholar 

  12. Greiner, R., Smith, B., Wilkerson, R.: A correction to the algorithm in reiter’s theory of diagnosis. Artificial Intelligence 41(1), 79–88 (1989)

    Article  MathSciNet  MATH  Google Scholar 

  13. Song, H., Xiong, Y., Chauvel, F., Huang, G., Hu, Z., Mei, H.: Generating synchronization engines between running systems and their model-based views. In: Ghosh, S. (ed.) MODELS 2009. LNCS, vol. 6002, pp. 140–154. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  14. Sicard, S., Boyer, F., De Palma, N.: Using components for architecture-based management: the self-repair case. In: ICSE, pp. 101–110. ACM (2008)

    Google Scholar 

  15. Microsoft Research: Z3: a high-performance theorem prover, http://z3.codeplex.com

  16. Jones, N.D., Gomard, C.K., Sestoft, P.: Partial evaluation and automatic program generation. Prentice-Hall, New York (1993)

    MATH  Google Scholar 

  17. Reiter, R.: A theory of diagnosis from first principles. Artificial Intelligence 32(1), 57–95 (1987)

    Article  MathSciNet  MATH  Google Scholar 

  18. Xtend: a statically-typed programming language which compiles to comprehensible java source code, http://www.eclipse.org/xtend/

  19. Mozer, M.: The adaptive house, http://www.cs.colorado.edu/~mozer/nnh/

  20. Galvan, E., Harris, C., Dusparic, I., Clarke, S., Cahill, V.: Reducing electricity costs in a dynamic pricing environment. In: IEEE SmartGridComm, pp. 169–174. IEEE

    Google Scholar 

  21. Morin, B., Mouelhi, T., Fleurey, F., Le Traon, Y., Barais, O., Jézéquel, J.: Security-driven model-based dynamic adaptation. In: ASE, pp. 205–214. ACM (2010)

    Google Scholar 

  22. Russell, D., Maglio, P., Dordick, R., Neti, C.: Dealing with ghosts: Managing the user experience of autonomic computing. IBM Systems Journal 42(1), 177–188 (2003)

    Article  Google Scholar 

  23. Baresi, L., Pasquale, L., Spoletini, P.: Fuzzy goals for requirements-driven adaptation. In: RE, pp. 125–134. IEEE (2010)

    Google Scholar 

  24. Cheng, B.H.C., Sawyer, P., Bencomo, N., Whittle, J.: A goal-based modeling approach to develop requirements of an adaptive system with environmental uncertainty. In: Schürr, A., Selic, B. (eds.) MODELS 2009. LNCS, vol. 5795, pp. 468–483. Springer, Heidelberg (2009)

    Chapter  Google Scholar 

  25. Dalpiaz, F., Giorgini, P., Mylopoulos, J.: An architecture for requirements-driven self-reconfiguration. In: van Eck, P., Gordijn, J., Wieringa, R. (eds.) CAiSE 2009. LNCS, vol. 5565, pp. 246–260. Springer, Heidelberg (2009)

    Chapter  Google Scholar 

  26. Sawyer, P., Mazo, R., Diaz, D., Salinesi, C., Hughes, D.: Using constraint programming to manage configurations in self-adaptive systems. Computer 45(10), 56–63 (2012)

    Article  Google Scholar 

  27. Nentwich, C., Emmerich, W., Finkelstein, A.: Consistency management with repair actions. In: ICSE, pp. 455–464. IEEE (2003)

    Google Scholar 

  28. Egyed, A., Letier, E., Finkelstein, A.: Generating and evaluating choices for fixing inconsistencies in uml design models. In: ASE, pp. 99–108. IEEE (2008)

    Google Scholar 

  29. Xiong, Y., Hubaux, A., She, S., Czarnecki, K.: Generating range fixes for software configuration. In: ICSE, pp. 58–68. IEEE (2012)

    Google Scholar 

  30. Sun, W., France, R., Ray, I.: Rigorous analysis of uml access control policy models. In: 2011 IEEE International Symposium on Policies for Distributed Systems and Networks (POLICY), pp. 9–16. IEEE (2011)

    Google Scholar 

  31. White, J., Dougherty, B., Schmidt, D., Benavides, D.: Automated reasoning for multi-step feature model configuration problems. In: Proceedings of the 13th International Software Product Line Conference, pp. 11–20. Carnegie Mellon University (2009)

    Google Scholar 

  32. Neema, S., Ledeczi, A.: Constraint-guided self-adaptation. Self-Adaptive Software: Applications, 325–327 (2003)

    Google Scholar 

  33. Maoz, S., Ringert, J.O., Rumpe, B.: CD2Alloy: Class diagrams analysis using alloy revisited. In: Whittle, J., Clark, T., Kühne, T. (eds.) MODELS 2011. LNCS, vol. 6981, pp. 592–607. Springer, Heidelberg (2011)

    Chapter  Google Scholar 

  34. Cabot, J., Clarisó, R., Riera, D.: Verification of UML/OCL class diagrams using constraint programming. In: Software Testing Verification and Validation Workshop, pp. 73–80. IEEE (2008)

    Google Scholar 

  35. Cabot, J., Clarisó, R., Riera, D.: UMLtoCSP: a tool for the formal verification of uml/ocl models using constraint programming. In: ASE, pp. 547–548. ACM (2007)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2013 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Song, H., Barrett, S., Clarke, A., Clarke, S. (2013). Self-adaptation with End-User Preferences: Using Run-Time Models and Constraint Solving. In: Moreira, A., Schätz, B., Gray, J., Vallecillo, A., Clarke, P. (eds) Model-Driven Engineering Languages and Systems. MODELS 2013. Lecture Notes in Computer Science, vol 8107. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-41533-3_34

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-41533-3_34

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-41532-6

  • Online ISBN: 978-3-642-41533-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics