Upload
jane-cooper
View
212
Download
0
Embed Size (px)
Citation preview
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
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
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
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
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
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?
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
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