Skip to main content
Log in

An architecture for rapid, on-demand service composition

  • Original Research
  • Published:
Service Oriented Computing and Applications Aims and scope Submit manuscript

Abstract

Legacy application design models, which are still widely used for developing context-aware applications, incur important limitations. Firstly, embedding contextual dependencies in the form of if–then rules specifying how applications should react to context changes is impractical to accommodate the large variety of possibly even unanticipated context types and their values. Additionally, application development is complicated and challenging, as programmers have to manually determine and encode the associations of all possible combinations of context parameters with application behaviour. In this paper we propose a framework for building context aware applications on-demand, as dynamically composed sequences of calls to services. We present the design and implementation of our system, which employs goal-oriented inferencing for assembling composite services, dynamically monitors their execution, and adapts applications to deal with contex- tual changes. We describe the failure recovery mechanisms we have implemented, allowing the deployment of the system in a non-perfect environment, and avoiding the delays inherent in re-discovering a suitable service instance. By means of experimental evaluation in a realistic infotainment application, we demonstrate the potential of the proposed solution an effective, efficient, and scalable approach.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Weiser M (1991). The computer for the 21st century. Sci Am 265(3): 66–75

    Article  Google Scholar 

  2. Vukovic M, Kotsovinos E, Robinson P (2007) Application development powered by rapid, on-demand service composition. In: Proceedings of the 2007 IEEE international conference on service-oriented computing and applications (IEEE SOCA 2007), Newport Beach, California

  3. Vuković M and Robinson P (2005). GoalMorph: Partial goal satisfaction for flexible service composition. Int J Web Services Pract 1(1–2): 40–56

    Google Scholar 

  4. Vuković M, Robinson P (2005) SHOP2 and TLPlan for Proactive Service Composition. In: Proceedings of the UK–Russia workshop on proactive computing. Nizhniy Novgorod, Russia

  5. Bacchus F, Kabanza F (1995) Using temporal logic to control search in a forward chaining planner. In: Proceedings of the second international workshop on temporal representation and reasoning (TIME). Melbourne Beach, FL, USA

  6. Curbera F, Andrews T, Dholakia H, Goland Y, Klein J, Leymann F, Liu K, Roller D, Smith D, Thatte S, Trickovic I, Weerawarana S (2005) Business Process Execution Language for Web Services, version 1.1. White Paper available at ftp://www6.software.ibm.com/software/developer/library/ws-bpel.pdf (Last accessed 1st March 2006)

  7. IBM (2004) The IBM Business Process Execution Language for Web Services JavaTM Run Time (BPWS4J). http://www.alphaworks.ibm.com/tech/bpws4j (Last accessed 1st March 2006)

  8. jUDDI v.0.94rc (2003) Java Implementation of the Universal Description Discovery, and Integration (UDDI) Specification for Web Services. Apache Web Services Project. http://ws.apache.org/juddi/ (Last accessed 1st March 2006).

  9. Haigh KZ, Veloso M (1996) Interleaving Planning and Robot Execution for Asynchronous User Requests. In: Planning with Incomplete Information for Robot Problems: Papers from the 1996 American Association for Artificial Intelligence (AAAI) Spring Symposium, Stanford University in Palo Alto, California, USA, AAAI Press, Menlo Park, California 35–44

  10. Vukovic M (2006) Context Aware Service Composition. PhD thesis, University of Cambridge

  11. Christensen E, Curbera F, Meredith G, Weerawarana S (2001) Web Services Description Language (WSDL) 1.1. Specification available at http://www.w3.org/TR/wsdl (Last accessed 1st March 2006)

  12. Apache Tomcat v5.5 Application Server (2006) Software available at http://tomcat.apache.org/ (Last accessed 1st March 2006)

  13. Fox A, Gribble SD, Chawathe Y, Brewer EA, Gauthier P (1997) Cluster-based scalable network services. In: Symposium on operating systems principles 78–91

  14. The United Nations Standard Products and Services Code UNSPSC. Website available at http://www.unspsc.org/ (1998) (Last accessed 1st March 2006)

  15. Gu X, Nahrstedt K, Yu B (2004) SpiderNet: an Integrated Peer-to-Peer Service Composition Framework. In: Proceedings of the IEEE international symposium on high performance distributed computing (HPDC), Honolulu, Hawaii, USA 110–119

  16. JConfig (2002) Software available from http://tolstoy.com/samizdat/jconfig.html (Last accessed 19th July 2006)

  17. Web Services Description Language for Java (2005) Software available at http://sourceforge.net/projects/wsdl4j (Last accessed 1st March 2006)

  18. Ranganathan A, Campbell RH (2003) What is the complexity of a distributed System? Technical Report UIUCDCS-R-2005-2568, University of Illinois at Urbana-Champaign, Urbana-Champaign, IL, USA

  19. McCann JA, Huebscher MC (2004) Evaluation issues in autonomic computing. In: Jin H, Pan Y, Xiao N. (eds) Proceedings of the third international conference on grid and cooperative computing workshops (GCC) of Lecture Notes in Computer Science, vol 3252. Springer, Wuhan 597–608

  20. Dey AK (2000). Providing architectural support for building context-aware applications. PhD thesis,. Georgia Institute of Technology, Atlanta, GA, USA

    Google Scholar 

  21. Hong JI and Landay JA (2001). An infrastructure approach to context-aware computing. Human–Comput Interact J 16: 287–303

    Article  Google Scholar 

  22. Winograd T (2001). Architectures for Context. Human-Comput Interact J 16: 401–419

    Article  Google Scholar 

  23. Schilit BN (1995). System architecture for context-aware mobile computing. PhD thesis. Columbia University, New York, USA

    Google Scholar 

  24. Pascoe J (1997) The Stick-e Note Architecture: extending the interface beyond the user. In: Moore J, Edmonds E, Puerta A (eds) Proceedings of the international conference on intelligent user interfaces, Orlando, FL, USA. ACM, 261–264

  25. Schmidt A, Aidoo KA, Takaluoma A, Tuomela U, Laerhoven KV, de Velde WV (1999) Advanced interaction in context. In: Proceedings of the first international symposium on handheld and ubiquitous computing (HUC). Springer, Karlsruhe, pp 89–101

  26. Lei H, Sow DM, Davis II JS, Banavar G and Ebling MR (2002). The design applications of a context service. ACM SIGMOBILE Mobile Comput Commun Rev 6(4): 45–55

    Article  Google Scholar 

  27. Koehler J, Srivastava B (2003) Web service composition: current solutions and open problems. In: The Proceedings of the international conference on automated planning and scheduling (ICAPS). Workshop on planning for Web Services, Trento, Italy pp 28–35

  28. Wu D, Sirin E, Hendler J, Nau D, Parsia B (2003) Automatic Web Services composition using SHOP2. In: Proceedings of the 13th international conference on automated planning and scheduling. Workshop on planning for Web Services, Trento, Italy

  29. Nau DS, Muñoz-Avila H, Cao Y, Lotem A, Mitchell S (2001) Total-order planning with partially ordered subtasks. In: Nebel B (eds) Proceedings of the seventeenth international joint conference on artificial intelligence (IJCAI), Seattle, Washington, USA, pp 425–430

  30. McIlraith S, Son TC (2002) Adapting golog for composition of semantic Web Services. In: Proceedings of the eighth international conference on knowledge representation and reasoning (KR2002), Toulouse, France

  31. Levesque HJ, Reiter R, Lesperance Y, Lin F and Scherl RB (1997). GOLOG: a logic programming language for dynamic domains. J Logic Programm 31(1-3): 59–83

    Article  MATH  MathSciNet  Google Scholar 

  32. McCarthy J and Hayes PJ (1969). Some philosophical problems from the standpoint of artificial intelligence. In: Meltzer, B and Michie, D (eds) Machine intelligence 4, pp 463–502. Edinburgh University Press, Edinburgh

    Google Scholar 

  33. Ankolenkar A, Burstein M, Hobbs JR, Lassila O, Martin DL, McDermott D, McIlraith SA, Narayanan S, Paolucci M, Payne TR, Sycara K (2002) DAML-S: Web service description for the semantic Web. In: Proceedings of the first international semantic Web conference (ISWC), Sardinia, Italy

  34. Giacomo GD, Lesperance Y and Levesque HJ (2000). Congolog, a concurrent programming language based on the situation calculus. Artif Intell 121(1-2): 109–169

    Article  MATH  Google Scholar 

  35. Ponnekanti SR, Fox A (2002) Sword: A developer toolkit for Web service composition. In: Proceedings of the 11th World Wide Web conference (Web Engineering Track), Honolulu, Hawaii, USA

  36. Forgy C (1982). Rete: A fast algorithm for the many patterns/many objects match problem. Artif Intell 19(1): 17–37

    Article  Google Scholar 

  37. Berardi D (2005) Automatic service composition. Models, techniques, tools. PhD thesis, University of Rome “La Sapienza”, Rome, Italy

  38. Akkiraju R, Verma K, Goodwin R, Doshi P, Lee J (2004) Executing abstract Web process flows. In: Proceedings of the international conference on automated planning and scheduling (ICAPS). Workshop on planning and scheduling for Web and grid services, Whistler, BC, Canada

  39. Pistore M, Barbon F, Bertoli P, Shaparau D, Traverso P (2004) Planning and monitoring Web service composition. In: Proceedings of the artificial intelligence: methodology, systems, and applications, 11th international conference (AIMSA), Varna, Bulgaria pp 106–115

  40. Trainotti M, Pistore M, Calabrese G, Zacco G, Lucchese G, Barbon F, Bertoli P, Traverso P (2005) ASTRO: supporting composition and execution of Web services. In: Proceedings of the international conference on automated and planning sheduling (ICAPS). Demo, Monterey, CA, USA

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Maja Vuković.

Additional information

This work was supported by IBM Zurich Research Laboratory.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Vuković, M., Kotsovinos, E. & Robinson, P. An architecture for rapid, on-demand service composition. SOCA 1, 197–212 (2007). https://doi.org/10.1007/s11761-007-0016-x

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11761-007-0016-x

keywords

Navigation