Pattern-based distributed programming
Design, architecture and implementation patterns have been very
successful in the context of sequential and massively parallel
applications. They have, however, encountered much less success in the
context of distributed applications, mainly because these are
frequently defined on irregular topologies, require crosscutting
accesses to distributed execution state that enables pattern
applications, or are subject to heterogenous synchronization
requirements.
Invasive patterns for distributed programming
We have defined the notion to address the two issues
above. Concretely, invasive patterns extend well-known computation and
communication patterns, such as farming out computations, by three
concepts in order to address the problems introduced above:
- Groups of hosts support the flexible definition of
complex distributed topologies.
- Sequence aspects enable the concise modularization of
pattern-enabling crosscutting accesses to distributed execution
state.
- Intra- and inter-pattern synchronization specs permit
the definition of patterns with heterogenous synchronization
requirements.
An invasive pattern defines a computation on and transfer
of data between a source group of hosts and a target group of
hosts. Computation and transfer of data is defined by a distributed
aspect that allows accesses to execution state to be concisely
expressed. Synchronization strategies can be attached to communication
links in an invasive pattern using an operator-based approach.
More details can be found in [BSDM07].
Publications
[BSDM07] L. D. Benavides Navarro, M. Südholt, R. Douence, J.-M. Menaud
"Invasive
patterns for distributed applications", 9th Int. Symp. on
Distributed Objects, Middleware, and Applications (DOA'07), Nov. 2007.
last modification on 17 Oct. 2007 by Mario Südholt