Content area

Abstract

Distributed applications are challenging to program because they have to deal with a plethora of concerns, including synchronization, locality, replication, security and fault tolerance. Aspect-oriented programming (AOP) is a paradigm that promotes better modularity by providing means to encapsulate crosscutting 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\[\omega \]), 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 foundation for a decentralized distributed aspect weaving architecture. The semantics of the aspect join calculus is given by a chemical operational semantics. We give a translation of the aspect join calculus into the core join calculus, and prove this translation correct by a bisimilarity argument. This translation is used to implement Aspect JoCaml on top of JoCaml.

Details

Title
Chemical foundations of distributed aspects
Author
Tabareau, Nicolas 1 ; Tanter, Éric 2   VIAFID ORCID Logo 

 Inria, Nantes, France 
 PLEIAD Lab, Computer Science Dept (DCC), University of Chile, Santiago, Chile 
Publication title
Volume
32
Issue
3
Pages
193-216
Publication year
2019
Publication date
Jun 2019
Publisher
Springer Nature B.V.
Place of publication
Heidelberg
Country of publication
Netherlands
Publication subject
ISSN
01782770
e-ISSN
14320452
Source type
Scholarly Journal
Language of publication
English
Document type
Journal Article
Publication history
 
 
Online publication date
2018-06-07
Milestone dates
2018-05-22 (Registration); 2016-08-19 (Received); 2018-05-22 (Accepted)
Publication history
 
 
   First posting date
07 Jun 2018
ProQuest document ID
2051402304
Document URL
https://www.proquest.com/scholarly-journals/chemical-foundations-distributed-aspects/docview/2051402304/se-2?accountid=208611
Copyright
Distributed Computing is a copyright of Springer, (2018). All Rights Reserved.
Last updated
2023-11-23
Database
ProQuest One Academic