A Formal Approach to Autonomic Systems Programming: The SCEL Language

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


Software-intensive cyber-physical systems have to deal with massive numbers of components, featuring complex interactions among components and with humans and other systems. Often, they are designed to operate in open and non-deterministic environments, and to dynamically adapt to new requirements, technologies and external conditions. This class of systems has been named ensembles and new engineering techniques are needed to address the challenges of developing, integrating, and deploying them. In the paper, we briefly introduce SCEL (Software Component Ensemble Language), a kernel language that takes a holistic approach to programming autonomic computing systems and aims at providing programmers with a complete set of linguistic abstractions for programming the behavior of autonomic components and the formation of autonomic components ensembles, and for controlling the interaction among different components.



As evident from the list of the papers mentioned in the bibliography below, design, implementation and exploitation of SCEL has been a collective effort. I would like to thank all involved colleagues for their fundamental contributions. I take the occasion to thank also Ivan Lanese and Eric Madelaine for giving me the possibility of presenting our work at the FACS conference and in the proceedings.


  1. 1.
    Abd Alrahman, Y., De Nicola, R., Loreti, M., Tiezzi, F., Vigo, R.: A calculus for attribute-based communication. In: Proceedings of SAC 2015 (2015, to appear)Google Scholar
  2. 2.
    ASCENS. Autonomic service-components ensemble, a FET-EU project. (2014). Accessed 28 Nov 2014
  3. 3.
    Belzner, L., De Nicola, R., Vandin, A., Wirsing, M.: Reasoning (on) service component ensembles in rewriting logic. In: Iida, S., Meseguer, J., Ogata, K. (eds.) Specification, Algebra, and Software. LNCS, vol. 8373, pp. 188–211. Springer, Heidelberg (2014)CrossRefGoogle Scholar
  4. 4.
    Bures, T., De Nicola, R., Gerostathopoulos, I., Hoch, N., Kit, M., Koch, N., Valentina Monreale, G., Montanari, U., Pugliese, R., Serbedzija, N. B., Wirsing, M., Zambonelli, F.: A life cycle for the development of autonomic systems: the e-mobility showcase. In: Proceedings of SASOW, pp. 71–76. IEEE (2013)Google Scholar
  5. 5.
    Cabri, G., Capodieci, N., Cesari, L., De Nicola, R., Pugliese, R., Tiezzi, F., Zambonelli, F.: Self-expression and dynamic attribute-based ensembles in SCEL. In: Margaria, T., Steffen, B. (eds.) ISoLA 2014, Part I. LNCS, vol. 8802, pp. 147–163. Springer, Heidelberg (2014)Google Scholar
  6. 6.
    Cesari, L., De Nicola, R., Pugliese, R., Puviani, M., Tiezzi, F., Zambonelli, F.: Formalising adaptation patterns for autonomic ensembles. In: Fiadeiro, J.L., Liu, Z., Xue, J. (eds.) FACS 2013. LNCS, vol. 8348, pp. 100–118. Springer, Heidelberg (2014)CrossRefGoogle Scholar
  7. 7.
    De Nicola, R., Ferrari, G.L., Pugliese, R.: Klaim: a kernel language for agents interaction and mobility. IEEE Trans. Softw. Eng. 24(5), 315–330 (1998)CrossRefGoogle Scholar
  8. 8.
    De Nicola, R., Lluch Lafuente, A., Loreti, M., Morichetta, A., Pugliese, R., Senni, V., Tiezzi, F.: Programming and verifying component ensembles. In: Bensalem, S., Lakhneck, Y., Legay, A. (eds.) From Programs to Systems. LNCS, vol. 8415, pp. 69–83. Springer, Heidelberg (2014)CrossRefGoogle Scholar
  9. 9.
    De Nicola, R., Loreti, M., Pugliese, R., Tiezzi, F.: A formal approach to autonomic systems programming: the SCEL language. TAAS 9(2), 7 (2014)CrossRefGoogle Scholar
  10. 10.
    Latella, D., Loreti, M., Massink, M., Senni, V.: Stochastically timed predicate-based communication primitives for autonomic computing. In: Bertrand, N., Bortolussi, L. (eds.) Proceedings of QAPL 2014, Electronic Proceedings in Theoretical Computer Science, EPTCS, 2014, pp. 1–16. ISSN: 2075–2180, doi: 10.4204/EPTCS.154.1
  11. 11.
    Loreti, M.: jRESP: a run-time environment for SCEL programs. Technical report, Sept 2014. and
  12. 12.
    Loreti, M., Margheri, A., Pugliese, R., Tiezzi, F.: On programming and policing autonomic computing systems. In: Margaria, T., Steffen, B. (eds.) ISoLA. LNCS, vol. 8802, pp. 164–183. Springer, Heidelberg (2014)Google Scholar
  13. 13.
    Margheri, A., Pugliese, R., Tiezzi, F.: Linguistic abstractions for programming and policing autonomic computing systems. In: UIC/ATC, pp. 404–409. IEEE (2013)Google Scholar
  14. 14.
    Mayer, P., Klarl, A., Hennicker, R., Puviani, M., Tiezzi, F., Pugliese, R., Keznikl, J., Bures, T.: The autonomic cloud: a vision of voluntary, peer-2-peer cloud computing. In: Proceedings of SASOW, pp. 89–94. IEEE (2013)Google Scholar
  15. 15.
    Montanar, U., Pugliese, R., Tiezzi, F.: Programming autonomic systems with multiple constraint stores. In: De Nicola, R., Hennicker, R. (eds.) Software, Services and Systems. LNCS. Springer, Heidelberg (2015)Google Scholar
  16. 16.
    QUANTICOL. A quantitative approach to management and design of collective and adaptive behaviours, a FET-EU project. Accessed 28 Nov 2014

Copyright information

© Springer International Publishing Switzerland 2015

Authors and Affiliations

  1. 1.IMT – Institute for Advanced StudiesLuccaItaly

Personalised recommendations