Towards the Adaptability of Service-based Systems: Measurement, Requirements Variability, and Context-aware Recommendation
The recent advances in technologies supporting ambient, ubiquitous, and mobile computing have motivated the integration of service-based software systems into people’s everyday lives. This integration requires software adaptability, to meet the ever-changing needs and desires of users in a volatile environment. However, achieving software adaptability is inherently complex, with extremely diverse concerns. A framework to establish the basis of organising and conceptualising adaptability solutions has become necessary. The thesis has explored an existing adaptability conceptual framework that envisions the integration of adaptability processes with the service composition life cycle. Such a framework provides an abstract of a holistic approach for adaptability spanning throughout the service composition life cycle phases. In particular, this thesis aims to contribute to the envisioned adaptability framework that demands coherent approaches to fulfil the multitude of adaptability needs at every phase of the service composition life-cycle. The thesis has addressed three adaptability challenges within the requirements engineering & design, and construction phases of the service composition life-cycle.
The first challenge is the need to quantify adaptability. A set of adaptability metrics has been defined based on two underpinning concepts: the structure variability and binding variability of composite services. A case study has demonstrated the practical use of the metrics both to evaluate the adaptability of compositions specified from various Business Process Execution Language (BPEL-based) frameworks, regardless of the implemented adaptability mechanism, and to compare adaptability of the composition specification frameworks. The case study has indicated that the metrics can aid developers and designers in their decisions toward creating adaptable composite services. Hence, the inclusion of adaptability metrics to the service composition adaptability framework facilitates the design and evaluation of adaptability in the service composition life cycle.
The second challenge is the need for a context-aware requirements variability analysis. An approach for requirements variability analysis has been proposed. The approach utilises a contextual goal model that specifies relationships between goals and context variations, and a contextual preference model that enhances preferences with contextual information to capture the changing nature of preferences caused by context variation. The approach integrates the contextual preferences and contextual goals, in which the combined influence of context variability and preference variability is realised when deriving requirements variants. The result of a case study has indicated the effectiveness of the approach in identifying requirements modelling errors and inconsistencies, thus facilitating the refinement of requirements variability models. The approach expands the realisation of adaptability from the early phase of the service composition life cycle, that is, from the stakeholders’ level of requirements engineering.
The third challenge is the need for a context-aware service selection. A geographic-aware collaborative filtering service recommendation approach that deals with implicit user-service invocation data has been proposed. The approach examines the mashup-API invocation scenario where the user is a service composition (i.e., the mashup) invoking a Web service (i.e., the API). The approach has a method that maps geographical location information into geographical relevance scores. The geographical relevance, combined with functional relevance, is integrated into a probabilistic matrix factorisation recommendation model. The resulting recommendation model utilises both the geographical and functional relevance to infer the preference degrees underlying the implicit mashup-API invocation data. The experiment results have shown that augmenting the implicit invocation data with geographical location information, in addition to functional descriptions, increases the precision of API recommendation for mashup services. The approach can be significant to the adaptability of service selection tasks in the service composition life cycle.