A Flexible MDATool Set Anneke Kleppe Klasse Objecten.

Post on 20-Jan-2018

224 views 0 download

description

Part 0: MDA Intro

Transcript of A Flexible MDATool Set Anneke Kleppe Klasse Objecten.

A Flexible MDATool Set

Anneke KleppeKlasse Objecten

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

Part 0: MDA Intro

MDA Overview

SQL - EJB EJB - JSP PSM JSPPSM SQL PSM EJB

Platform Independent Model

JSPCode

SQLCode

EJBCode

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

– Handling more complex systems

MDA: a Revolution• 1960-1970: from

assembler to 3GL languages

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

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

creator)• Transformation definition developer• Language designer

Software Development in 2015

Part 1: Future MDA Tools

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

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

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

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

Requirements: TD Editor• See Modeling Tools

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

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

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

Part 2: Today’s tools

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

view

Language tools• No support for

expressing semantics

Look’s likea house.

It’s beauty.

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

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