Transcript Workshop - DSM Forum
DSM Practice
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 OOPSLA workshop on Domain-Specific Modeling (DSM’03)
1
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)
2
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)
3
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)
4
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
– – 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)
5
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)
6
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)
7
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 OOPSLA workshop on Domain-Specific Modeling (DSM’03)
8