Model-Driven Engineering of Non-Functional Properties for Pervasive Service Creation

Model-Driven Engineering of Non-Functional Properties for Pervasive Service Creation

Achilleas Achilleos (University of Cyprus, Cyprus), Kun Yang (University of Essex, UK) and Nektarios Georgalas (Centre of Information and Security Systems Research, UK)
DOI: 10.4018/978-1-60566-794-2.ch007
OnDemand PDF Download:
List Price: $37.50


Pervasive services are highly customizable and personalized services that must have the capability to run anytime, anywhere, and on any device with minimal user attention. The creation of these dynamic services using application level approaches becomes a daunting task for the software engineering community. This necessitates changes to the way services are designed and implemented, in order to simplify and increase the agility of the service creation process. In this chapter, a model-driven development process and an environment that facilitates pervasive service creation using an abstract platform independent approach are described. Using this approach, a context modelling language is defined in the form of a metamodel and a context modelling framework is generated. The framework facilitates the definition of platform independent context models that describe the non-functional requirements of pervasive services. Subsequently, context models are mapped and transformed via the use of the generic environment’s capabilities to implementation specific service code. Finally, a pervasive museum case study is presented to demonstrate the effectiveness of the approach for the definition of a context model and the generation of the service implementation.
Chapter Preview


In the context of software engineering, services are generally considered to be software applications that can be deployed and executed on a specific device and platform to accomplish conventional computing tasks. However, the notion of pervasive services is characterised by a larger degree of flexibility in that they refer to software applications capable of running anytime, anywhere and on any device with minimal user attention (Yang et al., 2005). Such services should be capable of operating in a dynamic environment and provide users with a specialized and personalized behaviour that allows performing dynamic computing tasks. This means in particular that the service must be able to adapt dynamically on the basis of changing context information and in accordance to certain predefined rules. Furthermore, the service must take into account individual user preferences in order to aid the user and undertake appropriate actions on behalf of the user with increased probability of correctness.

Service creation is a complex process that involves multiple tasks for the rapid analysis, design, implementation and validation of services (Adamopoulos et al., 2002; Glitho et al., 2003). The process supports the development of services commonly via the use of a high-level service creation environment. A variety of high-level service creation environments have been developed (Glitho et al., 2003; Lennox & Schulzrinne, 2000), which attempt to simplify the service creation process. The technology-specific complexities introduced though by these kinds of environments hinder slightly the realisation of this objective. According to our views a high-level service creation environment should steer clear of implementation specific technologies. Hence, an abstract model-driven development environment, as the one proposed in (Achilleos et al., 2007), is required in order to provide solutions to these open issues.

Context-awareness is the key characteristic feature of pervasive services that indicates the requirement to adapt the service behaviour on the basis of input context information and certain predefined rules. Typically in conventional services information is acquired mainly as input from the user and this profiled information drives the service execution. On the contrary when dealing with pervasive services input information must be acquired from a variety of context sources; e.g. repositories, sensors, users. Consequently, the complexity of the service creation process is further augmented due to the necessity to represent and manage effectively the information obtained from diverse input context sources.

The term context has been interpreted in many different ways during the course of research (Dey & Abowd, 2000). In our work we define context as: “Any information relevant to the interaction of the user with the service where both the user and the application’s environment are of particular interest”. Context commonly refers to information such as the identity, time, location and activity of the user, together with additional information that are specific to a particular pervasive service. Therefore, understanding which information is termed as context, how to represent them and manage them, is crucial in order to simplify the pervasive service creation process and realize the overall objective of service adaptability.

Pervasive service creation has been studied during the course of research following two complementary directives, namely: (i) infrastructure-level approaches and (ii) application-level approaches. The primary directive focuses on building an infrastructure that provides the capability to sense, gather and process low-level context information required by pervasive services (McFadden et. al., 2004). Although this directive is important, our work aligns with complementary approaches that tackle pervasive service creation at the application level (Strang & Linnhoff-Popien, 2004). This is due to the fact that pervasive service creation requires an abstract model-driven approach, in order to avoid implementation specific complexities. Furthermore, a model-driven approach provides the capability to address issues such as portability and adaptability of pervasive services.

Complete Chapter List

Search this Book: