Presentation is loading. Please wait.

Presentation is loading. Please wait.

Page 1 Model Based Software Development - a pragmatic view Mikkel Lauritsen Intentia R&D A/S

Similar presentations


Presentation on theme: "Page 1 Model Based Software Development - a pragmatic view Mikkel Lauritsen Intentia R&D A/S"— Presentation transcript:

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


Download ppt "Page 1 Model Based Software Development - a pragmatic view Mikkel Lauritsen Intentia R&D A/S"

Similar presentations


Ads by Google