Workshop - DSM Forum

Download Report

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 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)

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