Workflow enactment with continuation and future objects

An increasing number of software developers are turning to workflow to separate the logic and the control aspects in their applications, thus making them more amenable to change. However, in spite of recent efforts to standardize and provide reusable workflow components, many developers build their own. This is a challenging endeavor and involves solving problems which seem incompatible with the object paradigm and current object-oriented programming languages. In the context of an object-oriented workflow framework, this paper demonstrates a novel approach that resolves this impedance mismatch with techniques drawn from programming language theory. This successful cross-pollination narrows the gap between the results of decades of research in programming languages and developers working hard to cope with change.

[1]  Cristina V. Lopes,et al.  Aspect-oriented programming , 1999, ECOOP Workshops.

[2]  Amit P. Sheth,et al.  Processes Driving the Networked Economy , 1999, IEEE Concurr..

[3]  Dragos-Anton Manolescu,et al.  Micro-Workflow: A Workflow Architecture Supporting Compositional Object-Oriented Software Development , 2000 .

[4]  Gregor Kiczales,et al.  Aspect-oriented programming , 2001, ESEC/FSE-9.

[5]  Dirk Riehle,et al.  Pattern Languages of Program Design 3 , 1997 .

[6]  Mitchell Wand,et al.  Essentials of programming languages , 2008 .

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

[8]  Dragos Manolescu,et al.  Production workflow: concepts and techniques , 2001, SOEN.

[9]  James O. Coplien,et al.  Pattern languages of program design , 1995 .

[10]  Andrew W. Appel,et al.  Compiling with Continuations , 1991 .

[11]  Pericles Loucopoulos Entity-Relationship Approach — ER '94 Business Modelling and Re-Engineering , 1994, Lecture Notes in Computer Science.

[12]  Dragos A. Manolescu,et al.  A Micro Workflow Framework for Compositional Object-Oriented Software Development , 1999 .

[13]  Volker Gruhn,et al.  Business Process Modelling in the Workflow-Management Environment Leu , 1994, ER.

[14]  Asuman Dogac,et al.  Workflow Management Systems and Interoperability , 2001, NATO ASI Series.

[15]  Gul A. Agha,et al.  ACTORS - a model of concurrent computation in distributed systems , 1985, MIT Press series in artificial intelligence.

[16]  Satoshi Matsuoka,et al.  ABCL/f: A Future-Based Polymorphic Typed Concurrent Object-Oriented Language- Its Design and Implementation , 1994, Specification of Parallel Algorithms.

[17]  R. McClatchey,et al.  A distributed workflow and product data management application for the construction of large scale scientific apparatus , 1998 .

[18]  James Noble Arguments and Results , 2000, Comput. J..

[19]  Michael A. Jackson,et al.  Business Process Implementation - Building Workflow Systems , 1997 .

[20]  Daniel G. Bobrow,et al.  Book review: The Art of the MetaObject Protocol By Gregor Kiczales, Jim des Rivieres, Daniel G. and Bobrow(MIT Press, 1991) , 1991, SGAR.

[21]  Don Roberts,et al.  Evolving Frameworks A Pattern Language for Developing Object-Oriented Frameworks , 2004 .

[22]  P. Kidwell,et al.  The mythical man-month: Essays on software engineering , 1996, IEEE Annals of the History of Computing.

[23]  Mathias Weske,et al.  The WASA Approach to Workflow Management for Scientific Applications , 1998 .

[24]  Ralph E. Johnson,et al.  Reflective facilities in Smalltalk-80 , 1989, OOPSLA '89.

[25]  Mario Tokoro,et al.  Orient84/K: an object-oriented concurrent programming language for knowledge representation , 1987 .

[26]  Peter Sommerlad,et al.  Pattern-Oriented Software Architecture: A System of Patterns: John Wiley & Sons , 1987 .

[27]  Gerhard Weikum,et al.  Workflow history management in virtual enterprises using a light-weight workflow management system , 1999, Proceedings Ninth International Workshop on Research Issues on Data Engineering: Information Technology for Virtual Enterprises. RIDE-VE'99.

[28]  Mitchell Wand,et al.  Trampolined style , 1999, ICFP '99.

[29]  Gerald Jay Sussman,et al.  Lambda: The Ultimate Imperative , 1976 .

[30]  Gerhard Weikum,et al.  Mentor-lite: integrating light-weight workflow management systems within business environments (exte , 1998 .

[31]  Paul Clements,et al.  Software architecture in practice , 1999, SEI series in software engineering.

[32]  Mike P. Papazoglou,et al.  Interoperation support for electronic business , 2000, CACM.

[33]  Ramez Elmasri,et al.  Entity-Relationship Approach — ER '93 , 1993, Lecture Notes in Computer Science.

[34]  Claus Johannes Hagen,et al.  A generic kernel for reliable process support , 1999 .

[35]  Robert A. Kowalski,et al.  Algorithm = logic + control , 1979, CACM.

[36]  Jr. Frederick P. Brooks,et al.  The Mythical Man-Month: Essays on Softw , 1978 .

[37]  Guy L. Steele,et al.  Growing a Language , 1999, High. Order Symb. Comput..

[38]  B. F. Castro Buschmann, Frank; Meunier, Regine; Rohnert, Hans; Sommerlad, Peter; Stal, Michael. Pattern-oriented software architecture: a system of patterns, John Wiley & Sons Ltd, 1996 , 1997 .

[39]  Robert H. Halstead,et al.  MULTILISP: a language for concurrent symbolic computation , 1985, TOPL.