A Model-Driven Approach For Information System Migration

15
1 A Model-Driven Approach For Information System Migration Raymonde Le Delliou 1 , Nicolas Ploquin 2 , Mariano Belaunde 3 , Reda Bendraou 4 , Louis Féraud 5 1 Electricité de France, 2 SOFT-MAINT, 3 France Télécom, 4 LIP6, 5 IRIT 1 [email protected] , 2 [email protected] , 3 [email protected] , 4 [email protected] , 5 [email protected]

description

A Model-Driven Approach For Information System Migration. Raymonde Le Delliou 1 , Nicolas Ploquin 2 , Mariano Belaunde 3 , Reda Bendraou 4 , Louis Féraud 5 1 Electricité de France, 2 SOFT-MAINT, 3 France Télécom, 4 LIP6, 5 IRIT - PowerPoint PPT Presentation

Transcript of A Model-Driven Approach For Information System Migration

Page 1: A Model-Driven Approach For Information System Migration

1

A Model-Driven Approach For Information System

Migration

Raymonde Le Delliou1, Nicolas Ploquin2, Mariano Belaunde3, Reda Bendraou4, Louis Féraud5

1 Electricité de France, 2 SOFT-MAINT, 3 France Télécom, 4 LIP6, 5 IRIT

1 [email protected], 2 [email protected], 3 [email protected], 4 [email protected], 5 [email protected]

Page 2: A Model-Driven Approach For Information System Migration

2

Outline

• The TRAMs project (2002-2003)

• RM-ODP Standard as an Intermediate Metamodel (IMM)

• The COBOL to JAVA Demonstrator

• Coupling RM-ODP and Action Semantics standards

• Conclusion and further works

ConclusionThe TRAMs Project RM-ODP standard as an IMM COBOL to JAVA Demo Coupling RM-ODP/AS

Page 3: A Model-Driven Approach For Information System Migration

3

Aims

• Define a methodology

• Provide an open and modular migration framework

In order to– Insure IS migrations in a cost effective manner – Experiment metamodels and model transformation

techniques

ConclusionThe TRAMs Project RM-ODP standard as an IMM COBOL to JAVA Demo Coupling RM-ODP/AS

EDFElectricitéde France

EDFElectricitéde France

Page 4: A Model-Driven Approach For Information System Migration

4

TRAMs: a methodology and a Framework

• The preparing migration phase– Identify the migration nature (business

or technologic)– Identify the Metamodels to be used– Model the migration process (eg. in

SPEM)– Specify the transformation components

• The execution phase

– Monitored by a management component– Insured by several tools and

components– Includes the execution of manual

actions/interactions

M M

•Process•Pattern

ComponentsLibrary

Preparing Migration

meta-modelM M

Expertise

M M

•Source

•Target

•IMM

Migration development

Transformation tools

I.S. VnBusiness,

data,software

+ Changes

I.S. Vn+1Business,

data,software

Framework Management Component

TRAMsFramework

ConclusionThe TRAMs Project RM-ODP standard as an IMM COBOL to JAVA Demo Coupling RM-ODP/AS

Page 5: A Model-Driven Approach For Information System Migration

5

The TRAMs generic migration-process

In Conformity

Metamodel (A)

IntermediateMetamodel

based onRM-ODP

Metamodel (B)

Model (A)

Model (A)

Source (A) Source (A) Target (B)Target (B)

IMIM Model (B)

Model (B)

Transformation rules

IMM->(B)

Transformation rules

IMM->(B)

Transformation rules

(A) -> IMM

Transformation rules

(A) -> IMM

ReverseModeling

In Conformity In Conformity

Generation

Transformation engine Transformation engine

I.S. improvement/changes

ConclusionThe TRAMs Project RM-ODP standard as an IMM COBOL to JAVA Demo Coupling RM-ODP/AS

Page 6: A Model-Driven Approach For Information System Migration

6

Why an Intermediate Metamodel?

• To decrease significantly the number of model transformers to be developed

• To decrease time and cost for further migrations of the Information System

1 12 23 3. .. .n n

IMM

1 12 23 3. .. .n n

Point to point Migration Migration using an Intermediate Metamodel

For n formalisms n(n-1) set of transformation rules

For n formalisms Only 2nset of transformation rules

ConclusionThe TRAMs Project RM-ODP standard as an IMM COBOL to JAVA Demo Coupling RM-ODP/AS

Page 7: A Model-Driven Approach For Information System Migration

7

IMM Specification : RM-ODP standard• RM-ODP (Reference Model Open Distributed Processing) as an

Intermediate Metamodel

• Why RM-ODP?

- Generic, stable and rigorous concepts

- Concern separation based System Specification: the Viewpoints (Enterprise, Information, Computational, Engineering et Technology)

- Used in several domains.

ConclusionThe TRAMs Project RM-ODP standard as an IMM COBOL to JAVA Demo Coupling RM-ODP/AS

Page 8: A Model-Driven Approach For Information System Migration

8

The COBOL to Java Demonstrator• Migration of a sample of an insurance company application • Focusing on the user interface with limited business

features• Choice of RM-ODP Computational Viewpoint as an

Intermediate Model

In Conformity

Metamodel COBOL

IntermediateMetamodel

(Computational VP)

Metamodel JAVA

Model COBOLModel

COBOL

Source COBOL Source

COBOL Target JAVATarget JAVA

IMIM Model JAVAModel JAVA

Transformation rules Computational (IMM)->(B)

Transformation rules Computational (IMM)->(B)

Transformation rules

(A) ->Computational (IMM)

Transformation rules

(A) ->Computational (IMM)

COBOL to Java migration using RM-ODP Computational Viewpoint

ReverseModelin

g

In Conformity In Conformity

Generation

Transformation engine Transformation engine

ConclusionThe TRAMs Project RM-ODP standard as an IMM COBOL to JAVA Demo Coupling RM-ODP/AS

Page 9: A Model-Driven Approach For Information System Migration

9

The ODP Computational viewpoint

FlowCausalityProducerConsumer

<<enumeratio...

Operation InterfaceTemplateCausality : OperationCausality

Signal InterfaceTemplateCausality : SignalCausality

FlowInterfaceTemplateCausality : FlowCausality

Signal Operation Flow

Annoucement

InternalAction

OperationCausalityClientServer

<<enumeration>>

SignalCausalityInitatorResponder

<<enumeratio...

Binding ObjectTemplate

EnvironmentContract

ModelElement

Name : String

0..1

0..n

0..1

0..nHas EC

InvocationName : String

TerminaisonName : String

1..n1 1..n1

Terminated

Interrogation

1..n

1

1..n

1Has Inv

1..n

1

1..n

1Has Ter

ComputationalObjectTemplate

0..n

0..n

0..n

Primitive Binding0..n

Action

Behavior

1 11 1

Has Behavior

1..n

1

1..n

1

a collection of

ParameterType : anyname : String

InterfaceTemplate1..n

1

+abstraction

1..n

+describe

1

SignaturenamenumberOfParameter

0..n

0..1

0..n

0..1Has Param

Interaction

1..n

1

1..n

1Consists of

1

1

1

1Has

The Computational Viewpoint Metamodel

ConclusionThe TRAMs Project RM-ODP standard as an IMM COBOL to JAVA Demo Coupling RM-ODP/AS

Page 10: A Model-Driven Approach For Information System Migration

10

UML Action Semantics standard

• Action Semantics: an extension to UML • Allows a precise specification of the behavior• Comes in form of a package: Actions

ActionsActions

Action Foundation

Jump Actions

Messaging Actions

Collection Actions

Computation Actions

Read Write Actions

Composite Actions

ConclusionThe TRAMs Project RM-ODP standard as an IMM COBOL to JAVA Demo Coupling RM-ODP/AS

Page 11: A Model-Driven Approach For Information System Migration

11

The Action Foundation package

• The Action Foundation package: the core of Action Semantics

ModelElement

PrimitiveAction

ClassifierPin

multiplicity : Multiplicityordering : OrderingKind 0..10..*

+type

0..10..*

ModelElement

DataFlow

ControlFlow

Procedure

language : Namebody : StringisList : Boolean

InputPin

1 1

+destination

1

+flow

10..*

0..1

+result 0..*

{ordered}

+procedure0..1

OutputPin1

0..*

+source

1

+flow0..*

0..*

0..1

+argument 0..*{ordered}

+procedure0..1

Action

isReadOnly : Boolean

0..*

1

+consequent

0..*

+predecessor 1

1

0..*

+successor

1

+antecedent0..*

1

0..1

+action 1

0..1

0..*

0..1

+inputPin 0..*{ordered}

+action

0..1

0..*

0..*

+/availableInput

0..*

0..*

0..1 0..*

+action

0..1

+outputPin

0..*{ordered}

0..*0..*

+/availableOutput

0..*0..*

ConclusionThe TRAMs Project RM-ODP standard as an IMM COBOL to JAVA Demo Coupling RM-ODP/AS

Page 12: A Model-Driven Approach For Information System Migration

12

RM-ODP vs Action Semantics

A precise behavior specification

A precise behavior specification

well founded semantics

well founded semantics

Comes in the scope of the MDA

Comes in the scope of the MDA

StabilityStability

Links between viewpoints

Links between viewpoints

RigorRigor

RM-ODP

Action Semantics

A complete intermediate MM

+

+

+

+

+

+

ConclusionThe TRAMs Project RM-ODP standard as an IMM COBOL to JAVA Demo Coupling RM-ODP/AS

Page 13: A Model-Driven Approach For Information System Migration

13

Integrating the two standards

1 + specification

+specifies

n

ModelElement(from Core)

Primiti veAction

Classi fier(from Core)

Pin

multipl i ci ty : Multipl icityordering : OrderingKind 0..1

0..*

+type

0..10..*

DataFlow

ControlFlow

InputPin

1 1

+destination

1+flow1

OutputPin

1

0..*

+source1

+flow0..*

Method(from Core)

Procedure

language : Nam ebody : StringisList : Boolean

0..*

0..1

+resul t 0..*{ordered}

+procedure

0..1

0..*

0..1

+argum ent 0..*{ordered}

+procedure

0..10..* 0..10..*

+body

0..1

Binding Object

ComputationalObject

0..n

0..n

0..n

0..n

Primiti ve Binding

Behavior

Action

isReadOnly : Boolean

0..*

1

+consequent

0..*

+predecessor 1

1

0..*

+successor

1

+antecedant0..*

0..*

0..1

+inputPin 0..*

{ordered}

+action

0..1

0..*

0..*

+/avai lableInput

0..*

0..*

0..1 0..*

+action

0..1

+outputPin

0..*{ordered}

0..*0..*

+/avai lableOutput

0..*0..*

1

0..1

+action 1

0..1

Abstraction 1. n +abstraction

+describes

a collection of

1

1.n

1 1

Operation InterfaceTemplate

Causality : OperationCausality

Signal InterfaceTemplate

Causality : SignalCausality

FlowInterfaceTemplate

Causality : FlowCausality

Flow

Annoucement

Invocation

Name : String

Terminaison

Name : String1..n1 1..n1

Terminated

Interrogation

1..n

1

1..n

1Has Inv

1..n

1

1..n

1 Has Ter

OperationSignal

InterfaceTemplate

Interaction

1..n

1

1..n

1 Consists of

Parameter

Type : anyname : String

Signature

name : StringnumberOfParameter : Int

11 11

Has

0..1

0..n +composed_Of

0..1

0..n

0..n

0..n

Action Semantics

ConclusionThe TRAMs Project RM-ODP standard as an IMM COBOL to JAVA Demo Coupling RM-ODP/AS

Page 14: A Model-Driven Approach For Information System Migration

14

The final COBOL to Java Demonstrator

• An optimized migration with precise rules

In Conformity

Metamodel COBOL

IntermediateMetamodel

(RM-ODP + Action Semantics)

Metamodel JAVA

Model COBOLModel

COBOL

Source COBOL Source

COBOL Target JAVATarget JAVA

IMIM Model JAVAModel JAVA

Transformation rules Computational (IMM)->(B)

Transformation rules Computational (IMM)->(B)

Transformation rules

(A) ->Computational (IMM)

Transformation rules

(A) ->Computational (IMM)

COBOL to Java migration using RM-ODP and Action Semantics

ReverseModeling

In Conformity In Conformity

Generation

Page 15: A Model-Driven Approach For Information System Migration

15

Conclusion and further works• TRAMs framework and methodology have

– Improved existing migration tools and best practices– Influenced OpenQVT

• TRAMs Intermediate MM– Concrete semantics not needed– Good complementarity of the two standards

• Still to come…– Improve code analysis– Extend the business aspects in the migration

ConclusionThe TRAMs Project RM-ODP standard as an IMM COBOL to JAVA Demo Coupling RM-ODP/AS