page 1 model based software development - a pragmatic view mikkel lauritsen intentia r&d a/s...
Post on 19-Dec-2015
216 views
TRANSCRIPT
![Page 1: Page 1 Model Based Software Development - a pragmatic view Mikkel Lauritsen Intentia R&D A/S mikkel.lauritsen@intentia.dk](https://reader035.vdocuments.us/reader035/viewer/2022062421/56649d3a5503460f94a14220/html5/thumbnails/1.jpg)
Page 1
Model Based Software Development- a pragmatic view
Mikkel LauritsenIntentia R&D A/S
![Page 2: Page 1 Model Based Software Development - a pragmatic view Mikkel Lauritsen Intentia R&D A/S mikkel.lauritsen@intentia.dk](https://reader035.vdocuments.us/reader035/viewer/2022062421/56649d3a5503460f94a14220/html5/thumbnails/2.jpg)
Page 2
Introduction
Modeling
Model based software development
... in an ideal world: MDA
... in the real world: DSL’s
Demo
Summary and questions
Agenda
![Page 3: Page 1 Model Based Software Development - a pragmatic view Mikkel Lauritsen Intentia R&D A/S mikkel.lauritsen@intentia.dk](https://reader035.vdocuments.us/reader035/viewer/2022062421/56649d3a5503460f94a14220/html5/thumbnails/3.jpg)
Page 3
The next 2 x 45 minutes will be
Pragmatic
Useful in ”the real world”
Focused on technology
Introduction
![Page 4: Page 1 Model Based Software Development - a pragmatic view Mikkel Lauritsen Intentia R&D A/S mikkel.lauritsen@intentia.dk](https://reader035.vdocuments.us/reader035/viewer/2022062421/56649d3a5503460f94a14220/html5/thumbnails/4.jpg)
Page 4
$The business angle
![Page 5: Page 1 Model Based Software Development - a pragmatic view Mikkel Lauritsen Intentia R&D A/S mikkel.lauritsen@intentia.dk](https://reader035.vdocuments.us/reader035/viewer/2022062421/56649d3a5503460f94a14220/html5/thumbnails/5.jpg)
Page 5
Hopefully you will get an idea about
What is model driven software development?
Why use it?
Other stuff includes
a bunch of acronyms
Introduction
![Page 6: Page 1 Model Based Software Development - a pragmatic view Mikkel Lauritsen Intentia R&D A/S mikkel.lauritsen@intentia.dk](https://reader035.vdocuments.us/reader035/viewer/2022062421/56649d3a5503460f94a14220/html5/thumbnails/6.jpg)
Page 6
Who am I?
33 years old, MSc in computer science
Works as a software architect at Intentia R&D in Ballerup
Does model based J2EE e-Commerce applications for a living
Introduction
![Page 7: Page 1 Model Based Software Development - a pragmatic view Mikkel Lauritsen Intentia R&D A/S mikkel.lauritsen@intentia.dk](https://reader035.vdocuments.us/reader035/viewer/2022062421/56649d3a5503460f94a14220/html5/thumbnails/7.jpg)
Page 7
Introduction
Modeling
Model based software development
... in an ideal world: MDA
... in the real world: DSL’s
Demo
Summary and questions
Agenda
![Page 8: Page 1 Model Based Software Development - a pragmatic view Mikkel Lauritsen Intentia R&D A/S mikkel.lauritsen@intentia.dk](https://reader035.vdocuments.us/reader035/viewer/2022062421/56649d3a5503460f94a14220/html5/thumbnails/8.jpg)
Page 8
As defined by OMG:
Designing before coding
A model is an abstraction – it gives a high-level description of objects
Models are often graphical
You often have specialized tooling for modeling
Modeling
![Page 9: Page 1 Model Based Software Development - a pragmatic view Mikkel Lauritsen Intentia R&D A/S mikkel.lauritsen@intentia.dk](https://reader035.vdocuments.us/reader035/viewer/2022062421/56649d3a5503460f94a14220/html5/thumbnails/9.jpg)
Page 9
Level 0 Information (data)
Product(”DVD Player”, 299.95)
Level 1 Model (metadata)
Record(”Product”, (Field(”name”, String), Field(”price”, Money))
Level 2 Metamodel (meta-metadata)
Class(”Record”, (Attr(”name”, String), Attr(”fields”, List<”Field”>))
Class(”Field”, […])
Level 3 Meta-metamodel
Hardwired
Modeling
![Page 10: Page 1 Model Based Software Development - a pragmatic view Mikkel Lauritsen Intentia R&D A/S mikkel.lauritsen@intentia.dk](https://reader035.vdocuments.us/reader035/viewer/2022062421/56649d3a5503460f94a14220/html5/thumbnails/10.jpg)
Page 10
Introduction
Modeling
Model based software development
... in an ideal world: MDA
... in the real world: DSL’s
Demo
Summary and questions
Agenda
![Page 11: Page 1 Model Based Software Development - a pragmatic view Mikkel Lauritsen Intentia R&D A/S mikkel.lauritsen@intentia.dk](https://reader035.vdocuments.us/reader035/viewer/2022062421/56649d3a5503460f94a14220/html5/thumbnails/11.jpg)
Page 11
What is software development?
Specification
Design
Coding
Testing
etc.
And processes to connect it all
Software development
![Page 12: Page 1 Model Based Software Development - a pragmatic view Mikkel Lauritsen Intentia R&D A/S mikkel.lauritsen@intentia.dk](https://reader035.vdocuments.us/reader035/viewer/2022062421/56649d3a5503460f94a14220/html5/thumbnails/12.jpg)
Page 12
´The challenge: it’s too difficult
Coding
Time to write code
Total time
Program size
Time spent
![Page 13: Page 1 Model Based Software Development - a pragmatic view Mikkel Lauritsen Intentia R&D A/S mikkel.lauritsen@intentia.dk](https://reader035.vdocuments.us/reader035/viewer/2022062421/56649d3a5503460f94a14220/html5/thumbnails/13.jpg)
Page 13
The natural extension of programming languages
High-level primitives
The model becomes the code
Model based software development
Model(program) Artifacts
Generator(compiler)
![Page 14: Page 1 Model Based Software Development - a pragmatic view Mikkel Lauritsen Intentia R&D A/S mikkel.lauritsen@intentia.dk](https://reader035.vdocuments.us/reader035/viewer/2022062421/56649d3a5503460f94a14220/html5/thumbnails/14.jpg)
Page 14
Design = code
Reduced time consumption – lower cost.
Early validation – perhaps more in theory than in practice
Agility
Simplicity - avoid (some of) the complexity that always creeps into large software projects
Platform independence
Advantages of model based development
![Page 15: Page 1 Model Based Software Development - a pragmatic view Mikkel Lauritsen Intentia R&D A/S mikkel.lauritsen@intentia.dk](https://reader035.vdocuments.us/reader035/viewer/2022062421/56649d3a5503460f94a14220/html5/thumbnails/15.jpg)
Page 15
Compared to component libraries, modeling and code generation gives you
Simplicity
Consistency checking
Portability
No need for AOP and other dirty tricks
Modeling vs. component libraries
![Page 16: Page 1 Model Based Software Development - a pragmatic view Mikkel Lauritsen Intentia R&D A/S mikkel.lauritsen@intentia.dk](https://reader035.vdocuments.us/reader035/viewer/2022062421/56649d3a5503460f94a14220/html5/thumbnails/16.jpg)
Page 16
Introduction
Modeling
Model based software development
... in an ideal world: MDA
... in the real world: DSL’s
Demo
Summary and questions
Agenda
![Page 17: Page 1 Model Based Software Development - a pragmatic view Mikkel Lauritsen Intentia R&D A/S mikkel.lauritsen@intentia.dk](https://reader035.vdocuments.us/reader035/viewer/2022062421/56649d3a5503460f94a14220/html5/thumbnails/17.jpg)
Page 17
MDA is defined by the Object Management Group, OMG
http://www.omg.org
Much theory, little practice
Modeling: Model Driven Architecture
![Page 18: Page 1 Model Based Software Development - a pragmatic view Mikkel Lauritsen Intentia R&D A/S mikkel.lauritsen@intentia.dk](https://reader035.vdocuments.us/reader035/viewer/2022062421/56649d3a5503460f94a14220/html5/thumbnails/18.jpg)
Page 18
Not targeted at any specific kind of applications
The core concern: platform independency
Platform Independent Model describes business logic
Platform Specific Model describes mapping to underlying platform
From the PIM programs are generated using one or more PSM’s
Modeling: MDA
![Page 19: Page 1 Model Based Software Development - a pragmatic view Mikkel Lauritsen Intentia R&D A/S mikkel.lauritsen@intentia.dk](https://reader035.vdocuments.us/reader035/viewer/2022062421/56649d3a5503460f94a14220/html5/thumbnails/19.jpg)
Page 19
Mix of multiple languages for separate domains
Not really useful
Modeling: Unified Modeling Language
![Page 20: Page 1 Model Based Software Development - a pragmatic view Mikkel Lauritsen Intentia R&D A/S mikkel.lauritsen@intentia.dk](https://reader035.vdocuments.us/reader035/viewer/2022062421/56649d3a5503460f94a14220/html5/thumbnails/20.jpg)
Page 20
XML is a way of expressing metadata (structure) in textual data
<book>
<title>Effective XML</title>
<author>Elliotte Rusty Harold</author>
<price>31.49</price>
</book>
XML is really great because of
ubiquitous tooling
human readability
Modeling: (XMI and) XML
![Page 21: Page 1 Model Based Software Development - a pragmatic view Mikkel Lauritsen Intentia R&D A/S mikkel.lauritsen@intentia.dk](https://reader035.vdocuments.us/reader035/viewer/2022062421/56649d3a5503460f94a14220/html5/thumbnails/21.jpg)
Page 21
Introduction
Modeling
Model based software development
... in an ideal world: MDA
... in the real world: DSL’s
Demo
Summary and questions
Agenda
![Page 22: Page 1 Model Based Software Development - a pragmatic view Mikkel Lauritsen Intentia R&D A/S mikkel.lauritsen@intentia.dk](https://reader035.vdocuments.us/reader035/viewer/2022062421/56649d3a5503460f94a14220/html5/thumbnails/22.jpg)
Page 22
More specific metamodel and code generation than in MDA
DSL’s have primitives that somehow match a domain
… defined technically, functionality-wise or in other ways
Examples: see http://compose.labri.fr/documentation/dsl/
Modeling: Domain Specific Languages
![Page 23: Page 1 Model Based Software Development - a pragmatic view Mikkel Lauritsen Intentia R&D A/S mikkel.lauritsen@intentia.dk](https://reader035.vdocuments.us/reader035/viewer/2022062421/56649d3a5503460f94a14220/html5/thumbnails/23.jpg)
Page 23
On top of the advantages of more generic modeling like UML
Better coverage
Consistency checking - at a high level
All in all:
SIMPLICITY
Advantages of DSL’s
![Page 24: Page 1 Model Based Software Development - a pragmatic view Mikkel Lauritsen Intentia R&D A/S mikkel.lauritsen@intentia.dk](https://reader035.vdocuments.us/reader035/viewer/2022062421/56649d3a5503460f94a14220/html5/thumbnails/24.jpg)
Page 24
Handling of nonfunctional requirements like
Performance
Concurrency support
Security
DSL’s make it harder to shoot yourself in the foot
Advantages of DSL’s, continued
![Page 25: Page 1 Model Based Software Development - a pragmatic view Mikkel Lauritsen Intentia R&D A/S mikkel.lauritsen@intentia.dk](https://reader035.vdocuments.us/reader035/viewer/2022062421/56649d3a5503460f94a14220/html5/thumbnails/25.jpg)
Page 25
Introduction
Modeling
Model based software development
... in an ideal world: MDA
... in the real world: DSL’s
Demo
Summary and questions
Agenda
![Page 26: Page 1 Model Based Software Development - a pragmatic view Mikkel Lauritsen Intentia R&D A/S mikkel.lauritsen@intentia.dk](https://reader035.vdocuments.us/reader035/viewer/2022062421/56649d3a5503460f94a14220/html5/thumbnails/26.jpg)
Page 26
Demo
![Page 27: Page 1 Model Based Software Development - a pragmatic view Mikkel Lauritsen Intentia R&D A/S mikkel.lauritsen@intentia.dk](https://reader035.vdocuments.us/reader035/viewer/2022062421/56649d3a5503460f94a14220/html5/thumbnails/27.jpg)
Page 27
Introduction
Modeling
Model based software development
... in an ideal world: MDA
... in the real world: DSL’s
Demo
Summary and questions
Agenda
![Page 28: Page 1 Model Based Software Development - a pragmatic view Mikkel Lauritsen Intentia R&D A/S mikkel.lauritsen@intentia.dk](https://reader035.vdocuments.us/reader035/viewer/2022062421/56649d3a5503460f94a14220/html5/thumbnails/28.jpg)
Page 28
Model based software development: generate code from model
Increases simplicity, lowers price
Allows you to focus on business value instead of technical details
Questions?
Summary and questions
![Page 29: Page 1 Model Based Software Development - a pragmatic view Mikkel Lauritsen Intentia R&D A/S mikkel.lauritsen@intentia.dk](https://reader035.vdocuments.us/reader035/viewer/2022062421/56649d3a5503460f94a14220/html5/thumbnails/29.jpg)
Page 29