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).
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 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.
Indeed, the only difference about ports in the two patterns concerns the output one.
References
Kephart, J.O., Chess, D.M.: The vision of autonomic computing. Computer 36, 41–50 (2003)
Weyns, D., Holvoet, T.: An architectural strategy for self-adapting systems. In: SEAMS, p. 3. IEEE (2007)
Project InterLink (2007). http://interlink.ics.forth.gr
Salehie, M., Tahvildari, L.: Self-adaptive software: landscape and research challenges. ACM Trans. Auton. Adapt. Syst. 4(2), 14 (2009)
Zambonelli, F., Viroli, M.: A survey on nature-inspired metaphors for pervasive service ecosystems. J. Pervasive Comp. and Comm. 7, 186–204 (2011)
Abeywickrama, D.B., Bicocchi, N., Zambonelli, F.: SOTA: towards a general model for self-adaptive systems. In: WETICE, pp. 48–53. IEEE (2012)
Gomaa, H., Hashimoto, K.: Dynamic self-adaptation for distributed service-oriented transactions. In: SEAMS, pp. 11–20. IEEE (2012)
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)
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)
Vromant, P., Weyns, D., Malek, S., Andersson, J.: On interacting control loops in self-adaptive systems. In: SEAMS. ACM (2011)
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)
Puviani, M., Cabri, G., Zambonelli, F.: A taxonomy of architectural patterns for self-adaptive systems. In: C3S2E. ACM (2013)
Clarke, E.M., Wing, J.M.: Formal methods: state of the art and future directions. ACM Comput. Surv. 28(4), 626–643 (1996)
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
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)
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)
Beam, C., Segev, A.: Automated negotiations: a survey of the state of the art. Wirtschaftsinformatik 39(3), 263–268 (1997)
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)
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)
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)
Mamei, M., Zambonelli, F.: Programming pervasive and mobile computing applications: the TOTA approach. ACM Trans. Softw. Eng. Methodol. 18(4), 1–56 (2009)
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/
Gjondrekaj, E., Loreti, M., Pugliese, R., Tiezzi, F.: Modeling adaptation with a tuple-based coordination language. In: SAC, pp. 1522–1527. ACM (2012)
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
Puviani, M., Pinciroli, C., Cabri, G., Leonardi, L., Zambonelli, F.: Is self-expression useful? evaluation by a case study. In: WETICE (2013)
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)
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)
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)
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)
Weyns, D., Malek, S., Andersson, J.: Forms: Unifying reference model for formal specification of distributed self-adaptive systems. ACM TAAS 7(1), 8 (2012)
Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns. Addison Wesley, Reading (1995)
Ramirez, A., Cheng, B.: Design patterns for developing dynamically adaptive systems. In: SEAMS, pp. 49–58. ACM (2010)
Mikkonen, T.: Formalizing design patterns. In: ICSE, pp. 115–124. IEEE (1998)
Bayley, I.: Formalising design patterns in predicate logic. In: SEFM, pp. 25–36. IEEE (2007)
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)
Taibi, T., Ling, D.N.C.: Formal specification of design patterns - a balanced approach. J. Object Technol. 2(4), 127–140 (2003)
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)
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)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights 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)