Auto IWG WP1
Eclipse Automotive Tool Platform
This is work package 1 of the Automotive Industry Working Group.
- WP Lead: Bosch (TBD)
One key activity of the Eclipse Automotive IWG is to define and provide an Eclipse Automotive Tool Platform consisting of selected existing Eclipse components that are typically required and used in the automotive industry. The intention of this platform is to provide a reference for both vendors and users of Eclipse-based automotive software design tools. It does not necessarily include much content that is really specific to automotive (at least not at the beginning), but will still be a great deal of help for the following reasons:
- It points out which Eclipse projects and components are actively used in the automotive industry.
- It gives an orientation regarding the Eclipse releases and component versions which Eclipse-based automotive software design tools are or should be based on.
- It provides a reference enabling Eclipse-based automotive software design tools to be provided as pluggable components (update sites), as opposed to being shipped only in the form of complete products including the tool itself and the whole Eclipse platform.
- It provides the basis for reliably and consistently integrating Eclipse-based automotive software design tools from different vendors and/or complementary in-house tools to user-defined design tool chains.
- It is complemented by a cross-organizational strategy in order to support a development philosophy sustainable over years by defining
- when and how often the Eclipse Automotive Tool Platform should updated to newer versions of Eclipse
- for how long older versions of the Eclipse Automotive Tool Platform should be actively supported
The intention is to provide a platform to build automotive tools upon, not to prescribe solutions. There might be optional addons to this platform providing solutions for specific application fields.
The Eclipse Automotive Tool Platform will be made available in the following forms:
- An Eclipse package named Eclipse IDE for Automotive Software Developers for download at Eclipse.org
- A corresponding target platform definition for download at EclipseLabs.org
The downloadable packages may not contain all parts of the platform due to license issues, only EPL licensed components can be shipped as part of an Eclipse.org distribution.
The Eclipse IDE for Automotive Software Developers is meant to address the following use cases:
- As is usage for working on embedded automotive control software
- Base platform for composing user-defined automotive software design tool chains out of vendor-provided tools and complementary in-house tools
- Reference platform for testing automotive software design tools being shipped as pluggable components (update sites)
The target platform definition is provided to support the following use cases:
- As is usage as target platform for the development of automotive software design tools
- Starting point for defining target platforms for the development of automotive software design tools that include all Eclipse Automotive Tool Platform components and complementary components from the Eclipse ecosystem
The platform defines the notion of compatible with the platform which could be, e.g., used as a label for the tool for marketing. There are two different roles for being compatible with the platform.
- Tool vendors are compatible with the platform if their tools run on all currently supported platforms, i.e., it has to be validated that based on a target with all components defined below the tool runs without incompatibilities or defects.
- Users of the platform are compatible if they use one of the currently supported platforms completely or in parts.
The criteria for being a user is that such an entity is in control of the Eclipse system they provide to end users. Tool vendors provide tools as components, e.g., as update sites, which are integrated into an Eclipse instance by customers.
The automotive platform does not make any assumption concerning operating system. Although the platform is independent on an operating system, tools compatible to the platform might state further restrictions on operating system without becoming incompatible. The restriction on operating system has to be stated explicitly by the tool vendor.
The automotive platform contains mainly EPL licensed components out of the Eclipse release train. There are some projects involved which are in incubating state and with Artop currently one component licensed under the Artop Software License Based on Released AUTOSAR Material (ASLR). Components under a different license than EPL can only be linked and not provided directly as part of the automotive platform
The automotive platform is build of Eclipse projects and other projects which are described in the corresponding platform version page by name, version, status, and an optional comment. For the sake of a better overview, the components are grouped in categories. The component statuses can have the following values:
- RECOMMENDED: The component is included in the Eclipse Automotive Tool Platform and recommended to be used for the development of in automotive software design tools or applications. It is also the preferred solution in case of multiple projects providing similar functionality. It has proven that it is a stable part of the Eclipse Ecosystem and it is not expected that it will cease support in the foreseeable time.
- DEPRECATED: The component is still included in the Eclipse Automotive Tool Platform to ensure backward compatibility but no longer recommended to be used in new automotive software design tools or applications. There is a good reason, e.g., the component is not maintained anymore and there is a risk that it becomes incompatible with future versions of the platform.
- INCUBATING: The component is proposed to become a new component of the Eclipse Automotive Tool Platform and already included for evaluation purposes. With such a component there is a higher risk that it will not make it to a stable part of the Eclipse Ecosystem.
To the best knowledge the components within the platform can be used in parallel without incompatibility. If an issue arises concerning compatibility the platform will be adapted to achieve again a state that components are compatible.
- Eclipse Automotive Tool Platform for Juno (Eclipse 4.2)
- Eclipse Automotive Tool Platform for Indigo (Eclipse 3.7)
|Category||Name||Version||Status||Included in Eclipse package||Included in target platform||Comment|
|Eclipse Product Configuration||1.0.0||RECOMMENDED||X||X||Required for building products|
|Eclipse Platform Launchers||3.6.0||RECOMMENDED||X||X||Required for building products with custom native launchers|
|Modeling components||Eclipse Modeling Framework (EMF) SDK||2.8.1||RECOMMENDED||X||X|
|EMF Model Transaction SDK||1.6.0||RECOMMENDED||X||X|
|EMF Validation Framework SDK||1.6.0||RECOMMENDED||X||X|
|EMF Compare SDK||1.3.2||RECOMMENDED||X||X|
|GMF Notation SDK||1.6.0||RECOMMENDED||X||X|
|GMF Runtime SDK||1.6.0||RECOMMENDED||X||X|
|Modeling Workflow Engine SDK||1.2.1||RECOMMENDED||X||X|
|Xpand SDK||1.2.1||DEPRECATED||X||X||New projects should use Xtend.|
|Sphinx SDK||0.7.0||RECOMMENDED||-||X||Not included in Eclipse package because not yet part of simultaneous release train|
|XSD - XML Schema Definition SDK||2.8.1||RECOMMENDED||X||X|
|Automotive components||Artop SDK||3.3.0||RECOMMENDED||-||X||Not included in Eclipse package because not an Eclipse project|
|Tool components||C/C++ Development Tools (CDT) SDK||8.1.1||RECOMMENDED||X||X|
|Graphical Editing Frameworkd (GEF) SDK||3.9.0||RECOMMENDED||X||X|
|XML Editors and Tools||3.4.1||RECOMMENDED||X||X|
|Technology components||Nebula Widgets||1.0.0||RECOMMENDED||-||X||Not included in Eclipse package because not yet part of simultaneous release train|
Update, Maintenance & Migration Strategy
- Update strategy: e.g.,
- Upon every Eclipse release and Eclipse service release (e.g. Juno, Juno SR-1, Juno SR-2)
- Upon every 2nd Eclipse release and every Eclipse service release (e.g. Juno, Juno SR-1, Juno SR-2, but not Kepler, Kepler SR-1, Kepler SR-2)
- According to dedicated update roadmap
- Active support of the two latest Eclipse versions (as done in Artop)
- Maintenance strategy:
- Migration strategy:
- Keep deprecated components available as long as necessary, i.e., known usages exist
- Identify migration activities required for getting rid of dependencies to deprecated components
- Remove deprecated components in newer versions of the platform when no longer needed
- Eclipse IDE for Automotive Software Developers: http://eclipse.org/downloads/index-developer.php
- Target platform definitions for Eclipse IDE for Automotive Software Developers: http://code.google.com/a/eclipselabs.org/p/eclipse-auto-iwg/downloads/list
- Eclipse bugzilla component for Eclipse Automotive IWG: https://bugs.eclipse.org/bugs/buglist.cgi?classification=Eclipse%20Foundation&product=Working%20Groups&component=Automotive
- EclipseLabs project providing Git repos and downloads for Eclipse Automotive IWG: http://code.google.com/a/eclipselabs.org/p/eclipse-auto-iwg
- Eclipse Packaging Project (EPP) bug related to Eclipse IDE for Automotive Software Developers: https://bugs.eclipse.org/bugs/show_bug.cgi?id=369763
- Settle update, maintenance & migration strategy
- Finalize Eclipse package and target platform definition when Eclipse Juno is released
- Make Sphinx join simultaneous release train
- Consider adoption of additional components: