Context Aware Service Composition
Total Page:16
File Type:pdf, Size:1020Kb
UCAM-CL-TR-700 Technical Report ISSN 1476-2986 Number 700 Computer Laboratory Context aware service composition Maja Vukovic´ October 2007 15 JJ Thomson Avenue Cambridge CB3 0FD United Kingdom phone +44 1223 763500 http://www.cl.cam.ac.uk/ c 2007 Maja Vukovic´ This technical report is based on a dissertation submitted April 2006 by the author for the degree of Doctor of Philosophy to the University of Cambridge, Newnham College. Technical reports published by the University of Cambridge Computer Laboratory are freely available via the Internet: http://www.cl.cam.ac.uk/techreports/ ISSN 1476-2986 Summary Context aware applications respond and adapt to changes in the computing environment. For example, they may react when the location of the user or the capabilities of the device used change. Despite the increasing importance and popularity of such applications, advances in application models to support their development have not kept up. Legacy application design models, which embed contextual dependencies in the form of if-then rules specifying how applications should react to context changes, are still widely used. Such models are impractical to accommodate the large variety of possibly even unanticipated context types and their values. This dissertation proposes a new application model for building context aware applications, considering them as dynamically composed sequences of calls to services, software components that perform well-defined computational opera- tions and export open interfaces through which they can be invoked. This work employs goal-oriented inferencing from planning technologies for selecting the services and assembling the sequence of their execution, allowing different com- positions to result from different context parameters such as resources available, time constraints, and user location. Contextual changes during the execution of the services may trigger further re-composition causing the application to evolve dynamically. An important challenge in providing a context aware service composition fa- cility is dealing with failures that may occur, for instance as a result of context changes or missing service descriptions. To handle composition failures, this dis- sertation introduces GoalMorph, a system which transforms failed composition requests into alternative ones that can be solved. This dissertation describes the design and implementation of the proposed framework for context aware service composition. Experimental evaluation of a realistic infotainment application demonstrates that the framework provides an efficient and scalable solution. Furthermore, it shows that GoalMorph transforms goals successfully, increasing the utility of achieved goals without imposing a prohibitive composition time overhead. By developing the proposed framework for fault-tolerant, context aware ser- vice composition this work ultimately lowers the barrier for building extensible applications that automatically adapt to the user’s context. This represents a step towards a new paradigm for developing adaptive software to accommodate the increasing dynamicity of computing environments. iii iv Acknowledgements This dissertation would not have been possible without the support of many great people, to whom I express my gratitude. First of all, I would like to thank Peter Robinson, my advisor, for giving me the opportunity and freedom to pursue a PhD as a member of the Rainbow Group, Computer Laboratory, University of Cambridge. His tremendous support, guidance and understanding enabled me to complete this project. I greatly appreciate the discussions with Jean Bacon, Carl Binding, Yigal Hoefner and Jana Koehler. I am grateful to Andreas Reuter, Anthony Jameson and Oliver Fritz for encouraging me to pursue a PhD. For their help in proofread- ing, support and discussions I would like to thank specifically Rana el Kaliouby, Tihana Kraˇs, Jennifer Rode, Tal Sobol-Shikler, Mark Stringer, Vikas Taliwal and Phil Tuddenham. I would like to thank Giorgos Cheliotis and Christian Facciaruso for our initial discussion on symmetric matchmaking methods. My thanks go to Anthony Bus- sani for his kind assistance with state of the art. I would also like to extend my thanks to Gero Dittman, Diana Gulli, Chiara Marchiori and Roger Zimmerman for helping make my stay in Zurich pleasant and productive. I was especially fortunate to have been generously supported by IBM Zurich Research Laboratory. This has also provided me with an opportunity to work with leading researchers at IBM Zurich Laboratory and IBM T.J. Watson Re- search Center. I am grateful to Doug Dykeman and Stefan Hild, without whose effort and flexibility this would not have been possible. I would also like to thank Cambridge Commonwealth Trust, Newnham Col- lege, and the Royal Academy of Engineering for supporting this research. My time at Cambridge would not have been the same without Aleksandra Gruevska and Nives Mikeli´c. I would also like to thank Gordana Api´cfor offering practical advice during critical stages of my research. I would especially like to thank Evangelos Kotsovinos for our extensive dis- cussions on adaptive composition, constructive feedback on dissertation drafts, patience and unending support during the most challenging times of this research project. Last but not least, I would like to thank my parents, Vladimir and Dragana, whose hard work and devotion made all this possible. Words cannot express my gratitude to my sister Tamara and brother Ivan for their love and encouragement. v vi Contents List of figures ix List of tables xi List of algorithms xiii Abbreviations xv Terminology xvii 1 Introduction 1 1.1 Motivation............................... 2 1.2 Researchchallenges.......................... 5 1.3 Dissertationaims ........................... 7 1.4 Dissertationoutline.......................... 9 1.5 Publicationrecord .......................... 10 2 Research context 13 2.1 Contextawarecomputing . 13 2.1.1 Context and context awareness . 14 2.1.2 Middleware for context awareness . 18 2.1.3 Models for context awareness . 22 2.2 Servicecomposition. .. .. 26 2.2.1 Foundations.......................... 26 2.2.2 Componenttechnologies . 28 2.2.3 Servicecompositionframeworks . 29 2.2.4 Webservicecomposition . 32 2.2.5 Planning-based service composition . 37 2.3 Summary ............................... 45 vii 3 Service composition framework 49 3.1 Usagescenario............................. 50 3.2 Designrequirements . .. .. 52 3.3 Frameworkarchitecture. 52 3.3.1 Composition request management layer . 54 3.3.2 Abstract service composition layer . 56 3.3.3 Architecture specific service composition layer . ... 58 3.3.4 Execution and monitoring layer . 60 3.4 Failuretolerance ........................... 62 3.4.1 Compositionfailures . 62 3.4.2 Discoveryfailures . 63 3.4.3 Executionfailures. 64 3.5 Summary ............................... 66 4 Composition failure management 69 4.1 Motivation............................... 70 4.1.1 Partial satisfaction of composition requests . ... 70 4.1.2 Automated construction of composition requests . .. 71 4.2 GoalMorph: composition failure management using context aware goaltransformations . 72 4.2.1 Goaltaxonomy ........................ 72 4.2.2 GoalMorphoverview . 74 4.2.3 ContextProxy ........................ 75 4.2.4 ContextMesh......................... 79 4.2.5 GoalService.......................... 87 4.2.6 GoalTransformationEngine . 92 4.2.7 GoalMorphinuse....................... 99 4.3 Evaluation............................... 100 4.3.1 GoalMorpheffectiveness . 101 4.3.2 GoalMorphperformance . 103 4.3.3 GoalMorphscalability . 106 4.4 Relatedwork ............................. 107 4.4.1 ComparisonwithGTrans. 107 4.4.2 Partialsatisfactionplanning . 109 4.5 Summary ............................... 110 5 Implementation 113 5.1 Abstract service composition layer . 115 5.1.1 AbstractServiceRepository . 115 viii 5.1.2 CompositionEngine . 116 5.2 Architecture specific service composition layer . ..... 128 5.2.1 Representation of abstract execution plans . 128 5.2.2 Planinstantiation. 132 5.3 Execution and monitoring layer . 135 5.3.1 Service execution and monitoring . 135 5.3.2 Goalstatemonitoring . 137 5.4 Summary ............................... 138 6 Evaluation 141 6.1 Experimentalsetup . 141 6.2 Performance.............................. 143 6.3 Scalability ............................... 149 6.3.1 Scalability when increasing domain size . 150 6.3.2 Scalability when increasing composition request size.... 151 6.3.3 Scalability when increasing number of composition requests 151 6.4 Qualitativeevaluation . 152 6.4.1 Developmenteffort . 153 6.4.2 Effectiveness. .. .. 158 6.5 Summary ............................... 160 7 Conclusion 161 7.1 Contributions ............................. 162 7.2 Futurework .............................. 162 7.2.1 User driven goal transformation selection . 163 7.2.2 Composition request scheduling . 163 7.2.3 Quality of Service for composite service execution . 164 7.2.4 Privacy, security and trust for composite services . 164 7.3 Summary ............................... 165 Appendix A Interfaces 167 A.1 Composition request management layer . 167 A.2 Abstract service composition layer . 172 A.3 Architecture specific service composition layer . ..... 173 A.4 Execution and monitoring layer . 175 Appendix B System extensibility 177 References 179 ix x List of Figures 2.1 Webservicearchitecture . 32 2.2 SOAPmessagestructure . 34 2.3 OWL-Sserviceontology . 36 3.1 Usage scenario: context aware restaurant finder . ... 51