Advertisement

ABEL - A Domain Specific Framework for Programming with Attribute-Based Communication

  • Rocco De NicolaEmail author
  • Tan DuongEmail author
  • Michele LoretiEmail author
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 11533)

Abstract

Attribute-based communication is a promising paradigm for modelling and programming complex interactions in open distributed systems such as collective adaptive systems (CAS). This new paradigm has been formalized in AbC, a kernel calculus with a minimal set of primitives that can be used to model formally verifiable CAS. The calculus assumes an underlying coordination infrastructure that has to guarantee the wanted communication and leaves open the actual implementation of the way communication partners are selected. The proposed implementations of messages exchange for AbC are either not in full agreement with the original semantics or do miss detailed performance evaluations. In this paper, we continue the search for efficient implementations of AbC and present ABEL - a domain specific framework that offers programming constructs with a direct correspondence to those of AbC. We use Erlang to implement ABEL inter- and intra-components interaction that together faithfully model AbC semantics and enable us to verify properties of ABEL program. We also consider a number of case studies and, by experimenting with them, show that it is possible to preserve AbC semantics while guaranteeing good performance. We also argue that even better performances can be achieved if the “strong” AbC requirement on the total order of message delivery is relaxed.

Keywords

Attribute-based communication Process calculi Distributed programming Erlang 

References

  1. 1.
    Abd Alrahman, Y., De Nicola, R., Garbi, G.: \(\cal{G}o\cal{A}t\): attribute-based interaction in Google Go. In: Margaria, T., Steffen, B. (eds.) ISoLA 2018. LNCS, vol. 11246, pp. 288–303. Springer, Cham (2018).  https://doi.org/10.1007/978-3-030-03424-5_19CrossRefGoogle Scholar
  2. 2.
    Alrahman, Y.A., De Nicola, R., Garbi, G., Loreti, M.: A distributed coordination infrastructure for attribute-based interaction. In: Baier, C., Caires, L. (eds.) FORTE 2018. LNCS, vol. 10854, pp. 1–20. Springer, Cham (2018).  https://doi.org/10.1007/978-3-319-92612-4_1CrossRefGoogle Scholar
  3. 3.
    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, Cham (2016).  https://doi.org/10.1007/978-3-319-39570-8_1CrossRefGoogle Scholar
  4. 4.
    Abd Alrahman, Y., De Nicola, R., Loreti, M.: Programming of CAS systems by relying on attribute-based communication. In: Margaria, T., Steffen, B. (eds.) ISoLA 2016. LNCS, vol. 9952, pp. 539–553. Springer, Cham (2016).  https://doi.org/10.1007/978-3-319-47166-2_38CrossRefGoogle Scholar
  5. 5.
    Alrahman, Y.A., De Nicola, R., Loreti, M.: A behavioural theory for interactions in collective-adaptive systems. CoRR abs/1711.09762 (2017). arXiv:1711.09762
  6. 6.
    Alrahman, Y.A., De Nicola, R., Loreti, M.: Programming the interactions of collective adaptive systems by relying on attribute-based communication. CoRR abs/1711.06092 (2017). arXiv:1711.06092
  7. 7.
    Anderson, S., Bredeche, N., Eiben, A., Kampis, G., van Steen, M.: Adaptive collective systems: herding black sheep. Book Sprints for ICT Research (2013)Google Scholar
  8. 8.
    Baldoni, R., Cimmino, S., Marchetti, C.: Total order communications: a practical analysis. In: Dal Cin, M., Kaâniche, M., Pataricza, A. (eds.) EDCC 2005. LNCS, vol. 3463, pp. 38–54. Springer, Heidelberg (2005).  https://doi.org/10.1007/11408901_4CrossRefGoogle Scholar
  9. 9.
    Birman, K., Schiper, A., Stephenson, P.: Lightweight causal and atomic group multicast. ACM Trans. Comput. Syst. 9(3), 272–314 (1991).  https://doi.org/10.1145/128738.128742CrossRefGoogle Scholar
  10. 10.
    De Nicola, R., Duong, T., Inverso, O., Mazzanti, F.: Verifying properties of systems relying on attribute-based communication. In: Katoen, J.-P., Langerak, R., Rensink, A. (eds.) ModelEd, TestEd, TrustEd. LNCS, vol. 10500, pp. 169–190. Springer, Cham (2017).  https://doi.org/10.1007/978-3-319-68270-9_9CrossRefGoogle Scholar
  11. 11.
    De Nicola, R., Duong, T., Inverso, O., Trubiani, C.: AErlang: empowering Erlang with attribute-based communication. Sci. Comput. Program. 168, 71–93 (2018)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. (TAAS) 9(2), 7:1–7:29 (2014)Google Scholar
  13. 13.
    Gale, D., Shapley, L.S.: College admissions and the stability of marriage. Am. Math. Mon. 69(1), 9–15 (1962)MathSciNetCrossRefGoogle Scholar
  14. 14.
    Ter Beek, M.H., Fantechi, A., Gnesi, S., Mazzanti, F.: A state/event-based model-checking approach for the analysis of abstract system properties. Sci. Comput. Program. 76(2), 119–135 (2011)CrossRefGoogle Scholar
  15. 15.
    Lamport, L.: Time, clocks, and the ordering of events in a distributed system. Commun. ACM 21(7), 558–565 (1978)CrossRefGoogle Scholar
  16. 16.
    Prasad, K.V.: A calculus of broadcasting systems. Sci. Comput. Program. 25(2–3), 285–327 (1995)MathSciNetCrossRefGoogle Scholar

Copyright information

© IFIP International Federation for Information Processing 2019

Authors and Affiliations

  1. 1.IMT - School for Advanced StudiesLuccaItaly
  2. 2.Gran Sasso Science InstituteL’AquilaItaly
  3. 3.University of CamerinoCamerinoItaly

Personalised recommendations