25.01.2014 Views

CIM to PIM Transformation - International Journal of Computer ...

CIM to PIM Transformation - International Journal of Computer ...

CIM to PIM Transformation - International Journal of Computer ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Hamid Reza Sharifi et al ,Int.J.<strong>Computer</strong> Technology & Applications,Vol 3 (2), 791-796<br />

ISSN:2229-6093<br />

<strong>CIM</strong> <strong>to</strong> <strong>PIM</strong> <strong>Transformation</strong>: An Analytical Survey<br />

Hamid Reza Sharifi<br />

Department <strong>of</strong> <strong>Computer</strong> Engineering<br />

Science and Research Branch,<br />

Islamic Azad University<br />

Tehran, Iran<br />

hr.sharifi@srbiau.ac.ir<br />

Mehran Mohsenzadeh<br />

Department <strong>of</strong> <strong>Computer</strong> Engineering<br />

Science and Research Branch,<br />

Islamic Azad University<br />

Tehran, Iran<br />

mohsenzadeh@srbiau.ac.ir<br />

Seyyed Mohsen Hashemi<br />

Department <strong>of</strong> <strong>Computer</strong> Engineering<br />

Science and Research Branch,<br />

Islamic Azad University<br />

Tehran, Iran<br />

hashemi@srbiau.ac.ir<br />

Abstract<br />

Model transformation is one <strong>of</strong> the main issues and key<br />

elements in Model Driven Architecture (MDA). Computation<br />

Independent Model (<strong>CIM</strong>) <strong>to</strong> Platform Independent Model<br />

(<strong>PIM</strong>) transformation is the first transformation in MDA and it<br />

is very important in designing high quality s<strong>of</strong>tware. Several<br />

<strong>CIM</strong> <strong>to</strong> <strong>PIM</strong> transformation approaches have emerged, they<br />

have not been objectively analysed yet. In this paper, we<br />

provide a review <strong>of</strong> several <strong>CIM</strong> <strong>to</strong> <strong>PIM</strong> transformation<br />

approaches, and present a criteria-based evaluation. The<br />

results can be used for assessing and comparing <strong>CIM</strong> <strong>to</strong> <strong>PIM</strong><br />

transformation approaches.<br />

Keywords: MDA; <strong>CIM</strong>; <strong>PIM</strong>; <strong>Transformation</strong>; Evaluation<br />

Criteria.<br />

1. Introduction<br />

The MDA is an approach for s<strong>of</strong>tware development defined<br />

by the Object Management Group (OMG). MDA defines four<br />

models in various levels <strong>of</strong> abstraction [1]. They are <strong>CIM</strong>, <strong>PIM</strong>,<br />

PSM, and Code.<br />

<strong>CIM</strong> is a model that describes a system from the<br />

computation independent viewpoint. <strong>PIM</strong> is a model that<br />

contains no information specific <strong>to</strong> the platform. Platform<br />

Specific Model (PSM) is a model that includes information<br />

about the specific technology that is used in the realization <strong>of</strong> it<br />

on a specific platform. Code is a specification <strong>of</strong> the system in<br />

the source code. MDA lifecycle begins from <strong>CIM</strong> and ends<br />

with code. It is depicted in Fig. 1.<br />

Figure 1. MDA life cycle.<br />

MDA is a s<strong>of</strong>tware development approach based on<br />

creation <strong>of</strong> models and transformations between them. Model<br />

transformation is one <strong>of</strong> the main issues and key elements in<br />

MDA.<br />

<strong>CIM</strong> <strong>to</strong> <strong>PIM</strong> transformation is the first transformation in<br />

MDA and it is very important in designing high quality<br />

s<strong>of</strong>tware. The Benefits <strong>of</strong> MDA appear in this transformation.<br />

Several <strong>CIM</strong> <strong>to</strong> <strong>PIM</strong> transformation approaches have<br />

emerged, they have not been objectively analysed yet. This<br />

research presents an analytical review and evaluation <strong>of</strong> these<br />

approaches.<br />

The main steps <strong>of</strong> the research are <strong>CIM</strong> <strong>to</strong> <strong>PIM</strong><br />

transformation approach selection, development <strong>of</strong> evaluation<br />

criteria, and criteria-based evaluation <strong>of</strong> these approaches.<br />

This paper is organized as follows: section 2 discusses<br />

existing <strong>CIM</strong> <strong>to</strong> <strong>PIM</strong> transformation approaches. Section 3<br />

discusses a conceptual framework for <strong>CIM</strong> <strong>to</strong> <strong>PIM</strong><br />

transformation. Evaluation <strong>of</strong> proposed approaches is<br />

discussed in section 4. Section 5 discusses conclusion <strong>of</strong> the<br />

paper.<br />

791


Hamid Reza Sharifi et al ,Int.J.<strong>Computer</strong> Technology & Applications,Vol 3 (2), 791-796<br />

ISSN:2229-6093<br />

2. Review <strong>of</strong> <strong>CIM</strong> <strong>to</strong> <strong>PIM</strong> transformation<br />

approaches<br />

In this section, we discuss proposed approaches for<br />

transformation from <strong>CIM</strong> <strong>to</strong> <strong>PIM</strong>.<br />

In [2] proposed a disciplined approach for transformation<br />

from <strong>CIM</strong> <strong>to</strong> <strong>PIM</strong> using feature-oriented and component-based<br />

approach. In this paper, feature model used for representing<br />

requirement in <strong>CIM</strong> and this model includes a set <strong>of</strong> features<br />

and relationship between them. Also s<strong>of</strong>tware architecture<br />

used for representing <strong>PIM</strong> and it includes a set <strong>of</strong> components<br />

and interaction between them. Also responsibility considered<br />

as a connec<strong>to</strong>r between feature and component for facilitating<br />

transformation. It is depicted in Fig. 2.<br />

Figure 4. Proposed approach in [4].<br />

In [5] presented an approach in which <strong>CIM</strong> is represented<br />

by secure business process in BPMN [6] and transform with<br />

the help <strong>of</strong> QVT [7] rules, checklists, and refinement rules in<strong>to</strong><br />

UML use case which represents <strong>PIM</strong>. It is depicted in Fig. 5.<br />

Figure 2. Proposed approach in [2].<br />

In [3] presented a possible solution for <strong>CIM</strong> modeling and<br />

then transform it <strong>to</strong> <strong>PIM</strong> using analytic method <strong>of</strong><br />

transformation. In this paper, <strong>CIM</strong> level representing by DFD<br />

that it is used for business process modeling. <strong>PIM</strong> level<br />

represented by UML diagrams includes use case diagram,<br />

activity diagram, sequence diagram, and domain model. It is<br />

depicted in Fig. 3.<br />

Figure 3. Proposed approach in [3].<br />

In [4] proposed a disciplined approach for transformation<br />

<strong>of</strong> <strong>CIM</strong> in<strong>to</strong> <strong>PIM</strong>. In this paper, <strong>CIM</strong> includes business process<br />

model and requirement model. First, business process modeled<br />

using an activity diagram then activity diagram details for<br />

specifying system requirement. <strong>PIM</strong> represented by class<br />

diagram. For this from the model <strong>of</strong> requirement elements the<br />

system components are created. Finally, a set <strong>of</strong> business<br />

archetypes help <strong>to</strong> transform the system components <strong>to</strong> the<br />

<strong>PIM</strong> layer in details. It is depicted in Fig. 4.<br />

Figure 5. Proposed approach in [5].<br />

3. Conceptual framework <strong>of</strong> <strong>CIM</strong> <strong>to</strong> <strong>PIM</strong><br />

transformation<br />

We have used method <strong>of</strong> paper [8] for creating conceptual<br />

framework and extracting Evaluation Criteria from it.<br />

We design a conceptual framework <strong>to</strong> extract Evaluation<br />

Criteria for comparing proposed approaches. The conceptual<br />

framework is composed <strong>of</strong> a "Static Model" describing<br />

common concepts and their relationships, "Taxonomies" <strong>of</strong><br />

<strong>CIM</strong> and <strong>PIM</strong> for classifying, the types <strong>of</strong> <strong>CIM</strong> and <strong>PIM</strong>, and<br />

"<strong>Transformation</strong> Approach". The comparison and evaluation<br />

criteria are derived from this framework.<br />

3.1 Static model<br />

In this section, we formalize the concepts <strong>of</strong> <strong>CIM</strong>, <strong>PIM</strong>,<br />

transformation, and traceability by means <strong>of</strong> a meta-model.<br />

The meta-model is presented using the class diagram in Fig. 6.<br />

792


Hamid Reza Sharifi et al ,Int.J.<strong>Computer</strong> Technology & Applications,Vol 3 (2), 791-796<br />

ISSN:2229-6093<br />

behaviour <strong>of</strong> the system by showing interactions among<br />

objects, etc. As shown in Fig. 8, we classify the different<br />

presentations <strong>of</strong> the structure aspect used in the proposed<br />

approaches in<strong>to</strong> three types: UML Structure Diagrams,<br />

Domain Diagram and Architecture Concept. The behaviour<br />

aspect is classified in<strong>to</strong> one type: UML Behaviour Diagrams.<br />

Figure 6. Static model.<br />

As shown in Fig. 6, a <strong>CIM</strong> can be transformed in<strong>to</strong> a <strong>PIM</strong>.<br />

A <strong>CIM</strong> and <strong>PIM</strong> are composed <strong>of</strong> one or more Model Element.<br />

Traceability Link is established between the model elements<br />

<strong>of</strong> the <strong>CIM</strong> and the <strong>PIM</strong>.<br />

3.2 Taxonomies<br />

The taxonomy <strong>of</strong> <strong>CIM</strong> and <strong>PIM</strong> classify different their<br />

aspects.<br />

3.2.1 Taxonomy <strong>of</strong> <strong>CIM</strong><br />

In [9] is mentioned that Regarding <strong>CIM</strong>, there are two<br />

basic streams <strong>of</strong> suggestions <strong>of</strong> what is <strong>to</strong> be represented by<br />

<strong>CIM</strong>. One <strong>of</strong> the streams suggests that the business model is <strong>to</strong><br />

be represented at this level [10]. Another stream points <strong>to</strong> <strong>CIM</strong><br />

as a model, which represents system requirements [11]. Some<br />

researchers position both models representing business<br />

knowledge and system requirements at the <strong>CIM</strong> level [12].<br />

In Fig. 7, we are depicted taxonomy <strong>of</strong> <strong>CIM</strong>.<br />

Figure 8.Taxonomy <strong>of</strong> <strong>PIM</strong>.<br />

3.3 <strong>Transformation</strong> approach<br />

<strong>CIM</strong> is further transformed in<strong>to</strong> a <strong>PIM</strong> .As shown in Fig. 9<br />

transformation in proposed approaches is classified in<strong>to</strong> Rule-<br />

Based transformation. Rule-Based transformation uses a set <strong>of</strong><br />

predefined <strong>Transformation</strong> Rules.<br />

A transformation rule is a description <strong>of</strong> how one or more<br />

constructs in the source language can be transformed in<strong>to</strong> one<br />

or more constructs in the target language [14].<br />

Figure 7. Taxonomy <strong>of</strong> <strong>CIM</strong>.<br />

As shown in Fig. 7, we classify the different<br />

representations <strong>of</strong> the Business Process Model aspect used in<br />

the proposed approaches in<strong>to</strong> three types: UML [13] Diagram<br />

(Activity Diagram), Data Flow Diagram (DFD) and Business<br />

Process Modeling Notation (BPMN). The Requirement Model<br />

aspect is classified in<strong>to</strong> two types: Use Case Model and<br />

Feature Model.<br />

3.2.2 Taxonomy <strong>of</strong> <strong>PIM</strong><br />

A complete <strong>PIM</strong> should describe two aspects <strong>of</strong> a system:<br />

Structure and Behaviour. The structure (or static) aspect<br />

emphasizes the static structure <strong>of</strong> the system using classes,<br />

objects, attributes, operations, relationships, etc., while the<br />

behaviour (or dynamic) aspect emphasizes the dynamic<br />

Figure 9. <strong>Transformation</strong> approach.<br />

4. Criteria-Based evaluation <strong>of</strong> <strong>CIM</strong> <strong>to</strong> <strong>PIM</strong><br />

transformation approaches<br />

In this section, first we derive evaluation criteria from<br />

conceptual framework in section 3 and then compare proposed<br />

approaches.<br />

4.1 Evaluation criteria<br />

The evaluation criteria are used <strong>to</strong> evaluate each proposed<br />

approach in terms <strong>of</strong> Coverage <strong>of</strong> <strong>CIM</strong>, Completeness <strong>of</strong> <strong>PIM</strong>,<br />

Au<strong>to</strong>mation, Evaluation Methods, Traceability Support, and<br />

793


Hamid Reza Sharifi et al ,Int.J.<strong>Computer</strong> Technology & Applications,Vol 3 (2), 791-796<br />

ISSN:2229-6093<br />

Tool Support. As shown in Fig. 10, for example, the<br />

evaluation criterion “Completeness <strong>of</strong> <strong>PIM</strong>” is derived from<br />

the Taxonomy <strong>of</strong> <strong>PIM</strong>. Notice that the Static Model <strong>of</strong> the<br />

conceptual framework is not directly related <strong>to</strong> any evaluation<br />

criteria; however, the taxonomies are all dependent on it. Last,<br />

note that the criterion “Evaluation Methods” in proposed<br />

approaches reports, and it is not therefore traced back <strong>to</strong> the<br />

conceptual framework.<br />

If a paper applies traceability methods between <strong>CIM</strong> and<br />

<strong>PIM</strong> elements we label “Traceability Support” "yes" and<br />

otherwise "no".<br />

If there is a <strong>to</strong>ol for an approach we label “Tool Support”<br />

"yes", otherwise "no".<br />

4.2 Discussion<br />

In Table 1 we summarize the comparison <strong>of</strong> Evaluation<br />

Criteria for proposed approaches in tabular form. In this<br />

subsection we describe results from Table 1.<br />

Figure 10. Mapping between the conceptual<br />

framework and evaluation criteria.<br />

4.1.1 Evaluation Criterion for <strong>CIM</strong><br />

We evaluate the <strong>CIM</strong> with respect <strong>to</strong> “Coverage <strong>of</strong> <strong>CIM</strong>”.<br />

The evaluation criterion “Coverage <strong>of</strong> <strong>CIM</strong>” is derived from<br />

the Taxonomy <strong>of</strong> <strong>CIM</strong>. “Coverage <strong>of</strong> <strong>CIM</strong>” indicates which<br />

aspects <strong>of</strong> <strong>CIM</strong> covers by proposed approaches.<br />

4.1.2 Evaluation Criterion for <strong>PIM</strong><br />

We need <strong>to</strong> evaluate the generated <strong>PIM</strong> with respect <strong>to</strong> its<br />

completeness. If a generated <strong>PIM</strong> both describes the system<br />

structure (e.g., class diagram) and behaviour (e.g., sequence<br />

diagram, state machines, or activity diagrams), then we label<br />

the generated <strong>PIM</strong> as complete. If a generated <strong>PIM</strong> describes<br />

only one <strong>of</strong> these two aspects <strong>of</strong> a system (i.e., either the<br />

structure or behaviour), then we label it as incomplete.<br />

4.1.3 Evaluation Criterion for <strong>Transformation</strong><br />

We evaluate the transformation approaches proposed in the<br />

approaches with respect <strong>to</strong> their au<strong>to</strong>mation. The au<strong>to</strong>mation<br />

criterion evaluates whether a transformation is au<strong>to</strong>matic,<br />

semi-au<strong>to</strong>matic, or manual. A transformation approach is<br />

au<strong>to</strong>matic if it has been fully implemented. A transformation is<br />

semi-au<strong>to</strong>matic if there is algorithm and transformation rule<br />

for proposed approach and user interventions are required.<br />

Last, some approaches are entirely manual.<br />

4.1.4 Other Evaluation Criteria<br />

We evaluate the approaches with respect <strong>to</strong> “Evaluation<br />

Methods”, “Traceability Support”, and “Tool Support”.<br />

If a paper applies other evaluation methods (besides case<br />

studies) <strong>to</strong> evaluate its approach, we mention it in “Evaluation<br />

Method” criterion.<br />

<strong>CIM</strong><br />

We can see from Table 1, Two out <strong>of</strong> four approaches can<br />

cover business model (e.g., DFD). One approach can cover<br />

requirement model (e.g., Feature model). One approach is<br />

capable <strong>of</strong> covering <strong>CIM</strong>, including both aspects.<br />

<strong>PIM</strong><br />

We can see from Table 1, that two out <strong>of</strong> four approaches<br />

can derive only structural model elements (e.g., objects,<br />

classes, associations, components) from <strong>CIM</strong>. One approach<br />

can generate behavioural features <strong>of</strong> a system (e.g., sequence<br />

diagrams, state machines, and/or activity diagrams). One<br />

approach is capable <strong>of</strong> generating <strong>PIM</strong> including both<br />

structural and behavioural aspects <strong>of</strong> a system, which is<br />

characterized as complete according <strong>to</strong> our evaluation criteria;<br />

<strong>Transformation</strong>–au<strong>to</strong>mation<br />

As shown in Table 1, two out <strong>of</strong> four approaches<br />

require user intervention <strong>to</strong> semi-au<strong>to</strong>matically perform<br />

the transformation; two approaches require manual<br />

transformations.<br />

Evaluation Methods<br />

All <strong>of</strong> the approaches have their transformation<br />

approaches evaluated. Case study has been performed <strong>to</strong><br />

evaluate all the approaches.<br />

Traceability support<br />

All <strong>of</strong> the approaches do not propose any method for<br />

traceability support.<br />

Tool support<br />

All <strong>of</strong> the approaches do not develop any <strong>to</strong>ol for<br />

supporting their approaches.<br />

5. Conclusion<br />

In this paper, we have surveyed several <strong>CIM</strong> <strong>to</strong> <strong>PIM</strong><br />

transformation approaches and have evaluated them using a set<br />

<strong>of</strong> evaluation criteria. For this, we have designed a conceptual<br />

framework and have derived Evaluation Criteria for<br />

comparing proposed approaches. The results can be used for<br />

794


Hamid Reza Sharifi et al ,Int.J.<strong>Computer</strong> Technology & Applications,Vol 3 (2), 791-796<br />

ISSN:2229-6093<br />

assessing and comparing <strong>CIM</strong> <strong>to</strong> <strong>PIM</strong> transformation<br />

approaches.<br />

In the future work we want <strong>to</strong> propose a semi-au<strong>to</strong>matic<br />

approach for <strong>CIM</strong> <strong>to</strong> <strong>PIM</strong> transformation that generates a<br />

complete <strong>PIM</strong>.<br />

References<br />

[1] J. Miller, J. Mukerji, “MDA guide version 1.0.1”, OMG, 2003.<br />

[2] Wei. Zhang, Hong. Mei, Haiyan. Zhao, and Jie. Yang,<br />

“<strong>Transformation</strong> from <strong>CIM</strong> <strong>to</strong> <strong>PIM</strong>: A Feature-Oriented<br />

Component-Based approach”, in MoDELS, Montego Bay,<br />

Jamaica, 2005.<br />

[3] Martin. Kardoš, Matilda. Drozdová , “Analytical method <strong>of</strong> <strong>CIM</strong><br />

<strong>to</strong> <strong>PIM</strong> transformation in Model Driven Architecture (MDA)”,<br />

JOURNAL OF INFORMATION AND ORGANIZATIONAL<br />

SCIENCES, vol. 34, 2010, pp. 89-99.<br />

[4] Samir. Kherraf, Éric. Lefebvre, and Wi<strong>to</strong>ld. Suryn ,<br />

“<strong>Transformation</strong> from <strong>CIM</strong> <strong>to</strong> <strong>PIM</strong> using patterns and<br />

Archetypes”, 2008, pp. 338-346.<br />

[5] Alfonso. Rodríguez, Eduardo. Fernández-Medina, and Mario.<br />

Piattini, “Towards <strong>CIM</strong> <strong>to</strong> <strong>PIM</strong> transformation: from Secure<br />

Business Processes defined in BPMN <strong>to</strong> Use-Cases”, Business<br />

Process Management, vol. 4714, 2007, pp. 408-415.<br />

[6] “BPMN: Business Process Modeling Notation specification”,<br />

OMG, 2006.<br />

[7] "QVT: Meta Object Facility (MOF) 2.0<br />

Query/View/<strong>Transformation</strong>", OMG, 2008.<br />

[8] T Yue, L Briand, and Y Labiche, "A Systematic Review <strong>of</strong><br />

<strong>Transformation</strong> Approaches between User Requirements and<br />

Analysis Models", Requirements Engineering (Springer), 2011,<br />

pp. 75-99.<br />

[9] Marite. Kirikova, Anita. Finke, and Janis. Grundspenki, “What<br />

is <strong>CIM</strong>: an information system perspective”, Advances in<br />

Databases and Information Systems, vol. 5968, 2010, pp. 169-<br />

176.<br />

[10] Steffen. Becker, “Coupled model transformations”, in<br />

Proceedings <strong>of</strong> the 7th international workshop on S<strong>of</strong>tware and<br />

performance. Prince<strong>to</strong>n, New Jersey, USA: ACM, 2008, pp.<br />

103-114.<br />

[11] Stefan. Biffl, Richard. Mordinyi, and Alexander. Schatten, “A<br />

Model-Driven Architecture approach using explicit stakeholder<br />

quality requirement models for building dependable information<br />

systems”, in Proceedings <strong>of</strong> the 5th <strong>International</strong> Workshop on<br />

S<strong>of</strong>tware Quality. Washing<strong>to</strong>n, DC, USA: IEEE <strong>Computer</strong><br />

Society, 2007, pp. 6-.<br />

[12] Janis. Osis, Erika. Asnina, and Andrejs. Grave, “Computation<br />

Independent Modeling within the MDA”, in IEEE <strong>International</strong><br />

Conference on S<strong>of</strong>tware-Science, Technology & Engineering,<br />

Los Alami<strong>to</strong>s, 2007, pp. 22-34.<br />

[13] OMG, “UML 2.1.1 superstructure specification”, 2007.<br />

[14] A. Kleppe, J. Warmer, and W. Bast, MDA explained: the model<br />

driven architecture: practice and promise, Addison Wesley,<br />

2003.<br />

795


Hamid Reza Sharifi et al ,Int.J.<strong>Computer</strong> Technology & Applications,Vol 3 (2), 791-796<br />

ISSN:2229-6093<br />

Table 1. Criteria based evaluation<br />

Primary<br />

Study<br />

<strong>CIM</strong><br />

Rep. 1<br />

Business<br />

Model<br />

<strong>CIM</strong><br />

Coverage<br />

Requirement<br />

Model<br />

<strong>PIM</strong><br />

Rep.<br />

<strong>PIM</strong><br />

Completeness<br />

Structural<br />

Behavioral<br />

Au<strong>to</strong>mation<br />

Traceability<br />

Support<br />

Evaluation<br />

Methods<br />

Tool<br />

Support<br />

Wei et al. [2]<br />

Feature<br />

Model<br />

Yes<br />

S<strong>of</strong>tware<br />

Architecture Yes Semi-au<strong>to</strong>matic No<br />

Case Study<br />

No<br />

Kardoš et al.<br />

[3]<br />

DFD<br />

Yes<br />

Use Case<br />

Diagram<br />

Sequence<br />

Diagram<br />

Activity<br />

Diagram<br />

Domain<br />

Model<br />

Yes Yes manual No<br />

Case Study<br />

No<br />

Kherraf et al.<br />

[4]<br />

Activity<br />

Diagram<br />

Use<br />

Case<br />

Diagram<br />

Yes<br />

Yes<br />

Class<br />

Diagram<br />

Yes manual No<br />

Case Study<br />

No<br />

Rodríguez et<br />

al. [5]<br />

BPMN<br />

Yes<br />

Use Case<br />

Diagram Yes Semi-au<strong>to</strong>matic No<br />

Case Study<br />

No<br />

1 Representation<br />

796

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!