Advertisement

Service Oriented Computing and Applications

, Volume 1, Issue 4, pp 197–212 | Cite as

An architecture for rapid, on-demand service composition

  • Maja Vuković
  • Evangelos Kotsovinos
  • Peter Robinson
Original Research

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.

keywords

Service composition Context awareness AI planning 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Weiser M (1991). The computer for the 21st century. Sci Am 265(3): 66–75 CrossRefGoogle Scholar
  2. 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, CaliforniaGoogle Scholar
  3. 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. 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, RussiaGoogle Scholar
  5. 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, USAGoogle Scholar
  6. 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. 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. 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. 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–44Google Scholar
  10. 10.
    Vukovic M (2006) Context Aware Service Composition. PhD thesis, University of CambridgeGoogle Scholar
  11. 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. 12.
    Apache Tomcat v5.5 Application Server (2006) Software available at http://tomcat.apache.org/ (Last accessed 1st March 2006)
  13. 13.
    Fox A, Gribble SD, Chawathe Y, Brewer EA, Gauthier P (1997) Cluster-based scalable network services. In: Symposium on operating systems principles 78–91Google Scholar
  14. 14.
    The United Nations Standard Products and Services Code UNSPSC. Website available at http://www.unspsc.org/ (1998) (Last accessed 1st March 2006)
  15. 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–119Google Scholar
  16. 16.
    JConfig (2002) Software available from http://tolstoy.com/samizdat/jconfig.html (Last accessed 19th July 2006)
  17. 17.
    Web Services Description Language for Java (2005) Software available at http://sourceforge.net/projects/wsdl4j (Last accessed 1st March 2006)
  18. 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, USAGoogle Scholar
  19. 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–608Google Scholar
  20. 20.
    Dey AK (2000). Providing architectural support for building context-aware applications. PhD thesis,. Georgia Institute of Technology, Atlanta, GA, USA Google Scholar
  21. 21.
    Hong JI and Landay JA (2001). An infrastructure approach to context-aware computing. Human–Comput Interact J 16: 287–303 CrossRefGoogle Scholar
  22. 22.
    Winograd T (2001). Architectures for Context. Human-Comput Interact J 16: 401–419 CrossRefGoogle Scholar
  23. 23.
    Schilit BN (1995). System architecture for context-aware mobile computing. PhD thesis. Columbia University, New York, USA Google Scholar
  24. 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–264Google Scholar
  25. 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–101Google Scholar
  26. 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 CrossRefGoogle Scholar
  27. 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–35Google Scholar
  28. 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, ItalyGoogle Scholar
  29. 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–430Google Scholar
  30. 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, FranceGoogle Scholar
  31. 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 MATHCrossRefMathSciNetGoogle Scholar
  32. 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. 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, ItalyGoogle Scholar
  34. 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 MATHCrossRefGoogle Scholar
  35. 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, USAGoogle Scholar
  36. 36.
    Forgy C (1982). Rete: A fast algorithm for the many patterns/many objects match problem. Artif Intell 19(1): 17–37 CrossRefGoogle Scholar
  37. 37.
    Berardi D (2005) Automatic service composition. Models, techniques, tools. PhD thesis, University of Rome “La Sapienza”, Rome, ItalyGoogle Scholar
  38. 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, CanadaGoogle Scholar
  39. 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–115Google Scholar
  40. 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, USAGoogle Scholar

Copyright information

© Springer-Verlag London Limited 2007

Authors and Affiliations

  • Maja Vuković
    • 1
  • Evangelos Kotsovinos
    • 2
  • Peter Robinson
    • 3
  1. 1.IBM T.J.Watson ResearchHawthorneUSA
  2. 2.Deutsche Telekom LaboratoriesBerlinGermany
  3. 3.University of CambridgeCambridgeUK

Personalised recommendations