1 / 18

Multi-Language Development of Embedded Systems

Multi-Language Development of Embedded Systems. Fraunhofer IESE. Dr. Thomas Kuhn Thomas.Kuhn@iese.fraunhofer.de Tel.: 0049 631-6800 2177. Outline. Motivation Multi-language development with CompoSE CompoSE language components CompoSE Infrastructure and Runtime framework Conclusion.

Download Presentation

Multi-Language Development of Embedded Systems

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Multi-Language Development of Embedded Systems Fraunhofer IESE Dr. Thomas Kuhn Thomas.Kuhn@iese.fraunhofer.deTel.: 0049 631-6800 2177

  2. Outline • Motivation • Multi-language development with CompoSE • CompoSE language components • CompoSE Infrastructure and Runtime framework • Conclusion

  3. 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

  4. 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

  5. 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

  6. Motivation – multi language design Components defined through mixture • Domain specific languages • Proven off the shelf languages Challenges • Language integration • Consistency • Tool integration • Runtime environments

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

  8. Multi-language development with CompoSE • CompoSE host language • Components • Properties • Views • Types • Transformations • Checks

  9. Multi-language development with CompoSE • Component • Defines an entity of the system • Defined by properties • Component name • Component substructure • Interface • Domain specific properties • Behavior

  10. 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 [Simulink realization] [Editor]

  11. Multi-language development with CompoSE • Types • Define property contents • Transformations • Data exchange between views • Synchronization between views • Uni-/Bidirectional

  12. Multi-language development with CompoSE • Checks • Operate on • Basic properties • White-box models • Ensure • Constraints • Consistency ? ?

  13. CompoSE language components • CompoSE language components • Language level • Modeling languages and views • Infrastructure • Editors & Generators • Simulators / Analysis tools • Runtime • Support libraries Runtime Runtime

  14. CompoSE language components Language Infrastructure Runtime

  15. CompoSE infrastructure and runtime framework • Infrastructure and runtime framework • Integrates tool chains • Editors • Code generators • Runtime support • Support libraries • Schedulers • Runtime models Runtime Runtime

  16. CompoSE Infrastructure and Runtime framework • Infrastructure • Editors provide common interface • Editor proxies • Basic interface • Open model • Report changed model • Simplistic implementation [Editor]

  17. CompoSE Infrastructure and Runtime framework • Instance of generator metaclass • Interface to Simulink code generator • Adapter code implements runtime interface

  18. 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

More Related