Adaptation Goals for Adaptive
Service-oriented Architectures, Luciano Baresi, Liliana Pasquale · 2013
Service-oriented architecture supports the definition and execution of complex business processes in a flexible and loosely-coupled way. A service-based application assembles the functionality provided by disparate, remote services in a seamless way. Since the architectural style prescribes that all features be pro- vided remotely, these applications adapt to changes and new business needs by se- lecting new partner services to interact with. Despite the success of the architec- tural style, a clear link between the actual applications —also referred to as service compositions— and the requirements they are supposed to meet is still missing. The embedded dynamism also imposes that requirements properly state how an appli- cation can evolve and adapt at runtime. The solution proposed in this chapter aims to solve these problems by extending classical goal models to provide an innovative means to represent both conventional (functional and non-functional) requirements and adaptation policies. To increase the support to dynamism, the proposal distin- guishes between crisp goals, of which satisfiability is boolean, and fuzzy goals, which can be satisfied at different degrees; adaptation goals are used to render adap- tation policies. The information provided in the goal model is then used to automat- ically devise the application's architecture (i.e., the composition) and its adaptation capabilities. The goal model becomes a live, runtime entity whose evolution helps govern the actual adaptation of the application. All key elements are exemplified through a service-based news provider.