A Flexible MDATool Set Anneke Kleppe Klasse Objecten.

21
A Flexible MDATool Set Anneke Kleppe Klasse Objecten

description

Part 0: MDA Intro

Transcript of A Flexible MDATool Set Anneke Kleppe Klasse Objecten.

Page 1: A Flexible MDATool Set Anneke Kleppe Klasse Objecten.

A Flexible MDATool Set

Anneke KleppeKlasse Objecten

Page 2: A Flexible MDATool Set Anneke Kleppe Klasse Objecten.

Outline• Intro• Future MDA tools• Today’s MDA tools

Page 3: A Flexible MDATool Set Anneke Kleppe Klasse Objecten.

Part 0: MDA Intro

Page 4: A Flexible MDATool Set Anneke Kleppe Klasse Objecten.

MDA Overview

SQL - EJB EJB - JSP PSM JSPPSM SQL PSM EJB

Platform Independent Model

JSPCode

SQLCode

EJBCode

Page 5: A Flexible MDATool Set Anneke Kleppe Klasse Objecten.

Why Model Driven?• Productivity?• Portability?• Interoperability?• Maintenance and documentation?• Raising the level of abstraction!

– Handling more complex systems

Page 6: A Flexible MDATool Set Anneke Kleppe Klasse Objecten.

MDA: a Revolution• 1960-1970: from

assembler to 3GL languages

• 2000-2010: from 3GL languages to modeling languages

Page 7: A Flexible MDATool Set Anneke Kleppe Klasse Objecten.

Future software developmentNew roles for people involved:• Model creator (PIM analyst)• Transformation engineer (PSM

creator)• Transformation definition developer• Language designer

Page 8: A Flexible MDATool Set Anneke Kleppe Klasse Objecten.

Software Development in 2015

Page 9: A Flexible MDATool Set Anneke Kleppe Klasse Objecten.

Part 1: Future MDA Tools

Page 10: A Flexible MDATool Set Anneke Kleppe Klasse Objecten.

Tools• What type of tools are there?

MDA Connectivity Bus

ModelEditor

ModelValidator

ModelRepository

Code FileGenerator

Code FileEditor(IDE)

TransformDef.Editor

TransformExecutor

Transf. Def.Repository

LanguageDef. Editor

LanguageRepository

Page 11: A Flexible MDATool Set Anneke Kleppe Klasse Objecten.

Requirements: Modeling Tools• Multi-user• Easy switch between visual /

overview and textual / detail view• Early error detection / debug options• Code completion• Version controlEverything programming IDEs offer

today

Page 12: A Flexible MDATool Set Anneke Kleppe Klasse Objecten.

Requirements: Language ToolsLanguage Def. Editor:• See Modeling Tools• Extra: support for defining semantics

Language Def. Repository:• See Transf. Def. Repository

Page 13: A Flexible MDATool Set Anneke Kleppe Klasse Objecten.

Requirements: TD Editor• See Modeling Tools

Page 14: A Flexible MDATool Set Anneke Kleppe Klasse Objecten.

Requirements: TD Repository• Classifications of Transf Defs

– domain->GUI, domain->Web, domain->DB– Java->ER, UML->C#– Realtime process control, data entry

• Easy access: library system tags• Quality assessments

Page 15: A Flexible MDATool Set Anneke Kleppe Klasse Objecten.

Requirements: TD Executor• General (QVT) executors and hard coded

ones• Tuneable

– I.e. value of x in “transform all strings in UML model to CHARVAR[x]”

– I.e. on/off switch for aspects• Output = input for another executor• Open source and proprietary tools• Quality assessments of tools

Page 16: A Flexible MDATool Set Anneke Kleppe Klasse Objecten.

Requirements: General• Connectivity bus that supports

interoperability– For instance, by providing a single XMI parser

• Open standards supporting interchange – Modeling Languages (UML XMI is not a good

example)– Transformation Definitions

Page 17: A Flexible MDATool Set Anneke Kleppe Klasse Objecten.

Part 2: Today’s tools

Page 18: A Flexible MDATool Set Anneke Kleppe Klasse Objecten.

Modeling tools• Not really multi-user• Few validation options• Break between overview and detail

view

Page 19: A Flexible MDATool Set Anneke Kleppe Klasse Objecten.

Language tools• No support for

expressing semantics

Look’s likea house.

It’s beauty.

Page 20: A Flexible MDATool Set Anneke Kleppe Klasse Objecten.

Transformation tools• No repositories• Executors mostly hardcoded

– Exception: ArcStyler• Little connectivity

– Not possible to make a chain of executors• Little tuneability / Do It Yourself tuneability• Some open source tools available

– AndroMDA, Octopus

Page 21: A Flexible MDATool Set Anneke Kleppe Klasse Objecten.

Conclusion• Raising the level of abstraction will

improve– Productivity, portability, interoperability, etc.

• Fulfilling full potential needs extra attention

• 100% feasible• MDA is necessary to cope with more

complex client demands