Title: Lightweight DomainSpecific Modeling and ModelDriven Development
1Lightweight Domain-Specific Modeling and
Model-Driven Development
- Risto Pitkänen and Tommi Mikkonen
- Tampere University of Technology
- Institute of Software Systems
- Finland
- risto.pitkanen_at_tut.fi tommi.mikkonen_at_tut.fi
2Outline of the Talk
- Full-blown domain-specific modeling (DSM)
approach is always not feasible
Lightweight Hybrid DSM/MDD
Why apply such an approach and when?
Conclusions
3Full-Blown DSM is Always Not Feasible
- DSM languages and tools provide significant
increase of productivity (5 to 10 times e.g. the
foreword of the proceedings of this workshop)
- but
- they require a high initial investment
- are usually targeted at a certain implementation
platform - they pay off only if many software products with
enough similarities are produced
4The Generic to Specific Continuum
- Languages are not necessarily either fully
generic or fully domain specific
generic
domain specific
Language for describing systems GENERIC
Language for describing reactive
systems SOMEWHAT DOMAIN SPECIFIC
Language for describing real-time mobile
robot control systems DOMAIN SPECIFIC
5Lightweight Hybrid DSM/MDD Compared withDSM
6Abstract specification of a mobile robotin a
somewhat domain-specific language
- layer abstract_robot is
- constant min_stopped time 0.5
- class Robot(1) is
- mode (STOPPED, MOVING)
- allowed_to_move_at time 0.0
- end
- action move(r Robot) is
- when r.modeSTOPPED and now gt
r.allowed_to_move_at do - r.mode MOVING()
- end
- action stop(r Robot) is
- r.mode STOPPED r.allowed_to_move_at
now MIN_STOPPED - end
- end abstract_robot
7Why Apply Such an Approach and When?
- If only one or a small number of similar projects
are planned, and the high initial investment
required by DSM cannot be justified - If precise enough estimates about performance
issues cannot be done without first writing some
sort of a specification, and if the results of
this evaluation affect the choice of archicture
and/or implementation technologies - If several different implementation platforms are
targeted
8Conclusions
- Lightweight Hybrid DSM/MDD can be applied when
the high initial investment of full-blown DSM
cannot be justified - It can pave the way to a full-blown DSM approach
- any implemented transformations can later be
utilized in a code generator - properties required by a DSM language can be
explored - On the other hand, it does not provide as high a
productivity increase as full-blown DSM, because - modeling language is not as domain-specific
- the transformation process towards an
implementation requires more developer
intervention and guidance - Our example approach is based on the DisCo
language and targeted towards reactive systems.
The paper describes a real-time control system of
a simple robot as an example.