Skip to main content

Computation Orchestration

A Basis for Wide-Area Computing

  • Conference paper
Engineering Theories of Software Intensive Systems

Part of the book series: NATO Science Series ((NAII,volume 195))

Abstract

We explore the following quintessential problem: given a set of basic computing elements how do we compose them to yield interesting computation patterns. Our goal is to study composition operators which apply across a broad spectrum of computing elements, from sequential programs to distributed transactions over computer networks. Our theory makes very few assumptions about the nature of the basic elements; in particular, we do not assume that an element’s computation always terminates, or that it is deterministic. We develop a theory which provides useful guidance for application designs, from integration of sequential programs to coordination of distributed tasks. The primary application of interest for us is orchestration of web services over the internet, which we describe in detail in this paper.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 169.00
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 219.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 219.99
Price excludes VAT (USA)
  • Durable hardcover 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

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Benton, N., Cardelli, L., and Fournet, C. (2004). Modern concurrency abstractions for C#. TOPLAS, 26(5):769–804.

    Article  Google Scholar 

  2. Bois, A. R. D., Pointon, R., Loidl, H.-W., and Trinder, P. Implementing declarative parallel bottom-avoiding choice. http://www.macs.hw.ac.uk/trinder/papers/spec.ps.

    Google Scholar 

  3. Butler, M. and Hoare, C. Personal communication.

    Google Scholar 

  4. Cardelli, L. Transitions in programming models (microsoft research european faculty summit’ 03). http://research.microsoft.com/Users/luca/Slides/2003-07-16n

    Google Scholar 

  5. Cardelli, L. and Davies, R. (1999). Service combinators for web computing. IEEE Transactions on Software Engineering, 25(3):309–316.

    Article  Google Scholar 

  6. Choi, Y., Garg, A., Rai, S., Misra, J., and Vin, H. (2002). Orchestrating computations on the world-wide web. In B. Monien, R. F., editor, Parallel Processing: 8th International Euro-Par Conference, volume LNCS 2400, pages 1–20. Springer-Verlag Heidelberg.

    Google Scholar 

  7. Elliott, C. (2004). Programming graphics processors functionally. In Proceedings of the 2004 Haskell Workshop, Snowbird, Utah, USA.

    Google Scholar 

  8. Extensible Markup Language (XML) (2001). Main page for World Wide Web Consortium (W3C) XML activity and information. http://www.w3.org/XML/.

    Google Scholar 

  9. Fournet, C. and Gonthier, G. (1996). The reflexive chemical abstract machine and the join-calculus. In Proceedings of the POPL. ACM.

    Google Scholar 

  10. Gray, J. and Reuter, A. (1993). Transaction Processing: Concepts and Techniques. Morgan Kaufmann.

    Google Scholar 

  11. Group, W. Semantic web. http://www.w3.org/2001/sw/.

    Google Scholar 

  12. Harel, D. and Politi, M. (1998). Modeling Reactive Systems with Statecharts. McGraw-Hill.

    Google Scholar 

  13. Haskell Language Report (1999). Haskell 98: A non-strict, purely functional language. Available at http://haskell.org/onlinereport.

    Google Scholar 

  14. Hoare, C. (1974). Monitors: an operating system structuring concept. Communications of the ACM, 17(10):549–557.

    Article  MATH  Google Scholar 

  15. Hoare, C. (1984). Communicating Sequential Processes. Prentice Hall International.

    Google Scholar 

  16. Hoare, T., Menzel, G., and Misra, J. (2004). A tree semantics of an orchestration language. In Broy, M., editor, Proc. of the NATO Advanced Study Institute, Engineering Theories of Software Intensive Systems, NATO ASI Series, Marktoberdorf, Germany.

    Google Scholar 

  17. Kozen, D. (1990). On Kleene algebras and closed semirings. In Proceedings, Math. Found. of Comput. Sci., volume 452 of Lecture Notes in Computer Science, pages 26–47. Springer-Verlag.

    Google Scholar 

  18. Lamport, L., Shostak, R., and Pease, M. (1982). The Byzantine Generals Problem. TOPLAS, 4(3):382–401.

    Article  Google Scholar 

  19. Milner, R. (1989). Communication and Concurrency. International Series in Computer Science, C.A.R. Hoare, series editor. Prentice-Hall International.

    Google Scholar 

  20. Turner, D. (1986). An overview of Miranda. ACM SIGPLAN Notices, 21:156–166.

    Google Scholar 

  21. web site on BPEL, A. Available for download at http://www-106.ibm.com/developerworks/webservices/library/ws-autobp.

    Google Scholar 

  22. web site on BPEL, A. Available for download at http://www-106.ibm.com/developerworks/webservices/library/ws-bpel.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2005 Springer

About this paper

Cite this paper

Misra, J. (2005). Computation Orchestration. In: Broy, M., GrĂ¼nbauer, J., Harel, D., Hoare, T. (eds) Engineering Theories of Software Intensive Systems. NATO Science Series, vol 195. Springer, Dordrecht. https://doi.org/10.1007/1-4020-3532-2_10

Download citation

  • DOI: https://doi.org/10.1007/1-4020-3532-2_10

  • Publisher Name: Springer, Dordrecht

  • Print ISBN: 978-1-4020-3530-2

  • Online ISBN: 978-1-4020-3532-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics