Skip to main content

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

  • Conference paper
  • First Online:

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

Abstract

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 is a preview of subscription content, log in via an institution.

Buying options

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 EPUB and 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

Learn about institutional subscriptions

Notes

  1. 1.

    Graph transformation models, like AGG, can also be used as engines for rule-based approaches.

References

  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 2015

    Google Scholar 

  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). https://doi.org/10.1007/978-0-387-35532-0_15

  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). https://doi.org/10.1007/978-3-319-14977-6_6

    Google Scholar 

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

    Google Scholar 

  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). https://doi.org/10.1007/978-3-662-45234-9_4

    Google Scholar 

  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). https://doi.org/10.1007/978-3-319-15392-6_3

    Chapter  Google Scholar 

  8. Blalckburn, P., de Rijke, M., Venema, Y.: Modal Logic. Cambridge University Press, Cambridge (2001)

    Book  MATH  Google Scholar 

  9. Börger, E., Stärk, R.: Abstract State Machines. Springer, Heidelberg (2003), https://doi.org/10.1007/978-3-642-18216-7

  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)

    Article  MATH  Google Scholar 

  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)

    Article  MATH  Google Scholar 

  12. Calinescu, R., Ghezzi, C., Kwiatkowska, M., Mirandola, R.: Self-adaptive software needs quantitative verification at runtime. Commun. ACM 55(9), 69–77 (2012)

    Article  Google Scholar 

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

    Google Scholar 

  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 2015

    Google Scholar 

  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 2013

    Google Scholar 

  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)

    Article  Google Scholar 

  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 Concurrency

    Google Scholar 

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

    Article  Google Scholar 

  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. 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). https://doi.org/10.1007/978-3-662-45391-9_7

    Chapter  Google Scholar 

  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. 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. 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). https://doi.org/10.1007/BFb0019971

    Chapter  Google Scholar 

  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)

    Article  MathSciNet  MATH  Google Scholar 

  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). https://doi.org/10.1007/978-3-642-35632-2_30

    Chapter  Google Scholar 

  28. Forgy, C.L.: On the efficient implementation of production systems. Ph.D. thesis, Carnegie Mellon University, Pittsburgh, PA, USA (1979)

    Google Scholar 

  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). https://doi.org/10.1007/978-3-642-02161-9_8

    Chapter  Google Scholar 

  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). https://doi.org/10.1007/978-3-642-19440-5_15

    Chapter  Google Scholar 

  31. Harel, D.: Statecharts: a visual formalism for complex systems. Sci. Comput. Program. 8, 231–274 (1987)

    Article  MathSciNet  MATH  Google Scholar 

  32. Harvey, N., Morris, J.: Nl: a parallel programming visual language. Aust. Comput. 28(1), 2–12 (1996)

    MATH  Google Scholar 

  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 2009

    Google Scholar 

  34. Hennessy, M.: Algebraic Theory of Processes. The MIT Press, Cambridge (1988)

    MATH  Google Scholar 

  35. Hopcroft, J.E., Ullman, J.: Introduction to Automata Theory, Languages, and Computation. Addison-Wesley, Reading (1979)

    Google Scholar 

  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). https://doi.org/10.1007/978-3-642-19440-5_23

    Chapter  Google Scholar 

  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. 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). https://doi.org/10.1007/3-540-47797-7_7

    Chapter  Google Scholar 

  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. Johnston, W.M., Hanna, J.R.P., Millar, R.J.: Advances in dataflow programming languages. ACM Comput. Surv. 36(1), 1–34 (2004)

    Article  Google Scholar 

  41. Jouault, F., Allilaire, F., Bézivin, J., Kurtev, I.: Atl: A model transformation tool. Sci. Comput. Program. 72(12), 31–39 (2008), http://www.sciencedirect.com/science/article/pii/S0167642308000439. Special Issue on Second Issue of Experimental Software and Toolkits (EST)

  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 1990

    Google Scholar 

  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. 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. Lee, T., Leok, M., McClamroch, N.H.: Discrete control systems. In: Mathematics Complexity and Dynamical Systems, pp. 143–159 (2011)

    Google Scholar 

  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. Lombide Carreton, A.: Ambient-Oriented Dataflow Programming for Mobile RFID-Enabled Applications. Ph.D. thesis, Vrije Universiteit Brussel, Pleinlaan 2, Brussels, Belgium, October 2011

    Google Scholar 

  48. Milner, R., Parrow, J., Walker, D.: A calculus of mobile processes (parts i and ii). Inf. Comput. 100(1), 1–77 (1992)

    Article  MATH  Google Scholar 

  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). https://doi.org/10.1109/MC.2009.327

  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). https://doi.org/10.1007/978-3-540-72794-1_15

    Chapter  Google Scholar 

  51. Murata, T.: Petri nets: properties, analysis and applications. Proc. IEEE 77(4), 541–580 (1989)

    Article  Google Scholar 

  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). https://doi.org/10.1007/978-3-642-31491-9_13

    Chapter  Google Scholar 

  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)

    Article  Google Scholar 

  54. Prehofer, C.: Feature-oriented programming: a new way of object composition. Concurrency Comput. Pract. Experience 13(5), 465–501 (2001)

    Article  MATH  Google Scholar 

  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. 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. 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). https://doi.org/10.1007/978-3-642-24755-2_19

    Chapter  Google Scholar 

  58. Sistla, P.: Hybrid and incremental modelchecking techniques. ACM Comput. Surv. 28(4es), December 1996

    Google Scholar 

  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). https://doi.org/10.1007/978-3-642-41533-3_34

    Chapter  Google Scholar 

  60. Straeten, R.V.D.: Inconsistency Management in Model-Driven Engineering. Ph.D. thesis, Vrije Universiteit Brussel, Pleinlaan 2, Brussels, Belgium, September 2005

    Google Scholar 

  61. Streett, R.S., Emerson, E.A.: An automata theoretic decision procedure for the propositional mu-calculus. Inf. Comput. 81(3), 249–264 (1989)

    Article  MathSciNet  MATH  Google Scholar 

  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. 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). https://doi.org/10.1007/978-3-540-25959-6_35

    Chapter  Google Scholar 

  64. Tan, L.: Model-based self-adaptive embedded programs with temporal logic specifications. In: Quality Software International Conference, QSIC 2006, pp. 151–158, October 2006

    Google Scholar 

  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), https://doi.org/10.1007/978-3-319-00395-5_124

  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). https://doi.org/10.1007/978-3-642-12189-0_27

    Chapter  Google Scholar 

  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)

    Article  Google Scholar 

  68. Zhang, J., Cheng, B.H.: Using temporal logic to specify adaptive program semantics. J. Syst. Softw. 79(10), 1361–1369 (2006)

    Article  Google Scholar 

Download references

Acknowledgements

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

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Nicolás Cardozo .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2017 Springer International Publishing AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Cardozo, N., Mens, K., Clarke, S. (2017). Models for the Consistent Interaction of Adaptations in Self-Adaptive Systems. In: de Lemos, R., Garlan, D., Ghezzi, C., Giese, H. (eds) Software Engineering for Self-Adaptive Systems III. Assurances. Lecture Notes in Computer Science(), vol 9640. Springer, Cham. https://doi.org/10.1007/978-3-319-74183-3_11

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-74183-3_11

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-74182-6

  • Online ISBN: 978-3-319-74183-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics