From Product Manufacturer to Eclipse MDSD Projects model ... · From Product Manufacturer to...

12
1 1 a member of the b+m group model to business model to business model to business model to business From Product Manufacturer to Eclipse MDSD Projects The Transformation of Gentleware AG Dr. Marko Boger, CEO Dr. Jan Köhnlein, Senior Architect 2 a member of the b+m group model to business model to business model to business model to business Gentleware AG Founded in 2000 Founder and CEO: Dr. Marko Boger Development and Distribution of UML modeling tools Poseidon for UML Apollo for Eclipse More than 2,000,000 downloads MDSD Consulting and Projects DSL Design Model Editor in Eclipse Generator in openArchitectureWare Dr. Marko Boger Dr. Jan Köhnlein

Transcript of From Product Manufacturer to Eclipse MDSD Projects model ... · From Product Manufacturer to...

Page 1: From Product Manufacturer to Eclipse MDSD Projects model ... · From Product Manufacturer to Eclipse MDSD Projects The Transformation of Gentleware AG Dr. Marko Boger, CEO Dr. Jan

1

1111a member of

the b+m group

model to business

model to business

model to business

model to business

From Product Manufacturer to

Eclipse MDSD Projects

The Transformation of Gentleware AG

Dr. Marko Boger, CEO

Dr. Jan Köhnlein, Senior Architect

2222a member of

the b+m group

model to business

model to business

model to business

model to business

Gentleware AG

� Founded in 2000

� Founder and CEO:

Dr. Marko Boger

� Development and Distribution of UML

modeling tools

� Poseidon for UML

� Apollo for Eclipse

� More than 2,000,000 downloads

� MDSD Consulting and Projects

� DSL Design

� Model Editor in Eclipse

� Generator in openArchitectureWare

Dr. Marko Boger

Dr. Jan Köhnlein

Page 2: From Product Manufacturer to Eclipse MDSD Projects model ... · From Product Manufacturer to Eclipse MDSD Projects The Transformation of Gentleware AG Dr. Marko Boger, CEO Dr. Jan

2

3333a member of

the b+m group

model to business

model to business

model to business

model to business

Assembler

ParadigmsParadigmsParadigmsParadigms overoveroverover TimeTimeTimeTime

1950 1960 1970 1980 1990 2000 2010

Time

Ab

str

ac

tio

nL

eve

l

Frameworks (OOP)

Object Oriented

Procedural

Model Driven

4444a member of

the b+m group

model to business

model to business

model to business

model to business

Assembler

ParadigmsParadigmsParadigmsParadigms overoveroverover TimeTimeTimeTime

1950 1960 1970 1980 1990 2000 2010

Time

Ab

str

ac

tio

nL

eve

l

Frameworks (OOP)

Object Oriented

Procedural

Model Driven

UML 1 UML 2

1997 2005

Page 3: From Product Manufacturer to Eclipse MDSD Projects model ... · From Product Manufacturer to Eclipse MDSD Projects The Transformation of Gentleware AG Dr. Marko Boger, CEO Dr. Jan

3

5555a member of

the b+m group

model to business

model to business

model to business

model to business

Observations on MDSD

� The Paradigm of Model Driven Software Design is

becoming a reality

� It is NOT based on UML

� Instead it is based on DSLs

6666a member of

the b+m group

model to business

model to business

model to business

model to business

UML 1 Metamodel for States

Page 4: From Product Manufacturer to Eclipse MDSD Projects model ... · From Product Manufacturer to Eclipse MDSD Projects The Transformation of Gentleware AG Dr. Marko Boger, CEO Dr. Jan

4

7777a member of

the b+m group

model to business

model to business

model to business

model to business

StateManiche

Behavior

(from org::omg::uml2::commonbehaviors2)

Region

stateMachine

{subsets namespace}

+0..1

region

{subsets ownedMember}

+1..*

State

-/isComposite:Boolean

-/isOrthogonal:Boolean

-/isSimple:Boolean

-/isSubmachineState:Boolean

state

{subsets namespace}

+0..1

region

{subsets ownedMember}

+*

Transition

-kind:TransitionKind

container

{subsets owner}

+

1

transition

{subsets ownedElement}

+

*

Vertex

container

{redefines owner}

+

0..1subvertex

{subsets ownedElement}

+*

FinalState Constraint

(from org::omg::uml2::core2)

owningState+ 0..1

stateInvariant+

0..1

Trigger

(from org::omg::uml2::compositestructures2)* deferrableTrigger+

*

Activity

(from org::omg::uml2::commonbehaviors2)

-body:String[0..1]

-language:String[0..1]

-isSingleExecution:Boolean=false

-isReadOnly:Boolean=false

0..1

effect

{subsets ownedElement}

+

0..1

0..1entry

{subsets ownedElement}

+

0..1

0..1exit

{subsets ownedElement}

+

0..1

0..1doActivity

{subsets ownedElement}

+

0..1

Pseudostate

-kind:PseudostateKind

ConnectionPointReference

*

exit+ 0..1

*

entry+ 0..1

0..1connection

{subsets ownedElement}

+

*

submachine+

0..1

submachineState+

*

0..1

connectionPoint

{subsets ownedMember}

+

*

*

trigger+

*

0..1

guard+

0..1

BehavioredClassifier

(from org::omg::uml2::commonbehaviors2)

{subsets redefinitionContext}+

0..1

ownedSateMachine

{redefines ownedBehavior

+

*

context+

0..1ownedBehavior+

*

<< enumeration >>

TransitionKind

-internal:

-local:

-external:

<< enumeration >>

PseudostateKind

-initial:

-deepHistory:

-shallowHistory:int

-join:

-fork :

-junction:

-choice:

-entryPoint:

-exitPoint:

-terminate:

UML 2 Metamodel for States

8888a member of

the b+m group

model to business

model to business

model to business

model to business

UML 1 vs UML 2 for States

container+

0..1

subvertex+

*

0..1

top+1

State

-/isComposite:Boolean

-/isOrthogonal:Boolean

-/isSimple:Boolean

-/isSubmachineSate:Boolean

FinalStateCompositeState SimpleState

SubmachineState

Region

state+

0..1

region+ *

Trigger

* defferableTrigger+

*

Event

* deferrableEvent+

*

Event was replaced by

Trigger, also changed:

- Mutliplicity,

- navigation

- compositon

Transition

-kind:TransitionKind

container+

1

transition+ *

*

trigger+*

1

trigger+

0..1

<< enumeration>>

TransitionKind

-internal:int

-local:int

-external:int

<< enumeration>>

PseudostateKind

-initial:int

-deepHistory:int

-shallowHistory:int

-join:int

-fork:int

-junction:int

-choice:int

-entryPoint:int

-exitPoint:int

-terminate:int

Vertex

old type: StateVertex

Pseudostate

-kind:PseudostateKind

ConnectionPointReference

0..1

exit+ *

0..1

entry+ *

0..1connection+*

SubStateSynchState

incoming+ *target+1

outgoing+ *source+1

no subinterfaces

anymore

StateMachine

container+

0..1

subvertex+*

stateMachine+0..1

region+1..*

submachineState+ *

submachine+ 0..1

1

submachine+ 1

moved association

0..1

connectionPoint+

*

Constraint

owningState+0..1

stateInvariant+

0..1

0..1

guard+

0..1

Guard

1

guard+

0..1

Guard was replaced by

Constraint, also changed

multiplicity

0..1

transitions+1

moved assocition to

Region

Activity

0..1

effect+0..1

0..1 doActivity+

0..1

0..1 exit+

0..1

0..1 entry+

0..1

old type:

Action

internalTransition+ *

0..1

replaced internalTransition

eventually

interchange

multiplicities??

The spec. definies this

a composition. But in the

xmi it is a association.

Page 5: From Product Manufacturer to Eclipse MDSD Projects model ... · From Product Manufacturer to Eclipse MDSD Projects The Transformation of Gentleware AG Dr. Marko Boger, CEO Dr. Jan

5

9999a member of

the b+m group

model to business

model to business

model to business

model to business

Revenue 2007

36%

64%

Products

Consulting & Projects

The Structural Change of Gentleware

Revenue 2006

92%

8%

10101010a member of

the b+m group

model to business

model to business

model to business

model to business

Gentleware joined the b+m Group

� IT Service Provider

� Focus on model driven software projects

� Initiator of the openArchitectureWare Generator

Framework

� Active in a variety of domains

� Founded in 1994

� Turnover in 2006: 20,8 Mio. €

� Team: 227 Employees

� www.bmiag.de

Page 6: From Product Manufacturer to Eclipse MDSD Projects model ... · From Product Manufacturer to Eclipse MDSD Projects The Transformation of Gentleware AG Dr. Marko Boger, CEO Dr. Jan

6

11111111a member of

the b+m group

model to business

model to business

model to business

model to business

The joint b+m Gentleware Service

� b+m Engineering

TestTestIntegrationIntegrationSpezifikationSpezifikationEnterpriseArchitektur

EnterpriseArchitektur IT LösungIT Lösung ProduktionProduktionStrategieStrategie

QualitätQualität

MethodikMethodik

Projektmanagement / ReleasemanagementProjektmanagement / Releasemanagement

12121212a member of

the b+m group

model to business

model to business

model to business

model to business

Our Development Process

ModelModelModelModel

1111 DSL DesignDSL DesignDSL DesignDSL Design

2222 Model Editor in EclipseModel Editor in EclipseModel Editor in EclipseModel Editor in Eclipse

3333 Generator in oAWGenerator in oAWGenerator in oAWGenerator in oAW

BusinessBusinessBusinessBusiness

Page 7: From Product Manufacturer to Eclipse MDSD Projects model ... · From Product Manufacturer to Eclipse MDSD Projects The Transformation of Gentleware AG Dr. Marko Boger, CEO Dr. Jan

7

13131313a member of

the b+m group

model to business

model to business

model to business

model to business

GMF Development Process

Custo

miz

ation

Testin

g

Custom plug-in

(Java code)

Create

custom plug-in

OK?

Test

Mod

elin

gG

en

era

tion

*.gmfmap

Create

mapping model

Create

tooling model

Create

graphical model

Create

domain model

*.gmftool

*.gmfgraph

*.ecore

*.gmfgen Generate

generation model

GMF plug-in

(Java code)

Create GMF

editor plug-in

ad: GMF-Entwicklungsprozess

14141414a member of

the b+m group

model to business

model to business

model to business

model to business

Apollo for Eclipse

Page 8: From Product Manufacturer to Eclipse MDSD Projects model ... · From Product Manufacturer to Eclipse MDSD Projects The Transformation of Gentleware AG Dr. Marko Boger, CEO Dr. Jan

8

15151515a member of

the b+m group

model to business

model to business

model to business

model to business

Apollo for Eclipse

� Features:

� Fully synchronized roundtrip engineering for Java <>> UML2

� Scalability

� Code discovery

� Challenges:

� Build one of the first commercial products based on GMF

� Build Gentleware’s first product based on Eclipse

� Switch to Eclipse IDE for development

� IDE is part of the product

� Build/test infrastructure

� Learn how to use a lot of new frameworks

� Keep compatibility with other Eclipse plug>ins

� UML2 / GMF mismatches

� Improve scalability of EMF and GMF

16161616a member of

the b+m group

model to business

model to business

model to business

model to business

Homer

Page 9: From Product Manufacturer to Eclipse MDSD Projects model ... · From Product Manufacturer to Eclipse MDSD Projects The Transformation of Gentleware AG Dr. Marko Boger, CEO Dr. Jan

9

17171717a member of

the b+m group

model to business

model to business

model to business

model to business

Athene for OWL

18181818a member of

the b+m group

model to business

model to business

model to business

model to business

Flowers

Page 10: From Product Manufacturer to Eclipse MDSD Projects model ... · From Product Manufacturer to Eclipse MDSD Projects The Transformation of Gentleware AG Dr. Marko Boger, CEO Dr. Jan

10

19191919a member of

the b+m group

model to business

model to business

model to business

model to business

Flowers

� Showcase for modeling abstractions and tooling for

screen based J2EE applications

� Entity, Service, Screenflow

� Integration into WTP

� Sample code generator for Hibernate, Spring, WebFlow

� Enabling rapid prototyping for J2EE

� Model and see results immediately

20202020a member of

the b+m group

model to business

model to business

model to business

model to business

Hermes

Page 11: From Product Manufacturer to Eclipse MDSD Projects model ... · From Product Manufacturer to Eclipse MDSD Projects The Transformation of Gentleware AG Dr. Marko Boger, CEO Dr. Jan

11

21212121a member of

the b+m group

model to business

model to business

model to business

model to business

Hermes

� Prototype for modeling SOA applications

� BPM, Services, Screenflows

� Bridges connecting model elements from different

(meta)model partitions

� UI as popup buttons and properties

� Model validation

22222222a member of

the b+m group

model to business

model to business

model to business

model to business

Zeus

Page 12: From Product Manufacturer to Eclipse MDSD Projects model ... · From Product Manufacturer to Eclipse MDSD Projects The Transformation of Gentleware AG Dr. Marko Boger, CEO Dr. Jan

12

23232323a member of

the b+m group

model to business

model to business

model to business

model to business

Zeus

� J2EE application modeling environment

� Challenges

� Integration into existing MDSD tool chain

� Model browser

� Non>canonical diagrams

� Diagram repair

� Automatically adding connections

� Generated bridge UI

� Model validation

24242424a member of

the b+m group

model to business

model to business

model to business

model to business

Asklepios