Programming of CAS Systems by Relying on Attribute-Based Communication

  • Yehia Abd AlrahmanEmail author
  • Rocco De Nicola
  • Michele Loreti
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9952)


In most distributed systems, named connections (i.e., channels) are used as means for programming interaction between communicating partners. These kinds of connections are low level and usually totally independent of the knowledge, the status, the capabilities, ..., in one word, of the attributes of the interacting partners. We have recently introduced a calculus, called AbC, in which interactions among agents are dynamically established by taking into account “connection” as determined by predicates over agent attributes. In this paper, we present Open image in new window , a Java run-time environment that has been developed to support modeling and programming of collective adaptive systems by relying on the communication primitives of the AbC calculus. Systems are described as sets of parallel components, each component is equipped with a set of attributes and communications among components take place in an implicit multicast fashion. By means of a number of examples, we also show how opportunistic behaviors, achieved by run-time attribute updates, can be exploited to express different communication and interaction patterns and to program challenging case studies.


Parallel Composition Current Partner Programming Construct Current Session Communication Paradigm 
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.


  1. 1.
    \(Ab^{a}C{\rm uS}\): A run-time environment for the \(AbC\) calculus. Accessed 08 Dec 2015
  2. 2.
    jRESP: Java runtime environment for scel.
  3. 3.
    JSON: Javascript object notation.
  4. 4.
    Agha, G., Callsen, C.J.: Actorspace: an open distributed programming paradigm, vol. 28. ACM (1993)Google Scholar
  5. 5.
    Abd Alrahman, Y., De Nicola, R., Loreti, M.: On the power of attribute-based communication. In: Albert, E., Lanese, I. (eds.) FORTE 2016. LNCS, vol. 9688, pp. 1–18. Springer, Heidelberg (2016). doi: 10.1007/978-3-319-39570-8_1 CrossRefGoogle Scholar
  6. 6.
    Abd Alrahman, Y., De Nicola, R., Loreti, M., Tiezzi, F., Vigo, R.: A calculus for attribute-based communication. In: Proceedings of the 30th Annual ACM Symposium on Applied Computing, SAC 2015, pp. 1840–1845. ACM (2015)Google Scholar
  7. 7.
    Bass, M.A., Nguyen, F.T.: Unified publish and subscribe paradigm for local and remote publishing destinations, 11 June 2002. US Patent 6,405,266Google Scholar
  8. 8.
    Bortolussi, L., De Nicola, R., Galpin, V., Gilmore, S., Hillston, J., Latella, D., Loreti, M., Massink, M.: Carma: collective adaptive resource-sharing markovian agents. In: Workshop on Quantitative Aspects of Programming Languages and Systems, QAPL 2015, pp. 16–31 (2015)Google Scholar
  9. 9.
    Bruneton, E., Coupaye, T., Leclercq, M., Quéma, V., Stefani, J.-B.: The fractal component model, its support in Java. Softw. Pract. Experience 36(11–12), 1257–1284 (2006)CrossRefGoogle Scholar
  10. 10.
    Bruneton, E., Coupaye, T., Stefani, J.-B.: The fractal component model. Draft Specif. Version 2(3) pp. 125–151(2004)Google Scholar
  11. 11.
    Chockler, G.V., Keidar, I., Vitenberg, R.: Group communication specifications: a comprehensive study. ACM Comput. (CSUR) 33(4), 427–469 (2001)CrossRefGoogle Scholar
  12. 12.
    De Nicola, R., Loreti, M., Pugliese, R., Tiezzi, F.: A formal approach to autonomic systems programming: the SCEL language. ACM Trans. Auton. Adapt. Syst. 9(2), 1–29 (2014)CrossRefGoogle Scholar
  13. 13.
    Ene, C., Muntean, T.: A broadcast-based calculus for communicating systems. In: Parallel and Distributed Processing Symposium, International, vol. 3, p. 30149b. IEEE Computer Society (2001)Google Scholar
  14. 14.
    Eugster, P.T., Felber, P.A., Guerraoui, R., Kermarrec, A.-M.: The many faces of publish/subscribe. ACM Comput. Surv. 35(2), 114–131 (2003)CrossRefGoogle Scholar
  15. 15.
    Ferscha, A.: Collective adaptive systems. In: Proceedings of the 2015 ACM International Joint Conference on Pervasive and Ubiquitous Computing and Proceedings of the 2015 ACM International Symposium on Wearable Computers, pp. 893–895 (2015)Google Scholar
  16. 16.
    Gale, D., Shapley, L.S.: College admissions and the stability of marriage. Am. Math. Monthly 69(1), 9–15 (1962)MathSciNetCrossRefzbMATHGoogle Scholar
  17. 17.
    Hirschfeld, R., Costanza, P., Nierstrasz, O.: Context-oriented programming. J. Object Technol. 7(3), 125–151 (2008)CrossRefGoogle Scholar
  18. 18.
    Honda, K., Tokoro, M.: An object calculus for asynchronous communication. In: America, P. (ed.) ECOOP 1991. LNCS, vol. 512, pp. 133–147. Springer, Heidelberg (1991)CrossRefGoogle Scholar
  19. 19.
    Jackson, D.E., Ratnieks, F.L.W.: Communication in ants. Curr. Biol. 16(15), R570–R574 (2006)CrossRefGoogle Scholar
  20. 20.
    Klarl, A.: Engineering self-adaptive systems with the role-based architecture of Helena. In: Infrastructure for Collaborative Enterprises, WETICE 2015, Larnaca, Cyprus, 15–17 June 2015, pp. 3–8 (2015)Google Scholar

Copyright information

© Springer International Publishing AG 2016

Authors and Affiliations

  • Yehia Abd Alrahman
    • 1
    Email author
  • Rocco De Nicola
    • 1
  • Michele Loreti
    • 2
  1. 1.IMT School for Advanced Studies LuccaLuccaItaly
  2. 2.Università degli Studi di FirenzeFlorenceItaly

Personalised recommendations