2018
DOI: 10.1016/j.scico.2018.08.006
|View full text |Cite
|
Sign up to set email alerts
|

AErlang: Empowering Erlang with attribute-based communication

Abstract: Attribute-based communication provides a novel mechanism to dynamically select groups of communicating entities by relying on predicates over their exposed attributes. In this paper, we embed the basic primitives for attribute-based communication into the functional concurrent language Erlang to obtain what we call AErlang, for attribute Erlang. To evaluate our prototype in terms of performance overhead and scalability we consider solutions of the Stable Marriage Problem based on predicates over attributes and… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
6
0

Year Published

2018
2018
2024
2024

Publication Types

Select...
6
1

Relationship

2
5

Authors

Journals

citations
Cited by 10 publications
(7 citation statements)
references
References 37 publications
0
6
0
Order By: Relevance
“…A simpler process calculus inspired by SCEL is AbC (Attribute-based Communication) (Alrahman et al, 2015), capturing the essence of this interaction style. AbC has been implemented for the Erlang programming language through the AErlang library (Nicola et al, 2018). CARMA (Collective Adaptive Resource-sharing Markovian Agents) (Loreti and Hillston, 2016) is a related stochastic process algebra and language that models collective of components that may dynamically aggregate into ensembles, also using attribute-based communication (uni-or multi-cast) to implement broadcasts for coordinating large ensembles of devices.…”
Section: Attribute-based Interaction In Component Ensemblesmentioning
confidence: 99%
See 1 more Smart Citation
“…A simpler process calculus inspired by SCEL is AbC (Attribute-based Communication) (Alrahman et al, 2015), capturing the essence of this interaction style. AbC has been implemented for the Erlang programming language through the AErlang library (Nicola et al, 2018). CARMA (Collective Adaptive Resource-sharing Markovian Agents) (Loreti and Hillston, 2016) is a related stochastic process algebra and language that models collective of components that may dynamically aggregate into ensembles, also using attribute-based communication (uni-or multi-cast) to implement broadcasts for coordinating large ensembles of devices.…”
Section: Attribute-based Interaction In Component Ensemblesmentioning
confidence: 99%
“…On a more pragmatic side, supporting macroprogramming on top of existing development platforms (such as the JVM or .NET) may enable quick prototyping as well as reuse of features and tools from the host platform. This has fostered the emergence of internal DSLs (Voelter et al, 2013) for macroprogramming, which are embedded as expressive APIs on top of existing general-purpose languages: this is the case of PyoT (Python) (Azzara et al, 2014), Chronus (Ruby) (Wada et al, 2010), jDEECo (Java) (Bures et al, 2013), ScaFi for aggregate programming (Scala) (Casadei et al, 2020b), Dolphin (Groovy) (Lima et al, 2018), D'Artagnan (Haskell) (Mizzi et al, 2018), and AErlang (Erlang) (Nicola et al, 2018). However, this aspect of integration of paradigms poses architectural challenges, especially considering that macroprogramming tends to permeate various dimensions of the system-including structure, behaviour, and interaction.…”
Section: Integration With Other Programming Paradigms and Toolchainsmentioning
confidence: 99%
“…There have been other attempts at providing implementations of AbC . AErlang [11] extends Erlang processes to allow attribute-based communication beside the point-to-point one. However, the programming style is based on the host language and it might not be immediate to derive AErlang programs from AbC specifications.…”
Section: Concluding Remarks and Related Workmentioning
confidence: 99%
“…Some proposals have already been put forward to efficiently implement message exchange for AbC . It has been implemented in Java [4], Google Go [1] and Erlang [11]. However, these implementations are either not in full agreement with the original semantics or do miss detailed performance evaluations.…”
Section: Introductionmentioning
confidence: 99%
“…AErlang [108] is a middleware enabling attribute-based communication among programs in Erlang [109], a concurrent functional programming language originally designed for building telecommunication systems and recently successfully adapted to broader contexts, such as large-scale distributed messaging platforms like Facebook and WhatsApp. AErlang lifts Erlang's send and receive communication primitives to attribute-based reasoning.…”
Section: Systemsmentioning
confidence: 99%