8
OOPSLA workshop on Domain-Specific Modeling (DSM’03) 1 Vasco Amaral, Univ. of Mannheim Steve Cook, Microsoft Daniel Dvorak, JPL/Cal Tech Lars Grunske, HPI James Tolles, Earthlink Jon Whittle, NASA AMES Research Center DSM Practice

OOPSLA workshop on Domain-Specific Modeling (DSM’03) 1 Vasco Amaral, Univ. of Mannheim Steve Cook, Microsoft Daniel Dvorak, JPL/Cal Tech Lars Grunske,

Embed Size (px)

Citation preview

Page 1: OOPSLA workshop on Domain-Specific Modeling (DSM’03) 1 Vasco Amaral, Univ. of Mannheim Steve Cook, Microsoft Daniel Dvorak, JPL/Cal Tech Lars Grunske,

OOPSLA workshop on Domain-Specific Modeling (DSM’03) 1

Vasco Amaral, Univ. of MannheimSteve Cook, Microsoft

Daniel Dvorak, JPL/Cal TechLars Grunske, HPI

James Tolles, EarthlinkJon Whittle, NASA AMES Research Center

DSM Practice

Page 2: OOPSLA workshop on Domain-Specific Modeling (DSM’03) 1 Vasco Amaral, Univ. of Mannheim Steve Cook, Microsoft Daniel Dvorak, JPL/Cal Tech Lars Grunske,

OOPSLA workshop on Domain-Specific Modeling (DSM’03) 2

DSMs vs DSLs

A Domain Specific (Modeling) Language is a language designed to express the variabilities within a problem space– Metamodel = abstract syntax = concepts– Notations (text and diagrams)– Targets & mapping to the targets

A Domain Specific Model is a “sentence” in a Domain Specific Modeling Language

Page 3: OOPSLA workshop on Domain-Specific Modeling (DSM’03) 1 Vasco Amaral, Univ. of Mannheim Steve Cook, Microsoft Daniel Dvorak, JPL/Cal Tech Lars Grunske,

OOPSLA workshop on Domain-Specific Modeling (DSM’03) 3

Creating a DSL

The metamodel for a DSL is like an object model of the problem domain

Somewhat like good old OOA&D – “underline the nouns”

Also captures relationships, well-formedness rules, and notations

Page 4: OOPSLA workshop on Domain-Specific Modeling (DSM’03) 1 Vasco Amaral, Univ. of Mannheim Steve Cook, Microsoft Daniel Dvorak, JPL/Cal Tech Lars Grunske,

OOPSLA workshop on Domain-Specific Modeling (DSM’03) 4

DSLs vs Frameworks

Frameworks define hotspots of variability DSLs allow you to specify values for the

variables Frameworks + DSLs = Systems

Page 5: OOPSLA workshop on Domain-Specific Modeling (DSM’03) 1 Vasco Amaral, Univ. of Mannheim Steve Cook, Microsoft Daniel Dvorak, JPL/Cal Tech Lars Grunske,

OOPSLA workshop on Domain-Specific Modeling (DSM’03) 5

When are DSLs good?

A family of problems where the variation is large enough to be non-trivial to do by hand, but not too large– Space missions (Kalman filters, control systems, telemetry)– High energy physics (data mining, querying, visualization)– Video card <PAL, NTSC, SECAM>– Family of architectures with specific non-functional

properties– Organization chart– Venn diagrams

What software problems are not best solved with a domain specific language?– You need a family of problems with identified variabilities

and to design a language that allows you to assign values to the variables

– The economics must work

Page 6: OOPSLA workshop on Domain-Specific Modeling (DSM’03) 1 Vasco Amaral, Univ. of Mannheim Steve Cook, Microsoft Daniel Dvorak, JPL/Cal Tech Lars Grunske,

OOPSLA workshop on Domain-Specific Modeling (DSM’03) 6

Cost vs Benefit

How many uses to make it economically viable to do domain engineering?– Size of system– Programmer/tester time saved– Time during which the program is useful– Competitive advantage/time to market– Number of similar systems

• Product family experiences show that if there are more than 3 variants to be developed, DSM is cost-justified

• Others?

Page 7: OOPSLA workshop on Domain-Specific Modeling (DSM’03) 1 Vasco Amaral, Univ. of Mannheim Steve Cook, Microsoft Daniel Dvorak, JPL/Cal Tech Lars Grunske,

OOPSLA workshop on Domain-Specific Modeling (DSM’03) 7

Organisational issues of DSM introduction

In some organisations, existing developers want to just write the code like they have for the last N years, are not interested and don’t see the value– Prototype to show them the benefits– Identify an agent of change in the organisation– Workshops, conferences, books, ecosystems

Corporate new technology group responding to management pressure to increase IT efficiency– Commissioned R&D in DSM techniques

Page 8: OOPSLA workshop on Domain-Specific Modeling (DSM’03) 1 Vasco Amaral, Univ. of Mannheim Steve Cook, Microsoft Daniel Dvorak, JPL/Cal Tech Lars Grunske,

OOPSLA workshop on Domain-Specific Modeling (DSM’03) 8

Hot topics

Does DSModeling in some way represent a decrease in interest in objects?

How to validate models?– Invariants, consistency checking

How to generate tests as well as code? How to ensure a good user experience from a

generated tool? How to separate domain elements from non-domain

elements? How to do mappings? One-way, both ways