Attribute-based communication provides a novel mechanism to dynamically select groups of communicating entities by relying on predicates over their exposed attributes. This paradigm represents an interesting alternative to broadcasting and one-to-one communication, and has potential applications in modelling and analysing complex open-ended systems. In this paper, we study the impact of attribute-based communication by enriching a concurrency-oriented language, i.e., , with attribute-based primitives to obtain what we call . We also study the impact of using different implementation strategies for exchanging messages while evaluating the sending and receiving predicates. To evaluate our proposal, we consider two case studies and analyse them from the point of view of efficiency and scalability. The outcome shows that broadcasting is very inefficient and not suitable to handle large systems and that other implementation strategies, whose choice depends on the specific class of problems under consideration, are definitely preferable. We also use one of the case studies to compare 's implementation with that of pure and X10. The experiments confirm that the overhead resulting from the new communication primitives is acceptable, and that our prototype successfully preserves 's efficiency and scalability.

AErlang: Empowering Erlang with attribute-based communication

Inverso O;Trubiani C
2018

Abstract

Attribute-based communication provides a novel mechanism to dynamically select groups of communicating entities by relying on predicates over their exposed attributes. This paradigm represents an interesting alternative to broadcasting and one-to-one communication, and has potential applications in modelling and analysing complex open-ended systems. In this paper, we study the impact of attribute-based communication by enriching a concurrency-oriented language, i.e., , with attribute-based primitives to obtain what we call . We also study the impact of using different implementation strategies for exchanging messages while evaluating the sending and receiving predicates. To evaluate our proposal, we consider two case studies and analyse them from the point of view of efficiency and scalability. The outcome shows that broadcasting is very inefficient and not suitable to handle large systems and that other implementation strategies, whose choice depends on the specific class of problems under consideration, are definitely preferable. We also use one of the case studies to compare 's implementation with that of pure and X10. The experiments confirm that the overhead resulting from the new communication primitives is acceptable, and that our prototype successfully preserves 's efficiency and scalability.
Attribute-based communication, Erlang Concurrency, Distributed programming, Collective adaptive systems, Stable Marriage
File in questo prodotto:
File Dimensione Formato  
2018_J_SCICO_168_DeNicola.pdf

non disponibili

Tipologia: Versione Editoriale (PDF)
Licenza: Non pubblico
Dimensione 1 MB
Formato Adobe PDF
1 MB Adobe PDF   Visualizza/Apri   Richiedi una copia

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/20.500.12571/6940
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus 7
  • ???jsp.display-item.citation.isi??? ND
social impact