Skip to main content

A Prolog-Based Language for Workflow Programming

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 4467))

Abstract

Workflow management systems control activities that are performed in a distributed manner by a number of human or automated participants. There is a wide variety of workflow systems in use, mostly commercial products, and no standard language has been defined in which to express workflow specifications. In this paper we propose Workflow Prolog, a new extension of Prolog. The language allows workflow systems to be implemented in a novel declarative style, while preserving the existing properties of Prolog, such as its familiarity and efficiency. We then demonstrate the expressiveness of the language by showing how it can express each of the workflow patterns that have previously been identified as the requirements of a workflow language.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. van der Aalst, W.M.P., ter Hofstede, A.H.M., Kiepuszewski, B., Barros, A.P.: Workflow Patterns. Distributed and Parallel Databases 14(1), 5–51 (2003)

    Article  Google Scholar 

  2. van der Aalst, W.M.P., ter Hofstede, A.H.M.: YAWL: yet another workflow language. Information Systems 30(4), 245–275 (2005)

    Article  Google Scholar 

  3. Bi, H.H., Zhao, J.L.: Applying propositional logic to workflow verification. Information Technology and Management 5(3-4), 293–318 (2004)

    Article  Google Scholar 

  4. Chan, D., Leung, K.: Valmont: a language for workflow programming. In: Proc. 31st Annual Hawaii Int. Conf. on System Sciences, pp. 744–753. IEEE Computer Society Press, Los Alamitos (1998)

    Google Scholar 

  5. Clark, K.L., Gregory, S.: A relational language for parallel programming. In: Proc. Conf. on Functional Programming Languages and Computer Architecture, pp. 171–178. ACM Press, New York (1981)

    Chapter  Google Scholar 

  6. Clark, K.L., Gregory, S.: Parallel programming in logic. ACM Trans. on Programming Languages and Systems 8(1), 1–49 (1986)

    Article  MATH  Google Scholar 

  7. Conlon, T.: Programming in Parlog. Addison-Wesley, Reading (1989)

    Google Scholar 

  8. Cook, W., Patwardhan, S., Misra, J.: Workflow patterns in Orc. In: Ciancarini, P., Wiklicky, H. (eds.) COORDINATION 2006. LNCS, vol. 4038, pp. 82–96. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  9. Davulcu, H., Kifer, M., Ramakrishnan, C., Ramakrishnan, I.: Logic based modeling and analysis of workflows. In: Symp. on Principles of Database Systems, pp. 25–33 (1998)

    Google Scholar 

  10. Dijkstra, E.W.: Guarded commands, nondeterminacy and formal derivation of programs. In Communications of the ACM 18(8), 453–457 (1975)

    Article  MATH  MathSciNet  Google Scholar 

  11. Duan, Y., Ma, H.: Modeling flexible workflow based on temporal logic. In: Proc. 9th Int. Conf. on Computer Supported Cooperative Work in Design, vol. 1, pp. 508–513. IEEE Computer Society Press, Los Alamitos (2005)

    Google Scholar 

  12. van Emden, M.H., de Lucena Filho, G.J.: Predicate logic as a language for parallel programming. In: Clark, Tärnlund (eds.) Logic Programming, pp. 189–198. Academic Press, London (1982)

    Google Scholar 

  13. Forst, A., Kühn, E., Bukhres, O.: General purpose work flow languages. Distributed and Parallel Databases 3(2), 187–218 (1995)

    Article  Google Scholar 

  14. Halstead, R.: MULTILISP: a language for concurrent symbolic computation. ACM Trans. on Programming Languages and Systems 7(4), 501–538 (1985)

    Article  MATH  Google Scholar 

  15. Hermenegildo, M., Cabeza, D., Carro, M.: Using attributed variables in the implementation of concurrent and parallel logic programming systems. In: Proc. 1995 Int. Conf. on Logic Programming, pp. 631–645. MIT Press, Cambridge (1995)

    Google Scholar 

  16. Hoare, C.A.R.: Communicating sequential processes. In Communications of the ACM 21(8), 666–677 (1978)

    Article  MATH  Google Scholar 

  17. Holzbaur, C.: Metastructures vs. attributed variables in the context of extensible unification. In: Bruynooghe, M., Wirsing, M. (eds.) PLILP 1992. LNCS, vol. 631, pp. 260–268. Springer, Heidelberg (1992)

    Chapter  Google Scholar 

  18. Liu, D., Wang, J., Chan, S., Sun, J., Zhang, L.: Modeling workflow processes with colored Petri nets. In Computers in Industry 49(3), 267–281 (2002)

    Article  Google Scholar 

  19. Ma, H.: A workflow model based on temporal logic. In: Proc. 8th Int. Conf. on Computer Supported Cooperative Work in Design, vol. 2, pp. 327–332. IEEE Computer Society Press, Los Alamitos (2004)

    Google Scholar 

  20. Omicini, A., Ricci, A., Zaghini, N.: Distributed workflow upon linkable coordination artifacts. In: Ciancarini, P., Wiklicky, H. (eds.) COORDINATION 2006. LNCS, vol. 4038, pp. 228–246. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  21. Pokorny, L., Ramakrishnan, C.: Modeling and Verification of Distributed Autonomous Agents Using Logic Programming. In: Leite, J.A., Omicini, A., Torroni, P., Yolum, p. (eds.) DALT 2004. LNCS (LNAI), vol. 3476, pp. 148–165. Springer, Heidelberg (2005)

    Google Scholar 

  22. Senkul, P., Kifer, M., Toroslu, I.: A logic framework for scheduling workflows under resource allocation constraints. In: Proc. 28th VLDB Conf., pp. 694–702 (2002)

    Google Scholar 

  23. Shapiro, E.Y.: The family of concurrent logic programming languages. In ACM Computing Surveys 21(3), 413–510 (1989)

    Article  Google Scholar 

  24. Stefansen, C.: SMAWL: a small workflow language based on CCS. In: Pastor, Ó., Falcão e Cunha, J. (eds.) CAiSE 2005. LNCS, vol. 3520, Springer, Heidelberg (2005)

    Google Scholar 

  25. Takeuchi, A., Furukawa, K.: Parallel logic programming languages. In: Shapiro, E. (ed.) 3rd International Conference on Logic Programming. LNCS, vol. 225, pp. 242–254. Springer, Heidelberg (1986)

    Google Scholar 

  26. Wang, Y., Fan, Y.: Using temporal logics for modeling and analysis of workflows. In: IEEE Int. Conf. on E-Commerce Technology for Dynamic E-Business, pp. 169–174. IEEE Computer Society Press, Los Alamitos (2004)

    Chapter  Google Scholar 

  27. Workflow Management Coalition. WFMC specification: the workflow reference model. Document no. WFMC-TC-1003 (1995)

    Google Scholar 

  28. Workflow Management Coalition. WFMC specification: terminology and glossary. Document no. WFMC-TC-1011 (1999)

    Google Scholar 

  29. Workflow Patterns Home Page. http://www.workflowpatterns.com/

Download references

Author information

Authors and Affiliations

Authors

Editor information

Amy L. Murphy Jan Vitek

Rights and permissions

Reprints and permissions

Copyright information

© 2007 Springer Berlin Heidelberg

About this paper

Cite this paper

Gregory, S., Paschali, M. (2007). A Prolog-Based Language for Workflow Programming. In: Murphy, A.L., Vitek, J. (eds) Coordination Models and Languages. COORDINATION 2007. Lecture Notes in Computer Science, vol 4467. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-72794-1_4

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-72794-1_4

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-72793-4

  • Online ISBN: 978-3-540-72794-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics