Tuplespace middleware for Petri net-based workflow execution

Petri nets are a formalism for describing coordinated interactions between independent entities, called transitions, by means of synchronised token exchange through places. Tuplespaces are an abstraction of the shared memory concept that provide means for loosely coupled coordination between individual components. In the tuplespace model, coordination between applications is achieved by production and blocking consumption of tuples, which are communicated over tuplespace buffers. On the basis of the conceptual similarities of Petri nets and tuplespaces, we investigate in this paper whether tuplespaces are a suitable platform for execution of applications modelled as Petri net-based workflows, motivate an extension to the original tuplespace interface to facilitate efficient synchronisation of control flow, and highlight its benefits by providing quantitative and qualitative evaluations of an application using the traditional tuplespace interface versus an application using our extension.

[1]  Antony I. T. Rowstron,et al.  Solving the LINDA Multiple rd Problem , 1996, COORDINATION.

[2]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[3]  Abraham Silberschatz,et al.  Database System Concepts , 1980 .

[4]  Wil M. P. van der Aalst,et al.  The Application of Petri Nets to Workflow Management , 1998, J. Circuits Syst. Comput..

[5]  Alexandre Yakovlev,et al.  Unfolding and Finite Prefix for Nets with Read Arcs , 1998, CONCUR.

[6]  Robert Tolksdorf Workspaces: A Web-Based Workflow Management System , 2002, IEEE Internet Comput..

[7]  David Gelernter,et al.  Generative communication in Linda , 1985, TOPL.

[8]  Christian Stahl,et al.  A Petri Net Semantics for BPEL , 2005 .

[9]  Karsten Wolf,et al.  Transforming BPEL to Petri Nets , 2005, Business Process Management.

[10]  Frank Leymann,et al.  Web Services: Distributed Applications Without Limits , 2003, BTW.

[11]  Kurt Jensen Coloured Petri Nets , 1992, EATCS Monographs in Theoretical Computer Science.

[12]  Moshé M. Zloof Query by example , 1975, AFIPS '75.

[13]  Tobin J. Lehman,et al.  T Spaces , 1998, IBM Syst. J..

[14]  Wil M.P. van der Aalst,et al.  YAWL: yet another workflow language , 2005, Inf. Syst..

[15]  Wolfgang Reisig Petri Nets: An Introduction , 1985, EATCS Monographs on Theoretical Computer Science.

[16]  Paolo Ciancarini,et al.  Jada - Coordination and Communication for Java Agents , 1996, Mobile Object Systems.

[17]  Frank Leymann,et al.  An EAI Pattern-Based Comparison of Spaces and Messaging , 2007, 11th IEEE International Enterprise Distributed Object Computing Conference (EDOC 2007).

[18]  Gianna Reggio,et al.  UML-SPACES: a UML profile for distributed systems coordinated via tuple spaces , 2001, Proceedings 5th International Symposium on Autonomous Decentralized Systems.

[19]  Chun Ouyang,et al.  Comparing and evaluating Petri net semantics for BPEL , 2009, Int. J. Bus. Process. Integr. Manag..

[20]  Simon J. E. Taylor,et al.  Location based mobile computing - A tuplespace perspective , 2006, Mob. Inf. Syst..

[21]  Frank Leymann,et al.  Web Services Platform Architecture: SOAP, WSDL, WS-Policy, WS-Addressing, WS-BPEL, WS-Reliable Messaging, and More , 2005 .

[22]  Julien Vayssière,et al.  Event-Based Coordination of Process-Oriented Composite Applications , 2005, Business Process Management.

[23]  Frank Leymann,et al.  Synchronizing control flow in a tuplespace-based, distributed workflow management system , 2008, ICEC.

[24]  Alessandro Ricci,et al.  Designing a BPEL Orchestration Engine Based on ReSpecT Tuple Centres , 2006, Electron. Notes Theor. Comput. Sci..

[25]  Gregor Hohpe,et al.  Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions , 2003 .