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.
Similar content being viewed by others
References
Weiser M (1991). The computer for the 21st century. Sci Am 265(3): 66–75
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
Vuković M and Robinson P (2005). GoalMorph: Partial goal satisfaction for flexible service composition. Int J Web Services Pract 1(1–2): 40–56
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
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
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)
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)
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).
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
Vukovic M (2006) Context Aware Service Composition. PhD thesis, University of Cambridge
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)
Apache Tomcat v5.5 Application Server (2006) Software available at http://tomcat.apache.org/ (Last accessed 1st March 2006)
Fox A, Gribble SD, Chawathe Y, Brewer EA, Gauthier P (1997) Cluster-based scalable network services. In: Symposium on operating systems principles 78–91
The United Nations Standard Products and Services Code UNSPSC. Website available at http://www.unspsc.org/ (1998) (Last accessed 1st March 2006)
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
JConfig (2002) Software available from http://tolstoy.com/samizdat/jconfig.html (Last accessed 19th July 2006)
Web Services Description Language for Java (2005) Software available at http://sourceforge.net/projects/wsdl4j (Last accessed 1st March 2006)
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
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
Dey AK (2000). Providing architectural support for building context-aware applications. PhD thesis,. Georgia Institute of Technology, Atlanta, GA, USA
Hong JI and Landay JA (2001). An infrastructure approach to context-aware computing. Human–Comput Interact J 16: 287–303
Winograd T (2001). Architectures for Context. Human-Comput Interact J 16: 401–419
Schilit BN (1995). System architecture for context-aware mobile computing. PhD thesis. Columbia University, New York, USA
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
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
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
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
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
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
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
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
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
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
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
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
Forgy C (1982). Rete: A fast algorithm for the many patterns/many objects match problem. Artif Intell 19(1): 17–37
Berardi D (2005) Automatic service composition. Models, techniques, tools. PhD thesis, University of Rome “La Sapienza”, Rome, Italy
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
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
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
Author information
Authors and Affiliations
Corresponding author
Additional information
This work was supported by IBM Zurich Research Laboratory.
Rights 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
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11761-007-0016-x