SlideShare a Scribd company logo
1
Juha-Pekka Tolvanen, Steven Kelly
jpt@metacase.com
Effort Used to Create Domain-
Specific Modeling Languages
2
Agenda
 Introduction and motivation
 Research method
– Conduct case studies
– Review industry reports
 Results
 Reflection and other work done
 Conclusions and discussion
3
Real world example: Fish farm
 hardware: sensors, actuators, cabling
 functionality: lights, feeding, monitoring, etc.
 Persistent data
 UI
 Communication
 Deployment and operations: install, maintain
4
DSM solution for developing fish farm
automation systems
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
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
{
7
Research question:
How big is the effort to
create a Domain-Specific
Modeling language?
8
DSM solution consist of:
 Metamodel
 Constraints
 Notation
 Generators
 Tooling and tool-chain
 + Training material, guides, tutorials etc.
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
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
11
Case1: DSM solution for IoT device
12
Sample app2: Boat monitor
13
Effort to create DSM for IoT*
 Solution:
– 74 elements in metamodel
– 39 constraints
– 54 notational symbols
– 9 icons
– 1 model checker
(21 LOC)
– 1 code generator
(556 LOC)
 Effort:
– 3.8 man-days
*Implementation available: www.metacase.com/download, ’IoT’ example project
0,0 1,0 2,0
Tooling
Generators
Notation
Constraints
Plain metamodel
Days
14
Case2: Modeling support for Archimate
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
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
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
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
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
20
Thank you!
Questions?
Experiences?
Counter arguments?
Future research topics?
jpt@metacase.com
Juha-Pekka Tolvanen

More Related Content

PDF
Defect Prediction: Accomplishments and Future Challenges
PDF
An introduction to software engineering
PPTX
A Study of the Quality-Impacting Practices of Modern Code Review at Sony Mobile
PPTX
A presentation on software crisis
PPT
Vishakantaiah validating
PDF
Inauguration lecture Martin Pinzger, University of Klagenfurt, Austria
PDF
Software Engineering - Basics
PPTX
Software Development Life Cycle-SDLC
Defect Prediction: Accomplishments and Future Challenges
An introduction to software engineering
A Study of the Quality-Impacting Practices of Modern Code Review at Sony Mobile
A presentation on software crisis
Vishakantaiah validating
Inauguration lecture Martin Pinzger, University of Klagenfurt, Austria
Software Engineering - Basics
Software Development Life Cycle-SDLC

What's hot (20)

PPTX
PPT
Chapter 01 software engineering pressman
PPT
'Acceptance Test Driven Development Using Robot Framework' by Pekka Klarch & ...
PDF
Intro to Software Engineering - Life Cycle Models
PPT
Pressman ch-1-software
PDF
Tim Gentry Final Resume
PPT
Unit 6
PDF
The Role of Testing in DevOps
PDF
SE18_Lec 00_Course Outline
PDF
Software engineering introduction
PPTX
Chapter 1 1 - intro ppt
PDF
Software engineering a practitioners approach 8th edition pressman solutions ...
PPTX
Machine Learning in Software Engineering
PPT
Software Engineering (Introduction to Software Engineering)
PDF
Notes on teaching software testing
PPTX
PPTX
Software Engineering Methodologies
PPTX
Software Engineering- Crisis and Process Models
PPTX
Py data scikit-production
PPTX
CSC426 - Software Engineering Lecture Note Cont'd
Chapter 01 software engineering pressman
'Acceptance Test Driven Development Using Robot Framework' by Pekka Klarch & ...
Intro to Software Engineering - Life Cycle Models
Pressman ch-1-software
Tim Gentry Final Resume
Unit 6
The Role of Testing in DevOps
SE18_Lec 00_Course Outline
Software engineering introduction
Chapter 1 1 - intro ppt
Software engineering a practitioners approach 8th edition pressman solutions ...
Machine Learning in Software Engineering
Software Engineering (Introduction to Software Engineering)
Notes on teaching software testing
Software Engineering Methodologies
Software Engineering- Crisis and Process Models
Py data scikit-production
CSC426 - Software Engineering Lecture Note Cont'd
Ad

Similar to Effort Used to Create Domain-Specific Modeling Languages (20)

PDF
Industrial experiences on Domain-Specific Modeling
PDF
Planning for Success in MDD
PPTX
Domain specific modelling (DSM)
PDF
Keynote at Code Generation 2014: The business cases of modeling and generators
PPT
CG2010 Tailored Code Generators
PDF
How domain specific modeling languages address variability: investigation of ...
PDF
Measuring Productivity from Model-Based Development
PPTX
Evolution in the Large and in the Small in Model-Driven Development
PPTX
Evaluation of meta modeling tools for domain specific modeling language chnjl
PDF
On the Customization of Model Management Systems for File-Centric IDEs
PPTX
What do Practitioners Expect from the Meta-modeling Tools? A Survey
PDF
How modeling techniques can address new service creation and deal with comple...
PPTX
Emerging engineering issues for building large scale AI systems By Srinivas P...
PPT
Software development... for all? (keynote at ICSOFT'2024)
PPTX
Developing Tools for “What if…” Testing of Large-scale Software Systems
PPTX
ThesisPresentation
PDF
20 examples on Domain-Specific Modeling Languages
PPTX
Building a High-Level Process Model for Soliciting Requirements on Software T...
Industrial experiences on Domain-Specific Modeling
Planning for Success in MDD
Domain specific modelling (DSM)
Keynote at Code Generation 2014: The business cases of modeling and generators
CG2010 Tailored Code Generators
How domain specific modeling languages address variability: investigation of ...
Measuring Productivity from Model-Based Development
Evolution in the Large and in the Small in Model-Driven Development
Evaluation of meta modeling tools for domain specific modeling language chnjl
On the Customization of Model Management Systems for File-Centric IDEs
What do Practitioners Expect from the Meta-modeling Tools? A Survey
How modeling techniques can address new service creation and deal with comple...
Emerging engineering issues for building large scale AI systems By Srinivas P...
Software development... for all? (keynote at ICSOFT'2024)
Developing Tools for “What if…” Testing of Large-scale Software Systems
ThesisPresentation
20 examples on Domain-Specific Modeling Languages
Building a High-Level Process Model for Soliciting Requirements on Software T...
Ad

More from Juha-Pekka Tolvanen (9)

PDF
Languages for non-developers - invited keynote FedCSIS 2024
PDF
What Goes Wrong with Language Definitions and How to Improve the Situation
PDF
How to formalize a ubiquitous language into a domain-specific language.pdf
PDF
Automating safety engineering with model based techniques
PDF
Collaborative language engineering and language use: demo with MetaEdit+
PDF
Automotive architecture examples with EAST-ADL models
PDF
Collaborative modeling and metamodeling
PDF
Collaborative modeling and metamodeling in MetaEdit+
PDF
Model level debugging and profiling, Code Generation Conference 2014
Languages for non-developers - invited keynote FedCSIS 2024
What Goes Wrong with Language Definitions and How to Improve the Situation
How to formalize a ubiquitous language into a domain-specific language.pdf
Automating safety engineering with model based techniques
Collaborative language engineering and language use: demo with MetaEdit+
Automotive architecture examples with EAST-ADL models
Collaborative modeling and metamodeling
Collaborative modeling and metamodeling in MetaEdit+
Model level debugging and profiling, Code Generation Conference 2014

Recently uploaded (20)

PDF
top salesforce developer skills in 2025.pdf
PDF
Understanding Forklifts - TECH EHS Solution
PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PPTX
ai tools demonstartion for schools and inter college
PPTX
Introduction to Artificial Intelligence
PDF
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
PDF
Digital Strategies for Manufacturing Companies
PDF
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
PDF
Nekopoi APK 2025 free lastest update
PDF
Softaken Excel to vCard Converter Software.pdf
PDF
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
PDF
wealthsignaloriginal-com-DS-text-... (1).pdf
PPTX
Transform Your Business with a Software ERP System
PDF
PTS Company Brochure 2025 (1).pdf.......
PPTX
Odoo POS Development Services by CandidRoot Solutions
PPTX
Operating system designcfffgfgggggggvggggggggg
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PPTX
Essential Infomation Tech presentation.pptx
top salesforce developer skills in 2025.pdf
Understanding Forklifts - TECH EHS Solution
How to Migrate SBCGlobal Email to Yahoo Easily
ai tools demonstartion for schools and inter college
Introduction to Artificial Intelligence
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
Digital Strategies for Manufacturing Companies
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
Nekopoi APK 2025 free lastest update
Softaken Excel to vCard Converter Software.pdf
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
wealthsignaloriginal-com-DS-text-... (1).pdf
Transform Your Business with a Software ERP System
PTS Company Brochure 2025 (1).pdf.......
Odoo POS Development Services by CandidRoot Solutions
Operating system designcfffgfgggggggvggggggggg
Internet Downloader Manager (IDM) Crack 6.42 Build 41
2025 Textile ERP Trends: SAP, Odoo & Oracle
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
Essential Infomation Tech presentation.pptx

Effort Used to Create Domain-Specific Modeling Languages

  • 1. 1 Juha-Pekka Tolvanen, Steven Kelly jpt@metacase.com Effort Used to Create Domain- Specific Modeling Languages
  • 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
  • 4. 4 DSM solution for developing fish farm automation systems
  • 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 {
  • 7. 7 Research question: How big is the effort to create a Domain-Specific Modeling language?
  • 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
  • 11. 11 Case1: DSM solution for IoT device
  • 13. 13 Effort to create DSM for IoT*  Solution: – 74 elements in metamodel – 39 constraints – 54 notational symbols – 9 icons – 1 model checker (21 LOC) – 1 code generator (556 LOC)  Effort: – 3.8 man-days *Implementation available: www.metacase.com/download, ’IoT’ example project 0,0 1,0 2,0 Tooling Generators Notation Constraints Plain metamodel Days
  • 14. 14 Case2: Modeling support for Archimate
  • 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
  • 20. 20 Thank you! Questions? Experiences? Counter arguments? Future research topics? jpt@metacase.com Juha-Pekka Tolvanen