A MDSD Approach for Adaptable Service Oriented Systems based on Domain Specific Language Engineering

A MDSD Approach for Adaptable Service Oriented Systems based on Domain Specific Language Engineering

Mohammed Lethrech (ENSIAS, Mohammed V University in Rabat, Rabat, Morocco), Adil Kenzi (Sidi Mohamed Ben Abdellah University, Fes, Morocco), Issam Elmagrouni (ENSIAS, Mohammed V University in Rabat, Rabat, Morocco), Mahmoud Nassar (ENSIAS, Mohammed V University in Rabat, Rabat, Morocco) and Abdelaziz Kriouile (ENSIAS, Mohammed V University in Rabat, Rabat, Morocco)
DOI: 10.4018/IJARAS.2016010101
OnDemand PDF Download:
$30.00
List Price: $37.50

Abstract

The simultaneous use of the new computing paradigms: Domain Specific Modeling, Context Oriented Computing and Service Oriented Computing, raises many challenges. Particularly, the challenge of engineering such systems, which consists of the definition of modeling approaches, processes, techniques and tools to facilitate their construction. The proposed MDSD approach for context-aware service oriented systems is based on Domain Specific Language Engineering. The Context-Aware, Domain Specific and Service Oriented (CADSSO) development approach is based on five models. The first one is domain specific context model; it symbolizes the services context of use. The second is domain specific services model; it takes care of services modeling. The third is service variability model; it formulates services variants. The fourth is adaptation rules model, which is the joint between service variability model and context model. The fifth is business rules model, used to model domain business. A code generator is in charge of the transformation of the five models to the final code.
Article Preview

1. Introduction

Communication and integration capacities, reactivity to business and technological changes, ease of use and adaptation of information systems, constitute the main challenges of enterprise competitiveness (Hirschfeld, Costanza, & Nierstrasz, 2008; Bettini et al., 2010; Strang, & Linnhoff-Popien, 2004; Boukadi, 2009). In order to meet these needs, software engineering did not stop providing new approaches and techniques. Currently, software engineering is particularly marked by the emergence of the following paradigms.

Adoption of Domain Specific Modeling (DSM) approach in software engineering provides a lot of advantages, essentially a better reactivity to business rules and technological changes in addition to a high productivity and an excelling quality of a generated code (Lethrech, Elmagrouni, Kenzi, Nassar, & Kriouile, 2012; Kelly & Tolvanen, 2008; Kelly & Pohjonen, 2009). DSM approach is mainly based on two principles. Firstly, elevation of abstraction level by modeling the solution with a Domain Specific Language (DSL); the DSL uses directly the concepts and business rules of a specific domain. Secondly, the full automatic generation of the final solution from the high level specifications.

Nowadays, with mobile devices propagation, new software engineering needs appeared, especially the challenge of context awareness (Madkour, El Ghanami, Maach, & Hasbi, 2013). In this direction, the ability of an application to change its behaviour according to the context of execution is a key characteristic (Kazhamiakin et al., 2010). Context Aware Computing (CAC) has recently emerged as a new computing paradigm promising adaptable systems development. It provides techniques for developing pervasive computing applications that are flexible, adaptable and can react to context changes (Bettini et al., 2010).

On the other hand, since the appearance of the software engineering discipline, the main concerns of researchers in this area are simplification of production, reuse and communication of software applications. The paradigm Service Oriented Computing (SOC) represents a promising solution to these preoccupations (Davis, 2009). SOC uses Service Oriented Architecture (SOA) which is an architectural style of building software applications that promotes loose coupling of independent services (Kumar, Narayan, & Ng, 2009).

The simultaneous use of these approaches raises many challenges. Particularly, the challenge of engineering such systems (Papazoglou, Traverso, Dustdar, & Leymann, 2008) which consists of the definition of modeling approaches, processes, techniques and tools to facilitate construction of these systems along with costs and time optimization.

In this paper, the researchers propose a Context Aware, Domain Specific and Service Oriented (CADSSO) Model Driven Software Development approach for CADSSO systems. The proposed approach is based on five models. The first one is the domain specific services model; it takes care of the services modeling. The second is services variability model; it formulates services variants. The third is the domain specific context model, which is responsible for modeling the system context of use. The fourth is adaptation rules model; it makes the join between services variability model and domain specific context model. The last one is domain specific business rules model, which is in charge of the domain specific business rules modeling. As we are thinking DSM, the language developer must produce the domain specific service meta-model as an extension of our generic service meta-model (abstract syntax), the language (concrete syntax), the domain framework and the code generator. The latter is in charge of the transformation of the five models to final source code.

This paper is organized as follows; the second section presents the related work, a DSL engineering process is presented in the third section, the fourth is an overview of our CADSSO MDSD approach, the CADSSO modeling stage and the code generation stage are respectively illustrated in the fifth and sixth sections. The proposed approach is evaluated in the seventh section using a tax case study. Finally, the article ends with a conclusion and an outlook.

Complete Article List

Search this Journal:
Reset
Open Access Articles: Forthcoming
Volume 8: 2 Issues (2017): Forthcoming, Available for Pre-Order
Volume 7: 2 Issues (2016): 1 Released, 1 Forthcoming
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