Publications » Engineering a BPEL Orchestration Engine as a Multi-agent System

Engineering a BPEL Orchestration Engine as a Multi-agent System

Mirko Viroli, Enrico Denti, Alessandro Ricci
The BPEL language is currently the primary candidate for standardising Web Services orchestration. BPEL specifications are meant to be run by BPEL orchestration engines, which are therefore crucial components of today’s business-to-business infrastructures, carrying the burden of dynamically composing existing services.

In this paper, we present the design of a BPEL orchestration engine based on a multi-agent system: while the basic BPEL activities are autonomously executed by agents, workflow aspects are realised by the mediation of ReSpecT tuple centres, a coordination model extending Linda with the ability of declaratively programming the tuple space behaviour.

Our architecture separates the interaction, correlation, and workflow concerns into clearly identified tiers. In particular, we identify the workflow tier as the one encapsulating the core and most critical behaviour of the engine: due to its intrinsic complexity, we tackle its design formally. We introduce a core algebraic language of BPEL dealing with its workflow-related aspects, and provide it with a semantics based on a mapping into a net specification, modelling the dependencies between the activities to be executed by the engine. This mapping plays the role of a formal design, since it directly leads to an implementation of the workflow tier in the orchestration engine.

Keywords: Multiagent systems; Orchestration languages; Coordination models; Languages process algebra
Science of Computer Programming 66(3), pages 226-245, may 2007.
Carlos Canal, Mirko Viroli (eds.), Elsevier Science B.V.
Special Issue on Foundations of Coordination Languages and Software Architectures 2005
@article{orchestration-scp66,
        Author = {Viroli, Mirko and Denti, Enrico and Ricci, Alessandro},
        Doi = {doi:10.1016/j.scico.2007.01.008},
        Editor = {Canal, Carlos and Viroli, Mirko},
        Issn = {0167-6423},
        Journal = {Science of Computer Programming},
        Keywords = {Multiagent systems; Orchestration languages; Coordination models; Languages process algebra},
        Month = may,
        Note = {Special Issue on Foundations of Coordination Languages and Software Architectures 2005},
        Number = 3,
        Pages = {226--245},
        Publisher = {Elsevier Science B.V.},
        Title = {Engineering a {BPEL} Orchestration Engine as a Multi-agent System},
Url = {http://www.sciencedirect.com/science/article/pii/S0167642307000378},
        Volume = 66,
        Year = 2007}