Skip to main content

An iTask Case Study: A Conference Management System

  • Chapter

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 5832))

Abstract

Workflow systems are automated systems in which tasks are coordinated by assigning them to either humans or computers. Contemporary workflow systems are static and not very flexible. In these lecture notes, we discuss the iTask system: a combinator library for specifying workflows in the functional language Clean. This system offers several advantages when compared to commercial systems: tasks are statically typed, tasks can be higher order, the combinators are fully compositional, and dynamic and recursive workflow can be specified. Moreover, the specification is an executable specification offering a web-based multi-user workflow system. In this paper we describe the iTask system using a conference management system as the running example to illustrate the expressive power of functional and generic programming in a real-world domain.

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., ter Hofstede, A., Kiepuszewski, B., Barros, A.: Workflow patterns. QUT technical report, FIT-TR-2002-02, Queensland University of Technology, Brisbane, Australia (2002)

    Google Scholar 

  2. Achten, P.: Clean for Haskell98 programmers - A quick reference guide (July 13-21, 2007), http://www.st.cs.ru.nl/papers/2007/achp2007-CleanHaske11Quick-Guide.pdf

  3. Alimarine, A.: Generic functional programming - Conceptual design, implementation and applications. PhD thesis, Institute for Computing and Information Sciences. Radboud University Nijmegen, The Netherlands (2005); ISBN 3-540-67658-9

    Google Scholar 

  4. Atkins, D., Ball, T., Benedikt, M., Bruns, G., Cox, K., Mataga, P., Rehor, K.: Experience with a domain specific language for form-based services. In: Usenix Conference on Domain Specific Languages (October 1997)

    Google Scholar 

  5. Brabrand, C., Møller, A., Ricky, M., Schwartzbach, M.: Powerforms: declarative client-side form field validation. World Wide Web Journal 3(4), 205–314 (2000)

    Article  MATH  Google Scholar 

  6. Brabrand, C., Møller, A., Schwartzbach, M.: The <bigwig> project. In: ACM Transactions on Internet Technology, TOIT 2002 (2002)

    Google Scholar 

  7. Cooper, E., Lindley, S., Wadler, P., Yallop, J.: Links: web programming without tiers. In: de Boer, F.S., Bonsangue, M.M., Graf, S., de Roever, W.-P. (eds.) FMCO 2006. LNCS, vol. 4709, pp. 266–296. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  8. Ducasse, S., Lienhard, A., Renggli, L.: Seaside - A multiple control flow web application framework. In: Ducasse, S. (ed.) Proceedings of the 12th International Smalltalk Joint Conference, ESUG 2004, Technical Report IAM-04-008, Koethen, Germany, November 7, pp. 231–254. Institut für Informatik und Angewandte Mathematik, University of Bern, Switzerland (2004)

    Google Scholar 

  9. Elliot, C.: Tangible functional programming. In: Proceedings of the 12th International Conference on Functional Programming, ICFP 2007, Freiburg, Germany, October 1-3, pp. 59–70. ACM Press, New York (2007)

    Chapter  Google Scholar 

  10. Elsman, M., Larsen, K.F.: Typing XHTML web applications in ML. In: Jayaraman, B. (ed.) PADL 2004. LNCS, vol. 3057, pp. 224–238. Springer, Heidelberg (2004)

    Chapter  Google Scholar 

  11. Elsman, M., Hallenberg, N.: Web programming with SMLserver. In: Dahl, V., Wadler, P. (eds.) PADL 2003. LNCS, vol. 2562, pp. 74–91. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  12. Graunke, P., Krishnamurthi, S., Findler, R., Felleisen, M.: Automatically restructuring programs for the web. In: Feather, M., Goedicke, M. (eds.) Proceedings of the 16th International Conference on Automated Software Engineering, ASE 2001. IEEE CS Press, Los Alamitos (2001)

    Google Scholar 

  13. Hanna, K.: A document-centered environment for Haskell. In: Butterfield, A., Grelck, C., Huch, F. (eds.) IFL 2005. LNCS, vol. 4015, pp. 196–211. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  14. Hanus, M.: High-level server side web scripting in Curry. In: Ramakrishnan, I.V. (ed.) PADL 2001. LNCS, vol. 1990, pp. 76–92. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  15. Hinze, R.: A new approach to generic functional programming. In: Proceedings of the 27th International Symposium on Principles of Programming Languages, POPL 2000, Boston, Massachusetts, USA, January 2000, pp. 119–132 (2000)

    Google Scholar 

  16. Hughes, J.: Generalising monads to arrows. Science of Computer Programming 37, 67–111 (2000)

    Article  MathSciNet  MATH  Google Scholar 

  17. Jansen, J., Koopman, P., Plasmeijer, R.: Efficient interpretation by transforming data types and patterns to functions. In: Nilsson, H. (ed.) Proceedings of the 7th Symposium on Trends in Functional Programming, TFP 2006, Nottingham, UK, April 19-21, pp. 157–172 (2006), ISBN 978-1-84150-188-8

    Google Scholar 

  18. Meijer, E.: Server side web scripting in Haskell. Journal of Functional Programming 10(1), 1–18 (2000)

    Article  Google Scholar 

  19. Plasmeijer, R., Achten, P.: The implementation of iData - A case study in generic programming. In: Butterfield, A., Grelck, C., Huch, F. (eds.) IFL 2005. LNCS, vol. 4015, pp. 106–123. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  20. Plasmeijer, R., Achten, P., Koopman, P.: An introduction to iTasks: defining interactive work flows for the web. In: Horváth, Z., Plasmeijer, R., Soós, A., Zsók, V. (eds.) Central European Functional Programming School. LNCS, vol. 5161, pp. 1–40. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  21. Pointon, R., Trinder, P., Loidl, H.: The design and implementation of Glasgow distributed Haskell. In: Mohnen, M., Koopman, P. (eds.) IFL 2000. LNCS, vol. 2011, pp. 53–70. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  22. Queinnec, C.: The influence of browsers on evaluators or, continuations to program web servers. In: Proceedings of the 5th International Conference on Functional Programming, ICFP 2000 (September 2000)

    Google Scholar 

  23. Serrano, M., Gallesio, E., Loitsch, F.: Hop, a language for programming the web 2.0. In: Proceedings of the 11th International Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2006, Portland, Oregon, USA, October 22-26, pp. 975–985 (2006)

    Google Scholar 

  24. Thiemann, P.: WASH/CGI: server-side web scripting with sessions and typed, compositional forms. In: Krishnamurthi, S., Ramakrishnan, C.R. (eds.) PADL 2002. LNCS, vol. 2257, pp. 192–208. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  25. Zsók, V., Hernyák, Z., Horváth, Z.: Distributed pattern design in D-Clean. In: Proceedings of the 1st Central European Functional Programming School, CEFP 2005, Budapest, Hungary, vol. 33 (2005)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2009 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Plasmeijer, R., Achten, P., Koopman, P., Lijnse, B., van Noort, T. (2009). An iTask Case Study: A Conference Management System. In: Koopman, P., Plasmeijer, R., Swierstra, D. (eds) Advanced Functional Programming. AFP 2008. Lecture Notes in Computer Science, vol 5832. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-04652-0_7

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-04652-0_7

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-04651-3

  • Online ISBN: 978-3-642-04652-0

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics