A Variable Context Model for Adaptable Service-Based Applications

A Variable Context Model for Adaptable Service-Based Applications

Antonio Bucchiarone, Cinzia Cappiello, Elisabetta Di Nitto, Barbara Pernici, Alessandra Sandonini
DOI: 10.4018/jaras.2012070103
(Individual Articles)
No Current Special Offers


Service-based applications (SBAs) rely on the invocation of services. The use of the service paradigm usually guarantees a high level of flexibility. In fact, applications can be easily reconfigured in order to continuously offer functionalities also in dynamic execution environments. This happens by changing the service selection and their composition. This flexibility can be exploited to design adaptable SBAs able to react to events that could happen during the application lifecycle. The execution flow of adaptable SBAs automatically changes on the basis of the context in which they are executing. The context includes information ranging from the situation in which users access the service-based applications to the status of the components involved in the execution of such applications. In this paper the authors propose a way to use context information to adapt SBAs. In particular, their goal is to discuss the way in which the context should be defined and managed in order to be exploited in the various activities related to the adaptation of service-based applications.
Article Preview


Service-based applications are deployed in dynamic and distributed settings by composing different services, possibly owned by different service providers. System developers exploit the functionality offered by services without having them under their direct control. This introduces critical dependencies between service-based applications and their component services that could change or be unavailable without notice.

Since the developer of the service-based application usually aims at guaranteeing continuity of service to its users, service-based applications have to be equipped with adaptation capabilities to react dynamically and automatically to unavailability of the component services.

Service selection becomes an important aspect of SBAs; such selection depends on the global requirements, on the functionality and on the quality of service to be provided. Moreover, it may depend also on the context in which services are executed. Context is defined as: “any information that can be used to characterize persons, places or objects that are considered relevant to the interaction between a user and an application, including users and applications themselves” (Dey, 2001). Context should be taken into account for service selection. For example, the service that informs a sailorman about the weather forecasts on a specific route should be very detailed and focused on the conditions of the sea and of winds, while the service dedicated to a family willing to decide if to book a trip on the seaside should be focusing on the weather conditions of a specific place, typically, on a longer time scale.

More in general, service-based applications should be able to adapt the execution flow to address changes of the execution context. For example, applications have to be flexible in order to satisfy users’ variable requirements on the basis of the situation (e.g., geographical position, time) in which users are when they access the application.

A first goal of this paper is to provide a novel context model for adaptable service-based applications and to point out to its role in the adaptation activities. The context model is the basis for the definition of triggers enabling adaptation or evolution of service-based applications and enables the identification of the information that has to be collected and monitored at run-time. We propose an approach to context modeling which is itself adaptive to the current situation. In fact, the relevant contextual information might be different in different situations: for instance, the information needed about a location may be different depending on the location (e.g., a small village vs a large town), or depending on the user who is interacting with the application (e.g., a user who knows a location well vs a user who is not familiar at all with the location). In these cases the way the application behaves might vary not only according to the context in general, but according to the representation of the context itself that is variable in the different situations.

Context data are gathered by using different kinds of sensors. An important issue is to understand the level of granularity at which to collect data. The level of granularity is defined by the amount of details to catch for representing the significant characteristics of the environment for a given application. In fact, it is convenient to avoid the collection of unnecessary details of data that are not suitable to catch changes in the execution context. For example, in case of emergency situations, it is necessary to collect data values every second in order to have a fine control of the situation, while in other situations a daily value is enough since a more frequent measure of context data does not provide any additional relevant information. In location-based applications, in some cases, coarse information about the location (e.g., a country) may be sufficient, while in other cases it is important also to be aware of the regional context.

As a result of the previous considerations, another goal of this paper is to address the issue of the granularity of monitored context data and to propose a way to support adaptation, by analyzing context data at different granularities and using a proactive approach to establish the adaptation needs and the dynamic invocation of the services.

Complete Article List

Search this Journal:
Open Access Articles: Forthcoming
Volume 7: 1 Issue (2016)
Volume 6: 2 Issues (2015)
Volume 5: 4 Issues (2014)
Volume 4: 4 Issues (2013)
Volume 3: 4 Issues (2012)
Volume 2: 4 Issues (2011)
Volume 1: 4 Issues (2010)
View Complete Journal Contents Listing