Introducing contracting in distributed transactional workflows

We describe a flexible transactional workflow environment based on an extensible object-oriented framework built around class libraries, application programming interfaces, and shared services. To enforce coordination in workflow communications and model real-life business applications, the concepts of 'obligation' and 'contract' are introduced. A contract is a semantic agreement between two or more collaborating workflows in terms of a protocol-oriented specification of obligations. It is used to describe the communication between systems by means of nested transactions associated with the provision of services. An example from the banking world illustrates this approach.

[1]  Jeffrey S. Rosenschein,et al.  Designing Conventions for Automated Negotiation , 1994, AI Mag..

[2]  Göran Goldkuhl,et al.  INFORMATION AS ACTION AND COMMUNICATION , 1995 .

[3]  E. M. Verharen,et al.  A Language-Action Perspective on the Design of Cooperative Information Agents , 1997 .

[4]  Ronald M. Lee,et al.  Bureaucracies as deontic systems , 1988, TOIS.

[5]  Barbara Liskov,et al.  Distributed programming in Argus , 1988, CACM.

[6]  H. Jürgen Müller,et al.  Negotiation principles , 1996 .

[7]  Andreas Reuter,et al.  The ConTract Model , 1991, Database Transaction Models for Advanced Applications.

[8]  Mike P. Papazoglou,et al.  TrActorS: a transactional actor system for distributed query processing , 1992, [1992] Proceedings of the 12th International Conference on Distributed Computing Systems.

[9]  E. B. Moss,et al.  Nested Transactions: An Approach to Reliable Distributed Computing , 1985 .

[10]  Ahmed K. Elmagarmid,et al.  A Multidatabase Transaction Model for InterBase , 1990, VLDB.

[11]  Matthias Nussbaum Database Transaction Models for Advanced Applications , 1992 .

[12]  Mike P. Papazoglou,et al.  Class Library Support for Workflow Environments and Applications , 1997, IEEE Trans. Computers.

[13]  Denis Caromel,et al.  Toward a method of object-oriented concurrent programming , 1993, CACM.

[14]  Stanley B. Zdonik,et al.  Specifying Flexible Tasks in a Multi-database , 1994, CoopIS.

[15]  Stephen M. Omohundro The Sather Language and Libraries , 1991, TOOLS.

[16]  Jean-Marc Geib,et al.  Eiffel classes for concurrent programming , 1991 .

[17]  Ronald M. Lee,et al.  A logic model for electronic contracting , 1988, Decis. Support Syst..

[18]  J. Gregory Morrisett,et al.  Composing first-class transactions , 1994, TOPL.

[19]  Hans Weigand,et al.  Interoperable Transactions - A Structured Approach , 1996 .

[20]  Frank Dignum,et al.  Implementation of a Cooperative Agent Architecture Based on the Language-Action Perspective , 1997, ATAL.

[21]  Hans Weigand,et al.  Flexible Specification of Interoperable Transactions , 1998, Data Knowl. Eng..

[22]  Jack Dongarra,et al.  Pvm 3 user's guide and reference manual , 1993 .

[23]  Terry Winograd,et al.  The action workflow approach to workflow management technology , 1992, CSCW '92.