CIM to PIM Transformation: A criteria Based Evaluation



Similar documents
Generating the PIM Behavioral Model from the CIM using QVT

The BPM to UML activity diagram transformation using XSLT

The Specific Text Analysis Tasks at the Beginning of MDA Life Cycle

SEARCH The National Consortium for Justice Information and Statistics. Model-driven Development of NIEM Information Exchange Package Documentation

From Business World to Software World: Deriving Class Diagrams from Business Process Models

MDA Transformations Applied to Web Application Development 1

Revel8or: Model Driven Capacity Planning Tool Suite

Foundations of Model-Driven Software Engineering

A UML 2 Profile for Business Process Modelling *

Clarifying a vision on certification of MDA tools

All you need are models Anneke Kleppe, Klasse Objecten

Business Process Modeling and Standardization

CDC UNIFIED PROCESS PRACTICES GUIDE

Open Source egovernment Reference Architecture Osera.modeldriven.org. Copyright 2006 Data Access Technologies, Inc. Slide 1

MDA based approach towards Design of Database for Banking System

Model-driven secure system development framework

Rules and Business Rules

Automatic Generation Between UML and Code. Fande Kong and Liang Zhang Computer Science department

A Framework of Model-Driven Web Application Testing

TOWARDS A FRAMEWORK INCORPORATING FUNCTIONAL AND NON FUNCTIONAL REQUIREMENTS FOR DATAWAREHOUSE CONCEPTUAL DESIGN

Development of Enterprise Architecture of PPDR Organisations W. Müller, F. Reinert

Tool Support for Model Checking of Web application designs *

Transportation Process of Containers BPMN-Modeling and Transformation into ACTIF Model

Enhanced Model Driven Architecture Software Development Life Cycle with Synchronized and Consistent Mapping

Towards Collaborative Requirements Engineering Tool for ERP product customization

The Fast Guide to Model Driven Architecture

Linking BPMN, ArchiMate, and BWW: Perfect Match for Complete and Lawful Business Process Models?

Information Management Metamodel

A Comparison of SOA Methodologies Analysis & Design Phases

Enterprise Architecture Review

Applying MDA and universal data models for data warehouse modeling

Model Driven and Service Oriented Enterprise Integration---The Method, Framework and Platform

CS4507 Advanced Software Engineering

Tools for MDA Software Development: Evaluation Criteria and Set of Desirable Features

Chap 1. Introduction to Software Architecture

Model Driven Interoperability through Semantic Annotations using SoaML and ODM

Developing in the MDA Object Management Group Page 1

Topics. Software development invariants. Stakeholders. The accidents of software development. The essence of software development

A Pattern-based Approach to Business Process Modeling and Implementation in Web Services

A Categorization of Collaborative Business Process Modeling Techniques

Web Application Development Focused on BP Specifications*

Data Modeling Basics

Aligning Data Warehouse Requirements with Business Goals

Semantic-enabled Software Engineering and Development

WHITE PAPER DATA GOVERNANCE ENTERPRISE MODEL MANAGEMENT

Business Model Interoperability using Enterprise Model Integration

UML-based Conceptual Design Approach for Modeling Complex Processes in Web Application

Background: Business Value of Enterprise Architecture TOGAF Architectures and the Business Services Architecture

OMG SOA Workshop - Burlingame Oct 16-19, 2006 Integrating BPM and SOA Using MDA A Case Study

Designing a Semantic Repository

SOA Enabled Workflow Modernization

AN ONTOLOGICAL APPROACH TO WEB APPLICATION DESIGN USING W2000 METHODOLOGY

Tool Support for Software Variability Management and Product Derivation in Software Product Lines

TOGAF usage in outsourcing of software development

Representing XML Schema in UML A Comparison of Approaches

How To Test On A Model Driven Test On An Embedded System

TDDC88 Lab 2 Unified Modeling Language (UML)

Design of Visual Repository, Constraint and Process Modeling Tool based on Eclipse Plug-ins

Increasing Development Knowledge with EPFC

Applying MDA in Developing Intermediary Service for Data Retrieval

An Aspect-Oriented Product Line Framework to Support the Development of Software Product Lines of Web Applications

Modeling Turnpike: a Model-Driven Framework for Domain-Specific Software Development *

Model-Driven Data Warehousing

Model-Driven Development: A Metamodeling Foundation

Comparison of Model-Driven Architecture and Software Factories in the Context of Model-Driven Development

To introduce software process models To describe three generic process models and when they may be used

Semantic Business Process Management Lectuer 1 - Introduction

Business Rule Standards -- Interoperability and Portability

Business-Driven Software Engineering Lecture 3 Foundations of Processes

SERENITY Pattern-based Software Development Life-Cycle

The OMG BPM Standards

Jairson Vitorino. PhD Thesis, CIn-UFPE February Supervisor: Prof. Jacques Robin. Ontologies Reasoning Components Agents Simulations

Co-Creation of Models and Metamodels for Enterprise. Architecture Projects.

Dr. Jana Koehler IBM Zurich Research Laboratory

Test Driven Mobile Applications Development

Overview of Software Tools for Obtaining UML Class Diagrams and Sequence Diagrams from Source Code within TFM4MDA

Document Engineering: Analyzing and Designing the Semantics of Business Service Networks

A Software Development Platform for SOA

Enterprise Architecture at Work

Developing SOA solutions using IBM SOA Foundation

MDE Adoption in Industry: Challenges and Success Criteria

Evaluating OO-CASE tools: OO research meets practice

Common Warehouse Metamodel (CWM): Extending UML for Data Warehousing and Business Intelligence

Domain modeling: Leveraging the heart of RUP for straight through processing

Transcription:

ISSN:2229-6093 CIM to PIM Transformation: A criteria Based Evaluation Abdelouahed KRIOUILE *, Taoufiq GADI, Youssef BALOUKI Univ Hassan 1, LAVETE Laboratory, 26000 Settat, Maroc * E-mail of the corresponding author: kriouile1970@gmail.com Abstract The Model Driven Architecture (MDA) of the Object Management Group (OMG) represents an approach of software development based on the use of models. The transformation of models is at the heart of the MDA (Model-Driven Architecture) approach. CIM to PIM transformation can be of a great support for domain experts and business analysts, but is not mentioned enough by OMG. Thus, we have decided to focus on this higher level of MDA and these transformations at the PIM level, first by this work of studying a number of research on this subject and then by a future work to improve contribution in this stage. In this paper, we provide an assessment based on criterions deducted from the framework MDA TM of the OMG and similar evaluations of the existing works for this stage of construction and transformation of CIM. The results of this study will make it easier, for future researchers, to provide a relevant method of CIM construction and transformation. Keywords: MDA, CIM, PIM, CIM to PIM transformation 1. Introduction The Model Driven Architecture (MDA) of the Object Management Group (OMG) represents an example of the Model Driven Engineering (MDE) that is a software development approach family based on the use of models in the software construction. This allows the exploitation of models in order to produce code through a set of model transformations. MDA is an initiative adopted on 2001 by the OMG. It is defined as the realization of MDE principles around a set of standards like [1] : Meta Object Facility (MOF) [2], XML Metadata Interchange (XMI) [3], Common Warehouse Meta-model (CWM) [4], Unified Modeling Language (UML) [5] [6], Query/View/Transformation (QVT) [7], Object Constraint Language (OCL) [8], etc. The Model-Driven Architecture specifies three viewpoints on a system, a computation independent viewpoint, a platform independent viewpoint and a platform specific viewpoint [9]. Thus, the priority in MDA was the separation between platform independent aspects and platform dependant aspects. MDA uses models in various steps of software development cycle. It recommends the elaboration of [9]: - Computation Independent Model (CIM) is a view of a system from the computation independent viewpoint. - PIM is a view of a system from the platform independent viewpoint. It is independent on technology detail. - PSM is a view of a system from the platform specific viewpoint. It combines the specifications in the PIM with the details that specify how that system uses a particular type of platform. - Implementation Specific Model that describe the last detail of programming. And to build a software system, a series of transformations is performed: transformation from CIM to PIM, transformation from PIM to PSM, and transformation from PSM to code. However, the transformation from CIM to PIM is not part of the MDA lifecycle, which starts from an analysis model and ends with deployed code [9]. Thus, on the transformation of PIM to PSM and PSM to Code, several studies have been made. But little works have covered the construction of CIM and its transformation to PIM. MDA is an approach, not a method [1]. So, to exploit it, we need to use methods. Thus several researchers have proposed methods in this context of MDA using models as productive elements, but differ from each other by the degree of automation and the set of model and operations they propose. In MDA, the CIM is the main source of communication between domain experts and software developers. Thus it has a special role in software development that is neglected in practical approaches to MDA. On the other hand, several models are used to represent, both the CIM and the Platform Independent Model (PIM). For example, in [10] and [11] the use cases diagram is a component of the proposed CIM, while in [12] and [13] the use case diagram is the one 616

component of the proposed PIM. In order to determine which types of artifacts are expected on the one hand at the CIM and secondly at the PIM, this study analyzes the models used by some CIM to PIM transformations, found in a survey. Our main research question in this paper is: what different methods are available for CIM to PIM transformation? The main research question is then divided into four detailed questions: - What are the components of the CIM? - What methods can be used to build PIM? - How these methods transform CIM to PIM? - How can we assess these methods? Thus, we will identify relevant methods for transforming CIM to PIM; identify relevant quality criterions for evaluation of these methods and finally evaluate the selected methods for transforming CIM to PIM. There are some proposals to transform CIM to PIM, for example [10], [11], [12], [13], [14], [15] and [16]. The contribution of this paper is a critical review of the proposed methods for modeling and transforming CIM to PIM in the context of the MDA. It reports on a systematic review that focuses on methods for transforming CIM to PIM. The aim is to determine whether these methods have the capability to transform CIM into PIM. This survey selected, investigated, and compared several primary studies (9 methods) for building CIM and transforming it to PIM. In order to facilitate the synthesis and comparison of these methods, we considered the OMG framework MDA TM and the papers [17], [18], [19] and [20] that provides a review of some CIM to PIM transformation methods. This paper is organized as follows: in section 2, we provide a global overview of the Model Driven Architecture; it, firstly, introduces the necessity of models in software development, then explains an important term behind the world of MDA which is the transformation process and at last gives an overview of the life cycle of MDA approach. Section 3, gives an overview on the CIM level, PIM level and its transformation found in a survey. The analysis of building CIM and PIM and its transformations are presented in section 4. Finally, the conclusions are left in section 5. 2. Overview of the OMG approach for software development: MDA In 2001 the Object Management Group (OMG) adopted a framework, the Model Driven Architecture TM or MDA TM [9], as an approach to using models in software development. Its three primary goals are portability, interoperability and reusability through architectural separation of concerns. MDA intends to provide an approach for: - specifying a system independently of the platform that supports it, - specifying platforms, - choosing a particular platform for the system, and, - transforming the system specification into one for a particular platform. 2.1. Using Models in software development with MDA MDA is centered on models and how those models may be used together to create the resulting software system. As companies requirements increase in the same way and interoperability with other enterprises becomes a necessity, the OMG managed to resolve this situation using models to derive code for platformspecific architectures. The MDA recommends the widespread use of models and provides initial answers to how, when, what and why model. It aims at highlighting the three main qualities of the models, such as sustainability, productivity and consideration of execution platforms [21]. Four kinds of models with a particular role are distinguished in the MDA: Computation Independent Model (CIM) According to the MDA Guide [9] a computation independent model (CIM) is a view of a system from the computation independent viewpoint. A CIM does not show details of the structure of the systems. It focuses on the requirements for the system and the environment of the system. It is sometimes called a domain model and serves as a vocabulary that is familiar to the practitioners of the system s domain. A CIM is more than a domain model; it also expresses the system requirements using the domain concepts as a vocabulary. Its role is bridging the gap between those that are experts in the domain (business analysts and domain expert) and its requirements on the one hand, and those that are experts of the design and construction (software analysts) of the artifacts that together satisfy the domain requirements, on the other. CIM is the initial point in MDA approach since it includes on the one hand the business processes used to execute the business of the enterprise and a domain model that represents the intra- or inter-organizational understanding of the domain the application operates in [22]. And on the other hand the requirements of the system. According to the above, the CIM usually includes several distinct models that describe system requirements, business processes and business objects. It represents all aspects of the system that are important from a domain expert s point of view. Then, the CIM should be modeled in a language that is understandable 617

for domain experts. This language should be adapted towards specific needs of thereof. This can be done in UML or in a language that is specialized for modeling business processes. Platform Independent Model (PIM) A platform independent model is a view of a system from the platform independent viewpoint. It describes the system, but does not show details of its use of its platform. Thus, a Platform Independent Model exhibits a specified degree of platform independence, such that it is suitable for a number of different platforms of similar type. This implies that the targeted platforms must be known beforehand to a certain degree. It also implies that a PIM is still specific to the chosen group of platforms. The role of PIM is to be sustainable and to make the link between the CIM and the application code. These models must also be productive because they are the foundation of the whole process of code generation defined by MDA. PIM should be modeled in a language understandable for software developers. In MDA the standard modeling language is UML. This fits for technical description of the system as in the PIM, but can lead to problems in modeling the CIM, because many domain experts are not able to model their intentions in UML. A way to overcome this is the introduction of Business Process Modeling Notation (BPMN) [23], an easy notation that is understandable by managers, business analysts and software developers. Platform Specific Model (PSM) A platform specific model is a view of a system from the platform specific viewpoint. The platform specific viewpoint combines the platform independent viewpoint with an additional focus on the detail of the use of a specific platform by a system [9]. In other words, the PSM is a more detailed version of a PIM. Platform specific elements are added. When defining a PSM a target Platform Model has to be available. Platform Model (PM) A Platform Model provides the technical concepts that represent the parts that make up a platform and the services provided by that platform. It also provides concepts for specifying the use of a platform by a software system, which can be used in a PSM. 2.2. Model Transformation We have to review the types of the most important models of MDA are that CIM, PIM and PSM. The key challenge of model-driven development is in transforming higher-level models into platformspecific models that can be used to generate implementation level models. Source Meta model Transformation Model (Transformation Rules) Target Meta model Source Model Target Model Figure 1. MDA Transformation Process A transformation consists, as visualized in figure 1, of creating a target model from a source model by rules that describe how one or more constructs from the source model should be replaced by one or more constructs in the target model. A desirable characteristic of a transformation is that it is traceable. This means that it is possible to trace back parts in the target model to their corresponding parts in the source model. This is particularly useful when the target model has to be maintained. Different methods can be used for defining the transformation rules. 2.3. MDA Software life Cycle (General architecture of the MDA) The construction of a new application begins with the development of one or several CIM models. It continues with the development of PIM models. These should theoretically be partially generated from CIM so that traceability links are established. PIM models are perennial models that contain no information on platforms running. Then we need to build PSM models, which should in principle be obtained by a transformation of PIM by adding technical information 618

platforms. PSM is not intended to be permanent. Their main function is to facilitate the generation of code. Code generation from models is the last step consisting at a translation of the PSM in a textual formalism. In Figure 2 the dependencies between the different types of models are shown. CIM (Computation Independent Model) Transformation PIM (Platform Independent Model) Transformation PSM (Platform Specific Model) Code Code Generation Figure 2. MDA software life cycle 3. CIM and PIM and their transformation: Literature review To analyze the methods of CIM to PIM transformation, we first conducted a study of ways to build CIM and PIM, based on articles that tackle such methods. Our research started with a literature review in order to identify relevant methods for transforming CIM to PIM. We started by reviewing well known articles about these methods, in order to distinguish the most prominent techniques that could be used for a CIM to PIM transformation. We found seven important candidates that transform CIM to PIM and two who propose only how to build CIM. These different methods will be discussed from the viewpoint what constitutes a goods modeling techniques for developing a CIM and PIM based on the evaluation criteria as defined in section 4. In [10] proposed a disciplined method for transformation of CIM into PIM. Business processes and system requirements are modeled in a CIM using two activity diagrams. The business process model shows all the business activities to be accomplished independently of their automation, while the requirement model specifies the system which best supports the business activities, by representing its use cases and considering it as an actor. In this paper, PIM which represented by class diagram, is obtained from the requirement model: The requirement model is transformed into a model of the system components. The latter, provides a first sketch of the system structure, a set of business archetypes help to transform the system components to the PIM layer in details. [15] propose a transformation from CIM to PIM using feature-oriented and component-based method. In this paper, requirement in CIM is represented by feature model which includes a set of features and relationship between them. The PIM is represented by software architecture that includes a set of components and interaction between them. This method uses an intermediate model that is neither CIM nor PIM. In research articles of Alfonso Rodríguez and its partners ( [13], [24], [25]), the CIM is composed of a business process model, using the secure business process in BPMN. The CIM is transformed, with the help of QVT (Query/View/Transformation [7]) rules, checklists, and refinement rules into two models that are part of the PIM: a use case diagram and a class diagram. The use cases must be detailed to obtain actions, and the class diagram is considered as an initial analysis model. In [12] presented an analytical solution for CIM modeling and then transform it to PIM. In this paper, for modeling business processes, the author used DFD for CIM level representation. While PIM level represented by four UML diagrams: use case diagram, activity diagrams, sequence diagrams, and domain models. In paper [16], authors, present a semi-automated method for the generation of web-based applications from high-level requirements expressed as use cases in accordance with model-driven architecture (MDA). His first step is to transform CIM to PIM. He considers that CIM is represented by a description of the Use case and the default domain objects. And PIM includes the state machine, the user interface model and the refined domain model. [14] presents a systematic methodology for MDA transformation that includes creating a platform independent model (PIM), transforming PIM into platform specific model (PSM), and transforming PSM into a Code model. But consider first that CIM is composed by use case, activity diagram and robustness diagram. While PIM is modeled by two parts: the behavior part which presented using the sequence diagram and the structure part which depicted using the class diagram. [26] presents a method for generating CIM using artifacts and concepts of RUP methodology. This method presents a CIM that covers both aspects of CIM that include business model and requirement model. The CIM is composed by three models: 619

Business use case model, Business analysis model and Use Case Model. But in this article, it is not clear how to transform this CIM built in PIM, and what are the components of the latter model. Janis Osis and al. in their papers ( [27], [28], [29]) proposed a method called Topological Functioning Modeling for Model Driven Architecture (TFMfMDA) uses formal mathematical foundations of Topological Functioning Model. It introduces more formal analysis of a business system ( as is ), enables defining of what the client needs, textual functional requirements validation, and missing requirements checking in conformance with the problem domain as is model. At CIM level, it define firstly a use case model of the planned application, then a conceptual class diagram presenting the domain concepts and their relations to be established. PIM modeling and CIM to PIM transformation method are not undertaken in this work. [11] provides a method to build the CIM that can be transformed (semi-) automatically later to lower levels of abstraction in PIMs. Thus, this paper presents an method for CIM to PIM transformation where the CIM level is represented by two models: the Business process model (BPM) that will represents both the behavior and static aspect that will represents the different activities necessary to model businesses and resource used by those activities enabling thus the capability of transforming this CIM to a low level of abstraction in the PIM level; the second model is use case model that represents the functional aspect of the system that will represent the business actors and business functionalities that are intended to be realized. Whereas the PIM level is represented using the Domain Diagram Class (DCD) that shows the static aspect of the system and the sequence diagram of system s external behavior (SDSEB) that is a UML sequence diagram that shows only interactions between actors and the whole system as unique entity which is represented by one lifeline without focusing on system objects interactions, it represents a high level of interaction. 4. Evaluation, analysis and discussion In this section we will start by present evaluation criterions, and thereafter we evaluate the proposed methods on the basis of these criteria. 4.1. Evaluation criteria The evaluation criteria will be derived from two sources: the OMG framework, the Model Driven Architecture TM (MDA TM ) [9] and the paper [17] that provide a review of four CIM to PIM transformation methods, and present a criteria-based evaluation. In the first we derive the evaluation criteria for the CIM, then for the PIM, and finally for CIM to PIM transformation. These criteria can be adapted to evaluate future research works on the same topic. 4.1.1. Criterions for CIM. To assess the CIM, we start first by listing the recommendations for CIM in the framework MDA TM of the OMG. Then enrich the evaluation criteria introduced in the similar works. Thus, according to [9], we can enumerate what a CIM must satisfy: - A CIM does not show details of the structure of systems - A CIM includes the domain model. Thus, CIM is a model of a system that shows the system in the environment in which it will operate. - CIM consider the vocabulary that is familiar to the practitioners of the domain in question and used in its specification, as a source of a shared vocabulary for use in other models. - The primary user of the CIM should be the domain practitioner who does not know the models or artifacts used to realize the functionality for which the requirements are articulated in the CIM. - CIM should bridge the gap between experts about the domain and its requirements, and experts of the design and construction of the artifacts that together satisfy the domain requirements, on the other. - CIM should modeled the requirements for the system, it describe the situation in which the system will be used - CIM requirements should be traceable to the PIM and PSM constructs that implement them, and vice versa. We can, therefore, say that best CIM, must positively meet three criteria: - CIM Criterion 1: CIM Coverage of domain objects that indicates if CIM proposed covers the business objects representing the static aspect of CIM. - CIM Criterion 2: CIM Coverage of Business Process that indicates if CIM proposed covers the Business Process representing the Behavior aspect of CIM. - CIM Criterion 3: CIM Coverage of Requirements that indicates if CIM proposed covers the Business Process representing the Functional aspect of CIM. 4.1.2. Criterions for PIM. Similarly, to assess the CIM, we start first by listing the recommendations for PIM in the framework MDA TM of the OMG [9]. Then enrich the evaluation criteria introduced in the similar works. - PIM describes the system without showing details of its use of its platform. It focuses on the operation of a system while hiding the details necessary for a particular platform. - PIM provides a specification that does not change from one platform to another. - A PIM is prepared using a platform independent modeling language. 620

- PIM will be suited for a particular architectural style, or several. PIM Criterion 1: Static aspect of PIM PIM Criterion 2: Behavior aspect of PIM 4.1.3 Criterions for transformation. From framework MDA TM of the OMG [9], we can deduce the following suggestions for the CIM to PIM transformation: - Model transformation is the process of converting one model to another model of the same system. - A model type mapping specifies a mapping from any model built using a source model language to models expressed using a target model language. - Transformation can be manually, with computer assistance, or automatically. Based on the foregoing, we evaluate the CIM to PIM transformation of the methods proposed with respect to their automation, traceability and completeness of transformation rules, according to three criteria: - Transformation Criterion 1: Automation transformation The automation criterion evaluates whether a transformation is automated, semi-automated or manual. A transformation is automated if it has been fully implemented. When user interventions are required, the transformation is semi-automated. Finally, a transformation is manual, when it is entirely manual. - Transformation Criterion 2: Completeness of Transformation Rules Transformation rules between CIM and PIM are expected to be complete and well-structured. Thus, if the transformation rules proposed in a method can transform most or all CIM constructs into PIM elements, then we assume that this set of transformation rules is complete; otherwise, incomplete or absent. - Transformation Criterion 3: Traceability from CIM to PIM For the criterion of traceability, we are trying to say if the traceability links between CIM and PIM are expected to be established when a transformation is performed or no. Table 1 summarizes all the evaluation criteria for the CIM, PIM, and CIM to PIM transformation. Table 1: General evaluation criteria CIM Coverage Criterion Name Business Objects Model Business Process Model Requirements Model Description Y : The method provides detailed directives for the model P : The method provides generals guidelines for the model N: The method does not provides coverage for the model PIM Completeness CIIM to PIM Transformation Structural aspect Behavioral aspect Automation transformation Completeness of Transformation Rules Traceability from CIM to PIM Legend: Y: Yes; N: No; P: Partial Y : The method specifies completely that aspect. P : The method specifies with less detail that aspect. N : The method does not specify that aspect. Y : Automatic transformation P : Semi-automatic transformation N : Manual transformation or Not defined in the work Y : All the rules are specified P : Some rules are specified. C : No rule is specified. Y : Traceability is maintained P : Traceability is not clearly maintained N : Traceability is not maintained 4.2. Analysis and discussion Analysis consists of two sub section. Analysis related to graphical models used respectively for each CIM and PIM level and another based of the criterions presented at the top of this section. 4.2.1 Analysis of graphical modeling. On reviewing different methods discussed earlier in this paper, seven out of nine methods use UML for representing the elements of CIM and five out of nine methods use others graphical techniques for representing the components of CIM, which two uses BPMN. Regarding the graphical representation of the elements of the PIM, most methods use UML. The analysis of graphical modeling in table 2 depicts for each level CIM or PIM, the graphical models used for representing their elements. 621

Table 2: Graphical representations of CIM and PIM Papers studied Kherraf and al. [10] Bousetta and al. [11] Kardoš and al. [12] Rodríguez and al. [13] [25] [24] Wu and al. [14] Zhang and al. [15] Fatolahi and al. [16] Sharifi and al. [26] Erika and al. [28] [29] [27] CIM Graphic representation PIM Graphic representation UML Others UML Others BPM (AD) Component model Class Diagram BPMN Sequence Diagram Business Rules Class Diagram, DFD Activity Diagram Sequence Diagram Domain Diagram Activity Diagram BPMN Class Diagram Activity Diagram Robustness Sequence Diagram Diagram Class Diagram Domain Objects Business U.C. Model Business Analysis Model Model Conceptual Model Feature Model TFM State Machine Refined Domain Model Software Architecture U.I. Model 4.2.2. Analysis from results of evaluation criteria. The result from the analysis of evaluation criteria is presented in table 3. The rows in the table are nine works studied and the columns in the table are each one of the nine criterions presented in table 3. Such as we can see from table 3, among the nine methods tree can cover Business Objects and two partially. And regarding Business Process, five methods that take care of them, and one timidly. And finally, seven methods can represent the requirement model. But neither method fully covers the three aspects of the CIM. As shown in table 3, all the methods generate structural model elements while five out of seven methods only can generate behavioral model of the system. We can see from the table 3, that: - All the methods are based on semi-automatic transformation and therefore user interventions are required. - All of the methods do not propose any method for traceability support. - However, four of the methods define partially the transformation rules while five of seven do not even describe transformation rules. From the above, we see that no method perfectly meets the three criteria for CIM to PIM transformation. From the point of view of the CIM, and according to the results of the comparison in Table 3, we found four ways to represent the CIM, which we present in ascending order of importance: - In [12], and [15], a single model representing the business process is used as CIM. Therefore, this model do not describes business objects and the requirements. - In [16], [26] and [28] CIM does not cover business process. In the three proposals, the CIM represents the business objects and requirements. - Similarly at the previous methods, in [10] and [13] the CIM only cover two domains, but this time neglecting the business objects. Thus, they represent only business process and requirements. - Finally, [11] and [14] focus on the three areas of coverage of the CIM. Although, it remains to further develop the representation of component business objects. Lastly, from the results of the evaluation criteria for CIM to PIM transformation, even partially, only two studied methods, that meet the criteria, which are [11] and [13]. While for others, satisfies one or two criteria. In the end, combining the different results obtained, we can deduce that one method [11] which satisfies the different evaluation criteria. In this paper CIM can be transformed (semi-) automatically later to lower levels of abstraction in PIMs. It cover essentially the different domains of the system with the BPMN, uses cases model and business rules. Meanwhile, the PIM level is represented by the domain diagram class and sequence diagram of systems external behavior covering both static and dynamic aspects. 622

Table 3: Evaluation summary of the methods proposed in the studies ) CIM coverage PIM completeness CIM to PIM transformation Papers Studied Business Objects (Static View) Business Process (Behavioral View) Requirement (Functional View) Structural aspect Behavioral aspect Automation Traceability CIM to PIM Completeness of transformation Rules Kherraf and al. [10] N Y Y Y N P P N Bousetta and al. [11] P Y Y Y Y P P P Kardoš and al. [12] N P N Y Y P N N Rodríguez and al. [13] [25] [24] N Y Y Y Y P P P Wu and al. [14] P Y Y Y Y N N P Zhang and al. [15] N Y N Y N P Y P Fatolahi and al. [16] Y N Y Y Y P N N Sharifi and al. [26] Y N Y Erika and al. [28] [29] [27] Y N Y Legend: Y: Yes; N: No; P: Partial 4.3. Summary of evaluation results An ideal method for modeling CIM and transforming CIM into PIM would have the following characteristics: 1. Modeled CIM should cover the different views static, dynamic and functional of the business domain, 2. Generated PIM should be complete: contain structural and behavioral aspects of a system, 3. The CIM to PIM transformation should be automated, supports traceability and respects the completeness of transformation Rules. Yet, none of the reviewed methods conforms to the ideal proposition, as described above. But [11] seems to us closest to this ideal description. 5. Conclusion and Future Work The MDA approach of software development guided by the model begins with the development of CIM and its automatic transformation into a PIM, which, subsequently, can be transformed into PSM to generate the code. Nevertheless, this very important step is often overlooked in most research work focusing on development cycle based on MDA approach. Few attempts have tried to automate part of this stage of software development. Similarly, the coverage of CIM differs widely in the work of research examining its representation. Our work tries to help researchers to a proper understanding of the state of the art and to indicate directions for future research to fill the gap felt in this context, with an assessment based on the criteria of existing works for this stage of construction and transformation of CIM. We have surveyed several prominent methods for CIM to PIM transformation and have evaluated them using a predefined set of evaluation criteria. According to the evaluations results we can conclude that: - The methods studied herein are not matured enough, specially are covering some stages but not all of the transformation. - CIM does not cover, in most cases, all the views static, dynamic and functional of the business domain. - Most of the methods do not even provide guidelines to assure traceability between CIM and PIM. - Definitions of the methods are not complete. The transformation rules are not always specified. Also we found that the use of a mix of graphical modeling techniques in order to produce a CIM seems ideal: BPMN to represent business process and UML 623

for representing the other aspects of CIM that are the business objects and the requirements. In our future work, we will try to fill the gaps in methods of CIM to PIM transformation, and, thus, propose a method ideally meets the evaluation criteria proposed in our study. This method must be able to build a CIM, covering all aspects static, functional, and behavioral to translate automatically into a useful PIM will be transforming even PSM and then to the code. 6. References [1] T. Gherbi, D. Meslati and I. Borne, "MDE between Promises and Challenges. In Computer Modeling and Simulation," UKSIM'09. 11th International ConferencE. IEEE, no. 152-155, March 2009. [2] OMG, "OMG Meta Object Facility (MOF) Core Specification, http://www.omg.org/spec/mof/2.4.1," August 2011. [3] OMG, "MOF 2 XMI Mapping Specification, http://www.omg.org/spec/xmi/2.4.1," August 2011. [4] OMG, "Common Warehouse Metamodel (CWM) Specification, http://www.omg.org/spec/cwm/1.1," March 2003. [5] OMG, "OMG Unified Modeling LanguageTM (OMG UML), Infrastructure, http://www.omg.org/spec/uml/2.4.1/infrastructure," August 2011. [6] OMG, "OMG Unified Modeling LanguageTM (OMG UML), Superstructure, http://www.omg.org/spec/uml/2.4.1/superstructure," August 2011. [7] OMG, "Meta Object Facility (MOF) 2.0 Query/View/Transformation Specification, http://www.omg.org/spec/qvt/1.0/pdf," 2009. [8] OMG, "OMG Object Constraint Language (OCL), http://www.omg.org/spec/ocl/2.3.1," January 2012. [9] J. Miller and Mukerji.J., "MDA Guide Version 1.0.1.," OMG, 2003. [10] S. Kherraf, E. Lefebvre and W. Suryn, "Transformation from CIM to PIM Using Patterns and Archetypes," in 19th Australian Conference on Software Engineering, 2008. [11] B. Bousetta, O. El Beggar and T. Gadi, "A methodology for CIM modeling and its transformation to PIM," Journal of Information Engineering and Applications, vol. 3, no. 2, pp. 1-21, 2013. [12] M. Kardoš and M. Drozdová, "Analytical method of CIM to PIM transformation in Model Driven Architecture (MDA)," JOURNAL OF INFORMATION AND ORGANIZATIONAL SCIENCES, vol. 34, pp. 89-99, 2010. [13] A. Rodríguez, E. Fernández-Medina and M. Piattini, "Towards obtaining analysis-level class and use case diagrams from business process models," Advances in Conceptual Modeling Challenges and Opportunities. Springer Berlin Heidelberg., pp. 103-112, 2008. [14] J. H. Wu, S. S. Shin, J. L. Chien, W. S. Chao and M. C. Hsieh, "An extended MDA method for user interface modeling and transformation," in The 15th European Conference on Information Systems (pp. 1632-1641)., June 2007. [15] W. Zhang, H. Mei, H. Zhao and J. and Yang, "Transformation from CIM to PIM: A Feature-Oriented Component-Based Approach," in Model Driven Engineering Languages and Systems volume 3713 of Lecture Notes in Computer Science, pages 248 263, Springer Berlin / Heidelberg, 2005. [16] A. Fatolahi, S. S. Somé and T. C. Lethbridge, "Towards a semi-automated model-driven method for the generation of web-based applications from use cases," in 4th Model Driven Web Engineering Workshop (p. 31), 2008. [17] H. R. Sharifi, M. Mohsenzadeh and S. M. Hashemi, "CIM to PIM Transformation: An Analytical Survey," International Journal Computer Technology & Applications, vol. 3, no. 2, pp. 791-796, 2012. [18] L. O. Johansson, M. Wärja, H. Kjellin and S. Carlsson, "Graphical modeling techniques and usefulness in the Model Driven Arcitechture: which are the criteria for a" good" Computer independent model?.," In Asproth, V.(ed), Proceedings of 31th Inform, 2008. [19] F. L. SIQUEIRA and P. S. M. SILVA, "Analyzing CIM to PIM Transformations Using the WRSPM model," INFOCOMP, vol. 11, no. 1, pp. 41-50, March March 2012. [20] T. Yue, L. C. Briand and Y. Labiche, "A systematic review of transformation approaches between user requirements and analysis models," Requirements Engineering, vol. 16, no. 2, pp. 75-99, 2011. [21] X. Blanc, MDA en Action : Ingénirie Logicielles Dirigée par les Modèles, Paris: Eyrolles, 2005. [22] N. Streekmann, U. Steffens, C. Möbus and H. Garbe, "Model-driven integration of business information systems," Softwaretechnik-Trends, vol. 26, no. 4, 2006. [23] "Business Process Model and Notation (BPMN)- Version 2.0," in OMG, http://www.omg.org/spec/bpmn/2.0, January 2011. [24] A. Rodríguez, I. G.-R. de Guzmán, E. Fernández- Medina and M. Piattini, "Semi-formal transformation of secure business processes into analysis class and use case models: An mda approach," in Information and Software Technology, 52(9):945 971, 2010. [25] A. Rodríguez, E. Fernández-Medina, J. Trujillo and M. Piattini, "Secure business process model specification through a UML 2.0 activity diagram profile," Decision Support Systems, vol. 51, no. 3, pp. 446-465, 2011. [26] H. R. Sharifi and M. Mohsenzadeh, "A New Method for Generating CIM Using Business and Requirement Models.," World of Computer Science and Information Technology Journal (WCSIT), vol. 2, no. 1, pp. 8-12, 2012. [27] J. Osis, E. Asnina and A. Grave, "Formal computation independent model of the problem domain within the MDA," in Proceedings of the 10th International Conference on Information System Implementation and Modeling (pp. 23-25), April 2007. 624

[28] J. Osis, E. Asnina and A. Grave, "Computation Independent Modeling within the MDA," in Software- Science, Technology & Engineering, 2007. SwSTE 2007. IEEE International Conference on (pp. 22-34). IEEE, October 2007. [29] J. Osis, E. Asnina and A. Grave, "Computation independent representation of the problem domain," in MDA. J. Software Eng, 2(1), 19-46., 2008. [30] A. Brown, "An introduction to Model Driven Architecture," IBM, 2004. 625