21
A Flexible MDATool Set Anneke Kleppe Klasse Objecten

A Flexible MDATool Set Anneke Kleppe Klasse Objecten

Embed Size (px)

DESCRIPTION

Part 0: MDA Intro

Citation preview

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