Meta.ppt 1
TDT4250 - Model-driven Development of Information Systems, Autumn 2009
Model-based development
- Meta-modelling
- creating new languages
- Domain-specific languages
- some languages are domain-specific
- Model-based techniques
- general techniques
Model-based development Meta-modelling creating new languages - - PowerPoint PPT Presentation
TDT4250 - Model-driven Development of Information Systems, Autumn 2009 Model-based development Meta-modelling creating new languages Domain-specific languages some languages are domain-specific Model-based
Meta.ppt 1
TDT4250 - Model-driven Development of Information Systems, Autumn 2009
3
TDT4250 - Model-driven Development of Information Systems, Autumn 2009
Comprehensibility appropriateness Organizational appropriateness Participant appropriateness Domain appropriateness Tool appropriateness Modeller appropriateness
4
TDT4250 - Model-driven Development of Information Systems, Autumn 2009
Instance: John Krogstie as lecturer in TDT4250 in 2007 Model (type): Lecturer in course Meta-model: Entity class, relationship class Meta-meta-model: Node, edge
Semantic description vs. basis for model-repository Conceptual vs. logical vs. physical language-model
5
TDT4250 - Model-driven Development of Information Systems, Autumn 2009
6
TDT4250 - Model-driven Development of Information Systems, Autumn 2009
7
TDT4250 - Model-driven Development of Information Systems, Autumn 2009
ER or similar UML (class diagrams) GOPRR (Graph Object Property Role Relationship) (Used in
Meta.ppt 8
TDT4250 - Model-driven Development of Information Systems, Autumn 2009
9
TDT4250 - Model-driven Development of Information Systems, Autumn 2009
10
TDT4250 - Model-driven Development of Information Systems, Autumn 2009
Uses domain abstractions Applies domain concepts and rules as modeling constructs
Apply familiar terminology Solve the right problems Solve problems only once
11
TDT4250 - Model-driven Development of Information Systems, Autumn 2009
Fundamental productivity improvements (3-10 times)
Shorter intervals Lower costs Fewer people needed
Faster change responsiveness
Manage changes in domain instead of code
Leverage expertise inside the team
Put your expert’s knowledge in a tool
“Hide” domain complexity
DSM includes domain rules
http://www.dsmforum.org
12
TDT4250 - Model-driven Development of Information Systems, Autumn 2009
"A module that was expected to take 2 weeks... took 1 day
Domain-oriented method allows developers to concentrate
“Earlier it took 6 months for a new worker to become
13
TDT4250 - Model-driven Development of Information Systems, Autumn 2009
Translation to state machines Translation to C
From several cases From several DSMs
14
TDT4250 - Model-driven Development of Information Systems, Autumn 2009
DSM is 3 times faster than code components DSM leads to fewer errors: about 50% less DSM gives “superior flexibility in handling a greater range of
15
TDT4250 - Model-driven Development of Information Systems, Autumn 2009
Expert (few) Normal (many)
16
TDT4250 - Model-driven Development of Information Systems, Autumn 2009
17
TDT4250 - Model-driven Development of Information Systems, Autumn 2009
18
TDT4250 - Model-driven Development of Information Systems, Autumn 2009
19
TDT4250 - Model-driven Development of Information Systems, Autumn 2009
20
TDT4250 - Model-driven Development of Information Systems, Autumn 2009
Metametamodel
Object Role Relationship
Metamodel
Button Alarm
Model
Wake InstanceOf
System in operation
Down button pressed InstanceOf Down InstanceOf Sets InstanceOf
Property Graph
21
TDT4250 - Model-driven Development of Information Systems, Autumn 2009
22
TDT4250 - Model-driven Development of Information Systems, Autumn 2009
e.g end-users’ notation, customers’ notation
23
TDT4250 - Model-driven Development of Information Systems, Autumn 2009
Component use Code generation Review etc.
24
TDT4250 - Model-driven Development of Information Systems, Autumn 2009
25
TDT4250 - Model-driven Development of Information Systems, Autumn 2009
26
TDT4250 - Model-driven Development of Information Systems, Autumn 2009
28
TDT4250 - Model-driven Development of Information Systems, Autumn 2009
29
TDT4250 - Model-driven Development of Information Systems, Autumn 2009
30
TDT4250 - Model-driven Development of Information Systems, Autumn 2009
31
TDT4250 - Model-driven Development of Information Systems, Autumn 2009
A platform-independent UML model (PIM) Many platform-specific UML models (PSM)
Real needs are interoperability and productivity
How to make models precise enough to compile What to model for given type of system How to integrate models with requirements, architecture,
How to fit models into the development process How to use models across the life cycle
32
TDT4250 - Model-driven Development of Information Systems, Autumn 2009
33
TDT4250 - Model-driven Development of Information Systems, Autumn 2009
Testing, Database, User Process, Services
Large, complex, inconsistent, disorganized
Stereotypes and tags have no behavior
Defined by prose not by translation or execution
Makes models hard to map to storage systems
35
TDT4250 - Model-driven Development of Information Systems, Autumn 2009
EMF provides platform for DSL
Ecore – (meta)model for design and runtime EMF.Edit & Editor – edit support and tree-based editor EMF.Codegen – generic code generation mechanism
GMF – graphical editor runtime and generator
builds on Ecore model of language concepts domain-specific languages for (among others)
graphical syntax, i.e. structure of diagram symbols mapping between conceptual language and graphical syntax
generates a complete graphical editor
palette and pop-up tools for editing saves concepts and diagram elements in separate files
36
TDT4250 - Model-driven Development of Information Systems, Autumn 2009
domain-specific language for
textual language grammer implicitly defines Ecore language model
generates a complete textual editor
syntax coloring and highlighting completion navigation and find references folding, outline and quick outline syntax checking / error markers
37
TDT4250 - Model-driven Development of Information Systems, Autumn 2009
model to model (M2M) using ATL (QVT) model to text (M2T) using JET or Xpand