sphinx: an industrial strength tool platform fostering model-driven development of embedded systems
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
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
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
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
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
…
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
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
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
8© 2010 Geensys; made available under Eclipse Public License v1.0
Two major initiatives: Artop & Papyrus
Since Oct 2008:
ArtopSince Nov 2008:
MDT Papyrus
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
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
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
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
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 …
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
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
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
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
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
19© 2010 Geensys; made available under Eclipse Public License v1.0
Thank you!