SlideShare a Scribd company logo
1 of 19
Download to read offline
© 2019 MetaCase 1
Juha-Pekka Tolvanen, Steven Kelly
jpt@metacase.com
How Domain-Specific Modeling
Languages Address Variability:
Investigation of 23 cases
© 2019 MetaCase 2
Agenda
 Introduction
 Research question and method
 Results
 Conclusions and discussion
© 2019 MetaCase 3
Languages in product line
development
 Domain-Specific Modeling languages are applied in
industry as one technique to speed up development
 Language definition consist of:
– Metamodel
– Constraints
– Notation
– Generators
– (Tooling)
© 2019 MetaCase 4
Research question
How domain-specific
modeling languages
address variability?
© 2019 MetaCase 5
Empirical research method
 Analyze created domain-specific languages
– Industrial use
– Cover various kind of product lines
– 23 cases* in total
 Main criteria for selection: access to the language
– Language definitions available, applied in tooling
– Verification from language developers
 All cases done with MetaEdit+
– Tool does not influence to patterns as both full metamodel-
based and “light” customization (profiles) possible
* Not the same 23 as been reported in 2005 – also newer ones
© 2019 MetaCase 6
Domain Targets By Size Use Approach
1 Consumer electronics C, HTML, Docs 1 3 1
2 Industrial automation PLC, GUI, DB schema, net config, deploy 1 165 5 1
3 Enterprise applications C#, DB schema 1 6 1
4 Railway signaling Simulation, XML 1 291 6 1
5 Signal Processing Systems Matlab, simulation, XML 1 4 1
6 Oil drilling Cost calculation, documentation 1 3 1
7 Big data applications Java, JSON, CQL, SPARQL, SQL 2 397 4 1
8 Printing process Ruby, XML, Docs 3 55 4 1
9 System performance Gherkin, HTML, Docs 1 145 3 1
10 Consumer electronics JSON 3 72 2 2
11 Telecom service XML 1 61 2 2
12 Medical XML, audit documents, change history 1 63 1 2
13 High-level synthesis System C 1 450 3 2
14 Radio network TTNC-3, simulation/animation 1 5 2
15 An automotive system System specification 3 62 3 2
16 Database applications Java 3 46 1 2
17 Consumer electronics C, localization, docs 1 403 6 3
18 Automotive architecture Simulink, ISO26262 documents, AUTOSAR 3 652 6 3
19 Telecom C, build automation 2 109 3 3
20 Insurance Cobol, DB schema 3 234 6 4
21 Aerospace C#, XSD, JSON, API 2 121 1 5
22 Automotive ECU Python, JSON, Test document, change history 3 64 5 5
23 Software testing Propriety format of state machines 3 317 6 6
© 2019 MetaCase 7
Creator and size*
* UML 2.5 = 247
© 2019 MetaCase 8
Maturity
© 2019 MetaCase 9
Identified Approaches
© 2019 MetaCase 10
1. Each model and its elements are
for a single variant
 “Classical DSL”
 No reuse: each variant created and maintained
independently
 Clear process and
organizational
structure
© 2019 MetaCase 11
2. Reuse of models or model
elements across multiple variants
 Language has concepts for reuse
– variant 2 can use parts made for variant 1
 Reuse is restricted to the domain concept, e.g. service
 Whitebox or blackbox, have access/governance rules
 Apply different languages on different levels
Subaction
Variant 1 Variant 2
© 2019 MetaCase 12
3. Mark/filter/modify reused models
or elements for variants
 Commonly reused models contain variant data
 Responsibility over many variants or whole product line
Bottom up Top-down: e.g.
Sporty does not
have Down button
or stopwatch icon
© 2019 MetaCase 13
4. Core models and variant models
 Core team and variant team
– Both core and variants can co-evolve
 Tool and process applied to manage development
Core team Variant team
© 2019 MetaCase 14
5. Core models and languages for
restricted variation of core
 Language ensures legal variation
– Variation space is limited to specific aspects
Core team Variant team
© 2019 MetaCase 15
6. Multilevel: model elements
become language elements
 A model made by one team became language for others
– Language supports organizational structure and process
© 2019 MetaCase 16
Domain Targets By Size Use Approach
1 Consumer electronics C, HTML, Docs 1 3 1
2 Industrial automation PLC, GUI, DB schema, net config, deploy 1 165 5 1
3 Enterprise applications C#, DB schema 1 6 1
4 Railway signaling Simulation, XML 1 291 6 1
5 Signal Processing Systems Matlab, simulation, XML 1 4 1
6 Oil drilling Cost calculation, documentation 1 3 1
7 Big data applications Java, JSON, CQL, SPARQL, SQL 2 397 4 1
8 Printing process Ruby, XML, Docs 3 55 4 1
9 System performance Gherkin, HTML, Docs 1 145 3 1
10 Consumer electronics JSON 3 72 2 2
11 Telecom service XML 1 61 2 2
12 Medical XML, audit documents, change history 1 63 1 2
13 High-level synthesis System C 1 450 3 2
14 Radio network TTNC-3, simulation/animation 1 5 2
15 An automotive system System specification 3 62 3 2
16 Database applications Java 3 46 1 2
17 Consumer electronics C, localization, docs 1 403 6 3
18 Automotive architecture Simulink, ISO26262 documents, AUTOSAR 3 652 6 3
19 Telecom C, build automation 2 109 3 3
20 Insurance Cobol, DB schema 3 234 6 4
21 Aerospace C#, XSD, JSON, API 2 121 1 5
22 Automotive ECU Python, JSON, Test document, change history 3 64 5 5
23 Software testing Propriety format of state machines 3 317 6 6
© 2019 MetaCase 17
Further analysis
 Internally developed fell into approaches 1 & 2
– Correlation between increasing explicitness of PL approach
and increasing categories of language creator expertise
R= 0.52, P < 0.01
 Sizes of the languages vary considerably: the largest is
14 times the size of the smallest
 The largest languages were those that have been
applied for a long time (#17, #18, #20, #4)
– R= 0.6, P < 0.005
 No correlation (0.07) was found between Size and
Approach
© 2019 MetaCase 18
Conclusions
 Identified 6 approaches applied for addressing
variability with domain-specific modeling languages
– 2 common ones
 Over half of the languages added further PL support
than plain variant specification
 Large difference in size of the languages
– Likely depends on the domain/PL been addressed
 Companies create languages mostly internally
 Further studies needed with other cases and tools
© 2019 MetaCase 19
Thank you!
Questions?
Comments?
Experiences?
Counter arguments?
jpt@metacase.com
Juha-Pekka Tolvanen

More Related Content

Similar to How domain specific modeling languages address variability: investigation of 23 cases

STUDY ON EMERGING APPLICATIONS ON DATA PLANE AND OPTIMIZATION POSSIBILITIES
STUDY ON EMERGING APPLICATIONS ON DATA  PLANE AND OPTIMIZATION POSSIBILITIES STUDY ON EMERGING APPLICATIONS ON DATA  PLANE AND OPTIMIZATION POSSIBILITIES
STUDY ON EMERGING APPLICATIONS ON DATA PLANE AND OPTIMIZATION POSSIBILITIES
ijdpsjournal
 
STUDY ON EMERGING APPLICATIONS ON DATA PLANE AND OPTIMIZATION POSSIBILITIES
STUDY ON EMERGING APPLICATIONS ON DATA PLANE AND OPTIMIZATION POSSIBILITIESSTUDY ON EMERGING APPLICATIONS ON DATA PLANE AND OPTIMIZATION POSSIBILITIES
STUDY ON EMERGING APPLICATIONS ON DATA PLANE AND OPTIMIZATION POSSIBILITIES
ijdpsjournal
 
Computer aided design, computer aided manufacturing, computer aided engineering
Computer aided design, computer aided manufacturing, computer aided engineeringComputer aided design, computer aided manufacturing, computer aided engineering
Computer aided design, computer aided manufacturing, computer aided engineering
university of sust.
 
Soma_Mishra_Resume
Soma_Mishra_ResumeSoma_Mishra_Resume
Soma_Mishra_Resume
soma mishra
 
Tom_Osborne_Resume
Tom_Osborne_ResumeTom_Osborne_Resume
Tom_Osborne_Resume
Tom Osborne
 

Similar to How domain specific modeling languages address variability: investigation of 23 cases (20)

RESILIENT INTERFACE DESIGN FOR SAFETY-CRITICAL EMBEDDED AUTOMOTIVE SOFTWARE
RESILIENT INTERFACE DESIGN FOR SAFETY-CRITICAL EMBEDDED AUTOMOTIVE SOFTWARERESILIENT INTERFACE DESIGN FOR SAFETY-CRITICAL EMBEDDED AUTOMOTIVE SOFTWARE
RESILIENT INTERFACE DESIGN FOR SAFETY-CRITICAL EMBEDDED AUTOMOTIVE SOFTWARE
 
Ankit sarin
Ankit sarinAnkit sarin
Ankit sarin
 
Gireesh G.G Resume
Gireesh G.G ResumeGireesh G.G Resume
Gireesh G.G Resume
 
Parimal Resume
Parimal ResumeParimal Resume
Parimal Resume
 
Migration of Domino Application Landscapes…using cedros Software Analysis & M...
Migration of Domino Application Landscapes…using cedros Software Analysis & M...Migration of Domino Application Landscapes…using cedros Software Analysis & M...
Migration of Domino Application Landscapes…using cedros Software Analysis & M...
 
IRJET- IoT based Vending Machine with Cashless Payment
IRJET- IoT based Vending Machine with Cashless PaymentIRJET- IoT based Vending Machine with Cashless Payment
IRJET- IoT based Vending Machine with Cashless Payment
 
STUDY ON EMERGING APPLICATIONS ON DATA PLANE AND OPTIMIZATION POSSIBILITIES
STUDY ON EMERGING APPLICATIONS ON DATA  PLANE AND OPTIMIZATION POSSIBILITIES STUDY ON EMERGING APPLICATIONS ON DATA  PLANE AND OPTIMIZATION POSSIBILITIES
STUDY ON EMERGING APPLICATIONS ON DATA PLANE AND OPTIMIZATION POSSIBILITIES
 
STUDY ON EMERGING APPLICATIONS ON DATA PLANE AND OPTIMIZATION POSSIBILITIES
STUDY ON EMERGING APPLICATIONS ON DATA PLANE AND OPTIMIZATION POSSIBILITIESSTUDY ON EMERGING APPLICATIONS ON DATA PLANE AND OPTIMIZATION POSSIBILITIES
STUDY ON EMERGING APPLICATIONS ON DATA PLANE AND OPTIMIZATION POSSIBILITIES
 
SOFTWARE AND HARDWARE DESIGN CHALLENGES IN AUTOMOTIVE EMBEDDED SYSTEM
SOFTWARE AND HARDWARE DESIGN CHALLENGES IN AUTOMOTIVE EMBEDDED SYSTEMSOFTWARE AND HARDWARE DESIGN CHALLENGES IN AUTOMOTIVE EMBEDDED SYSTEM
SOFTWARE AND HARDWARE DESIGN CHALLENGES IN AUTOMOTIVE EMBEDDED SYSTEM
 
Computer aided design, computer aided manufacturing, computer aided engineering
Computer aided design, computer aided manufacturing, computer aided engineeringComputer aided design, computer aided manufacturing, computer aided engineering
Computer aided design, computer aided manufacturing, computer aided engineering
 
Radhika abde 8 yrs exp-telecom domain
Radhika abde 8 yrs exp-telecom domainRadhika abde 8 yrs exp-telecom domain
Radhika abde 8 yrs exp-telecom domain
 
D017372538
D017372538D017372538
D017372538
 
A Generic Open Source Framework for Auto Generation of Data Manipulation Comm...
A Generic Open Source Framework for Auto Generation of Data Manipulation Comm...A Generic Open Source Framework for Auto Generation of Data Manipulation Comm...
A Generic Open Source Framework for Auto Generation of Data Manipulation Comm...
 
Soma_Mishra_Resume
Soma_Mishra_ResumeSoma_Mishra_Resume
Soma_Mishra_Resume
 
Tom_Osborne_Resume
Tom_Osborne_ResumeTom_Osborne_Resume
Tom_Osborne_Resume
 
Limited Budget but Effective End to End MLOps Practices (Machine Learning Mod...
Limited Budget but Effective End to End MLOps Practices (Machine Learning Mod...Limited Budget but Effective End to End MLOps Practices (Machine Learning Mod...
Limited Budget but Effective End to End MLOps Practices (Machine Learning Mod...
 
Ahmed Hassan CV_amin4
Ahmed Hassan CV_amin4Ahmed Hassan CV_amin4
Ahmed Hassan CV_amin4
 
Csit77404
Csit77404Csit77404
Csit77404
 
NagarajanG_Resume
NagarajanG_ResumeNagarajanG_Resume
NagarajanG_Resume
 
IRJET- Cipher Text-Policy Attribute-Based Encryption and with Delegation ...
IRJET-  	  Cipher Text-Policy Attribute-Based Encryption and with Delegation ...IRJET-  	  Cipher Text-Policy Attribute-Based Encryption and with Delegation ...
IRJET- Cipher Text-Policy Attribute-Based Encryption and with Delegation ...
 

More from Juha-Pekka Tolvanen

More from Juha-Pekka Tolvanen (12)

How to formalize a ubiquitous language into a domain-specific language.pdf
How to formalize a ubiquitous language into a domain-specific language.pdfHow to formalize a ubiquitous language into a domain-specific language.pdf
How to formalize a ubiquitous language into a domain-specific language.pdf
 
Measuring Productivity from Model-Based Development
Measuring Productivity from Model-Based DevelopmentMeasuring Productivity from Model-Based Development
Measuring Productivity from Model-Based Development
 
Effort Used to Create Domain-Specific Modeling Languages
Effort Used to Create Domain-Specific Modeling LanguagesEffort Used to Create Domain-Specific Modeling Languages
Effort Used to Create Domain-Specific Modeling Languages
 
Automating safety engineering with model based techniques
Automating safety engineering with model based techniquesAutomating safety engineering with model based techniques
Automating safety engineering with model based techniques
 
Collaborative language engineering and language use: demo with MetaEdit+
Collaborative language engineering and language use: demo with MetaEdit+Collaborative language engineering and language use: demo with MetaEdit+
Collaborative language engineering and language use: demo with MetaEdit+
 
Automotive architecture examples with EAST-ADL models
Automotive architecture examples with EAST-ADL modelsAutomotive architecture examples with EAST-ADL models
Automotive architecture examples with EAST-ADL models
 
Collaborative modeling and metamodeling
Collaborative modeling and metamodelingCollaborative modeling and metamodeling
Collaborative modeling and metamodeling
 
Collaborative modeling and metamodeling in MetaEdit+
Collaborative modeling and metamodeling in MetaEdit+Collaborative modeling and metamodeling in MetaEdit+
Collaborative modeling and metamodeling in MetaEdit+
 
20 examples on Domain-Specific Modeling Languages
20 examples on Domain-Specific Modeling Languages20 examples on Domain-Specific Modeling Languages
20 examples on Domain-Specific Modeling Languages
 
Model level debugging and profiling, Code Generation Conference 2014
Model level debugging and profiling, Code Generation Conference 2014Model level debugging and profiling, Code Generation Conference 2014
Model level debugging and profiling, Code Generation Conference 2014
 
Keynote at Code Generation 2014: The business cases of modeling and generators
Keynote at Code Generation 2014: The business cases of modeling and generatorsKeynote at Code Generation 2014: The business cases of modeling and generators
Keynote at Code Generation 2014: The business cases of modeling and generators
 
Industrial experiences on Domain-Specific Modeling
Industrial experiences on Domain-Specific ModelingIndustrial experiences on Domain-Specific Modeling
Industrial experiences on Domain-Specific Modeling
 

Recently uploaded

CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 

Recently uploaded (20)

Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 

How domain specific modeling languages address variability: investigation of 23 cases

  • 1. © 2019 MetaCase 1 Juha-Pekka Tolvanen, Steven Kelly jpt@metacase.com How Domain-Specific Modeling Languages Address Variability: Investigation of 23 cases
  • 2. © 2019 MetaCase 2 Agenda  Introduction  Research question and method  Results  Conclusions and discussion
  • 3. © 2019 MetaCase 3 Languages in product line development  Domain-Specific Modeling languages are applied in industry as one technique to speed up development  Language definition consist of: – Metamodel – Constraints – Notation – Generators – (Tooling)
  • 4. © 2019 MetaCase 4 Research question How domain-specific modeling languages address variability?
  • 5. © 2019 MetaCase 5 Empirical research method  Analyze created domain-specific languages – Industrial use – Cover various kind of product lines – 23 cases* in total  Main criteria for selection: access to the language – Language definitions available, applied in tooling – Verification from language developers  All cases done with MetaEdit+ – Tool does not influence to patterns as both full metamodel- based and “light” customization (profiles) possible * Not the same 23 as been reported in 2005 – also newer ones
  • 6. © 2019 MetaCase 6 Domain Targets By Size Use Approach 1 Consumer electronics C, HTML, Docs 1 3 1 2 Industrial automation PLC, GUI, DB schema, net config, deploy 1 165 5 1 3 Enterprise applications C#, DB schema 1 6 1 4 Railway signaling Simulation, XML 1 291 6 1 5 Signal Processing Systems Matlab, simulation, XML 1 4 1 6 Oil drilling Cost calculation, documentation 1 3 1 7 Big data applications Java, JSON, CQL, SPARQL, SQL 2 397 4 1 8 Printing process Ruby, XML, Docs 3 55 4 1 9 System performance Gherkin, HTML, Docs 1 145 3 1 10 Consumer electronics JSON 3 72 2 2 11 Telecom service XML 1 61 2 2 12 Medical XML, audit documents, change history 1 63 1 2 13 High-level synthesis System C 1 450 3 2 14 Radio network TTNC-3, simulation/animation 1 5 2 15 An automotive system System specification 3 62 3 2 16 Database applications Java 3 46 1 2 17 Consumer electronics C, localization, docs 1 403 6 3 18 Automotive architecture Simulink, ISO26262 documents, AUTOSAR 3 652 6 3 19 Telecom C, build automation 2 109 3 3 20 Insurance Cobol, DB schema 3 234 6 4 21 Aerospace C#, XSD, JSON, API 2 121 1 5 22 Automotive ECU Python, JSON, Test document, change history 3 64 5 5 23 Software testing Propriety format of state machines 3 317 6 6
  • 7. © 2019 MetaCase 7 Creator and size* * UML 2.5 = 247
  • 8. © 2019 MetaCase 8 Maturity
  • 9. © 2019 MetaCase 9 Identified Approaches
  • 10. © 2019 MetaCase 10 1. Each model and its elements are for a single variant  “Classical DSL”  No reuse: each variant created and maintained independently  Clear process and organizational structure
  • 11. © 2019 MetaCase 11 2. Reuse of models or model elements across multiple variants  Language has concepts for reuse – variant 2 can use parts made for variant 1  Reuse is restricted to the domain concept, e.g. service  Whitebox or blackbox, have access/governance rules  Apply different languages on different levels Subaction Variant 1 Variant 2
  • 12. © 2019 MetaCase 12 3. Mark/filter/modify reused models or elements for variants  Commonly reused models contain variant data  Responsibility over many variants or whole product line Bottom up Top-down: e.g. Sporty does not have Down button or stopwatch icon
  • 13. © 2019 MetaCase 13 4. Core models and variant models  Core team and variant team – Both core and variants can co-evolve  Tool and process applied to manage development Core team Variant team
  • 14. © 2019 MetaCase 14 5. Core models and languages for restricted variation of core  Language ensures legal variation – Variation space is limited to specific aspects Core team Variant team
  • 15. © 2019 MetaCase 15 6. Multilevel: model elements become language elements  A model made by one team became language for others – Language supports organizational structure and process
  • 16. © 2019 MetaCase 16 Domain Targets By Size Use Approach 1 Consumer electronics C, HTML, Docs 1 3 1 2 Industrial automation PLC, GUI, DB schema, net config, deploy 1 165 5 1 3 Enterprise applications C#, DB schema 1 6 1 4 Railway signaling Simulation, XML 1 291 6 1 5 Signal Processing Systems Matlab, simulation, XML 1 4 1 6 Oil drilling Cost calculation, documentation 1 3 1 7 Big data applications Java, JSON, CQL, SPARQL, SQL 2 397 4 1 8 Printing process Ruby, XML, Docs 3 55 4 1 9 System performance Gherkin, HTML, Docs 1 145 3 1 10 Consumer electronics JSON 3 72 2 2 11 Telecom service XML 1 61 2 2 12 Medical XML, audit documents, change history 1 63 1 2 13 High-level synthesis System C 1 450 3 2 14 Radio network TTNC-3, simulation/animation 1 5 2 15 An automotive system System specification 3 62 3 2 16 Database applications Java 3 46 1 2 17 Consumer electronics C, localization, docs 1 403 6 3 18 Automotive architecture Simulink, ISO26262 documents, AUTOSAR 3 652 6 3 19 Telecom C, build automation 2 109 3 3 20 Insurance Cobol, DB schema 3 234 6 4 21 Aerospace C#, XSD, JSON, API 2 121 1 5 22 Automotive ECU Python, JSON, Test document, change history 3 64 5 5 23 Software testing Propriety format of state machines 3 317 6 6
  • 17. © 2019 MetaCase 17 Further analysis  Internally developed fell into approaches 1 & 2 – Correlation between increasing explicitness of PL approach and increasing categories of language creator expertise R= 0.52, P < 0.01  Sizes of the languages vary considerably: the largest is 14 times the size of the smallest  The largest languages were those that have been applied for a long time (#17, #18, #20, #4) – R= 0.6, P < 0.005  No correlation (0.07) was found between Size and Approach
  • 18. © 2019 MetaCase 18 Conclusions  Identified 6 approaches applied for addressing variability with domain-specific modeling languages – 2 common ones  Over half of the languages added further PL support than plain variant specification  Large difference in size of the languages – Likely depends on the domain/PL been addressed  Companies create languages mostly internally  Further studies needed with other cases and tools
  • 19. © 2019 MetaCase 19 Thank you! Questions? Comments? Experiences? Counter arguments? jpt@metacase.com Juha-Pekka Tolvanen