Niels Joncheere

Padus

Padus

Padus is an aspect-oriented extension to BPEL, which is the de facto standard in current workflow languages. Padus improves separation of concerns by applying the basic aspect-oriented principles to BPEL: crosscutting concerns can be modularized as separate aspects, which can be applied to certain locations in a workflow. Padus has a rich joinpoint model, which consists of all BPEL activities. A high-level, logic pointcut language allows selecting joinpoints in a way that alleviates pointcut fragility. Based on the observation that workflow languages require more advanced advice types than the classic before, after, and around advice types, Padus introduces the in advice type. Aspects are instantiated and applied to a workflow using an explicit deployment construct, which allows specifying precedence among aspects. Finally, Padus is implemented as a source code weaver which ensures full compatibility with the existing BPEL tool chain.

Resources

Isolating process-level concerns using Padus

This research paper, which was presented at the 4th International Conference on Business Process Management (BPM 2006), serves as Padus's language specification.

The Padus weaver, build 2009.09.15

This gzip-compressed tar file contains the latest build of the Padus weaver (which is implemented in Prolog), as well as a number of examples. Please refer to README.txt for more information.