© fraunhofer iese fraunhofer iese multi-language development of embedded systems dr. thomas kuhn...

18
© Fraunhofer IESE Fraunhofer IESE Multi-Language Development of Embedded Systems Dr. Thomas Kuhn [email protected] Tel.: 0049 631-6800 2177

Upload: joan-atkins

Post on 17-Jan-2018

221 views

Category:

Documents


0 download

DESCRIPTION

© Fraunhofer IESE Motivation – multi language design Complex systems consist of multiple components Components are defined through views Interface, Behavior, Safety requirements Specification / realization Views represent concerns of Roles Architect Domain expert Safety engineer Interface Behavior Safety

TRANSCRIPT

Page 1: © Fraunhofer IESE Fraunhofer IESE Multi-Language Development of Embedded Systems Dr. Thomas Kuhn Tel.: 0049 631-6800 2177

© Fraunhofer IESE

Fraunhofer IESE

Multi-Language Development of Embedded Systems

Dr. Thomas Kuhn

[email protected].: 0049 631-6800 2177

Page 2: © Fraunhofer IESE Fraunhofer IESE Multi-Language Development of Embedded Systems Dr. Thomas Kuhn Tel.: 0049 631-6800 2177

© Fraunhofer IESE

Outline

Motivation

Multi-language development with CompoSE

CompoSE language components

CompoSE Infrastructure and Runtime framework

Conclusion

Page 3: © Fraunhofer IESE Fraunhofer IESE Multi-Language Development of Embedded Systems Dr. Thomas Kuhn Tel.: 0049 631-6800 2177

© Fraunhofer IESE

Motivation – multi language design

Complex systems consist of multiple components

Components are defined through views Interface, Behavior, Safety requirements Specification / realization

Views represent concerns of Roles Architect Domain expert Safety engineer

InterfaceBehavior

Safety

Page 4: © Fraunhofer IESE Fraunhofer IESE Multi-Language Development of Embedded Systems Dr. Thomas Kuhn Tel.: 0049 631-6800 2177

© Fraunhofer IESE

Motivation – multi language design

Each viewpoint/role has its own concepts Fault trees UML Data flow

Languages express role-specific concepts Generic modeling languages (Domain) specific languages

Properties store view-specific data & models

Interface

Behavior

Safety

Page 5: © Fraunhofer IESE Fraunhofer IESE Multi-Language Development of Embedded Systems Dr. Thomas Kuhn Tel.: 0049 631-6800 2177

© Fraunhofer IESE

Motivation – multi language design

Domain specific languages / generic languages

Domain specific languages Tailored, Intuitive

Generic languages Complex, not well focused

Holistic component definitions require multiple modeling languages

Interface

Behavior

Safety

Page 6: © Fraunhofer IESE Fraunhofer IESE Multi-Language Development of Embedded Systems Dr. Thomas Kuhn Tel.: 0049 631-6800 2177

© Fraunhofer IESE

Motivation – multi language design

Components defined through mixture Domain specific languages Proven off the shelf languages

Challenges Language integration Consistency Tool integration Runtime environments

Page 7: © Fraunhofer IESE Fraunhofer IESE Multi-Language Development of Embedded Systems Dr. Thomas Kuhn Tel.: 0049 631-6800 2177

© Fraunhofer IESE

Multi-language development with CompoSE

CompoSE supports multi language development Host language Predefined views Language components

Host language Components, Properties Defines components through views

Language components Integrate new languages, views, tool chains, and runtime support

Page 8: © Fraunhofer IESE Fraunhofer IESE Multi-Language Development of Embedded Systems Dr. Thomas Kuhn Tel.: 0049 631-6800 2177

© Fraunhofer IESE

Multi-language development with CompoSE

CompoSE host language Components Properties Views Types Transformations Checks

Page 9: © Fraunhofer IESE Fraunhofer IESE Multi-Language Development of Embedded Systems Dr. Thomas Kuhn Tel.: 0049 631-6800 2177

© Fraunhofer IESE

Multi-language development with CompoSE

Component Defines an entity of the system

Defined by properties Component name Component substructure Interface Domain specific properties Behavior

Page 10: © Fraunhofer IESE Fraunhofer IESE Multi-Language Development of Embedded Systems Dr. Thomas Kuhn Tel.: 0049 631-6800 2177

© Fraunhofer IESE

Multi-language development with CompoSE

Component views

Represent one viewpoint

Define data structures for view specific data Simple properties Black box models (unknown / native

structure) White box models (with meta models)

Integrate tool chains for manipulating data Industrial strength tool chains Domain specific editors

[Editor]

[Simulink realization]

Page 11: © Fraunhofer IESE Fraunhofer IESE Multi-Language Development of Embedded Systems Dr. Thomas Kuhn Tel.: 0049 631-6800 2177

© Fraunhofer IESE

Multi-language development with CompoSE

Types Define property contents

Transformations Data exchange between

views Synchronization between

views Uni-/Bidirectional

Page 12: © Fraunhofer IESE Fraunhofer IESE Multi-Language Development of Embedded Systems Dr. Thomas Kuhn Tel.: 0049 631-6800 2177

© Fraunhofer IESE

Multi-language development with CompoSE

Checks

Operate on Basic properties White-box models

Ensure Constraints Consistency

?

?

Page 13: © Fraunhofer IESE Fraunhofer IESE Multi-Language Development of Embedded Systems Dr. Thomas Kuhn Tel.: 0049 631-6800 2177

© Fraunhofer IESE

CompoSE language components

CompoSE language components

Language level Modeling languages and views

Infrastructure Editors & Generators Simulators / Analysis tools

Runtime Support libraries

Runtime

Runtime

Page 14: © Fraunhofer IESE Fraunhofer IESE Multi-Language Development of Embedded Systems Dr. Thomas Kuhn Tel.: 0049 631-6800 2177

© Fraunhofer IESE

CompoSE language components

Language Infrastructure Runtime

Page 15: © Fraunhofer IESE Fraunhofer IESE Multi-Language Development of Embedded Systems Dr. Thomas Kuhn Tel.: 0049 631-6800 2177

© Fraunhofer IESE

CompoSE infrastructure and runtime framework

Infrastructure and runtime framework

Integrates tool chains Editors Code generators

Runtime support Support libraries Schedulers Runtime models

Runtime

Runtime

Page 16: © Fraunhofer IESE Fraunhofer IESE Multi-Language Development of Embedded Systems Dr. Thomas Kuhn Tel.: 0049 631-6800 2177

© Fraunhofer IESE

CompoSE Infrastructure and Runtime framework

Infrastructure Editors provide common interface

Editor proxies

Basic interface Open model Report changed model

Simplistic implementation

[Editor]

Page 17: © Fraunhofer IESE Fraunhofer IESE Multi-Language Development of Embedded Systems Dr. Thomas Kuhn Tel.: 0049 631-6800 2177

© Fraunhofer IESE

CompoSE Infrastructure and Runtime framework

• Instance of generator metaclass

• Interface to Simulink code generator

• Adapter code implements runtime interface

Page 18: © Fraunhofer IESE Fraunhofer IESE Multi-Language Development of Embedded Systems Dr. Thomas Kuhn Tel.: 0049 631-6800 2177

© Fraunhofer IESE

Conclusion

CompoSE Component-based light-weight language coupling

Host language defines components Language components integrate modeling languages Language, infrastructure, runtime

Concepts Components with properties Black box / white box models Synchronization Checks

Rationale Rapid integration of tool chains and languages Rapid development of domain specific modeling approaches