sphinx: an industrial strength tool platform fostering model-driven development of embedded systems

19
www.geensys.com Global Embedded Electronics & Networked SYstem Solutions 2010-11-04 Sphinx An Industrial Strength Tool Platform Fostering Model-driven Development of Embedded Systems Dr. Stephan Eberle

Upload: stephan-eberle

Post on 11-May-2015

1.527 views

Category:

Technology


3 download

DESCRIPTION

It is a known fact that embedded system complexity doesn't stop increasing and model-driven software development turns more and more out to be an adequate approach to keeping this complexity under control. But it is still a major hassle to provide corresponding integrated tool environments which are sufficiently domain-oriented, scalable, and robust. Eclipse as an open and extensible tool platform is a very good starting point but not a solution per se. The Eclipse Modeling Project provides many of the additionally required building blocks but is very fragmented and not up to the point where it could provide the level of tool support embedded system designers expect. The recently created Sphinx project is meant to significantly improve this situation. It will be seeded with code from Artop – a platform for creating modeling tools supporting the AUTOSAR standard which has already been deployed at several larger automotive companies. Complementary building blocks will come from the Papyrus project. Sphinx will provide a modeling tool platform enabling IDE-like tool support for specific modeling languages to be developed at reasonable effort and cost. It will leverage and foster the industrial strength known from Artop and head towards a domain- and vendor-independent interoperability layer (backbone) for modeling tools of any kind.

TRANSCRIPT

Page 1: Sphinx: An Industrial Strength Tool Platform Fostering Model-driven Development of Embedded Systems

www.geensys.com

Global Embedded Electronics & Networked SYstem Solutions

2010-11-04

SphinxAn Industrial Strength Tool Platform Fostering

Model-driven Development of Embedded Systems

Dr. Stephan Eberle

Page 2: Sphinx: An Industrial Strength Tool Platform Fostering Model-driven Development of Embedded Systems

2© 2010 Geensys; made available under Eclipse Public License v1.0

About

Stephan Eberle Development manager at Geensys in Paris, France Lead of Artop Core and Validation Sphinx project co-lead Frequent speaker at conferences and events

Page 3: Sphinx: An Industrial Strength Tool Platform Fostering Model-driven Development of Embedded Systems

3© 2010 Geensys; made available under Eclipse Public License v1.0

Outline

About Embedded System Design Tooling What has happened in Eclipse so far? New: The Sphinx project Wrap-up

Page 4: Sphinx: An Industrial Strength Tool Platform Fostering Model-driven Development of Embedded Systems

4© 2010 Geensys; made available under Eclipse Public License v1.0

Increasing Complexity & Expectations

1959 2009

Development time

Project duratio

n

1959 2009

# ECU

Complexity

0

35

70

Compliance with quality and safty standards:

DO 178B

DO 254

ISO 26262

CMMI IEC

61508

Page 5: Sphinx: An Industrial Strength Tool Platform Fostering Model-driven Development of Embedded Systems

5© 2010 Geensys; made available under Eclipse Public License v1.0

Domain-Specific Design Standards

Design Standard Covered Aspect

Target Domain

AUTomotive Open System ArchitectureSoftware architecture

Automotive

ODXOpen Diagnostic data eXchange format

Diagnosis Automotive

RIFRequirements Interchange Format

Requirements definition

Automotive

Architecture Analysis & Design Language

Software architecture

Aerospace

Software architecture

Transportation

Page 6: Sphinx: An Industrial Strength Tool Platform Fostering Model-driven Development of Embedded Systems

6© 2010 Geensys; made available under Eclipse Public License v1.0

Goal: Integrated Full Lifecycle Tool Support

Requirements definition

Functional design

Variant management

Software architecture

CodingUnit

testing

Integration

Subsystemverification

Diagnosis

System validation

Rapidprototyping

Simulation

Software build

Support of multiple domain-specific standards/methodologies in parallel

Support of user-defined development practicies

Development process

Design tool chain

Page 7: Sphinx: An Industrial Strength Tool Platform Fostering Model-driven Development of Embedded Systems

7© 2010 Geensys; made available under Eclipse Public License v1.0

Outline

About Embedded System Design Tooling What has happend in Eclipse so far? New: The Sphinx project Wrap-up

Page 8: Sphinx: An Industrial Strength Tool Platform Fostering Model-driven Development of Embedded Systems

8© 2010 Geensys; made available under Eclipse Public License v1.0

Two major initiatives: Artop & Papyrus

Since Oct 2008:

ArtopSince Nov 2008:

MDT Papyrus

Page 9: Sphinx: An Industrial Strength Tool Platform Fostering Model-driven Development of Embedded Systems

9© 2010 Geensys; made available under Eclipse Public License v1.0

Artop & Papyrus

Eclipse Complementary

Layer (ECL)

Artop Autosar Layer (AAL)

AUTOSAR specific

Common need for generic services enabling IDE-like tool support for modeling languages

Common need to meet scalability and robustness requirements of real world industry use cases

Backbone

UML & Profile support

Generic modeling platform services

UML specific

Generic modeling platform services

Page 10: Sphinx: An Industrial Strength Tool Platform Fostering Model-driven Development of Embedded Systems

10© 2010 Geensys; made available under Eclipse Public License v1.0

Outline

About Embedded System Design Tooling What has happend in Eclipse so far? New: The Sphinx project Wrap-up

Page 11: Sphinx: An Industrial Strength Tool Platform Fostering Model-driven Development of Embedded Systems

11© 2010 Geensys; made available under Eclipse Public License v1.0

Genesis of Sphinx

New Eclipse MDT project providing an integrated modeling tool platform

Main use case:

Initial contributions from AUTOSAR-independent layer (ECL) of Artop Backbone of Papyrus

Modeling language(s) + Sphinx

Industrial strength integrated modeling tool environment

Page 12: Sphinx: An Industrial Strength Tool Platform Fostering Model-driven Development of Embedded Systems

12© 2010 Geensys; made available under Eclipse Public License v1.0

Key Services

Minimum effort basic modeling IDE support Model explorer view Form editors Compare & merge editor Validation & problem indication

Draft: GMF-based graphical editors Planned: Graphiti-based graphical editors Planned: Xtext-based textual editors

Page 13: Sphinx: An Industrial Strength Tool Platform Fostering Model-driven Development of Embedded Systems

13© 2010 Geensys; made available under Eclipse Public License v1.0

Key Services

Model-oriented viewing and editing Explorers, editors, compare/merge, etc. capable of

acting upon individual model elements rather than just entire resources

Shared model instances and common load-edit-save-unload lifecycle

Automatic synchronization of model instances with workspace resource changes Model load upon creation/drap & drop of new file Model reload upon file change, Model unload upon file/project deletion …

Page 14: Sphinx: An Industrial Strength Tool Platform Fostering Model-driven Development of Embedded Systems

14© 2010 Geensys; made available under Eclipse Public License v1.0

Key Services

Multi-model support Multiple models based on same metamodel Models based on different metamodels Models based on different versions of same

metamodel Migration of models between different metamodel

versions Extensible scoping of resources belonging to same

model instance; used for Loading, unloading complete models Model-level dirty state tracking and saving

Page 15: Sphinx: An Industrial Strength Tool Platform Fostering Model-driven Development of Embedded Systems

15© 2010 Geensys; made available under Eclipse Public License v1.0

Key Services

Handling of large models (scalability) Operation on shared model instances rather than

loading individual instances in every editor/view Performance-optimized content type detection Fast proxy resolution, avoidance of repeated

unsuccessful proxy resolution attempts Memory-optimized unloading of models

Planned: Model respository integration Planned: Model indexing service

Page 16: Sphinx: An Industrial Strength Tool Platform Fostering Model-driven Development of Embedded Systems

16© 2010 Geensys; made available under Eclipse Public License v1.0

Key Services

Robustness Loading of damaged models & problem indication On-the-fly XSD validation Thread-safe sockets for explorers, editors, property

sheets Thread-safe APIs for asynchronous

loading/unloading large models

Page 17: Sphinx: An Industrial Strength Tool Platform Fostering Model-driven Development of Embedded Systems

17© 2010 Geensys; made available under Eclipse Public License v1.0

Wrap-up:Mission of Sphinx

Sphinx

Reduced effort in tool-supporting design standards/practicies Increased cross-vertical interoperability

User-defined

Page 18: Sphinx: An Industrial Strength Tool Platform Fostering Model-driven Development of Embedded Systems

18© 2010 Geensys; made available under Eclipse Public License v1.0

Wrap-up:Status & Outlook

Current Status: Project created and provisioned

Initial code contribution from Artop ongoing

Next Steps November 2010: Migration of Artop to Sphinx

Early 2011: Incorporation into Eclipse Modeling Platform

Mid 2011: First Sphinx release

Page 19: Sphinx: An Industrial Strength Tool Platform Fostering Model-driven Development of Embedded Systems

19© 2010 Geensys; made available under Eclipse Public License v1.0

Thank you!