Models for the Consistent Interaction of Adaptations in Self-Adaptive Systems

Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9640)


Self-adaptive systems enable the run-time modification, or dynamic adaptation, of a software system in order to offer the most appropriate behavior of the system according to its context of execution and the situations of its surrounding environment. Depending on the situations currently at hand, multiple and varied adaptations may affect the original behavior of a software system simultaneously. This may lead to accidental behavioral inconsistencies if not all possible interactions with other adaptations were anticipated. The behavioral inconsistencies problem becomes even more acute if adaptations are unknown beforehand, for example, when new adaptations are incorporated to the system on the fly. Self-adaptive systems must therefore provide a means to arbitrate interactions between adaptions at run time, to ensure that there will be no inconsistencies in the system’s behavior as adaptations are dynamically composed into or withdrawn from the system. This chapter presents existing approaches that allow the development of self-adaptive systems and management of the behavioral inconsistencies that may appear due to the interaction of adaptations at run time. The approaches are classified into four categories: formal, architectural modeling, rule-based, and transition system approaches. Each of these approaches is evaluated with respect to the assurances they provide for the run-time consistency of the system, in the light of dynamic behavior adaptations.



This work was supported, in part, by Science Foundation Ireland grant 10/CE/I1855 to Lero - the Irish Software Engineering Research Center ( We thank the anonymous reviewers for their comments on earlier versions of this paper.


  1. 1.
    Alvares De Oliveira Jr., F., Rutten, É., Seinturier, L.: Behavioural model-based control for autonomic software components. In: 12th IEEE International Conference on Autonomic Computing, ICAC 2015. IEEE, Grenoble, July 2015Google Scholar
  2. 2.
    Amer, M., Karmouch, A., Gray, T., Mankovskii, S.: Policies for feature interaction resolution. In: de Souza, J.N., Boutaba, R. (eds.) Managing QoS in Multimedia Networks and Services, MMNS2000. IFIP AICT, vol. 54, pp. 207–223. Springer, Boston (2000).
  3. 3.
    An, X., Delaval, G., Diguet, J.-P., Gamatié, A., Gueye, S., Marchand, H., de Palma, N., Rutten, E.: Discrete control-based design of adaptive and autonomic computing systems. In: Natarajan, R., Barua, G., Patra, M.R. (eds.) ICDCIT 2015. LNCS, vol. 8956, pp. 93–113. Springer, Cham (2015). Google Scholar
  4. 4.
    Bainomugisha, E., Vallejos, J., De Roover, C., Lombide Carreton, A., De Meuter, W.: Interruptible context-dependent executions: a fresh look at programming context-aware applications. In: Proceedings of the ACM International Symposium on New Ideas and Reflections on Software, OnWard 2012, pp. 67–84. ACM, New York (2012)Google Scholar
  5. 5.
    Berthier, N., Rutten, É., De Palma, N., Gueye, S.M.K.: Designing autonomic management systems by using reactive control techniques. IEEE Trans. Software Eng., 18, December 2015Google Scholar
  6. 6.
    Bianculli, D., Filieri, A., Ghezzi, C., Mandrioli, D.: Incremental syntactic-semantic reliability analysis of evolving structured workflows. In: Margaria, T., Steffen, B. (eds.) ISoLA 2014. LNCS, vol. 8802, pp. 41–55. Springer, Heidelberg (2014). Google Scholar
  7. 7.
    Bicocchi, N., Vassev, E., Zambonelli, F., Hinchey, M.: Reasoning on data streams: an approach to adaptation in pervasive systems. In: Vinh, P.C., Vassev, E., Hinchey, M. (eds.) ICTCC 2014. LNICST, vol. 144, pp. 23–32. Springer, Cham (2015). CrossRefGoogle Scholar
  8. 8.
    Blalckburn, P., de Rijke, M., Venema, Y.: Modal Logic. Cambridge University Press, Cambridge (2001)CrossRefzbMATHGoogle Scholar
  9. 9.
    Börger, E., Stärk, R.: Abstract State Machines. Springer, Heidelberg (2003),
  10. 10.
    Brailsford, S.C., Potts, C.N., Smith, B.M.: Constraint satisfaction problems: algorithms and applications. Eur. J. Oper. Res. 119(3), 557–581 (1999)CrossRefzbMATHGoogle Scholar
  11. 11.
    Calder, M., Kolberg, M., Magill, E.H., Reiff-Marganiec, S.: Feature interaction: a critical review and considered forecast. Comput. Netw. 41, 115–141 (2003)CrossRefzbMATHGoogle Scholar
  12. 12.
    Calinescu, R., Ghezzi, C., Kwiatkowska, M., Mirandola, R.: Self-adaptive software needs quantitative verification at runtime. Commun. ACM 55(9), 69–77 (2012)CrossRefGoogle Scholar
  13. 13.
    Capilla, R., Hinchey, M., Díaz, F.J.: Collaborative context features for critical systems. In: Proceedings of the Ninth International Workshop on Variability Modelling of Software-Intensive Systems, VaMoS 2015, pp. 43:43–43:50. ACM, New York (2015)Google Scholar
  14. 14.
    Cardozo, N.: Identification and Management of Inconsistencies in Dynamicaly Adaptive Software Systems. Ph.D. thesis, Université catholique de Louvain - Vrije Universiteit Brussel, Louvain-la-Neuve, Belgium, September 2013Google Scholar
  15. 15.
    Cardozo, N., Clarke, S.: Context slices: Lightweight discovery of behavioral adaptations. In: Proceedings of the Context-Oriented Programming Workshop, COP 2015, pp. 2:1–2:6. ACM, July 2015Google Scholar
  16. 16.
    Cardozo, N., González, S., Mens, K., Van Der Straeten, R., D’Hondt, T.: Modeling and analyzing self-adaptive systems with context petri nets. In: Proceedings of the Symposium on Theoretical Aspects of Software Engineering, TASE 2013, pp. 191–198. IEEE Computer Society, July 2013Google Scholar
  17. 17.
    Cardozo, N., González, S., Van Der Straeten, R., Mens, K., Vallejos, J., D’Hondt, T.: Semantics for consistent activation in context-oriented systems. J. Inf. Softw. Technol. 58, 71–94 (2015)CrossRefGoogle Scholar
  18. 18.
    Cardozo, N., Vallejos, J., González, S., Mens, K., D’Hondt, T.: Context petri nets: enabling consistent composition of context-dependent behavior. In: International Workshop on Petri Nets and Software Engineering, PNSE 2012, 25–26 June 2012. Springer (2012). Co-located with the International Conference on Application and Theory of Petri Nets and ConcurrencyGoogle Scholar
  19. 19.
    Castro, S., De Roover, C., Kellens, A., Lozano, A., Mens, K., D’Hondt, T.: Diagnosing and correcting design inconsistencies in source code with logical abduction. Sci. Comput. Program. Special Issue Softw. Evol. Adapt. Variability 76(12), 1113–1129 (2010)Google Scholar
  20. 20.
    Cetina, C., Giner, P., Fons, J., Pelechano, V.: Autonomic computing through reuse of variability models at runtime: the case of smart homes. Computer 42(10), 37–43 (2009)CrossRefGoogle Scholar
  21. 21.
    Chang, X., Cheung, S.C., Chan, W.K., Ye, C.: Partial constraint checking for context consistency in pervasive computing. ACM Trans. Software Eng. Methodol. 19(3), 1–61 (2010)Google Scholar
  22. 22.
    Chen, N., Clarke, S.: A dynamic service composition model for adaptive systems in mobile computing environments. In: Franch, X., Ghose, A.K., Lewis, G.A., Bhiri, S. (eds.) ICSOC 2014. LNCS, vol. 8831, pp. 93–107. Springer, Heidelberg (2014). CrossRefGoogle Scholar
  23. 23.
    Degrandsart, S., Demeyer, S., den Bergh, J.V., Mens, T.: A transformation-based approach to context-aware modelling. Softw. Syst. Model 13, 1–18 (2012)Google Scholar
  24. 24.
    Devillers, R., Klaudel, H., Koutny, M.: Context-based process algebras for mobility. In: Proceedings of the 4th International Conference on Application of Concurrency to System Design, ACSD 2004. IEEE Computer Society (2004)Google Scholar
  25. 25.
    Dimitrovici, C., Hummert, U., Petrucci, L.: Semantics, composition and net properties of algebraic high-level nets. In: Rozenberg, G. (ed.) ICATPN 1990. LNCS, vol. 524, pp. 93–117. Springer, Heidelberg (1991). CrossRefGoogle Scholar
  26. 26.
    Filieri, A., Ghezzi, C., Tamburrelli, G.: A formal approach to adaptive software: continuous assurance of non-functional requirements. Formal Aspects Comput. 24(2), 163–186 (2011)MathSciNetCrossRefzbMATHGoogle Scholar
  27. 27.
    Forejt, V., Kwiatkowska, M., Parker, D., Qu, H., Ujma, M.: Incremental runtime verification of probabilistic systems. In: Qadeer, S., Tasiran, S. (eds.) RV 2012. LNCS, vol. 7687, pp. 314–319. Springer, Heidelberg (2013). CrossRefGoogle Scholar
  28. 28.
    Forgy, C.L.: On the efficient implementation of production systems. Ph.D. thesis, Carnegie Mellon University, Pittsburgh, PA, USA (1979)Google Scholar
  29. 29.
    Geihs, K., Reichle, R., Wagner, M., Khan, M.U.: Modeling of context-aware self-adaptive applications in ubiquitous and service-oriented environments. In: Cheng, B.H.C., de Lemos, R., Giese, H., Inverardi, P., Magee, J. (eds.) Software Engineering for Self-Adaptive Systems. LNCS, vol. 5525, pp. 146–163. Springer, Heidelberg (2009). CrossRefGoogle Scholar
  30. 30.
    González, S., Cardozo, N., Mens, K., Cádiz, A., Libbrecht, J.-C., Goffaux, J.: Subjective-C: Bringing context to mobile platform programming. In: Malloy, B., Staab, S., van den Brand, M. (eds.) SLE 2010. LNCS, vol. 6563, pp. 246–265. Springer, Heidelberg (2011). CrossRefGoogle Scholar
  31. 31.
    Harel, D.: Statecharts: a visual formalism for complex systems. Sci. Comput. Program. 8, 231–274 (1987)MathSciNetCrossRefzbMATHGoogle Scholar
  32. 32.
    Harvey, N., Morris, J.: Nl: a parallel programming visual language. Aust. Comput. 28(1), 2–12 (1996)zbMATHGoogle Scholar
  33. 33.
    Helleboogh, A., Weyns, D., Schmid, K., Holvoet, T., Schelfthout, K., Van Betsbrugge, W.: Adding variants on-the-fly: modeling meta-variability in dynamic software product lines. In: Proceedings of the International Workshop on Dynamic Software Product Lines, DSPL 2009, pp. 18–27. Carnegie Mellon University, August 2009Google Scholar
  34. 34.
    Hennessy, M.: Algebraic Theory of Processes. The MIT Press, Cambridge (1988)zbMATHGoogle Scholar
  35. 35.
    Hopcroft, J.E., Ullman, J.: Introduction to Automata Theory, Languages, and Computation. Addison-Wesley, Reading (1979)Google Scholar
  36. 36.
    Hubaux, A., Boucher, Q., Hartmann, H., Michel, R., Heymans, P.: Evaluating a textual feature modelling language: four industrial case studies. In: Malloy, B., Staab, S., van den Brand, M. (eds.) SLE 2010. LNCS, vol. 6563, pp. 337–356. Springer, Heidelberg (2011). CrossRefGoogle Scholar
  37. 37.
    Iftikhar, M.U., Weyns, D.: Activforms: active formal models for self-adaptation. In: Proceedings of the International Symposium on Software Engineering for Adaptive and Self-Managing Systems, SEAMS 2014, pp. 125–134. ACM, New York (2014)Google Scholar
  38. 38.
    Jacobs, B.: Exercises in coalgebraic specification. In: Backhouse, R., Crole, R., Gibbons, J. (eds.) Algebraic and Coalgebraic Methods in the Mathematics of Program Construction. LNCS, vol. 2297, pp. 237–281. Springer, Heidelberg (2002). CrossRefGoogle Scholar
  39. 39.
    Johnson, K., Calinescu, R., Kikuchi, S.: An incremental verification framework for component-based software systems. In: Proceedings of the 16th International ACM Sigsoft Symposium on Component-Based Software Engineering, CBSE 2013, pp. 33–42. ACM, New York (2013)Google Scholar
  40. 40.
    Johnston, W.M., Hanna, J.R.P., Millar, R.J.: Advances in dataflow programming languages. ACM Comput. Surv. 36(1), 1–34 (2004)CrossRefGoogle Scholar
  41. 41.
    Jouault, F., Allilaire, F., Bézivin, J., Kurtev, I.: Atl: A model transformation tool. Sci. Comput. Program. 72(12), 31–39 (2008), Special Issue on Second Issue of Experimental Software and Toolkits (EST)
  42. 42.
    Kang, K.C., Cohen, S.G., Hess, J.A., Novak, W.E., Peterson, A.S.: Feature-oriented domain analysis (foda) feasibility study. Technical Report CMU/SEI-90-TR-21, Carnegie-Mellon University Software Engineering Institute, November 1990Google Scholar
  43. 43.
    Laddaga, R.: Self adaptive software problems and projects. In: Proceedings of the Second International IEEE Workshop on Software Evolvability, SOFTWARE-EVOLVABILITY 2006, pp. 3–10. IEEE Computer Society, Washington, DC (2006)Google Scholar
  44. 44.
    Latella, D., Majzik, I., Massink, M.: Towards a formal operational semantics of UML statechart diagrams. In: International Conference on Formal Methods for Open Object-Based Distributed Systems, FMOODS 1999, pp. 465–482. Kluwer, B.V., Deventer (1999)Google Scholar
  45. 45.
    Lee, T., Leok, M., McClamroch, N.H.: Discrete control systems. In: Mathematics Complexity and Dynamical Systems, pp. 143–159 (2011)Google Scholar
  46. 46.
    Liu, Y., Meier, R.: Resource-aware contracts for addressing feature interaction in dynamic adaptive systems. In: International Conference on Autonomic and Autonomous Systems, pp. 346–350 (2009)Google Scholar
  47. 47.
    Lombide Carreton, A.: Ambient-Oriented Dataflow Programming for Mobile RFID-Enabled Applications. Ph.D. thesis, Vrije Universiteit Brussel, Pleinlaan 2, Brussels, Belgium, October 2011Google Scholar
  48. 48.
    Milner, R., Parrow, J., Walker, D.: A calculus of mobile processes (parts i and ii). Inf. Comput. 100(1), 1–77 (1992)CrossRefzbMATHGoogle Scholar
  49. 49.
    Morin, B., Barais, O., Jezequel, J.M., Fleurey, F., Solberg, A.: Models@ run.time to support dynamic adaptation. IEEE Comput. 42(10), 44–51 (2009).
  50. 50.
    Mostinckx, S., Scholliers, C., Philips, E., Herzeel, C., De Meuter, W.: Fact spaces: coordination in the face of disconnection. In: Murphy, A.L., Vitek, J. (eds.) COORDINATION 2007. LNCS, vol. 4467, pp. 268–285. Springer, Heidelberg (2007). CrossRefGoogle Scholar
  51. 51.
    Murata, T.: Petri nets: properties, analysis and applications. Proc. IEEE 77(4), 541–580 (1989)CrossRefGoogle Scholar
  52. 52.
    Pinna Puissant, J., Van Der Straeten, R., Mens, T.: Badger: a regression planner to resolve design model inconsistencies. In: Vallecillo, A., Tolvanen, J.-P., Kindler, E., Störrle, H., Kolovos, D. (eds.) ECMFA 2012. LNCS, vol. 7349, pp. 146–161. Springer, Heidelberg (2012). CrossRefGoogle Scholar
  53. 53.
    Prasad, M.R., Biere, A., Gupta, A.: A survey of recent advances in sat based formal verification. J. Softw. Tools Technol. Transfer 7(2), 156–173 (2005)CrossRefGoogle Scholar
  54. 54.
    Prehofer, C.: Feature-oriented programming: a new way of object composition. Concurrency Comput. Pract. Experience 13(5), 465–501 (2001)CrossRefzbMATHGoogle Scholar
  55. 55.
    Reiff, S.: Identifying resolution choices for an online feature manager. In: Proceedings of the International Workshop on Feature Interactions in Telecommunications and Software Systems, pp. 113–128. IOS Press, Amsterdam (2000)Google Scholar
  56. 56.
    Schippers, H., Molderez, T., Janssens, D.: A graph-based operational semantics for context-oriented programming. In: Proceedings of the Context-Oriented Workshop, COP 2010, vol. 6, pp. 1–6. ACM, New York (2010)Google Scholar
  57. 57.
    Schmieders, E., Metzger, A.: Preventing performance violations of service compositions using assumption-based run-time verification. In: Abramowicz, W., Llorente, I.M., Surridge, M., Zisman, A., Vayssière, J. (eds.) ServiceWave 2011. LNCS, vol. 6994, pp. 194–205. Springer, Heidelberg (2011). CrossRefGoogle Scholar
  58. 58.
    Sistla, P.: Hybrid and incremental modelchecking techniques. ACM Comput. Surv. 28(4es), December 1996Google Scholar
  59. 59.
    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
  60. 60.
    Straeten, R.V.D.: Inconsistency Management in Model-Driven Engineering. Ph.D. thesis, Vrije Universiteit Brussel, Pleinlaan 2, Brussels, Belgium, September 2005Google Scholar
  61. 61.
    Streett, R.S., Emerson, E.A.: An automata theoretic decision procedure for the propositional mu-calculus. Inf. Comput. 81(3), 249–264 (1989)MathSciNetCrossRefzbMATHGoogle Scholar
  62. 62.
    Sykes, D., Magee, J., Kramer, J.: Flashmob: distributed adaptive self-assembly. In: Proceedings of the 6th International Symposium on Software Engineering for Adaptive and Self-Managing Systems, SEAMS 2011, pp. 100–109. ACM, New York (2011)Google Scholar
  63. 63.
    Taentzer, G.: AGG: a graph transformation environment for modeling and validation of software. In: Pfaltz, J.L., Nagl, M., Böhlen, B. (eds.) AGTIVE 2003. LNCS, vol. 3062, pp. 446–453. Springer, Heidelberg (2004). CrossRefGoogle Scholar
  64. 64.
    Tan, L.: Model-based self-adaptive embedded programs with temporal logic specifications. In: Quality Software International Conference, QSIC 2006, pp. 151–158, October 2006Google Scholar
  65. 65.
    Tesei, L., Merelli, E., Paoletti, N.: Multiple levels in self-adaptive complex systems: a state-based approach. In: Gilbert, T., Kirkilionis, M., Nicolis, G. (eds.) Proceedings of the European Conference on Complex Systems, ECCS 2012. Springer Proceedings in Complexity, pp. 1033–1050. Springer, Cham (2012),
  66. 66.
    Ukey, N., Niyogi, R., Milani, A., Singh, K.: A bidirectional heuristic search technique for web service composition. In: Taniar, D., Gervasi, O., Murgante, B., Pardede, E., Apduhan, B.O. (eds.) ICCSA 2010. LNCS, vol. 6019, pp. 309–320. Springer, Heidelberg (2010). CrossRefGoogle Scholar
  67. 67.
    Van Der Straeten, R., Jonckers, V., Mens, T.: A formal approach to model refactoring and model refinement. Softw. Syst. Model. 6(2), 139–162 (2006)CrossRefGoogle Scholar
  68. 68.
    Zhang, J., Cheng, B.H.: Using temporal logic to specify adaptive program semantics. J. Syst. Softw. 79(10), 1361–1369 (2006)CrossRefGoogle Scholar

Copyright information

© Springer International Publishing AG 2017

Authors and Affiliations

  1. 1.Future Cities, DSGTrinity College DublinDublin 2Ireland
  2. 2.ICTEAM Institute, Université catholique de LouvainLouvain-la-NeuveBelgium

Personalised recommendations