SlideShare a Scribd company logo
1 of 35
Download to read offline
Industrial Experiences on
Domain-Specific Modeling
Contents
 Domain-Specific Modeling Languages: Introduction
 Review of industry cases
– Touch screen
– Home automation control
– Sports computer
– Military radio
 Summary and discussion
1
4,5 5
6 6
40
0
5
10
15
20
25
30
35
40
Number of new product
features implemented in a
given time (productivity
proportional to Assembler)
A rise in productivity is overdue
 "The entire history of software
engineering is that of the rise in
levels of abstraction"
 New general-purpose
programming languages have
not increased productivity
 Abstraction of development can
be raised above current level...
 ... without losing control or
accepting substandard results
*Software Productivity Research & Capers Jones, 2002
What data is available behind the
statements* like:
"5-fold productivity increase when compared
to standard development methods"
"The quality of the generated code is clearly
better, simply because the modeling language
rules out errors"
"The DSM solution makes development
significantly faster and easier than the old
manual coding practices"
* source: www.metacase.com/cases/
Four cases in more detail
 Touch screen device (Panasonic)
 Home automation (Ouman)
 Sports computer (Polar Electro)
 Military radio (Elektrobit)
Case 1: Panasonic’s touch screen
devices (Safa, 2007)
 Home automation solution installed by construction firms
 Features for controlled
– Lights
– Heating
– Air-conditioning
– Electricity
– Alarms
• Burglar
• Gas
• Smoke
– Reporting (energy saving)
Evaluation method
 Compare DSM to current manual coding practice
 Two evaluation methods
1. Implemented an existing product with DSM
2. Implemented the existing features to a different target
platform
• The same models, a new generator
 Tool-chains covering:
– Generate
– Compile
– Upload
– Boot
– Run
 Generators for:
– PC simulation
– Touch screen
– Microcontroller
Measuring development time
 Build the same application with both approaches
– Measure the time used
 Results:
– DSM is 425% faster
 Implemented the same product
to a new platform
– 3 days for generator development
– 0 days for modeling
Return on investment: Panasonic
 DSM solution developed in 15 days
 Product development with:
– the current approach: 17 days
– DSM: 4 days
0 5 10 15 20 25 30 35
DSM
Coding
Days
Creating DSM solution
Product 1
Product 2
Product 3
Product 4
Product 5
Case 2: Home automation
(Puolitaival, 2011)
Home automation,
remote control via mobile phone
 Ouman manufactures home automation systems
 Products are focused mainly on temperature control with
many different heating systems
 SMS interface for remote control
A language for specifying remote
control applications
One model for Ouman EH-60 product
remote controller
0 5 10 15 20
DSM
"past"
Days
Creating DSM solution
Product 1
Product 2
Product 3
Product 4
Product 5
Return on investment
 DSM solution developed: 2 weeks
 Product development: 1-2 days
– Comparison to earlier development effort not possible since
outsourced
• Cost was 6 figure number
 DSM allows a non-programmer to develop applications
Case 3: Polar’s Sport computers
 Heart rate measuring, analysis and visualization
 Calorie calculation, like current, cumulative, expenditure rate, active time
 Speed: current, average, maximum
 Distance, based on interval, trip, recovery
 Altimeter, vertical speed, altitude alarms, slope counter, graphical trend
 Cycling information like pedaling rate and cycling power
 Barometer, pressure drop alarm, graphical trend
 Exercise diaries
 Sensor connectivity (heart rate, speed, cadence, power, GPS)
 Compass, Temperature, Odometer, Logbooks, etc.
About the product development
(Kärnä et al. 2009)
 Polar focused on UI application development
– Single largest piece of software
• Takes 40-50% of the development time
– Typically always vary among products
 Software development is constrained by limited
resources:
– Memory, processor speed and battery life
 Polar created the needed languages and generators
internally
Sample of UI application design
Evaluation methods
 Compare the use of DSM and the current practice
 Two research methods
– Laboratory study
• 6 current developers, 6 implementations
• Implement a small, typical feature
– Pilot project
• Implement large portion of a whole product
• 1 person
Results of the studies
 Laboratory study
– Measuring time: at least 750% faster
– Asking opinions: results (scale 1-5, 5 best):
 Pilot
– Measuring time:
>900% faster
Return on investment: Polar
 DSM solution developed in 60 hours
 Product development with:
– the current approach: 23 days
– DSM: 2,3 days
Case 4: Military radio
(Puolitaival et al., 2011)
EB Tough VoIP Features
 Tough VoIP is a wired phone
that is using UDP/IP network for
connection
 Manufacturer: Elektrobit
 Main features:
– Easy configuration
– Point-to-Point call
– All call
– War-proof device
Testing problem
ETC...
EB Test Tool Platform +
OpenTTCN tester
Two language solution
Model Model
MBT
TTCN-3TTCN-3
Modeling
one test case
Modeling a
test logic
Model-Based
Testing
generates
multiple test
cases
Generating
one test case
Executing the
test case
Executing
test cases
Model example 1: test case
Model example 2: test logic
0 5 10 15 20
DSM
Coding
Days
Creating DSM solution
Test suite 1
Test suite 2
Test suite 3
Test suite 4
Test suite 5
Return on investment: Elektrobit
 About 10 times faster with modeling
 Set-up time estimation:
– 2 weeks for the first version, +1 week to make it better
 Other benefits:
– Test coverage dramatically increase
– Easy test configuration
Economics of DSM
 Repetition:
– # of product variants
– # of similar features
– # of developers
– ”outsourcing” to
domain experts
 Investment:
– Effort needed
to implement
DSLs
0
10
20
30
40
50
60
70
80
90
100
0 1 2 3 4 5 6
Repetition
Cost
Current DSM
DSM Solution Development Time
Man days
Concepts Symbols
GeneratorsRules
1 2 3 4
Steps for implementing DSM
Summary
 Domain-Specific Modeling languages provide:
– Better productivity
– Quality improvements
– Easier use and introduction of new developers
 MetaEdit+ makes moving to DSLs feasible
– Expert can focus on language design, not on creating tooling
– Models update and work when languages changes
 Creation of languages does not take much time!
More details on the cases
 Kelly, S., Tolvanen, J.-P., Domain-Specific Modeling: Enabling
Full Code Generation, Wiley, 2008. http://dsmbook.com
 Kärnä, J., et al. Evaluating the Use of Domain-Specific Modeling
in Practice, Proceedings of the 9th Workshop on Domain-
Specific Modeling, HSE Print, B-108, 2009.
 Puolitaival, O.-P., Home Automation DSL case, Code Generation
Conference, 2011
 Puolitaival, O.-P., Kanstren, T., Rytky, V.-P., Saarela, A.,
Utilizing Domain-Specific Modeling for Software Testing,
Proceedings of VALID, October 2011
 Safa, L., The Making Of User-Interface Designer, A Proprietary
DSM Tool, Proceedings of the 7th Workshop on Domain-Specific
Modeling, Technical Reports, TR-38, University of Jyväskylä,
2007
For more cases, customer stories, testimonials
visit www.metacase.com
Thank You!

More Related Content

What's hot

Resume_Animesh_Deb
Resume_Animesh_DebResume_Animesh_Deb
Resume_Animesh_DebAnimesh Deb
 
New microsoft office power point presentation
New microsoft office power point presentationNew microsoft office power point presentation
New microsoft office power point presentationMiha Tisca
 
Introduction to DL-BUILDER
Introduction to DL-BUILDERIntroduction to DL-BUILDER
Introduction to DL-BUILDERssuserc37b5e
 
COCOMO Modal In Software Engineering By NADEEM AHMED
COCOMO Modal In Software Engineering By NADEEM AHMED COCOMO Modal In Software Engineering By NADEEM AHMED
COCOMO Modal In Software Engineering By NADEEM AHMED NA000000
 
CONSTRUCTIVE COST MODEL TOOLS
CONSTRUCTIVE COST MODEL TOOLS CONSTRUCTIVE COST MODEL TOOLS
CONSTRUCTIVE COST MODEL TOOLS Hossam Nabih
 
Globalization Testing for Cloud Products
Globalization Testing for Cloud ProductsGlobalization Testing for Cloud Products
Globalization Testing for Cloud ProductsTechWell
 
COCOMO model | How to calculate effort, staffing and Duration of Project
COCOMO model | How to calculate effort, staffing and Duration of ProjectCOCOMO model | How to calculate effort, staffing and Duration of Project
COCOMO model | How to calculate effort, staffing and Duration of ProjectNavjyotsinh Jadeja
 
COCOMO Model in software project management
COCOMO Model in software project managementCOCOMO Model in software project management
COCOMO Model in software project managementSyed Hassan Ali
 
Cocomo model (muskan soni)
Cocomo model (muskan soni)Cocomo model (muskan soni)
Cocomo model (muskan soni)MuskanSony
 

What's hot (20)

Cocomo model
Cocomo modelCocomo model
Cocomo model
 
Resume_Animesh_Deb
Resume_Animesh_DebResume_Animesh_Deb
Resume_Animesh_Deb
 
COCOMO MODEL
COCOMO MODELCOCOMO MODEL
COCOMO MODEL
 
Cocomo
CocomoCocomo
Cocomo
 
New microsoft office power point presentation
New microsoft office power point presentationNew microsoft office power point presentation
New microsoft office power point presentation
 
Cocom ii
Cocom iiCocom ii
Cocom ii
 
Introduction to DL-BUILDER
Introduction to DL-BUILDERIntroduction to DL-BUILDER
Introduction to DL-BUILDER
 
Rashmi_Resume
Rashmi_ResumeRashmi_Resume
Rashmi_Resume
 
COCOMO Modal In Software Engineering By NADEEM AHMED
COCOMO Modal In Software Engineering By NADEEM AHMED COCOMO Modal In Software Engineering By NADEEM AHMED
COCOMO Modal In Software Engineering By NADEEM AHMED
 
CONSTRUCTIVE COST MODEL TOOLS
CONSTRUCTIVE COST MODEL TOOLS CONSTRUCTIVE COST MODEL TOOLS
CONSTRUCTIVE COST MODEL TOOLS
 
COCOMO MODEL 1 And 2
COCOMO MODEL 1 And 2COCOMO MODEL 1 And 2
COCOMO MODEL 1 And 2
 
Globalization Testing for Cloud Products
Globalization Testing for Cloud ProductsGlobalization Testing for Cloud Products
Globalization Testing for Cloud Products
 
Cocomo m odel
Cocomo m odelCocomo m odel
Cocomo m odel
 
CV1603en
CV1603enCV1603en
CV1603en
 
COCOMO model | How to calculate effort, staffing and Duration of Project
COCOMO model | How to calculate effort, staffing and Duration of ProjectCOCOMO model | How to calculate effort, staffing and Duration of Project
COCOMO model | How to calculate effort, staffing and Duration of Project
 
COCOMO Model in software project management
COCOMO Model in software project managementCOCOMO Model in software project management
COCOMO Model in software project management
 
Preeti Sharma tech
Preeti Sharma techPreeti Sharma tech
Preeti Sharma tech
 
Cocomo model (muskan soni)
Cocomo model (muskan soni)Cocomo model (muskan soni)
Cocomo model (muskan soni)
 
EHarringtonResume
EHarringtonResumeEHarringtonResume
EHarringtonResume
 
ITFT - Cocomo model
ITFT -  Cocomo modelITFT -  Cocomo model
ITFT - Cocomo model
 

Similar to Industrial experiences on Domain-Specific Modeling

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 LanguagesJuha-Pekka Tolvanen
 
The Extreme Programming (XP) Model
The Extreme Programming (XP) ModelThe Extreme Programming (XP) Model
The Extreme Programming (XP) ModelDamian T. Gordon
 
Extreme Programming Talk Wise Consulting Www.Talkwiseconsulting
Extreme  Programming    Talk Wise  Consulting   Www.TalkwiseconsultingExtreme  Programming    Talk Wise  Consulting   Www.Talkwiseconsulting
Extreme Programming Talk Wise Consulting Www.Talkwiseconsultingtalkwiseone
 
Extreme programming talk wise consulting - www.talkwiseconsulting
Extreme programming   talk wise consulting - www.talkwiseconsultingExtreme programming   talk wise consulting - www.talkwiseconsulting
Extreme programming talk wise consulting - www.talkwiseconsultingtalkwiseone
 
Cincom Smalltalk News
Cincom Smalltalk NewsCincom Smalltalk News
Cincom Smalltalk NewsESUG
 
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 generatorsJuha-Pekka Tolvanen
 
Test-Driven-Development.pptx
Test-Driven-Development.pptxTest-Driven-Development.pptx
Test-Driven-Development.pptxdheeraj438799
 
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...Soham Mondal
 
COCOMO FP COST ESTIMATION TECHNIQUES:NUMERIC
COCOMO FP COST ESTIMATION TECHNIQUES:NUMERICCOCOMO FP COST ESTIMATION TECHNIQUES:NUMERIC
COCOMO FP COST ESTIMATION TECHNIQUES:NUMERICSneha Padhiar
 
COCOMO FP COST ESTIMATION TECHNIQUES:NUMERIC
COCOMO FP COST ESTIMATION TECHNIQUES:NUMERICCOCOMO FP COST ESTIMATION TECHNIQUES:NUMERIC
COCOMO FP COST ESTIMATION TECHNIQUES:NUMERICSneha Padhiar
 
SOFTWARE ESTIMATION COCOMO AND FP CALCULATION
SOFTWARE ESTIMATION COCOMO AND FP CALCULATIONSOFTWARE ESTIMATION COCOMO AND FP CALCULATION
SOFTWARE ESTIMATION COCOMO AND FP CALCULATIONSneha Padhiar
 
Software_effort_estimation for Software engineering.pdf
Software_effort_estimation for Software engineering.pdfSoftware_effort_estimation for Software engineering.pdf
Software_effort_estimation for Software engineering.pdfsnehan789
 
Cross functional peer review preso 10-01-2013
Cross functional peer review preso 10-01-2013Cross functional peer review preso 10-01-2013
Cross functional peer review preso 10-01-2013SmartBear
 
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems Software
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems SoftwareLessons Learned from Large Scale Adoption of DevOps for IBM z Systems Software
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems SoftwareDevOps for Enterprise Systems
 
Code campiasi scm-project-gabriel-cristescu-ditech
Code campiasi scm-project-gabriel-cristescu-ditechCode campiasi scm-project-gabriel-cristescu-ditech
Code campiasi scm-project-gabriel-cristescu-ditechCodecamp Romania
 

Similar to Industrial experiences on Domain-Specific Modeling (20)

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
 
Resume
ResumeResume
Resume
 
The Extreme Programming (XP) Model
The Extreme Programming (XP) ModelThe Extreme Programming (XP) Model
The Extreme Programming (XP) Model
 
cv11
cv11cv11
cv11
 
Extreme Programming Talk Wise Consulting Www.Talkwiseconsulting
Extreme  Programming    Talk Wise  Consulting   Www.TalkwiseconsultingExtreme  Programming    Talk Wise  Consulting   Www.Talkwiseconsulting
Extreme Programming Talk Wise Consulting Www.Talkwiseconsulting
 
Extreme programming talk wise consulting - www.talkwiseconsulting
Extreme programming   talk wise consulting - www.talkwiseconsultingExtreme programming   talk wise consulting - www.talkwiseconsulting
Extreme programming talk wise consulting - www.talkwiseconsulting
 
Cincom Smalltalk News
Cincom Smalltalk NewsCincom Smalltalk News
Cincom Smalltalk News
 
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
 
Test-Driven-Development.pptx
Test-Driven-Development.pptxTest-Driven-Development.pptx
Test-Driven-Development.pptx
 
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
 
Week1.pptx
Week1.pptxWeek1.pptx
Week1.pptx
 
COCOMO FP COST ESTIMATION TECHNIQUES:NUMERIC
COCOMO FP COST ESTIMATION TECHNIQUES:NUMERICCOCOMO FP COST ESTIMATION TECHNIQUES:NUMERIC
COCOMO FP COST ESTIMATION TECHNIQUES:NUMERIC
 
COCOMO FP COST ESTIMATION TECHNIQUES:NUMERIC
COCOMO FP COST ESTIMATION TECHNIQUES:NUMERICCOCOMO FP COST ESTIMATION TECHNIQUES:NUMERIC
COCOMO FP COST ESTIMATION TECHNIQUES:NUMERIC
 
SOFTWARE ESTIMATION COCOMO AND FP CALCULATION
SOFTWARE ESTIMATION COCOMO AND FP CALCULATIONSOFTWARE ESTIMATION COCOMO AND FP CALCULATION
SOFTWARE ESTIMATION COCOMO AND FP CALCULATION
 
Metrics
MetricsMetrics
Metrics
 
Software_effort_estimation for Software engineering.pdf
Software_effort_estimation for Software engineering.pdfSoftware_effort_estimation for Software engineering.pdf
Software_effort_estimation for Software engineering.pdf
 
CV - Rakesh Sharma
CV - Rakesh SharmaCV - Rakesh Sharma
CV - Rakesh Sharma
 
Cross functional peer review preso 10-01-2013
Cross functional peer review preso 10-01-2013Cross functional peer review preso 10-01-2013
Cross functional peer review preso 10-01-2013
 
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems Software
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems SoftwareLessons Learned from Large Scale Adoption of DevOps for IBM z Systems Software
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems Software
 
Code campiasi scm-project-gabriel-cristescu-ditech
Code campiasi scm-project-gabriel-cristescu-ditechCode campiasi scm-project-gabriel-cristescu-ditech
Code campiasi scm-project-gabriel-cristescu-ditech
 

More from Juha-Pekka Tolvanen

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.pdfJuha-Pekka Tolvanen
 
Measuring Productivity from Model-Based Development
Measuring Productivity from Model-Based DevelopmentMeasuring Productivity from Model-Based Development
Measuring Productivity from Model-Based DevelopmentJuha-Pekka Tolvanen
 
How domain specific modeling languages address variability: investigation of ...
How domain specific modeling languages address variability: investigation of ...How domain specific modeling languages address variability: investigation of ...
How domain specific modeling languages address variability: investigation of ...Juha-Pekka Tolvanen
 
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 techniquesJuha-Pekka Tolvanen
 
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+Juha-Pekka Tolvanen
 
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 modelsJuha-Pekka Tolvanen
 
Collaborative modeling and metamodeling
Collaborative modeling and metamodelingCollaborative modeling and metamodeling
Collaborative modeling and metamodelingJuha-Pekka Tolvanen
 
Collaborative modeling and metamodeling in MetaEdit+
Collaborative modeling and metamodeling in MetaEdit+Collaborative modeling and metamodeling in MetaEdit+
Collaborative modeling and metamodeling in MetaEdit+Juha-Pekka Tolvanen
 
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 2014Juha-Pekka Tolvanen
 

More from Juha-Pekka Tolvanen (9)

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
 
How domain specific modeling languages address variability: investigation of ...
How domain specific modeling languages address variability: investigation of ...How domain specific modeling languages address variability: investigation of ...
How domain specific modeling languages address variability: investigation of ...
 
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+
 
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
 

Recently uploaded

Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
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 CCTVshikhaohhpro
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
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.pdfkalichargn70th171
 
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 ...OnePlan Solutions
 
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.comFatema Valibhai
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendTest Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendArshad QA
 
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 PrecisionSolGuruz
 
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-...Steffen Staab
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AIABDERRAOUF MEHENNI
 
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.docxComplianceQuest1
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 

Recently uploaded (20)

Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
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
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
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
 
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
 
Exploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the ProcessExploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the Process
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendTest Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and Backend
 
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
 
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-...
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
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
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 

Industrial experiences on Domain-Specific Modeling

  • 2. Contents  Domain-Specific Modeling Languages: Introduction  Review of industry cases – Touch screen – Home automation control – Sports computer – Military radio  Summary and discussion
  • 3. 1 4,5 5 6 6 40 0 5 10 15 20 25 30 35 40 Number of new product features implemented in a given time (productivity proportional to Assembler) A rise in productivity is overdue  "The entire history of software engineering is that of the rise in levels of abstraction"  New general-purpose programming languages have not increased productivity  Abstraction of development can be raised above current level...  ... without losing control or accepting substandard results *Software Productivity Research & Capers Jones, 2002
  • 4. What data is available behind the statements* like: "5-fold productivity increase when compared to standard development methods" "The quality of the generated code is clearly better, simply because the modeling language rules out errors" "The DSM solution makes development significantly faster and easier than the old manual coding practices" * source: www.metacase.com/cases/
  • 5. Four cases in more detail  Touch screen device (Panasonic)  Home automation (Ouman)  Sports computer (Polar Electro)  Military radio (Elektrobit)
  • 6. Case 1: Panasonic’s touch screen devices (Safa, 2007)  Home automation solution installed by construction firms  Features for controlled – Lights – Heating – Air-conditioning – Electricity – Alarms • Burglar • Gas • Smoke – Reporting (energy saving)
  • 7.
  • 8. Evaluation method  Compare DSM to current manual coding practice  Two evaluation methods 1. Implemented an existing product with DSM 2. Implemented the existing features to a different target platform • The same models, a new generator
  • 9.  Tool-chains covering: – Generate – Compile – Upload – Boot – Run  Generators for: – PC simulation – Touch screen – Microcontroller
  • 10. Measuring development time  Build the same application with both approaches – Measure the time used  Results: – DSM is 425% faster  Implemented the same product to a new platform – 3 days for generator development – 0 days for modeling
  • 11. Return on investment: Panasonic  DSM solution developed in 15 days  Product development with: – the current approach: 17 days – DSM: 4 days 0 5 10 15 20 25 30 35 DSM Coding Days Creating DSM solution Product 1 Product 2 Product 3 Product 4 Product 5
  • 12. Case 2: Home automation (Puolitaival, 2011)
  • 13. Home automation, remote control via mobile phone  Ouman manufactures home automation systems  Products are focused mainly on temperature control with many different heating systems  SMS interface for remote control
  • 14. A language for specifying remote control applications
  • 15. One model for Ouman EH-60 product remote controller
  • 16. 0 5 10 15 20 DSM "past" Days Creating DSM solution Product 1 Product 2 Product 3 Product 4 Product 5 Return on investment  DSM solution developed: 2 weeks  Product development: 1-2 days – Comparison to earlier development effort not possible since outsourced • Cost was 6 figure number  DSM allows a non-programmer to develop applications
  • 17. Case 3: Polar’s Sport computers  Heart rate measuring, analysis and visualization  Calorie calculation, like current, cumulative, expenditure rate, active time  Speed: current, average, maximum  Distance, based on interval, trip, recovery  Altimeter, vertical speed, altitude alarms, slope counter, graphical trend  Cycling information like pedaling rate and cycling power  Barometer, pressure drop alarm, graphical trend  Exercise diaries  Sensor connectivity (heart rate, speed, cadence, power, GPS)  Compass, Temperature, Odometer, Logbooks, etc.
  • 18. About the product development (Kärnä et al. 2009)  Polar focused on UI application development – Single largest piece of software • Takes 40-50% of the development time – Typically always vary among products  Software development is constrained by limited resources: – Memory, processor speed and battery life  Polar created the needed languages and generators internally
  • 19. Sample of UI application design
  • 20. Evaluation methods  Compare the use of DSM and the current practice  Two research methods – Laboratory study • 6 current developers, 6 implementations • Implement a small, typical feature – Pilot project • Implement large portion of a whole product • 1 person
  • 21. Results of the studies  Laboratory study – Measuring time: at least 750% faster – Asking opinions: results (scale 1-5, 5 best):  Pilot – Measuring time: >900% faster
  • 22. Return on investment: Polar  DSM solution developed in 60 hours  Product development with: – the current approach: 23 days – DSM: 2,3 days
  • 23. Case 4: Military radio (Puolitaival et al., 2011)
  • 24. EB Tough VoIP Features  Tough VoIP is a wired phone that is using UDP/IP network for connection  Manufacturer: Elektrobit  Main features: – Easy configuration – Point-to-Point call – All call – War-proof device
  • 26. EB Test Tool Platform + OpenTTCN tester Two language solution Model Model MBT TTCN-3TTCN-3 Modeling one test case Modeling a test logic Model-Based Testing generates multiple test cases Generating one test case Executing the test case Executing test cases
  • 27. Model example 1: test case
  • 28. Model example 2: test logic
  • 29. 0 5 10 15 20 DSM Coding Days Creating DSM solution Test suite 1 Test suite 2 Test suite 3 Test suite 4 Test suite 5 Return on investment: Elektrobit  About 10 times faster with modeling  Set-up time estimation: – 2 weeks for the first version, +1 week to make it better  Other benefits: – Test coverage dramatically increase – Easy test configuration
  • 30. Economics of DSM  Repetition: – # of product variants – # of similar features – # of developers – ”outsourcing” to domain experts  Investment: – Effort needed to implement DSLs 0 10 20 30 40 50 60 70 80 90 100 0 1 2 3 4 5 6 Repetition Cost Current DSM
  • 31. DSM Solution Development Time Man days
  • 32. Concepts Symbols GeneratorsRules 1 2 3 4 Steps for implementing DSM
  • 33. Summary  Domain-Specific Modeling languages provide: – Better productivity – Quality improvements – Easier use and introduction of new developers  MetaEdit+ makes moving to DSLs feasible – Expert can focus on language design, not on creating tooling – Models update and work when languages changes  Creation of languages does not take much time!
  • 34. More details on the cases  Kelly, S., Tolvanen, J.-P., Domain-Specific Modeling: Enabling Full Code Generation, Wiley, 2008. http://dsmbook.com  Kärnä, J., et al. Evaluating the Use of Domain-Specific Modeling in Practice, Proceedings of the 9th Workshop on Domain- Specific Modeling, HSE Print, B-108, 2009.  Puolitaival, O.-P., Home Automation DSL case, Code Generation Conference, 2011  Puolitaival, O.-P., Kanstren, T., Rytky, V.-P., Saarela, A., Utilizing Domain-Specific Modeling for Software Testing, Proceedings of VALID, October 2011  Safa, L., The Making Of User-Interface Designer, A Proprietary DSM Tool, Proceedings of the 7th Workshop on Domain-Specific Modeling, Technical Reports, TR-38, University of Jyväskylä, 2007
  • 35. For more cases, customer stories, testimonials visit www.metacase.com Thank You!