Domain-Specific Modeling Languages for Embedded System ...adt.cs.upb.de/mecoes/MeCoES2012/03.pdf ·...
Transcript of Domain-Specific Modeling Languages for Embedded System ...adt.cs.upb.de/mecoes/MeCoES2012/03.pdf ·...
![Page 1: Domain-Specific Modeling Languages for Embedded System ...adt.cs.upb.de/mecoes/MeCoES2012/03.pdf · Domain-Specific Modeling Languages for Embedded System Development MeCoEs, Tampere,](https://reader034.fdocuments.us/reader034/viewer/2022042401/5f0fb5ad7e708231d4458033/html5/thumbnails/1.jpg)
Domain-Specific Modeling Languages for Embedded
System Development
MeCoEs, Tampere, Oct 7 2012
Juha-Pekka Tolvanen, Steven Kelly MetaCase
![Page 2: Domain-Specific Modeling Languages for Embedded System ...adt.cs.upb.de/mecoes/MeCoES2012/03.pdf · Domain-Specific Modeling Languages for Embedded System Development MeCoEs, Tampere,](https://reader034.fdocuments.us/reader034/viewer/2022042401/5f0fb5ad7e708231d4458033/html5/thumbnails/2.jpg)
Contents
Background to metamodeling
Industry examples and experiences
Generating code and beyond
Summary
![Page 3: Domain-Specific Modeling Languages for Embedded System ...adt.cs.upb.de/mecoes/MeCoES2012/03.pdf · Domain-Specific Modeling Languages for Embedded System Development MeCoEs, Tampere,](https://reader034.fdocuments.us/reader034/viewer/2022042401/5f0fb5ad7e708231d4458033/html5/thumbnails/3.jpg)
Metamodel and model: instance of
![Page 4: Domain-Specific Modeling Languages for Embedded System ...adt.cs.upb.de/mecoes/MeCoES2012/03.pdf · Domain-Specific Modeling Languages for Embedded System Development MeCoEs, Tampere,](https://reader034.fdocuments.us/reader034/viewer/2022042401/5f0fb5ad7e708231d4458033/html5/thumbnails/4.jpg)
Concepts Symbols
Generators Rules 1 2 3 4
1. Enter concepts &
their properties 3. Draw or import the symbols
2. Pick rules from templates
4. Specify generators
Language = concepts+rules+notation
![Page 5: Domain-Specific Modeling Languages for Embedded System ...adt.cs.upb.de/mecoes/MeCoES2012/03.pdf · Domain-Specific Modeling Languages for Embedded System Development MeCoEs, Tampere,](https://reader034.fdocuments.us/reader034/viewer/2022042401/5f0fb5ad7e708231d4458033/html5/thumbnails/5.jpg)
Example: Breakfast - a modeling tool for SystemC
Easy to create virtual platform model
Using QEMU for CPU models
Easy to connect QEMU to SystemC models
Easy to connect interrupt signals to CPU
No need of deep knowledge about SystemC TLM2.0
Abstraction is LT(Loosely Timed)
Easy to create SystemC code for high-level synthesis
Pin level interface between modules is generated automatically
SystemC code for line buffer for image processing is generated
Designers can concentrate coding for algorithm
SystemC model for high-level synthesis can be used on a virtual platform
No clock on a virtual platform
Virtual platform uses the same SystemC code for a register I/F(address
decoder) as high-level synthesis
![Page 7: Domain-Specific Modeling Languages for Embedded System ...adt.cs.upb.de/mecoes/MeCoES2012/03.pdf · Domain-Specific Modeling Languages for Embedded System Development MeCoEs, Tampere,](https://reader034.fdocuments.us/reader034/viewer/2022042401/5f0fb5ad7e708231d4458033/html5/thumbnails/7.jpg)
Snapshot for an image processing hardware
![Page 8: Domain-Specific Modeling Languages for Embedded System ...adt.cs.upb.de/mecoes/MeCoES2012/03.pdf · Domain-Specific Modeling Languages for Embedded System Development MeCoEs, Tampere,](https://reader034.fdocuments.us/reader034/viewer/2022042401/5f0fb5ad7e708231d4458033/html5/thumbnails/8.jpg)
Sports computer applications
![Page 9: Domain-Specific Modeling Languages for Embedded System ...adt.cs.upb.de/mecoes/MeCoES2012/03.pdf · Domain-Specific Modeling Languages for Embedded System Development MeCoEs, Tampere,](https://reader034.fdocuments.us/reader034/viewer/2022042401/5f0fb5ad7e708231d4458033/html5/thumbnails/9.jpg)
Railway track control system
![Page 10: Domain-Specific Modeling Languages for Embedded System ...adt.cs.upb.de/mecoes/MeCoES2012/03.pdf · Domain-Specific Modeling Languages for Embedded System Development MeCoEs, Tampere,](https://reader034.fdocuments.us/reader034/viewer/2022042401/5f0fb5ad7e708231d4458033/html5/thumbnails/10.jpg)
RTOS configuration
![Page 11: Domain-Specific Modeling Languages for Embedded System ...adt.cs.upb.de/mecoes/MeCoES2012/03.pdf · Domain-Specific Modeling Languages for Embedded System Development MeCoEs, Tampere,](https://reader034.fdocuments.us/reader034/viewer/2022042401/5f0fb5ad7e708231d4458033/html5/thumbnails/11.jpg)
PLC heating application
![Page 12: Domain-Specific Modeling Languages for Embedded System ...adt.cs.upb.de/mecoes/MeCoES2012/03.pdf · Domain-Specific Modeling Languages for Embedded System Development MeCoEs, Tampere,](https://reader034.fdocuments.us/reader034/viewer/2022042401/5f0fb5ad7e708231d4458033/html5/thumbnails/12.jpg)
Automotive infotainment system
![Page 13: Domain-Specific Modeling Languages for Embedded System ...adt.cs.upb.de/mecoes/MeCoES2012/03.pdf · Domain-Specific Modeling Languages for Embedded System Development MeCoEs, Tampere,](https://reader034.fdocuments.us/reader034/viewer/2022042401/5f0fb5ad7e708231d4458033/html5/thumbnails/13.jpg)
Multi-view mobile app development
![Page 14: Domain-Specific Modeling Languages for Embedded System ...adt.cs.upb.de/mecoes/MeCoES2012/03.pdf · Domain-Specific Modeling Languages for Embedded System Development MeCoEs, Tampere,](https://reader034.fdocuments.us/reader034/viewer/2022042401/5f0fb5ad7e708231d4458033/html5/thumbnails/14.jpg)
Smartphone applications
![Page 15: Domain-Specific Modeling Languages for Embedded System ...adt.cs.upb.de/mecoes/MeCoES2012/03.pdf · Domain-Specific Modeling Languages for Embedded System Development MeCoEs, Tampere,](https://reader034.fdocuments.us/reader034/viewer/2022042401/5f0fb5ad7e708231d4458033/html5/thumbnails/15.jpg)
Mobile point-of-sale system
![Page 16: Domain-Specific Modeling Languages for Embedded System ...adt.cs.upb.de/mecoes/MeCoES2012/03.pdf · Domain-Specific Modeling Languages for Embedded System Development MeCoEs, Tampere,](https://reader034.fdocuments.us/reader034/viewer/2022042401/5f0fb5ad7e708231d4458033/html5/thumbnails/16.jpg)
Document engineering
![Page 17: Domain-Specific Modeling Languages for Embedded System ...adt.cs.upb.de/mecoes/MeCoES2012/03.pdf · Domain-Specific Modeling Languages for Embedded System Development MeCoEs, Tampere,](https://reader034.fdocuments.us/reader034/viewer/2022042401/5f0fb5ad7e708231d4458033/html5/thumbnails/17.jpg)
Call processing
![Page 18: Domain-Specific Modeling Languages for Embedded System ...adt.cs.upb.de/mecoes/MeCoES2012/03.pdf · Domain-Specific Modeling Languages for Embedded System Development MeCoEs, Tampere,](https://reader034.fdocuments.us/reader034/viewer/2022042401/5f0fb5ad7e708231d4458033/html5/thumbnails/18.jpg)
Service creation environment
![Page 19: Domain-Specific Modeling Languages for Embedded System ...adt.cs.upb.de/mecoes/MeCoES2012/03.pdf · Domain-Specific Modeling Languages for Embedded System Development MeCoEs, Tampere,](https://reader034.fdocuments.us/reader034/viewer/2022042401/5f0fb5ad7e708231d4458033/html5/thumbnails/19.jpg)
Test vector generation & verification
![Page 20: Domain-Specific Modeling Languages for Embedded System ...adt.cs.upb.de/mecoes/MeCoES2012/03.pdf · Domain-Specific Modeling Languages for Embedded System Development MeCoEs, Tampere,](https://reader034.fdocuments.us/reader034/viewer/2022042401/5f0fb5ad7e708231d4458033/html5/thumbnails/20.jpg)
Printer HW&SW co-development
![Page 21: Domain-Specific Modeling Languages for Embedded System ...adt.cs.upb.de/mecoes/MeCoES2012/03.pdf · Domain-Specific Modeling Languages for Embedded System Development MeCoEs, Tampere,](https://reader034.fdocuments.us/reader034/viewer/2022042401/5f0fb5ad7e708231d4458033/html5/thumbnails/21.jpg)
![Page 22: Domain-Specific Modeling Languages for Embedded System ...adt.cs.upb.de/mecoes/MeCoES2012/03.pdf · Domain-Specific Modeling Languages for Embedded System Development MeCoEs, Tampere,](https://reader034.fdocuments.us/reader034/viewer/2022042401/5f0fb5ad7e708231d4458033/html5/thumbnails/22.jpg)
Language(s) + Code Generator
![Page 23: Domain-Specific Modeling Languages for Embedded System ...adt.cs.upb.de/mecoes/MeCoES2012/03.pdf · Domain-Specific Modeling Languages for Embedded System Development MeCoEs, Tampere,](https://reader034.fdocuments.us/reader034/viewer/2022042401/5f0fb5ad7e708231d4458033/html5/thumbnails/23.jpg)
Experiences from practice
"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"
"An increase of at least 750% in productivity, and greatly improved quality in the code and development process"
![Page 24: Domain-Specific Modeling Languages for Embedded System ...adt.cs.upb.de/mecoes/MeCoES2012/03.pdf · Domain-Specific Modeling Languages for Embedded System Development MeCoEs, Tampere,](https://reader034.fdocuments.us/reader034/viewer/2022042401/5f0fb5ad7e708231d4458033/html5/thumbnails/24.jpg)
500 %
1000 %
750 %
600 %
900 %
500 %
600 %
0 %
100 %
200 %
300 %
400 %
500 %
600 %
700 %
800 %
900 %
1000 %
Embedded UI
applications
Mobile phone
software
Phone switch
features
Call
processing
services
Heart rate
monitor
J2EE web
application
Home
automation
Domains
Percent Increase
Productivity increase measured
Comparing to earlier practice
(typically compared to coding)
![Page 25: Domain-Specific Modeling Languages for Embedded System ...adt.cs.upb.de/mecoes/MeCoES2012/03.pdf · Domain-Specific Modeling Languages for Embedded System Development MeCoEs, Tampere,](https://reader034.fdocuments.us/reader034/viewer/2022042401/5f0fb5ad7e708231d4458033/html5/thumbnails/25.jpg)
Generation of non-software artifacts
Single source, multiple targets:
- Automated build automating compile and execution
- Checking completeness and uniformity
- Simulation data
- User guides, installation guidelines
- Configuration
- Metrics
- Testing and analysis
- Material usage
- Documentation
- Review reports
Case of Fishing Farm automation system,
Preschern, C., et al 2012
![Page 26: Domain-Specific Modeling Languages for Embedded System ...adt.cs.upb.de/mecoes/MeCoES2012/03.pdf · Domain-Specific Modeling Languages for Embedded System Development MeCoEs, Tampere,](https://reader034.fdocuments.us/reader034/viewer/2022042401/5f0fb5ad7e708231d4458033/html5/thumbnails/26.jpg)
Modeling both SW and system
Combining two or more languages via metamodeling
Metamodel covers integration rules for
– Correctness
– Consistency
– Completeness
![Page 27: Domain-Specific Modeling Languages for Embedded System ...adt.cs.upb.de/mecoes/MeCoES2012/03.pdf · Domain-Specific Modeling Languages for Embedded System Development MeCoEs, Tampere,](https://reader034.fdocuments.us/reader034/viewer/2022042401/5f0fb5ad7e708231d4458033/html5/thumbnails/27.jpg)
Hardware and software co-design
Integrating various views with a common metamodel
– e.g Y-model
Main challenge is organizational
– Changes status quo
![Page 28: Domain-Specific Modeling Languages for Embedded System ...adt.cs.upb.de/mecoes/MeCoES2012/03.pdf · Domain-Specific Modeling Languages for Embedded System Development MeCoEs, Tampere,](https://reader034.fdocuments.us/reader034/viewer/2022042401/5f0fb5ad7e708231d4458033/html5/thumbnails/28.jpg)
Design space exploration
Performance analysis, error analysis, fault tolerance etc.
– Integrate with tools like ABSOLUT, SPIN, UPPAAL, etc.
– Annotate results back to models
![Page 29: Domain-Specific Modeling Languages for Embedded System ...adt.cs.upb.de/mecoes/MeCoES2012/03.pdf · Domain-Specific Modeling Languages for Embedded System Development MeCoEs, Tampere,](https://reader034.fdocuments.us/reader034/viewer/2022042401/5f0fb5ad7e708231d4458033/html5/thumbnails/29.jpg)
Automating testing
Modeling test cases/test logic and generating test data
![Page 30: Domain-Specific Modeling Languages for Embedded System ...adt.cs.upb.de/mecoes/MeCoES2012/03.pdf · Domain-Specific Modeling Languages for Embedded System Development MeCoEs, Tampere,](https://reader034.fdocuments.us/reader034/viewer/2022042401/5f0fb5ad7e708231d4458033/html5/thumbnails/30.jpg)
Time to develop languages & generators
63 language concepts
XML generator
60 language concepts
C, HTML, build script generators
36 language concepts
Assembler generator
77 language concepts
Python generator
Java generator for
simulation
143 language concepts
J2EE generator Man days
![Page 31: Domain-Specific Modeling Languages for Embedded System ...adt.cs.upb.de/mecoes/MeCoES2012/03.pdf · Domain-Specific Modeling Languages for Embedded System Development MeCoEs, Tampere,](https://reader034.fdocuments.us/reader034/viewer/2022042401/5f0fb5ad7e708231d4458033/html5/thumbnails/31.jpg)
Thank You!
Questions?
International: MetaCase
Ylistönmäentie 31 FI-40500 Jyväskylä, Finland
Phone +358 14 641 000 Fax +358 420 648 606
USA: MetaCase
5605 North MacArthur Blvd. 11th Floor, Irving, Texas 75038
Phone (972) 819-2039 Fax (480) 247-5501
![Page 32: Domain-Specific Modeling Languages for Embedded System ...adt.cs.upb.de/mecoes/MeCoES2012/03.pdf · Domain-Specific Modeling Languages for Embedded System Development MeCoEs, Tampere,](https://reader034.fdocuments.us/reader034/viewer/2022042401/5f0fb5ad7e708231d4458033/html5/thumbnails/32.jpg)
For details
Kelly, S., Tolvanen, J.-P., Domain-Specific Modeling: Enabling Full Code Generation, Wiley (2008) http://dsmbook.com
Kieburtz, R. et al., A Software Engineering Experiment in Software Component Generation, ICSE 1996
Kärnä, J., et al. Evaluating the Use of Domain-Specific Modeling in Practice, 9th DSM Workshop (2009)
Mewes, K., Domain-specific Modelling of Railway Control Systems with Integrated Verication and Validation, PhD thesis, University of Bremen (2009)
Puolitaival, O.-P., Home Automation DSL case, Code Generation Conference (2011)
Puolitaival, et al. Utilizing Domain-Specific Modeling for Software Testing, Proceedings of VALID, (2011)
Preschern et al. Domain Specific Language Architecture for Automation Systems: An Industrial Case Study, Procs of Graphical Modeling Language Development, DTU (2012)
Safa, L., The Making Of User-Interface Designer, A Proprietary DSM Tool, Procs of 7th DSM Workshop (2007)