Distributed Aspects: better separation of crosscutting concerns in distributed software systems - TEL - Thèses en ligne Accéder directement au contenu
Thèse Année : 2009

Distributed Aspects: better separation of crosscutting concerns in distributed software systems

Résumé

This thesis shows that abstractions provided by current mainstream Object Oriented (OO) languages are not enough to address the modularization of distributed and concurrent algo- rithms, protocols, or architectures. In particular, we show that code implementing concurrent and distributed algorithms is scattered and tangled in the main implementation of JBoss Cache, a real industrial middleware application. We also show that not only code is tangled, but also conceptual algorithms are hidden behind object-based structures (i.e., they are not visible in the code). Additionally, we show that such code is resilient to modularization. Thus, we show that several cycles of re-engineering (we study the evolution of three different version of JBoss Cache) using the same set of OO abstractions do not improve on the modularization of distributed and concurrent code. From these findings we propose a novel Aspect Oriented programming language with explicit support for distribution and concurrency (AWED). The language uses aspects as main abstractions and propose a model for distributed aspects and remote pointcuts, extending sequential approaches with support for regular sequences of distributed events. The language also proposes advanced support for the manipulation of groups of host, and the fine-grained deterministic ordering of distributed events. To evaluate the proposal we perform several experiments in different domains: refactoring and evolution of replicated caches, development of automatic toll systems, and debugging and testing of distributed applications. Finally, using this general model for distribution we provide two additional contributions. First, we introduce Invasive Patterns, an extension to traditional communication patterns for distributed applications. Invasive Patterns present an aspect-based language to express protocols over distributed topologies considering different coordination strategies (Architec- tural programming). The implementation of this approach is leveraged by the distributed features of AWED and is realized by means of a transformation into it. Second, we add the deterministic manipulation of distributed messages to our model by means of causally ordered protocols.
Fichier principal
Vignette du fichier
PHDThesisLuisDanielBenavidesNavarro-DistributedAspects-07012009.pdf (2.1 Mo) Télécharger le fichier
Loading...

Dates et versions

tel-00484760 , version 1 (19-05-2010)

Identifiants

  • HAL Id : tel-00484760 , version 1

Citer

Luis Daniel Benavides Navarro. Distributed Aspects: better separation of crosscutting concerns in distributed software systems. Software Engineering [cs.SE]. Université de Nantes, 2009. English. ⟨NNT : ⟩. ⟨tel-00484760⟩
337 Consultations
293 Téléchargements

Partager

Gmail Facebook X LinkedIn More