Formalising Adaptation Patterns for Autonomic Ensembles

  • Luca Cesari
  • Rocco De Nicola
  • Rosario Pugliese
  • Mariachiara Puviani
  • Francesco Tiezzi
  • Franco Zambonelli
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8348)

Abstract

Autonomic behavior and self-adaptation in software can be supported by several architectural design patterns. In this paper we illustrate how some of the component- and ensemble-level adaptation patterns proposed in the literature can be rendered in SCEL, a formalism devised for modeling autonomic systems. Specifically, we present a compositional approach: first we show how a single generic component is modelled in SCEL, then we show that each pattern is rendered as the (parallel) composition of the SCEL terms corresponding to the involved components (and, possibly, to their environment). Notably, the SCEL terms corresponding to the patterns only differ from each other for the definition of the predicates identifying the targets of attribute-based communication. This enables autonomic ensembles to dynamically change the pattern in use by simply updating components’ predicate definitions, as illustrated by means of a case study from the robotics domain.

Keywords

Feedback Loop Service Component Parallel Composition Internal Logic Autonomic Computing 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

References

  1. 1.
    Kephart, J.O., Chess, D.M.: The vision of autonomic computing. Computer 36, 41–50 (2003)CrossRefGoogle Scholar
  2. 2.
    Weyns, D., Holvoet, T.: An architectural strategy for self-adapting systems. In: SEAMS, p. 3. IEEE (2007)Google Scholar
  3. 3.
    Project InterLink (2007). http://interlink.ics.forth.gr
  4. 4.
    Salehie, M., Tahvildari, L.: Self-adaptive software: landscape and research challenges. ACM Trans. Auton. Adapt. Syst. 4(2), 14 (2009)CrossRefGoogle Scholar
  5. 5.
    Zambonelli, F., Viroli, M.: A survey on nature-inspired metaphors for pervasive service ecosystems. J. Pervasive Comp. and Comm. 7, 186–204 (2011)CrossRefGoogle Scholar
  6. 6.
    Abeywickrama, D.B., Bicocchi, N., Zambonelli, F.: SOTA: towards a general model for self-adaptive systems. In: WETICE, pp. 48–53. IEEE (2012)Google Scholar
  7. 7.
    Gomaa, H., Hashimoto, K.: Dynamic self-adaptation for distributed service-oriented transactions. In: SEAMS, pp. 11–20. IEEE (2012)Google Scholar
  8. 8.
    Brun, Y., et al.: Engineering self-adaptive systems through feedback loops. In: Cheng, B.H.C., et al. (eds.) Software Engineering for Self-Adaptive Systems. LNCS, vol. 5525, pp. 48–70. Springer, Heidelberg (2009) CrossRefGoogle Scholar
  9. 9.
    Cheng, B.H.C., et al.: Software engineering for self-adaptive systems: a research roadmap. In: Cheng, B.H.C., et al. (eds.) Software Engineering for Self-Adaptive Systems. LNCS, vol. 5525, pp. 1–26. Springer, Heidelberg (2009) CrossRefGoogle Scholar
  10. 10.
    Vromant, P., Weyns, D., Malek, S., Andersson, J.: On interacting control loops in self-adaptive systems. In: SEAMS. ACM (2011)Google Scholar
  11. 11.
    Cabri, G., Puviani, M., Zambonelli, F.: Towards a taxonomy of adaptive agent-based collaboration patterns for autonomic service ensembles. In: CTS, pp. 508–515. IEEE (2011)Google Scholar
  12. 12.
    Puviani, M., Cabri, G., Zambonelli, F.: A taxonomy of architectural patterns for self-adaptive systems. In: C3S2E. ACM (2013)Google Scholar
  13. 13.
    Clarke, E.M., Wing, J.M.: Formal methods: state of the art and future directions. ACM Comput. Surv. 28(4), 626–643 (1996)CrossRefGoogle Scholar
  14. 14.
    De Nicola, R., Loreti, M., Pugliese, R., Tiezzi, F.: SCEL: a language for autonomic computing. Technical report, January 2013. http://rap.dsi.unifi.it/scel/pdf/SCEL-TR.pdf
  15. 15.
    Bordini, R.H., Braubach, L., Dastani, M., Fallah-Seghrouchni, A.E., Gómez-Sanz, J.J., Leite, J., O’Hare, G.M.P., Pokahr, A., Ricci, A.: A survey of programming languages and platforms for multi-agent systems. Informatica (Slovenia) 30(1), 33–44 (2006)MATHGoogle Scholar
  16. 16.
    Hariri, S., Khargharia, B., Chen, H., Yang, J., Zhang, Y., Parashar, M., Liu, H.: The autonomic computing paradigm. Clust. Comput. 9(1), 5–17 (2006)CrossRefGoogle Scholar
  17. 17.
    Beam, C., Segev, A.: Automated negotiations: a survey of the state of the art. Wirtschaftsinformatik 39(3), 263–268 (1997)Google Scholar
  18. 18.
    Jennings, N., Faratin, P., Lomuscio, A., Parsons, S., Wooldridge, M., Sierra, C.: Automated negotiation: prospects, methods and challenges. Group Decis. Negot. 10(2), 199–215 (2001)CrossRefGoogle Scholar
  19. 19.
    Esteva, M., Rodríguez-Aguilar, J.-A., Sierra, C., Garcia, P., Arcos, J.-L.: On the formal specification of electronic institutions. In: Sierra, C., Dignum, F.P.M. (eds.) AgentLink 2000. LNCS (LNAI), vol. 1991, pp. 126–147. Springer, Heidelberg (2001) CrossRefGoogle Scholar
  20. 20.
    Kesäniemi, J., Terziyan, V.: Agent-environment interaction in mas-introduction and survey. In: Alkhateeb, F., Maghayreh, E.A., Doush, I.A. (eds.) Multi-Agent Systems: Modeling, Interactions, Simulations and Case Studies. InTech, Vienna (2011)Google Scholar
  21. 21.
    Mamei, M., Zambonelli, F.: Programming pervasive and mobile computing applications: the TOTA approach. ACM Trans. Softw. Eng. Methodol. 18(4), 1–56 (2009)CrossRefGoogle Scholar
  22. 22.
    De Nicola, R., Ferrari, G., Loreti, M., Pugliese, R.: A language-based approach to autonomic computing. In: Beckert, B., Bonsangue, M.M. (eds.) FMCO 2011. LNCS, vol. 7542, pp. 25–48. Springer, Heidelberg (2012). http://rap.dsi.unifi.it/scel/ CrossRefGoogle Scholar
  23. 23.
    Gjondrekaj, E., Loreti, M., Pugliese, R., Tiezzi, F.: Modeling adaptation with a tuple-based coordination language. In: SAC, pp. 1522–1527. ACM (2012)Google Scholar
  24. 24.
    Cesari, L., De Nicola, R., Pugliese, R., Puviani, M., Tiezzi, F., Zambonelli, F.: Formalising adaptation patterns for autonomic ensembles. Technical report (2013). http://rap.dsi.unifi.it/scel/pdf/patternsInSCEL-TR.pdf
  25. 25.
    Puviani, M., Pinciroli, C., Cabri, G., Leonardi, L., Zambonelli, F.: Is self-expression useful? evaluation by a case study. In: WETICE (2013)Google Scholar
  26. 26.
    Weyns, D., Iftikhar, M., Malek, S., Andersson, J.: Claims and supporting evidence for self-adaptive systems: a literature study. In: SEAMS, pp. 89–98. IEEE (2012)Google Scholar
  27. 27.
    Andersson, J., de Lemos, R., Malek, S., Weyns, D.: Modeling dimensions of self-adaptive software systems. 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. 27–47. Springer, Heidelberg (2009) CrossRefGoogle Scholar
  28. 28.
    Gomaa, H., Hashimoto, K., Kim, M., Malek, S., Menascé, D.A.: Software adaptation patterns for service-oriented architectures. In: SAC, pp. 462–469. ACM (2010)Google Scholar
  29. 29.
    Weyns, D., et al.: On patterns for decentralized control in self-adaptive systems. In: de Lemos, R., Giese, H., Müller, H.A., Shaw, M. (eds.) Software Engineering for Self-Adaptive Systems. LNCS, vol. 7475, pp. 76–107. Springer, Heidelberg (2013) CrossRefGoogle Scholar
  30. 30.
    Weyns, D., Malek, S., Andersson, J.: Forms: Unifying reference model for formal specification of distributed self-adaptive systems. ACM TAAS 7(1), 8 (2012)Google Scholar
  31. 31.
    Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns. Addison Wesley, Reading (1995)Google Scholar
  32. 32.
    Ramirez, A., Cheng, B.: Design patterns for developing dynamically adaptive systems. In: SEAMS, pp. 49–58. ACM (2010)Google Scholar
  33. 33.
    Mikkonen, T.: Formalizing design patterns. In: ICSE, pp. 115–124. IEEE (1998)Google Scholar
  34. 34.
    Bayley, I.: Formalising design patterns in predicate logic. In: SEFM, pp. 25–36. IEEE (2007)Google Scholar
  35. 35.
    Alencar, P.S.C., Cowan, D.D., de Lucena, C.J.P.: A formal approach to architectural design patterns. In: Gaudel, M.-C., Wing, Jeannette M. (eds.) FME 1996. LNCS, vol. 1051, pp. 576–594. Springer, Heidelberg (1996) CrossRefGoogle Scholar
  36. 36.
    Taibi, T., Ling, D.N.C.: Formal specification of design patterns - a balanced approach. J. Object Technol. 2(4), 127–140 (2003)CrossRefGoogle Scholar
  37. 37.
    Bottoni, P., Guerra, E., de Lara, J.: Formal foundation for pattern-based modelling. In: Chechik, M., Wirsing, M. (eds.) FASE 2009. LNCS, vol. 5503, pp. 278–293. Springer, Heidelberg (2009) CrossRefGoogle Scholar
  38. 38.
    Wirsing, M., et al.: Sensoria patterns: augmenting service engineering with formal analysis, transformation and dynamicity. In: Margaria, T., Steffen, B. (eds.) ISoLA 2008. CCIS, vol. 17, pp. 170–190. Springer, Heidelberg (2008) CrossRefGoogle Scholar

Copyright information

© Springer International Publishing Switzerland 2014

Authors and Affiliations

  • Luca Cesari
    • 1
    • 4
  • Rocco De Nicola
    • 2
  • Rosario Pugliese
    • 1
  • Mariachiara Puviani
    • 3
  • Francesco Tiezzi
    • 2
  • Franco Zambonelli
    • 3
  1. 1.Università degli Studi di FirenzeFlorenceItaly
  2. 2.IMT Advanced Studies LuccaLuccaItaly
  3. 3.Università degli Studi di Modena e Reggio EmiliaModenaItaly
  4. 4.Università di PisaPisaItaly

Personalised recommendations