Chemical foundations of distributed aspects

Abstract : Distributed applications are challenging to program because they have to deal with a plethora of concerns, including synchronization, locality, replica-tion, security and fault tolerance. Aspect-oriented programming (AOP) is a paradigm that promotes better modularity by providing means to encapsulate cross-cutting concerns in entities called aspects. Over the last years, a number of distributed aspect-oriented programming languages and systems have been proposed, illustrating the benefits of AOP in a distributed setting. Chemical calculi are particularly well-suited to formally specify the behavior of concurrent and distributed systems. The join calculus is a functional name-passing calculus, with both distributed and object-oriented extensions. It is used as the basis of concurrency and distribution features in several mainstream languages like C# (Polyphonic C#, now Cω), OCaml (JoCaml), and Scala Joins. Unsurprisingly, practical programming in the join calculus also suffers from modularity issues when dealing with crosscutting concerns. We propose the Aspect Join Calculus, an aspect-oriented and distributed variant of the join calculus that addresses crosscutting and provides a formal foundation for distributed AOP. We develop a minimal aspect join calculus that allows aspects to advise chemical reactions. We show how to deal with causal relations in pointcuts and how to support advanced customizable aspect weaving semantics. We also provide the foun-N. Tabareau
Type de document :
Article dans une revue
Distributed Computing, Springer Verlag, 2018, pp.1-24. 〈10.1007/s00446-018-0334-6〉
Liste complète des métadonnées

Littérature citée [23 références]  Voir  Masquer  Télécharger
Contributeur : Nicolas Tabareau <>
Soumis le : lundi 11 juin 2018 - 07:41:41
Dernière modification le : mercredi 13 février 2019 - 18:30:03
Document(s) archivé(s) le : jeudi 13 septembre 2018 - 00:21:01


Fichiers produits par l'(les) auteur(s)



Nicolas Tabareau, Éric Tanter. Chemical foundations of distributed aspects. Distributed Computing, Springer Verlag, 2018, pp.1-24. 〈10.1007/s00446-018-0334-6〉. 〈hal-01811884〉



Consultations de la notice


Téléchargements de fichiers