Productivity Evaluation of Self-Adaptive Software Model Driven Architecture

Productivity Evaluation of Self-Adaptive Software Model Driven Architecture

Basel Magableh (Trinity College Dublin, Ireland) and Stephen Barrett (Trinity College Dublin, Ireland)
DOI: 10.4018/978-1-4666-2157-2.ch013


Anticipating context changes using a model-based approach requires a formal procedure for analysing and modelling context-dependent functionality and stable description of the architecture which supports dynamic decision-making and architecture evolution. This article demonstrates the capabilities of the context-oriented component-based application model-driven architecture (COCA-MDA) to support the development of self-adaptive applications; the authors describe a state-of-the-art case study and evaluate the development effort involved in adopting the COCA-MDA in constructing the application. An intensive analysis of the application requirements simplified the process of modelling the application’s behavioural model; therefore, instead of modelling several variation models, the developers modelled an extra-functionality model. COCA-MDA reduces the development effort because it maintains a clear separation of concerns and employs a decomposition mechanism to produce a context-oriented component model which decouples the applications’ core functionality from the context-dependent functionality. Estimating the MDA approach’s productivity can help the software developers select the best MDA-based methodology from the available solutions. Thus, counting the source line of code is not adequate for evaluating the development effort of the MDA-based methodology. Quantifying the maintenance adjustment factor of the new, adapted, and reused code is a better estimate of the development effort of the MDA approaches.
Chapter Preview

In the literature, there are several MDA approaches which target the development of self-adaptive applications for mobile computing environments which produce component-based applications; this study borrows from the following methodologies: MUSIC, proposed by Wagner, Reichle, Khan, and Geihs (2011); U-MUSIC (Khan, 2010); and Paspallis MDA (Paspallis, 2009).

The MUSIC development methodology (Wagner et al., 2011) adopts a model-driven approach to constructing the application variability model. The applications are built as a component framework with component types as variation points. Middleware is used to resolve the variation points, which involves the election of a concrete component as a realization of the component type. Using this method, a number of application variants can automatically be derived.

The U-MUSIC methodology, proposed by Khan (2010), adopts the model-driven approach to constructing self-adaptive applications and enabling dynamic unanticipated adaptation based on a component model. The U-MUSIC system enables the developers to specify the application variability model, context elements, and data structure. The developers are able to model the component functionalities and quality of service (QoS) properties using an abstract, platform-independent model (PIM).

Complete Chapter List

Search this Book: