[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
article

Workflow enactment with continuation and future objects

Published: 04 November 2002 Publication History

Abstract

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.

References

[1]
G. A. Agha. Actors---A Model of Concurrent Computation is Distributed Systems. The MIT Press, Cambridge, Massachusetts, 1986.
[2]
A. W. Appel. Compiling with Continuations. Cambridge University Press, 1992.
[3]
L. Bass, P. Clements, and R. Kazman. Software Architecture in Practice. SEI Series in Software Engineering. Addison-Wesley, 1998.
[4]
F. P. Brooks. The Mythical Man-Month: Essays on Software Engineering. Addison-Wesley, 1995.
[5]
F. Buschman, R. Meunier, H. Rohnert, P. Sommerlad, and M. Stal. Pattern-Oriented Software Architecture---A System of Patterns. John Wiley & Sons, July 1996.
[6]
Cincom, Inc. Cincom Smalltalk. On the Web at http://www.cincom.com/scripts/smalltalk.dll/index.asp.
[7]
G. Dinkhoff, V. Gruhn, A. Saalmann, and M. Zielonka. Entity-Relationship Approach--ER'94, Business Modelling and Re-engineering, chapter Business Process Modeling in the Workflow Management Environment Leu, pages 46--63. Number 881 in Lecture Notes in Computer Science. Springer-Verlag, 1994.
[8]
A. Dogaç, L. Kalinichenko, M. T. Azsu, and A. Sheth, editors. Workflow Management Systems and Interoperability, volume 164 of NATO Advanced Science Institutes (ASI), Series F: Computer and Systems Sciences. Springer-Verlag, August 1998.
[9]
Drala Software, Inc. Drala workflow engine. Available from http://www.dralasoft.com/products/workflow/index.html.
[10]
B. Foote and R. E. Johnson. Reflective facilities in Smalltalk--80. In Proceedings of OOPSLA'89. ACM, 1989.
[11]
D. P. Friedman, M. Wand, and C. T. Haynes. Essentials of Programming Languages. The MIT Press, Cambridge, MA, second edition, 2001.
[12]
E. Gamma, R. Helm, R. Johnson, and J. Vlissides. Design Patterns---Elements of Reusable Object-Oriented Software. Addison-Wesley, 1995.
[13]
S. E. Ganz, D. P. Friedman, and M. Wand. Trampolined style. In Proc. International Conference on Functional Programming, pages 18--27, Paris, September 1999. ACM Press.
[14]
GemStone Systems. GemStone/S Smalltalk Application Server. On the Web at http://www.gemstone.com/products/s/index.html.
[15]
D. Georgakopoulos, M. Hornick, and A. Sheth. An overview of workflow management: From process modeling to workflow automation infrastructure. Distributed and Parallel Databases, an International Journal, 3:119--153, 1995. Available on the Web at ftp://ftp.gte.com/pub/dom/reports/GEOR95a.ps.
[16]
C. J. Hagen. A Generic Kernel for Reliable Process Support. PhD thesis, Swiss Federal Institute of Technology, Zürich, Switzerland, 1999.
[17]
R. Halstead, Jr. MultiLISP: A language for concurrent symbolic computation. ACM Transactions on Programming Languages and Systems, 7:501--538, October 1985.
[18]
N. Harrison, B. Foote, and H. Rohnert, editors. Pattern Languages of Program Design 4. Software Patterns Series. Addison-Wesley, 2000.
[19]
Y. Ishikawa and M. Tokoro. Orient84/k: An object-oriented concurrent programming language for knowledge representation, 1987.
[20]
M. Jackson and G. Twaddle. Business Process Implementation--Building Workflow Systems. Addison-Wesley, 1997. ISBN 0-201-177684.
[21]
G. Kiczales and J. des Rivieres. The art of the metaobject protocol. MIT Press, Cambridge, MA, USA, 1991.
[22]
G. Kiczales, J. Lamping, A. Menhdhekar, C. Maeda, C. Lopes, J.-M. Loingtier, and J. Irwin. Aspect-oriented programming. In M. Ak?it and S. Matsuoka, editors, ECOOP '97---Object Oriented Programming 11th European Conference, Jyväskylä, Finland, volume 1241, pages 220--242. Springer-Verlag, New York, NY, 1997.
[23]
Z. Kovaks. The Integration of Product Data with Workflow Management Through a Common Data Model. PhD thesis, Faculty of Computer Studies and Mathematics, University of the West of England, Bristol, Apr. 1999.
[24]
R. Kowalski. Algorithm = Logic + Control. Communications of the ACM, 22(7):424--436, July 1979.
[25]
F. Leymann and D. Roller. Production Workflow---Concepts and Techniques. Prentice-Hall, Upper Saddle River, New Jersey, 2000.
[26]
D.-A. Manolescu. Micro-Workflow: A Workflow Architecture Supporting Compositional Object Oriented Software Development. PhD thesis, University of Illinois, Urbana-Champaign, October 2000. Available as Computer Science Technical Report UIUCDCS-R-2000-2186. On the Web from http://micro-workflow.com/.
[27]
D.-A. Manolescu and R. E. Johnson. A micro workflow framework for compositional object oriented software development. OOPSLA'99 Workshop on the Implementation and Application of Object-Oriented Workflow Management Systems II, Nov. 1999. Available on the Web from http://micro-workflow.com/.
[28]
R. C. Martin, D. Riehle, and F. Buschmann, editors. Pattern Languages of Program Design 3. Software Patterns Series. Addison-Wesley, October 1997.
[29]
R. McClatchey, J.-M. L. Goff, N. Baker, W. Harris, and Z. Kovacs. A Distributed Workflow and Product Data Management Application for the Construction of Large Scale Scientific Apparatus, pages 18--34. Volume 164 of Dogas et al. {8}, August 1998.
[30]
P. Muth, J. Weissenfels, M. Gillmann, and G. Weikum. Mentor-lite: Integrating light-weight workflow management systems within business environments (extended abstract), October 1998. Available on the Web from http://www-dbs.cs.uni-sb.de/~mlite/.
[31]
P. Muth, J. Weissenfels, M. Gillmann, and G. Weikum. Workflow history management in virtual enterprises using a light-weight workflow management system. In Proc. 9th International Workshop on Research Issues in Data Engineering, Sydney, Australia, March 1999. Available on the Web from http://www-dbs.cs.uni-sb.de/~mlite/.
[32]
J. Noble. Arguments and results. The Computer Journal, 43(6):439--450, July 2000.
[33]
J. Noble. Prototype-based Object System, chapter 5. In Harrison et al. {18}, 2000.
[34]
Workflow management facility specification. OMG Document Number bom/98--03--01, 1998. Available on the Web at ftp://ftp.omg.org/pub/docs/bom/98-03-01.pdf.
[35]
C. Petrie and S. Sarin. Controlling the flow. IEEE Internet Computing, 4(3):34--36, May-June 2000.
[36]
D. Roberts and R. Johnson. Evolving Frameworks---A Pattern Language for Developing Object Oriented Frameworks, chapter 26. In Martin et al. {28}, October 1997.
[37]
A. P. Sheth, W. van der Aalst, and I. B. Arpinar. Processes driving the networked economy. IEEE Concurrency, pages 18--31, July--September 1999.
[38]
G. L. Steele. Growing a language. In Addendum to the 1998 proceedings of the conference on Object-oriented Programming, Systems, Languages, and Applications, New York, NY, 1998. ACM Press.
[39]
G. L. Steele and G. J. Sussman. Lambda---the ultimate imperative. MIT AI Memo No. 353, March 1976.
[40]
K. Taura, S. Matsuoka, and A. Yonezawa. ABCL/f: A future-based polymorphic typed concurrent object-oriented language---its design and implementation. In Proceedings of the DIMACS workshop on Specification of Parallel Algorithms, 1994.
[41]
Versata, Inc. Versata process logic engine. Available from http://www.versata.com/products/inSuite/logic.addon.html.
[42]
G. Vossen and M. Weske. The WASA Approach to Workflow Management for Scientific Applications, pages 145--164. Volume 164 of Dogas et al. {8}, August 1998.
[43]
J. Yang and M. P. Papazoglou. Interoperation support for electronic business. 43(6):39--47, June 2000.

Cited By

View all

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM SIGPLAN Notices
ACM SIGPLAN Notices  Volume 37, Issue 11
November 2002
385 pages
ISSN:0362-1340
EISSN:1558-1160
DOI:10.1145/583854
Issue’s Table of Contents
  • cover image ACM Conferences
    OOPSLA '02: Proceedings of the 17th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
    November 2002
    396 pages
    ISBN:1581134711
    DOI:10.1145/582419
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 04 November 2002
Published in SIGPLAN Volume 37, Issue 11

Check for updates

Author Tags

  1. continuations
  2. future objects
  3. micro-workflow
  4. trampolined style
  5. workflow

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)1
  • Downloads (Last 6 weeks)0
Reflects downloads up to 12 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2023)On Composing Asynchronous OperationsStudia Universitatis Babeș-Bolyai Informatica10.24193/subbi.2023.2.0368:2(41-52)Online publication date: 22-Dec-2023
  • (2022)ProcessBase: A Hybrid Process Management PlatformService-Oriented Computing10.1007/978-3-662-45391-9_2(16-31)Online publication date: 11-Mar-2022
  • (2018)Activity pre-scheduling for run-time optimization of grid workflowsJournal of Systems Architecture: the EUROMICRO Journal10.1016/j.sysarc.2008.01.00954:9(883-892)Online publication date: 29-Dec-2018
  • (2010)Distributed Orchestration of Pervasive ServicesProceedings of the 2010 24th IEEE International Conference on Advanced Information Networking and Applications10.1109/AINA.2010.100(166-173)Online publication date: 20-Apr-2010
  • (2009)A pattern language for process execution and integration design in service-oriented architecturesTransactions on Pattern Languages of Programming I10.5555/2172302.2172308(136-191)Online publication date: 1-Jan-2009
  • (2009)Behavioral interface description of an object-oriented language with futures and promisesThe Journal of Logic and Algebraic Programming10.1016/j.jlap.2009.01.00178:7(491-518)Online publication date: Aug-2009
  • (2009)A Pattern Language for Process Execution and Integration Design in Service-Oriented ArchitecturesTransactions on Pattern Languages of Programming I10.1007/978-3-642-10832-7_6(136-191)Online publication date: 2009
  • (2008)Computational Audiovisual Composition Using LuaTransdisciplinary Digital Art. Sound, Vision and the New Screen10.1007/978-3-540-79486-8_19(213-228)Online publication date: 2008
  • (2007)BUSTProceedings of the 2nd international conference on Scalable information systems10.5555/1366804.1366834(1-10)Online publication date: 6-Jun-2007
  • (2007)Continuation-passing enactment of distributed recoverable workflowsProceedings of the 2007 ACM symposium on Applied computing10.1145/1244002.1244114(475-481)Online publication date: 11-Mar-2007
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media