Modelling Adaptation Policies as Domain-Specific Constraints

  • Hui Song
  • Xiaodong Zhang
  • Nicolas Ferry
  • Franck Chauvel
  • Arnor Solberg
  • Gang Huang
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8767)


In order to develop appropriate adaptation policies for self-adaptive systems, developers usually have to accomplish two main tasks: (i) identify the application-level constraints that regulate the desired system states for the various contexts, and (ii) figure out how to transform the system to satisfy these constraints. The second task is challenging because typically there is complex interaction among constraints, and a significant gap between application domain expertice and state transition expertice. In this paper, we present a model-driven approach that relieves developers from this second task, allowing them to directly write domain-specific constraints as adaptation policies. We provide a language to model both the domain concepts and the application-level constraints. Our runtime engine transforms the model into a Satisfiability Modulo Theory problem, optimises it by pre-processing on the current system state at runtime, and computes required modifications according to the specified constraints using constraints solving. We evaluate the approach addressing a virtual machine placement problem in cloud computing.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    de Lemos, R., et al.: Software engineering for self-adaptive systems: A research roadmap. In: de Lemos, R., Giese, H., Müller, H.A., Shaw, M., et al. (eds.) Self-Adaptive Systems. LNCS, vol. 7475, pp. 1–32. Springer, Heidelberg (2013)Google Scholar
  2. 2.
    Salehie, M., Tahvildari, L.: Self-adaptive software: Landscape and research challenges. ACM Transactions on Autonomous and Adaptive Systems (TAAS) 4(2), 14 (2009)CrossRefGoogle Scholar
  3. 3.
    Kephart, J.: Research challenges of autonomic computing. In: ICSE, pp. 15–22. IEEE (2005)Google Scholar
  4. 4.
    Object Management Group: OMG Object Constraint Language (OCL),
  5. 5.
    Song, H., Barrett, S., Clarke, A., Clarke, S.: 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.) MODELS 2013. LNCS, vol. 8107, pp. 555–571. Springer, Heidelberg (2013)CrossRefGoogle Scholar
  6. 6.
    de Moura, L., Bjørner, N.S.: Z3: An efficient smt solver. In: Ramakrishnan, C.R., Rehof, J. (eds.) TACAS 2008. LNCS, vol. 4963, pp. 337–340. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  7. 7.
    Hermenier, F., Lorca, X., Menaud, J.M., Muller, G., Lawall, J.: Entropy: A consolidation manager for clusters. In: Proceedings of the 2009 ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments, pp. 41–50. ACM (2009)Google Scholar
  8. 8.
    Song, H., Xiong, Y., Chauvel, F., Huang, G., Hu, Z., Mei, H.: Generating synchronization engines between running systems and their model-based views. Models in Software Engineering, 140–154 (2010)Google Scholar
  9. 9.
    Bryant, R.E., Lahiri, S.K., Seshia, S.A.: Modeling and verifying systems using a logic of counter arithmetic with lambda expressions and uninterpreted functions. In: Brinksma, E., Larsen, K.G. (eds.) CAV 2002. LNCS, vol. 2404, pp. 78–92. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  10. 10.
    Guttag, J.V., Horning, J.J.: The algebraic specification of abstract data types. Acta Informatica 10(1), 27–52 (1978)MathSciNetCrossRefMATHGoogle Scholar
  11. 11.
  12. 12.
    Barrett, C., Stump, A., Tinelli, C.: The SMT-LIB Standard: Version 2.0. Technical report, Department of Computer Science, The University of Iowa (2010),
  13. 13.
    Jones, N.D., Gomard, C.K., Sestoft, P.: Partial evaluation and automatic program generation. Prentice-Hall, New York (1993)MATHGoogle Scholar
  14. 14.
    Demuth, B.: The dresden ocl toolkit and its role in information systems development. In: Proc. of the 13th International Conference on Information Systems Development, ISD 2004 (2004)Google Scholar
  15. 15.
    Ferry, N., Rossini, A., Chauvel, F., Morin, B., Solberg, A.: Towards model-driven provisioning, deployment, monitoring, and adaptation of multi-cloud systems. In: CLOUD 2013: IEEE 6th International Conference on Cloud Computing, pp. 887–894 (2013)Google Scholar
  16. 16.
    Meng, X., Pappas, V., Zhang, L.: Improving the scalability of data center networks with traffic-aware virtual machine placement. In: INFOCOM, 2010 Proceedings IEEE, pp. 1–9. IEEE (2010)Google Scholar
  17. 17.
    Bobroff, N., Kochut, A., Beaty, K.: Dynamic placement of virtual machines for managing sla violations. In: 10th IFIP/IEEE International Symposium on Integrated Network Management, IM 2007, pp. 119–128. IEEE (2007)Google Scholar
  18. 18.
    Zhang, X., Zhang, Y., Chen, X., Liu, K., Huang, G., Zhan, J.: A relationship-based vm placement framework of cloud environment. In: Proceedings of the 2013 IEEE 37th Annual Computer Software and Applications Conference, pp. 124–133. IEEE Computer Society (2013)Google Scholar
  19. 19.
    Keeney, J., Cahill, V.: Chisel: A policy-driven, context-aware, dynamic adaptation framework. In: Proceedings of the IEEE 4th International Workshop on Policies for Distributed Systems and Networks, POLICY 2003, pp. 3–14. IEEE (2003)Google Scholar
  20. 20.
    Kephart, J.O., Das, R.: Achieving self-management via utility functions. IEEE Internet Computing 11(1), 40–48 (2007)CrossRefGoogle Scholar
  21. 21.
    David, P.C., Ledoux, T., et al.: Safe dynamic reconfigurations of fractal architectures with fscript. In: Proceeding of Fractal CBSE Workshop, ECOOP, vol. 6 (2006)Google Scholar
  22. 22.
    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
  23. 23.
    Floch, J., Hallsteinsen, S., Stav, E., Eliassen, F., Lund, K., Gjorven, E.: Using architecture models for runtime adaptability. IEEE Software 23(2), 62–70 (2006)CrossRefGoogle Scholar
  24. 24.
    Morin, B., Barais, O., Jezequel, J., Fleurey, F., Solberg, A.: Models@ run. time to support dynamic adaptation. Computer 42(10), 44–51 (2009)CrossRefGoogle Scholar
  25. 25.
    Garlan, D., Cheng, S., Huang, A., Schmerl, B., Steenkiste, P.: Rainbow: Architecture-based self-adaptation with reusable infrastructure. Computer 37(10), 46–54 (2004)CrossRefGoogle Scholar
  26. 26.
    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
  27. 27.
    Brun, Y., et al.: Engineering self-adaptive systems through feedback loops. In: Cheng, B.H.C., de Lemos, R., Giese, H., Inverardi, P., Magee, J. (eds.) Self-Adaptive Systems. LNCS, vol. 5525, pp. 48–70. Springer, Heidelberg (2009)Google Scholar
  28. 28.
    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)CrossRefGoogle Scholar
  29. 29.
    Baresi, L., Pasquale, L., Spoletini, P.: Fuzzy goals for requirements-driven adaptation. In: RE, pp. 125–134. IEEE (2010)Google Scholar
  30. 30.
    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)CrossRefGoogle Scholar
  31. 31.
    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
  32. 32.
    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
  33. 33.
    Mernik, M., Heering, J., Sloane, A.M.: When and how to develop domain-specific languages. ACM Computing Surveys (CSUR) 37(4), 316–344 (2005)CrossRefGoogle Scholar
  34. 34.
    Kelly, S., Tolvanen, J.P.: Domain-specific modeling: enabling full code generation. John Wiley & Sons (2008)Google Scholar
  35. 35.
    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

Copyright information

© Springer International Publishing Switzerland 2014

Authors and Affiliations

  • Hui Song
    • 1
  • Xiaodong Zhang
    • 2
  • Nicolas Ferry
    • 1
  • Franck Chauvel
    • 1
  • Arnor Solberg
    • 1
  • Gang Huang
    • 2
  1. 1.SINTEF ICTOsloNorway
  2. 2.Peking UniversityBeijingChina

Personalised recommendations