domain-specific modeling languages for embedded system ...adt.cs.upb.de/mecoes/mecoes2012/03.pdf ·...

32
Domain-Specific Modeling Languages for Embedded System Development MeCoEs, Tampere, Oct 7 2012 Juha-Pekka Tolvanen , Steven Kelly MetaCase

Upload: others

Post on 27-Jun-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

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,

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,

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,

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,

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,

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 6: 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,

Contact: Profound Yasutaka Tsukamoto

[email protected]

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,
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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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)