Skip to main content

Formalising Adaptation Patterns for Autonomic Ensembles

  • Conference paper
  • First Online:
Formal Aspects of Component Software (FACS 2013)

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

Included in the following conference series:

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.

This work has been partially sponsored by the EU project ASCENS (257414) and by the Italian MIUR PRIN project CINA (2010LHT4KM).

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

Institutional subscriptions

Notes

  1. 1.

    For the sake of presentation, here we model the environment as a single SCEL component \(\mathcal {I}_{Env} [\mathcal {K}_{Env}, \varPi _{Env}, Env]\) (see Sect. 4).

  2. 2.

    Indeed, the only difference about ports in the two patterns concerns the output one.

References

  1. Kephart, J.O., Chess, D.M.: The vision of autonomic computing. Computer 36, 41–50 (2003)

    Article  Google Scholar 

  2. Weyns, D., Holvoet, T.: An architectural strategy for self-adapting systems. In: SEAMS, p. 3. IEEE (2007)

    Google Scholar 

  3. Project InterLink (2007). http://interlink.ics.forth.gr

  4. Salehie, M., Tahvildari, L.: Self-adaptive software: landscape and research challenges. ACM Trans. Auton. Adapt. Syst. 4(2), 14 (2009)

    Article  Google Scholar 

  5. Zambonelli, F., Viroli, M.: A survey on nature-inspired metaphors for pervasive service ecosystems. J. Pervasive Comp. and Comm. 7, 186–204 (2011)

    Article  Google Scholar 

  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. Gomaa, H., Hashimoto, K.: Dynamic self-adaptation for distributed service-oriented transactions. In: SEAMS, pp. 11–20. IEEE (2012)

    Google Scholar 

  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)

    Chapter  Google Scholar 

  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)

    Chapter  Google Scholar 

  10. Vromant, P., Weyns, D., Malek, S., Andersson, J.: On interacting control loops in self-adaptive systems. In: SEAMS. ACM (2011)

    Google Scholar 

  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. Puviani, M., Cabri, G., Zambonelli, F.: A taxonomy of architectural patterns for self-adaptive systems. In: C3S2E. ACM (2013)

    Google Scholar 

  13. Clarke, E.M., Wing, J.M.: Formal methods: state of the art and future directions. ACM Comput. Surv. 28(4), 626–643 (1996)

    Article  Google Scholar 

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

    MATH  Google Scholar 

  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)

    Article  Google Scholar 

  17. Beam, C., Segev, A.: Automated negotiations: a survey of the state of the art. Wirtschaftsinformatik 39(3), 263–268 (1997)

    Google Scholar 

  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)

    Article  Google Scholar 

  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)

    Chapter  Google Scholar 

  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. Mamei, M., Zambonelli, F.: Programming pervasive and mobile computing applications: the TOTA approach. ACM Trans. Softw. Eng. Methodol. 18(4), 1–56 (2009)

    Article  Google Scholar 

  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/

    Chapter  Google Scholar 

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

    Chapter  Google Scholar 

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

    Chapter  Google Scholar 

  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. Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns. Addison Wesley, Reading (1995)

    Google Scholar 

  32. Ramirez, A., Cheng, B.: Design patterns for developing dynamically adaptive systems. In: SEAMS, pp. 49–58. ACM (2010)

    Google Scholar 

  33. Mikkonen, T.: Formalizing design patterns. In: ICSE, pp. 115–124. IEEE (1998)

    Google Scholar 

  34. Bayley, I.: Formalising design patterns in predicate logic. In: SEFM, pp. 25–36. IEEE (2007)

    Google Scholar 

  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)

    Chapter  Google Scholar 

  36. Taibi, T., Ling, D.N.C.: Formal specification of design patterns - a balanced approach. J. Object Technol. 2(4), 127–140 (2003)

    Article  Google Scholar 

  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)

    Chapter  Google Scholar 

  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)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Luca Cesari .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2014 Springer International Publishing Switzerland

About this paper

Cite this paper

Cesari, L., De Nicola, R., Pugliese, R., Puviani, M., Tiezzi, F., Zambonelli, F. (2014). Formalising Adaptation Patterns for Autonomic Ensembles. In: Fiadeiro, J., Liu, Z., Xue, J. (eds) Formal Aspects of Component Software. FACS 2013. Lecture Notes in Computer Science(), vol 8348. Springer, Cham. https://doi.org/10.1007/978-3-319-07602-7_8

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-07602-7_8

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-07601-0

  • Online ISBN: 978-3-319-07602-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics