On Programming and Policing Autonomic Computing Systems

  • Michele Loreti
  • Andrea Margheri
  • Rosario Pugliese
  • Francesco Tiezzi
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8802)


To tackle the complexity of autonomic computing systems it is crucial to provide methods supporting their systematic and principled development. Using the PSCEL language, autonomic systems can be described in terms of the constituent components and their reciprocal interactions. The computational behaviour of components is defined in a procedural style, by the programming constructs, while the adaptation logic is defined in a declarative style, by the policing constructs. In this paper we introduce a suite of practical software tools for programming and policing autonomic computing systems in PSCEL. Specifically, we integrate a Java-based runtime environment, supporting the execution of programming constructs, with the code corresponding to the policing ones. The integrated, semantic-driven framework also permits simulating and analysing PSCEL programs. Usability and potentialities of the approach are illustrated by means of a robot swarm case study.


Autonomic systems Semantic-driven development tools Robot swarms 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Kephart, J.O., Chess, D.M.: The Vision of Autonomic Computing. Computer 36, 41–50 (2003)Google Scholar
  2. 2.
    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
  3. 3.
    De Nicola, R., Loreti, M., Pugliese, R., Tiezzi, F.: A formal approach to autonomic systems programming: The SCEL language. ACM TAAS (to appear, 2014)Google Scholar
  4. 4.
    Dastani, M.: 2APL: A practical agent programming language. Autonomous Agents and Multi-Agent Systems 16(3), 214–248 (2008)CrossRefGoogle Scholar
  5. 5.
    Ashley-Rollman, M.P., Goldstein, S.C., Lee, P., Mowry, T.C., Pillai, P.: Meld: A declarative approach to programming ensembles. In: IROS, pp. 2794–2800. IEEE (2007)Google Scholar
  6. 6.
    Khakpour, N., Jalili, S., Talcott, C.L., Sirjani, M., Mousavi, M.R.: Formal modeling of evolving self-adaptive systems. Sci. Comput. Program. 78(1), 3–26 (2012)CrossRefzbMATHGoogle Scholar
  7. 7.
    Lanese, I., Bucchiarone, A., Montesi, F.: A framework for rule-based dynamic adaptation. In: Wirsing, M., Hofmann, M., Rauschmayer, A. (eds.) TGC 2010, LNCS, vol. 6084, pp. 284–300. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  8. 8.
    Banâtre, J.P., Radenac, Y., Fradet, P.: Chemical Specification of Autonomic Systems. In: IASSE, ISCA, pp. 72–79 (2004)Google Scholar
  9. 9.
    Margheri, A., Masi, M., Pugliese, R., Tiezzi, F.: A Formal Software Engineering Approach to Policy-based Access Control. Technical report, Univ. Firenze (2013),
  10. 10.
    Masi, M., Pugliese, R., Tiezzi, F.: Formalisation and implementation of the XACML access control mechanism. In: Barthe, G., Livshits, B., Scandariato, R. (eds.) ESSoS 2012. LNCS, vol. 7159, pp. 60–74. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  11. 11.
    Damianou, N., Dulay, N., Lupu, E.C., Sloman, M.: The Ponder Policy Specification Language. In: Sloman, M., Lobo, J., Lupu, E.C. (eds.) POLICY 2001. LNCS, vol. 1995, pp. 18–38. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  12. 12.
    IBM: Autonomic Computing Policy Language - ACPL,
  13. 13.
    Margheri, A., Pugliese, R., Tiezzi, F.: Linguistic Abstractions for Programming and Policing Autonomic Computing Systems. Technical report, Univ. Firenze (2013),
  14. 14.
    Serbedzija, N., et al.: Integration and simulation report for the Ascens case studies. D7.3 (2013),
  15. 15.
    EU project ASCENS:
  16. 16.
    Mamei, M., Zambonelli, F., Leonardi, L.: Co-fields: A physically inspired approach to motion coordination. IEEE Pervasive Computing 3(2), 52–61 (2004)CrossRefGoogle Scholar
  17. 17.
  18. 18.
    Winikoff, M.: Jacktm intelligent agents: An industrial strength platform. In: Multi-Agent Programming, vol. 15, pp. 175–193. Springer (2005)Google Scholar
  19. 19.
    Bellifemine, F.L., Caire, G., Greenwood, D.: Developing Multi-Agent Systems with JADE. Wiley Series in Agent Technology. John Wiley & Sons (2007)Google Scholar
  20. 20.
    McKinley, P., Sadjadi, S., Kasten, E., Cheng, B.H.C.: Composing adaptive software. Computer 37(7), 56–64 (2004)CrossRefGoogle Scholar
  21. 21.
    Bruneton, E., Coupaye, T., Leclercq, M., Quéma, V., Stefani, J.B.: The FRACTAL component model and its support in Java. Softw., Pract. Exper. 36(11-12), 1257–1284 (2006)CrossRefGoogle Scholar
  22. 22.
    Salvaneschi, G., Ghezzi, C., Pradella, C.: Context-Oriented Programming: A Programming Paradigm for Autonomic Systems. CoRR abs/1105.0069 (2011)Google Scholar
  23. 23.
    Hirschfeld, R., Costanza, P., Nierstrasz, O.: Context-oriented programming. Journal of Object Technology 7(3), 125–151 (2008)CrossRefGoogle Scholar
  24. 24.
    Appeltauer, M., Hirschfeld, R., Haupt, M., Lincke, J., Perscheid, M.: A comparison of context-oriented programming languages. In: COP, pp. 6:1–6:6. ACM (2009)Google Scholar
  25. 25.
    Hirschfeld, R., Igarashi, A., Masuhara, H.: ContextFJ: A minimal core calculus for context-oriented programming. In: FOAL, pp. 19–23. ACM (2011)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2014

Authors and Affiliations

  • Michele Loreti
    • 1
  • Andrea Margheri
    • 1
    • 2
  • Rosario Pugliese
    • 1
  • Francesco Tiezzi
    • 3
  1. 1.Università degli Studi di FirenzeFirenzeItaly
  2. 2.Università di PisaPisaItaly
  3. 3.IMT Advanced Studies LuccaLuccaItaly

Personalised recommendations