Domain-specific modeling languages and generators have been
shown to significantly improve the productivity and quality of
system and software development. These benefits are typically
reported without explaining the size of the initial investment in
creating the languages, generators and related tooling. We compare the investment needed across ten cases, in two different ways, focusing on the effort to develop a complete modeling solution for a particular domain with the MetaEdit+ tool. Firstly, we use a case study research method to obtain detailed data on the development effort of implementing two realistically-sized domain-specific modeling solutions. Secondly, we review eight publicly available cases
from various companies to obtain data from industry experiences with the same tool, and compare them with the results from our case studies. Both the case studies and the industry reports indicate that, for this tool, the investment required to create domain-specific modeling support is modest: ranging from 3 to 15 man-days with an average of 10 days
2. 2
Agenda
Introduction and motivation
Research method
– Conduct case studies
– Review industry reports
Results
Reflection and other work done
Conclusions and discussion
3. 3
Real world example: Fish farm
hardware: sensors, actuators, cabling
functionality: lights, feeding, monitoring, etc.
Persistent data
UI
Communication
Deployment and operations: install, maintain
5. 5
Industry experiences on
productivity increase with DSM
"5-fold productivity increase
when compared to standard
development methods"
"The quality is clearly better,
simply because the modeling
language rules out errors"
"makes development
significantly faster and easier
than the old manual coding practices"
6. 6
Effort to create a DSM solution?
DSM brings significant improvements to:
– Development speed
– Product quality
– Participation of subject
matter experts
– Code quality
– Ease of introducing
new personnel, etc.
But require an investment
– How big this is?
0
10
20
30
40
50
60
70
80
90
100
0 1 2 3 4 5 6
Cost
Repetition
Current DSM
{
8. 8
DSM solution consist of:
Metamodel
Constraints
Notation
Generators
Tooling and tool-chain
+ Training material, guides, tutorials etc.
9. 9
Two research methods applied:
1. Case study
– Create complete modeling solutions for two domains
– To collect data on the effort in detail
– Implementation by authors
2. Analyze industry cases
– Reports on creating DSM solutions by and for industry
• Not done by authors
– To get "real-world" view, having at least one generator
• If several generators only those providing data per generator
included
All cases done with MetaEdit+: No difference from tools
10. 10
On case studies
Recorded data on the effort:
– Timestamps from metamodel
– Generator changes
– Version history
– Diary on the effort
Case selection:
– Can be shared
– Can be repeated by others
– Target different domains, have different purpose
Resulting modeling solutions tested with reference
examples
15. 15
Effort to implement Archimate
support*
* Implementation of the ArchiMate is available from https://github.com/mccjpt/ArchiMate
Solution:
– 125 elements in metamodel, incl. 24 abstract ones
– 10 000+ constraints, 10760 alone for legal relationships
– 89 notational symbols
– 77 icons
– 3 model checkers
(42 LOC)
Effort:
– 3.5 man-days
0 0,5 1 1,5
Tooling
Generators
Notation
Constraints
Plain metamodel
Days
16. 16
Cost of DSL creation: industry cases
Very few companies (and academic papers) report
figures on the creation effort
0 5 10 15
Blood separators
Military radio system
High level synthesis, ESL
Heating remote control
Voice control
Car infotainment
Sport watches
Touch screen controller
Days
17. 17
Results
Effort to create DSM solution is modest (in all cases)
– 1-2 language engineers
– 3-15 man-days, average 10 man-days in industry cases
Data indicates that
– Generator development takes 40-60%
– The size of the resulting language had a surprisingly small
effect on the effort required
• We have detailed data from three industry cases (under NDA):
effort increases less than linearly with size
18. 18
What influences to the effort?
Size of the domain?
Experience of language engineer(s)?
Tooling?
Tools seem to have the biggest influence to effort
– Different languages, same tool: 1-5x differences
• Among the 10 cases presented
– Same language, different tools: 10-50x differences
• El Kouhen et al. implementing BPMN in 5 different tools
19. 19
Conclusions
We are not aware of many systematic studies
comparing the development effort across several DSM
solutions
Effort to create Domain-Specific Modeling support is
modest with MetaEdit+
– 10 man-days in average in industry cases
Tools seem to have a big influence to the effort needed
Future research
– Repeat the study with other languages and tools
– Address also maintenance, and not only DSM solution but
also models made