Download presentation
Presentation is loading. Please wait.
1
Page 1 Model Based Software Development - a pragmatic view Mikkel Lauritsen Intentia R&D A/S mikkel.lauritsen@intentia.dk
2
Page 2 Introduction Modeling Model based software development ... in an ideal world: MDA ... in the real world: DSL’s Demo Summary and questions Agenda
3
Page 3 The next 2 x 45 minutes will be Pragmatic Useful in ”the real world” Focused on technology Introduction
4
Page 4 $ The business angle
5
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
6
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
7
Page 7 Introduction Modeling Model based software development ... in an ideal world: MDA ... in the real world: DSL’s Demo Summary and questions Agenda
8
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
9
Page 9 Level 0Information (data) Product(”DVD Player”, 299.95) Level 1Model (metadata) Record(”Product”, (Field(”name”, String), Field(”price”, Money)) Level 2Metamodel (meta-metadata) Class(”Record”, (Attr(”name”, String), Attr(”fields”, List )) Class(”Field”, […]) Level 3Meta-metamodel Hardwired Modeling
10
Page 10 Introduction Modeling Model based software development ... in an ideal world: MDA ... in the real world: DSL’s Demo Summary and questions Agenda
11
Page 11 What is software development? Specification Design Coding Testing etc. And processes to connect it all Software development
12
Page 12 ´The challenge: it’s too difficult Coding Time to write code Total time Program size Time spent
13
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)
14
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
15
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
16
Page 16 Introduction Modeling Model based software development ... in an ideal world: MDA ... in the real world: DSL’s Demo Summary and questions Agenda
17
Page 17 MDA is defined by the Object Management Group, OMG http://www.omg.org Much theory, little practice Modeling: Model Driven Architecture
18
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
19
Page 19 Mix of multiple languages for separate domains Not really useful Modeling: Unified Modeling Language
20
Page 20 XML is a way of expressing metadata (structure) in textual data Effective XML Elliotte Rusty Harold 31.49 XML is really great because of ubiquitous tooling human readability Modeling: (XMI and) XML
21
Page 21 Introduction Modeling Model based software development ... in an ideal world: MDA ... in the real world: DSL’s Demo Summary and questions Agenda
22
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
23
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
24
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
25
Page 25 Introduction Modeling Model based software development ... in an ideal world: MDA ... in the real world: DSL’s Demo Summary and questions Agenda
26
Page 26 Demo
27
Page 27 Introduction Modeling Model based software development ... in an ideal world: MDA ... in the real world: DSL’s Demo Summary and questions Agenda
28
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
29
Page 29
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.