Upload
moses-bell
View
223
Download
0
Embed Size (px)
DESCRIPTION
Part 0: MDA Intro
Citation preview
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