\(\mathcal {G}o\mathcal {A}t\): Attribute-Based Interaction in Google Go

2018 
The attribute-based interaction paradigm has been proposed as an appropriate tool to program the interactions of Collective Adaptive Systems where a group of components can interact according to their run-time properties and the environment they operate in. It has been shown that the novel paradigm is very expressive by means of encoding other well-known interaction paradigms. However, the question on the tradeoff between its expressiveness and its efficiency, when implemented to program distributed and collective systems, is still to be answered. In a previous work, we proposed three distributed communication infrastructures to handle message exchange for the attribute-based paradigm and we proved their correctness. In this paper, we describe an actual implementation of these infrastructures in Google Go. We describe an attribute-based programming API, named \(\mathcal {G}o\mathcal {A}t\), that is parametric with respect to the infrastructure that mediates the interaction between components and an Eclipse plugin for \(\mathcal {G}o\mathcal {A}t\) to program in a high-level syntax which can be automatically used to generate formally verifiable Go code. Finally, we discuss the performance of the API by considering a non-trivial case study.
    • Correction
    • Source
    • Cite
    • Save
    • Machine Reading By IdeaReader
    25
    References
    8
    Citations
    NaN
    KQI
    []