ui modeling in action with pmf, e4(xwt) and egf

65
E c l i p s e C o n 2 0 1 0 © 2010 by Soyatec and Thales; made available under the EPL v1.0 UI modeling in Action with PMF, e4 and EGF Yves Yang – Soyatec Benoît Langlois – Thales/EPM Thomas Guiu - Soyatec

Upload: benoitlanglois

Post on 27-Jan-2015

116 views

Category:

Documents


2 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Ui Modeling In Action With PMF, e4(XWT) And EGF

Ecl

ipse

Co n

20 1

0

© 2010 by Soyatec and Thales; made available under the EPL v1.0

UI modeling in Action with PMF, e4 and EGFYves Yang – Soyatec

Benoît Langlois – Thales/EPM

Thomas Guiu - Soyatec

Page 2: Ui Modeling In Action With PMF, e4(XWT) And EGF

2

Ecl

ipse

Co

n 2

010

– U

I m

od

elin

g i

n A

ctio

n w

ith

PM

F,

e4 a

nd

EG

F

© 2010 by Soyatec and Thales; made available under the EPL v1.0

Agenda

Introduction

PMF

EGF

PMF to XWT with EGF

Conclusion

Page 3: Ui Modeling In Action With PMF, e4(XWT) And EGF

3

Ecl

ipse

Co

n 2

010

– U

I m

od

elin

g i

n A

ctio

n w

ith

PM

F,

e4 a

nd

EG

F

© 2010 by Soyatec and Thales; made available under the EPL v1.0

Why UI modeling in Software Engineering?

Current Practice Writing UI (User Interface) code for a target platform

Ex: JFace, SWT code

Main Drawbacks Time-consuming activity

Scalability issue

Target platform-dependent Maintenance issue UI Technology is changing quickly

Page 4: Ui Modeling In Action With PMF, e4(XWT) And EGF

4

Ecl

ipse

Co

n 2

010

– U

I m

od

elin

g i

n A

ctio

n w

ith

PM

F,

e4 a

nd

EG

F

© 2010 by Soyatec and Thales; made available under the EPL v1.0

Why UI modeling in Software Engineering?

Paradigm shift Modeling UI in order to abstract UI description:

1. Creating a platform-independent UI model

2. Next, targeting platform-specific UI code

This implies:

1. A platform-independent UI metamodel PMF

2. A generation engine to target a UI platform EGF

Page 5: Ui Modeling In Action With PMF, e4(XWT) And EGF

5

Ecl

ipse

Co

n 2

010

– U

I m

od

elin

g i

n A

ctio

n w

ith

PM

F,

e4 a

nd

EG

F

© 2010 by Soyatec and Thales; made available under the EPL v1.0

From PMF to UI Code

conforms to conforms toconforms to

M1: Model levelM2: Metamodel level

Page 6: Ui Modeling In Action With PMF, e4(XWT) And EGF

6

Ecl

ipse

Co

n 2

010

– U

I m

od

elin

g i

n A

ctio

n w

ith

PM

F,

e4 a

nd

EG

F

© 2010 by Soyatec and Thales; made available under the EPL v1.0

From PMF to UI Code

conforms to conforms toconforms to

M1: Model levelM2: Metamodel level

XWT Codeof purcharse order UI

Purcharse order UI

Page 7: Ui Modeling In Action With PMF, e4(XWT) And EGF

7

Ecl

ipse

Co

n 2

010

– U

I m

od

elin

g i

n A

ctio

n w

ith

PM

F,

e4 a

nd

EG

F

© 2010 by Soyatec and Thales; made available under the EPL v1.0

Agenda

Introduction

PMF

EGF

PMF to XWT with EGF

Conclusion

Page 8: Ui Modeling In Action With PMF, e4(XWT) And EGF

8

Ecl

ipse

Co

n 2

010

– U

I m

od

elin

g i

n A

ctio

n w

ith

PM

F,

e4 a

nd

EG

F

© 2010 by Soyatec and Thales; made available under the EPL v1.0

Purpose

PMF is a high Extensible Exterprise Modeling Solution for data presentation

Page 9: Ui Modeling In Action With PMF, e4(XWT) And EGF

9

Ecl

ipse

Co

n 2

010

– U

I m

od

elin

g i

n A

ctio

n w

ith

PM

F,

e4 a

nd

EG

F

© 2010 by Soyatec and Thales; made available under the EPL v1.0

Purpose

• Abstraction Data Model

UI Model

Data Binding technology

Target programming language

• Extensibility & Customization UI Model

Model Transformation engine

Integration with other tools such as DSL

• Top-down approach

PIM

PSM

Page 10: Ui Modeling In Action With PMF, e4(XWT) And EGF

10

Ecl

ipse

Co

n 2

010

– U

I m

od

elin

g i

n A

ctio

n w

ith

PM

F,

e4 a

nd

EG

F

© 2010 by Soyatec and Thales; made available under the EPL v1.0

Purpose

• Runtime mode Interactive

Standalone Embedded in other tools

Automating Batch for integration in build system

• Users Framework developer

Application designer

Page 11: Ui Modeling In Action With PMF, e4(XWT) And EGF

11

Ecl

ipse

Co

n 2

010

– U

I m

od

elin

g i

n A

ctio

n w

ith

PM

F,

e4 a

nd

EG

F

© 2010 by Soyatec and Thales; made available under the EPL v1.0

Benefices

Make development of UI’s easier

More productive

Separate roles in UI development to enable specialization and customization

Integrate UI development with other Eclipse tool stack

Page 12: Ui Modeling In Action With PMF, e4(XWT) And EGF

12

Ecl

ipse

Co

n 2

010

– U

I m

od

elin

g i

n A

ctio

n w

ith

PM

F,

e4 a

nd

EG

F

© 2010 by Soyatec and Thales; made available under the EPL v1.0

Architecture

Page 13: Ui Modeling In Action With PMF, e4(XWT) And EGF

13

Ecl

ipse

Co

n 2

010

– U

I m

od

elin

g i

n A

ctio

n w

ith

PM

F,

e4 a

nd

EG

F

© 2010 by Soyatec and Thales; made available under the EPL v1.0

Agenda

Introduction

PMF

EGF

PMF to XWT with EGF

Conclusion

Page 14: Ui Modeling In Action With PMF, e4(XWT) And EGF

14

Ecl

ipse

Co

n 2

010

– U

I m

od

elin

g i

n A

ctio

n w

ith

PM

F,

e4 a

nd

EG

F

© 2010 by Soyatec and Thales; made available under the EPL v1.0

What is EGF?

EGF (Eclipse Generation Factories) is an Eclipse open source project under the EMFT project.

Purpose: provide a model-based generation framework

Operational objectives: Supporting complex, large-scale and customizable generations Promoting the constitution of generation portfolios in order to

capitalize on generation solutions Providing an extensible generation structure

Page 15: Ui Modeling In Action With PMF, e4(XWT) And EGF

15

Ecl

ipse

Co

n 2

010

– U

I m

od

elin

g i

n A

ctio

n w

ith

PM

F,

e4 a

nd

EG

F

© 2010 by Soyatec and Thales; made available under the EPL v1.0

Generative Software

Dealing with generation complexityIssue

An integrated and extensible software factory framework

Proposedsolution

What target-platform?

Generation reusability?

Generation orchestration?

Generation data, which ones, where?

One-click generation solution?

Update strategy of the produced artifacts?

Combining [model|text|dsl]-to-[Model|text|dsl]?

How to develop & test?

Generation customization?

Generation scope?

Best practices, guidance?

Generation workflow?

Executability? Distribution?

Merging Generation?

Performance, scalability?

Variability? Product lines?

Integration of new language?

Software IndustrializationPurpose

Multiplicity of languages and engines?

Page 16: Ui Modeling In Action With PMF, e4(XWT) And EGF

16

Ecl

ipse

Co

n 2

010

– U

I m

od

elin

g i

n A

ctio

n w

ith

PM

F,

e4 a

nd

EG

F

© 2010 by Soyatec and Thales; made available under the EPL v1.0

Generation units of EGF

Page 17: Ui Modeling In Action With PMF, e4(XWT) And EGF

17

Ecl

ipse

Co

n 2

010

– U

I m

od

elin

g i

n A

ctio

n w

ith

PM

F,

e4 a

nd

EG

F

© 2010 by Soyatec and Thales; made available under the EPL v1.0

Generation units of EGF

works with

uses

Factory Component

Composite generation unit Location to declare: - Generation data - Generation orchestration

Composite generation unit Location to declare: - Generation data - Generation orchestration

Page 18: Ui Modeling In Action With PMF, e4(XWT) And EGF

18

Ecl

ipse

Co

n 2

010

– U

I m

od

elin

g i

n A

ctio

n w

ith

PM

F,

e4 a

nd

EG

F

© 2010 by Soyatec and Thales; made available under the EPL v1.0

Generation units of EGF

works with

Portfolio

uses

Capitalization

Factory Component

Consistent set of Factory Components Meets the need to have off-the-shelf generation solutions

Consistent set of Factory Components Meets the need to have off-the-shelf generation solutions

Page 19: Ui Modeling In Action With PMF, e4(XWT) And EGF

19

Ecl

ipse

Co

n 2

010

– U

I m

od

elin

g i

n A

ctio

n w

ith

PM

F,

e4 a

nd

EG

F

© 2010 by Soyatec and Thales; made available under the EPL v1.0

Generation units of EGF

works with

0 1 0 1

uses

Implementation

Task (e.g., Java)

Factory Component

The smallest generation unit Reference to executable code in a given language

The smallest generation unit Reference to executable code in a given language

Page 20: Ui Modeling In Action With PMF, e4(XWT) And EGF

20

Ecl

ipse

Co

n 2

010

– U

I m

od

elin

g i

n A

ctio

n w

ith

PM

F,

e4 a

nd

EG

F

© 2010 by Soyatec and Thales; made available under the EPL v1.0

Generation units of EGF

works with

uses

Pattern

Factory Component

Systematicbehavior

Notation to define systematic behavior applicable onto a resource Declarative style The behavior conforms to a language (e.g., Jet, Java)

Notation to define systematic behavior applicable onto a resource Declarative style The behavior conforms to a language (e.g., Jet, Java)

Page 21: Ui Modeling In Action With PMF, e4(XWT) And EGF

21

Ecl

ipse

Co

n 2

010

– U

I m

od

elin

g i

n A

ctio

n w

ith

PM

F,

e4 a

nd

EG

F

© 2010 by Soyatec and Thales; made available under the EPL v1.0

Generation units of EGF

works with

Portfolio

0 1 0 1

uses

Capitalization Implementation

Task (e.g., Java) Pattern

Factory Component

Systematicbehavior

Today

Page 22: Ui Modeling In Action With PMF, e4(XWT) And EGF

22

Ecl

ipse

Co

n 2

010

– U

I m

od

elin

g i

n A

ctio

n w

ith

PM

F,

e4 a

nd

EG

F

© 2010 by Soyatec and Thales; made available under the EPL v1.0

EGF

EGF Structure

Page 23: Ui Modeling In Action With PMF, e4(XWT) And EGF

23

Ecl

ipse

Co

n 2

010

– U

I m

od

elin

g i

n A

ctio

n w

ith

PM

F,

e4 a

nd

EG

F

© 2010 by Soyatec and Thales; made available under the EPL v1.0

Activity Hierarchy

Activity

Factory Component

Task […]

Activity Type

Page 24: Ui Modeling In Action With PMF, e4(XWT) And EGF

24

Ecl

ipse

Co

n 2

010

– U

I m

od

elin

g i

n A

ctio

n w

ith

PM

F,

e4 a

nd

EG

F

© 2010 by Soyatec and Thales; made available under the EPL v1.0

Activity Hierarchy

Activity

Factory Component

Task

Java Task [Language]Task

[…]

Java Class

1 implementation

Activity Type

Implementation

Page 25: Ui Modeling In Action With PMF, e4(XWT) And EGF

25

Ecl

ipse

Co

n 2

010

– U

I m

od

elin

g i

n A

ctio

n w

ith

PM

F,

e4 a

nd

EG

F

© 2010 by Soyatec and Thales; made available under the EPL v1.0

Activity and Production Plan

Activity

Factory Component

Task

invocation * ContractContainer

Contract*

0-1

Production Plan

0-1

Activity Invocation

*

Invocation Contract*

contract

Page 26: Ui Modeling In Action With PMF, e4(XWT) And EGF

26

Ecl

ipse

Co

n 2

010

– U

I m

od

elin

g i

n A

ctio

n w

ith

PM

F,

e4 a

nd

EG

F

© 2010 by Soyatec and Thales; made available under the EPL v1.0

Activity and Production Plan

Activity

Factory Component

Task

invocation * ContractContainer

Contract*

0-1

Production Plan

0-1

Activity Invocation

*

Contract

IN Contract

OUT Contract IN/OUT Contract

Page 27: Ui Modeling In Action With PMF, e4(XWT) And EGF

27

Ecl

ipse

Co

n 2

010

– U

I m

od

elin

g i

n A

ctio

n w

ith

PM

F,

e4 a

nd

EG

F

© 2010 by Soyatec and Thales; made available under the EPL v1.0

EGF Structure

• Storage In FCore file: factory components + tasks

• Execution Dynamic

Resolution of platform / workspace environment

Structure check

• Extensibility EGF can be enriched by the principle of model extension

Discovery at runtime

Java Task and production plan are examples of implementation and workflow today

Page 28: Ui Modeling In Action With PMF, e4(XWT) And EGF

28

Ecl

ipse

Co

n 2

010

– U

I m

od

elin

g i

n A

ctio

n w

ith

PM

F,

e4 a

nd

EG

F

© 2010 by Soyatec and Thales; made available under the EPL v1.0

Pattern – Definition

• Definition: A pattern is a solution to a recurrent generation problem

• Purpose Applying a systematic behavior onto a resource

Clearly dissociating the specification (external view) from the implementation (internal view) of the behavior

Reusing and customizing a pattern in different contexts

Supporting multilingual patterns in order to apply the best programming language to a situation, and then supporting multi-paradigm (M2T, M2M, T2M, T2T)

Page 29: Ui Modeling In Action With PMF, e4(XWT) And EGF

29

Ecl

ipse

Co

n 2

010

– U

I m

od

elin

g i

n A

ctio

n w

ith

PM

F,

e4 a

nd

EG

F

© 2010 by Soyatec and Thales; made available under the EPL v1.0

EGF

PATTERN

Page 30: Ui Modeling In Action With PMF, e4(XWT) And EGF

30

Ecl

ipse

Co

n 2

010

– U

I m

od

elin

g i

n A

ctio

n w

ith

PM

F,

e4 a

nd

EG

F

© 2010 by Soyatec and Thales; made available under the EPL v1.0

Pattern Relationships

Pattern inheritance

Pattern delegation Pattern injection

Pattern callback

Pattern extension

extends

(not available yet)

The Pattern orchestration specifies the pattern relationshipsPossibility to combine different pattern relationships in the same orchestration

Multilingual call

Page 31: Ui Modeling In Action With PMF, e4(XWT) And EGF

31

Ecl

ipse

Co

n 2

010

– U

I m

od

elin

g i

n A

ctio

n w

ith

PM

F,

e4 a

nd

EG

F

© 2010 by Soyatec and Thales; made available under the EPL v1.0

Pattern execution Big Picture

Result

Final Result

Pattern Execution onto a resource

Resource,

e.g. Model

PatternPatternPattern

Pattern Execution Process

Pattern execution engines, e.g. for Jet, Java

Optional - Pattern reporter for final form

PatternStrategy

Patterns selection Way to apply patterns

Page 32: Ui Modeling In Action With PMF, e4(XWT) And EGF

32

Ecl

ipse

Co

n 2

010

– U

I m

od

elin

g i

n A

ctio

n w

ith

PM

F,

e4 a

nd

EG

F

© 2010 by Soyatec and Thales; made available under the EPL v1.0

Agenda

Introduction

PMF

EGF

PMF to XWT with EGF

Conclusion

Page 33: Ui Modeling In Action With PMF, e4(XWT) And EGF

33

Ecl

ipse

Co

n 2

010

– U

I m

od

elin

g i

n A

ctio

n w

ith

PM

F,

e4 a

nd

EG

F

© 2010 by Soyatec and Thales; made available under the EPL v1.0

« PMF to (e4)XWT » Generation

xwt fileruntime

Page 34: Ui Modeling In Action With PMF, e4(XWT) And EGF

34

Ecl

ipse

Co

n 2

010

– U

I m

od

elin

g i

n A

ctio

n w

ith

PM

F,

e4 a

nd

EG

F

© 2010 by Soyatec and Thales; made available under the EPL v1.0

« PMF to (e4)XWT » Generation

UI Designer

realizes

Provides: - PMF model - data model .ecore

UI User

uses UI

Provides: - domain data

Page 35: Ui Modeling In Action With PMF, e4(XWT) And EGF

35

Ecl

ipse

Co

n 2

010

– U

I m

od

elin

g i

n A

ctio

n w

ith

PM

F,

e4 a

nd

EG

F

© 2010 by Soyatec and Thales; made available under the EPL v1.0

« PMF to (e4)XWT » Generation

PMF/XWT Designer/ Developer

realizesportfolio

Page 36: Ui Modeling In Action With PMF, e4(XWT) And EGF

36

Ecl

ipse

Co

n 2

010

– U

I m

od

elin

g i

n A

ctio

n w

ith

PM

F,

e4 a

nd

EG

F

© 2010 by Soyatec and Thales; made available under the EPL v1.0

Generation description

Creation of the application description files; e4-specific Declaration of menus, commands, part layouts

2

1234

Creation of the Java part of the XWT components; XWT-specific3

Creation of XWT files; XWT-specific Description of the components, supported events

4

Creation of the project1

Page 37: Ui Modeling In Action With PMF, e4(XWT) And EGF

37

Ecl

ipse

Co

n 2

010

– U

I m

od

elin

g i

n A

ctio

n w

ith

PM

F,

e4 a

nd

EG

F

© 2010 by Soyatec and Thales; made available under the EPL v1.0

Project Creation & Configuration Files

Page 38: Ui Modeling In Action With PMF, e4(XWT) And EGF

38

Ecl

ipse

Co

n 2

010

– U

I m

od

elin

g i

n A

ctio

n w

ith

PM

F,

e4 a

nd

EG

F

© 2010 by Soyatec and Thales; made available under the EPL v1.0

Project Creation & Configuration Files

PMF model

Create Project

Java Pattern

Page 39: Ui Modeling In Action With PMF, e4(XWT) And EGF

39

Ecl

ipse

Co

n 2

010

– U

I m

od

elin

g i

n A

ctio

n w

ith

PM

F,

e4 a

nd

EG

F

© 2010 by Soyatec and Thales; made available under the EPL v1.0

Project Creation & Configuration Files

PMF model

Jet Pattern

Page 40: Ui Modeling In Action With PMF, e4(XWT) And EGF

40

Ecl

ipse

Co

n 2

010

– U

I m

od

elin

g i

n A

ctio

n w

ith

PM

F,

e4 a

nd

EG

F

© 2010 by Soyatec and Thales; made available under the EPL v1.0

« Create Manifest » Pattern explained

• Objective: Producing the « MANIFEST.MF » file

• Input: PMF model

Pattern parameter: Application node of the PMF model

• Means: Using a Jet-based Pattern for « Model-to-text » transformation

Using a reporter for persistence of the pattern result

Page 41: Ui Modeling In Action With PMF, e4(XWT) And EGF

41

Ecl

ipse

Co

n 2

010

– U

I m

od

elin

g i

n A

ctio

n w

ith

PM

F,

e4 a

nd

EG

F

© 2010 by Soyatec and Thales; made available under the EPL v1.0

« Create Manifest » Pattern explained

Create Manifest

Base

Inheritance

Page 42: Ui Modeling In Action With PMF, e4(XWT) And EGF

42

Ecl

ipse

Co

n 2

010

– U

I m

od

elin

g i

n A

ctio

n w

ith

PM

F,

e4 a

nd

EG

F

© 2010 by Soyatec and Thales; made available under the EPL v1.0

« Create Manifest » Pattern explained

Create Manifest

Base

Applicationparameter

Inheritance

Page 43: Ui Modeling In Action With PMF, e4(XWT) And EGF

43

Ecl

ipse

Co

n 2

010

– U

I m

od

elin

g i

n A

ctio

n w

ith

PM

F,

e4 a

nd

EG

F

© 2010 by Soyatec and Thales; made available under the EPL v1.0

« Create Manifest » Pattern explained

Polymorphism

applied orchestration

Page 44: Ui Modeling In Action With PMF, e4(XWT) And EGF

44

Ecl

ipse

Co

n 2

010

– U

I m

od

elin

g i

n A

ctio

n w

ith

PM

F,

e4 a

nd

EG

F

© 2010 by Soyatec and Thales; made available under the EPL v1.0

« Create Manifest » Pattern explained

Polymorphism

applied orchestration

Page 45: Ui Modeling In Action With PMF, e4(XWT) And EGF

45

Ecl

ipse

Co

n 2

010

– U

I m

od

elin

g i

n A

ctio

n w

ith

PM

F,

e4 a

nd

EG

F

© 2010 by Soyatec and Thales; made available under the EPL v1.0

Parts Creation – XWT Files

Page 46: Ui Modeling In Action With PMF, e4(XWT) And EGF

46

Ecl

ipse

Co

n 2

010

– U

I m

od

elin

g i

n A

ctio

n w

ith

PM

F,

e4 a

nd

EG

F

© 2010 by Soyatec and Thales; made available under the EPL v1.0

Parts Creation – XWT Files

Forms /XWT filemapping

Page 47: Ui Modeling In Action With PMF, e4(XWT) And EGF

47

Ecl

ipse

Co

n 2

010

– U

I m

od

elin

g i

n A

ctio

n w

ith

PM

F,

e4 a

nd

EG

F

© 2010 by Soyatec and Thales; made available under the EPL v1.0

Parts Creation – XWT Files

Forms /XWT filemapping

Model-driven pattern strategyused

Page 48: Ui Modeling In Action With PMF, e4(XWT) And EGF

48

Ecl

ipse

Co

n 2

010

– U

I m

od

elin

g i

n A

ctio

n w

ith

PM

F,

e4 a

nd

EG

F

© 2010 by Soyatec and Thales; made available under the EPL v1.0

Parts Creation – XWT Files

Forms /XWT filemapping

Form_xwt

Jet Pattern

1

Page 49: Ui Modeling In Action With PMF, e4(XWT) And EGF

49

Ecl

ipse

Co

n 2

010

– U

I m

od

elin

g i

n A

ctio

n w

ith

PM

F,

e4 a

nd

EG

F

© 2010 by Soyatec and Thales; made available under the EPL v1.0

Parts Creation – XWT Files

Forms /XWT filemapping

Collection

Jet Pattern

21

Page 50: Ui Modeling In Action With PMF, e4(XWT) And EGF

50

Ecl

ipse

Co

n 2

010

– U

I m

od

elin

g i

n A

ctio

n w

ith

PM

F,

e4 a

nd

EG

F

© 2010 by Soyatec and Thales; made available under the EPL v1.0

Parts Creation – XWT Files

Forms /XWT filemapping

DataField

Jet Pattern

21

3

Page 51: Ui Modeling In Action With PMF, e4(XWT) And EGF

51

Ecl

ipse

Co

n 2

010

– U

I m

od

elin

g i

n A

ctio

n w

ith

PM

F,

e4 a

nd

EG

F

© 2010 by Soyatec and Thales; made available under the EPL v1.0

Parts Creation – XWT Files

Forms /XWT filemapping

Reference

Jet Pattern

21

3

4

Page 52: Ui Modeling In Action With PMF, e4(XWT) And EGF

52

Ecl

ipse

Co

n 2

010

– U

I m

od

elin

g i

n A

ctio

n w

ith

PM

F,

e4 a

nd

EG

F

© 2010 by Soyatec and Thales; made available under the EPL v1.0

Summary

Engineering activity

Multi-target

Page 53: Ui Modeling In Action With PMF, e4(XWT) And EGF

53

Ecl

ipse

Co

n 2

010

– U

I m

od

elin

g i

n A

ctio

n w

ith

PM

F,

e4 a

nd

EG

F

© 2010 by Soyatec and Thales; made available under the EPL v1.0

Summary

Generation Portfolio

PMF-to-XWT Portfolio

based on

customization

Eclipse Component

Off-The-Shelf solution

Variants

Page 54: Ui Modeling In Action With PMF, e4(XWT) And EGF

54

Ecl

ipse

Co

n 2

010

– U

I m

od

elin

g i

n A

ctio

n w

ith

PM

F,

e4 a

nd

EG

F

© 2010 by Soyatec and Thales; made available under the EPL v1.0

Development Environment

• Design PMF: Eclipse Galileo, 3.5.x

EGF: Eclipse Galileo, > 3.5.1

• Runtime XWT: e4/Helios

Page 55: Ui Modeling In Action With PMF, e4(XWT) And EGF

55

Ecl

ipse

Co

n 2

010

– U

I m

od

elin

g i

n A

ctio

n w

ith

PM

F,

e4 a

nd

EG

F

© 2010 by Soyatec and Thales; made available under the EPL v1.0

Agenda

Introduction

PMF

EGF

PMF to XWT with EGF

Conclusion

Page 56: Ui Modeling In Action With PMF, e4(XWT) And EGF

56

Ecl

ipse

Co

n 2

010

– U

I m

od

elin

g i

n A

ctio

n w

ith

PM

F,

e4 a

nd

EG

F

© 2010 by Soyatec and Thales; made available under the EPL v1.0

Conclusion

Regarding the PMF-to-(e4)XWT generation with EGF Maturity level: Prototype, but promising

Not covered: events, multi-forms

Interest to have an integrated generation tool with EGF

Improvement #1 1. Code-oriented to model-based paradigm shift,

2. Engineering-driven activities: producing UI, UI tests, doc…

Could be applied to other engineering activities, such as diagram

Improvement #2 Interest of off-the-shelf factories

Future work: Pattern contribution and customization for flexible generations

Page 57: Ui Modeling In Action With PMF, e4(XWT) And EGF

57

Ecl

ipse

Co

n 2

010

– U

I m

od

elin

g i

n A

ctio

n w

ith

PM

F,

e4 a

nd

EG

F

© 2010 by Soyatec and Thales; made available under the EPL v1.0

UI modeling in Action

Thank You!

EGF is supported by the European Project OPEES

Page 58: Ui Modeling In Action With PMF, e4(XWT) And EGF

58

Ecl

ipse

Co

n 2

010

– U

I m

od

elin

g i

n A

ctio

n w

ith

PM

F,

e4 a

nd

EG

F

© 2010 by Soyatec and Thales; made available under the EPL v1.0

UI modeling in Action

Additionnal Slides

Page 59: Ui Modeling In Action With PMF, e4(XWT) And EGF

59

Ecl

ipse

Co

n 2

010

– U

I m

od

elin

g i

n A

ctio

n w

ith

PM

F,

e4 a

nd

EG

F

© 2010 by Soyatec and Thales; made available under the EPL v1.0

Demo #1 EGF – EMF Wrapper

Library.fcore file

contains

Task and Factory component invocation orchestration

Main Factory Component

Page 60: Ui Modeling In Action With PMF, e4(XWT) And EGF

60

Ecl

ipse

Co

n 2

010

– U

I m

od

elin

g i

n A

ctio

n w

ith

PM

F,

e4 a

nd

EG

F

© 2010 by Soyatec and Thales; made available under the EPL v1.0

Demo #1 EGF – EMF Wrapper

Library.fcore file

contains

Task reference Contract value for a contract (= task parameter)

implementation Task Java Class

Java Task usage

Page 61: Ui Modeling In Action With PMF, e4(XWT) And EGF

61

Ecl

ipse

Co

n 2

010

– U

I m

od

elin

g i

n A

ctio

n w

ith

PM

F,

e4 a

nd

EG

F

© 2010 by Soyatec and Thales; made available under the EPL v1.0

Demo #1 EGF – EMF Wrapper

Library.fcore file

contains

Factory component contracts

Factory component reference

Factory Component usage

Pattern viewpoint

Task invocation orchestration

Page 62: Ui Modeling In Action With PMF, e4(XWT) And EGF

62

Ecl

ipse

Co

n 2

010

– U

I m

od

elin

g i

n A

ctio

n w

ith

PM

F,

e4 a

nd

EG

F

© 2010 by Soyatec and Thales; made available under the EPL v1.0

In/Output relationships

Quantity’s Properties

Amount’s Properties

Page 63: Ui Modeling In Action With PMF, e4(XWT) And EGF

63

Ecl

ipse

Co

n 2

010

– U

I m

od

elin

g i

n A

ctio

n w

ith

PM

F,

e4 a

nd

EG

F

© 2010 by Soyatec and Thales; made available under the EPL v1.0

EGF – Pattern – External View

Super-Pattern

Pattern PatternTypedelegation

Language

Type 0..n variable

0..n parameter

1 nature

Query

Constraint 0..1 preCondition

Definition: • query/parameter: query for object selection onto a resource• nature: language used for the pattern implementation • preCondition/Constraint: constraint to be verified before application• variable/Type: local variable declaration for the pattern implementation

Page 64: Ui Modeling In Action With PMF, e4(XWT) And EGF

64

Ecl

ipse

Co

n 2

010

– U

I m

od

elin

g i

n A

ctio

n w

ith

PM

F,

e4 a

nd

EG

F

© 2010 by Soyatec and Thales; made available under the EPL v1.0

EGF – Pattern – External View

EClassifierGen

EClass Gen

EStructural Feature

GenEClass

delegation

Jet

Example

• The EClassGen pattern is applied on a Ecore resource • Objects selected on the ecore resource: EClass instances• It specializes the EClassifierGen pattern• It applies a model-to-text generation in Jet• Its also applies a generation on its features by delegation to the EStructuralFeatureGen pattern

ECoreResource

element

nature

Query

Page 65: Ui Modeling In Action With PMF, e4(XWT) And EGF

65

Ecl

ipse

Co

n 2

010

– U

I m

od

elin

g i

n A

ctio

n w

ith

PM

F,

e4 a

nd

EG

F

© 2010 by Soyatec and Thales; made available under the EPL v1.0

EGF – Pattern – Implementation View

Methods which implement the pattern Order to execute the methods

header: typically used for the Jet headerinit: method for pattern initialization (e.g., variable initialization)A method editor allows to edit pattern methods