Jump to: navigation, search

Difference between revisions of "Auto IWG WP1"

(Content)
(15 intermediate revisions by 2 users not shown)
Line 10: Line 10:
 
* It points out which Eclipse projects and components are actively used in the automotive industry.
 
* 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 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 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 Automotive Tool 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 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 defining  
+
* 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  
 
** 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
 
** 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.
  
 
== Concept ==
 
== Concept ==
  
 
The Eclipse Automotive Tool Platform will be made available in the following forms:
 
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 [http://www.eclipse.org/downloads Eclipse.org] (see https://bugs.eclipse.org/bugs/show_bug.cgi?id=369763 for details)
+
* An Eclipse package named '''Eclipse IDE for Automotive Software Developers''' for download at [http://eclipse.org/downloads/index-developer.php Eclipse.org]
* A corresponding [http://wiki.eclipse.org/images/d/d5/Automotive-target.zip target platform definition] attached to this wiki page (might later be moved to a still be to created Git repository for the Eclipse Automotive IWG)
+
* A corresponding target platform definition for download at [http://code.google.com/a/eclipselabs.org/p/eclipse-auto-iwg/downloads/list EclipseLabs.org]
 +
 
 +
The downloadable packages may not contain all parts of the Eclipse Automotive Tool 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:
 
The Eclipse IDE for Automotive Software Developers is meant to address the following use cases:
Line 30: Line 34:
 
* As is usage as target platform for the development of automotive software design tools
 
* 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
 
* 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
 +
 +
== Compatibility ==
 +
 +
The Eclipse Automotive Tool Platform defines the notion of compatibility with the platform which could be, e.g., used as a label for tool marketing. There are two different roles for being compatible with the Eclipse Automotive Tool Platform.
 +
 +
* Tool vendors are compatible if their tools run on all currently supported Eclipse Automotive Tool Platform, i.e., it has to be validated that based on a target with all components defined below the tool runs without incompatibilities or defects.
 +
* Platform users are compatible if they use one of the currently supported Eclipse Automotive Tool Platform completely or in parts.
 +
 +
The criteria for being a platform user is that such an organization distributes a whole Eclipse application and therefore is in control of the Eclipse version to be used. Tool vendors provide tools as components, e.g., as update sites, which are integrated into an Eclipse instance by customers.
 +
 +
The Eclipse Automotive Tool 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.
  
 
== Content ==
 
== Content ==
  
The current version of the Eclipse Automotive Tool Platform is based on the [http://wiki.eclipse.org/Juno Juno (Eclipse 4.2)] release stream. It contains the components that are listed in the table below.  
+
The Eclipse Automotive Tool 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 Eclipse Automotive Tool Platform.
  
Each component is described by its 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:
+
The Eclipse Automotive Tool 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
+
* 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
+
* 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.
* PROPOSED: The component is proposed to become a new component of the  Eclipse Automotive Tool Platform and already included for evaluation purposes
+
* 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 Eclipse Automotive Tool 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.
  
{| class="wikitable" border="1"
+
The Eclipse Automotive Tools Platform is a recommendation of Open Source Components which have legal obligations and which are managed concerning ip legality of the content. The platform does not take any responsibilities on the content of the packages which still might have ip issues. Using the Eclipse Automotive Tool Platform requires to keep all obligations implies by the licenses of the contained components.
|-
+
! Category
+
! Name
+
! align="center"| Version
+
! align="center"| Status
+
! align="center"| Included in Eclipse package
+
! align="center"| Included in target platform
+
! Comment
+
|-
+
| rowspan="3"| '''Eclipse''' 
+
| [http://www.eclipse.org/projects/project.php?id=eclipse Eclipse SDK]
+
| align="center"| 3.7.2
+
| align="center"| RECOMMENDED
+
| align="center"| X
+
| align="center"| X
+
|
+
|-
+
| Eclipse Product Configuration
+
| align="center"| 1.0.0
+
| align="center"| RECOMMENDED
+
| align="center"| X
+
| align="center"| X
+
| Required for building products
+
|-
+
| Eclipse Platform Launchers
+
| align="center"| 3.5.1
+
| align="center"| RECOMMENDED
+
| align="center"| X
+
| align="center"| X
+
| Required for building products with custom native launchers
+
|-
+
| rowspan="14"|'''Modeling components'''
+
| [http://www.eclipse.org/projects/project.php?id=modeling.emf Eclipse Modeling Framework (EMF) SDK]
+
| align="center"| 2.7.2
+
| RECOMMENDED
+
| align="center"| X
+
| align="center"| X
+
|
+
|-
+
| [http://www.eclipse.org/projects/project.php?id=modeling.emf.transaction EMF Model Transaction SDK]
+
| align="center"| 1.5.1
+
| RECOMMENDED
+
| align="center"| X
+
| align="center"| X
+
|
+
|-
+
| [http://www.eclipse.org/projects/project.php?id=modeling.emf.validation EMF Validation Framework SDK]
+
| align="center"| 1.5.0
+
| align="center"| RECOMMENDED
+
| align="center"| X
+
| align="center"| X
+
|
+
|-
+
| [http://www.eclipse.org/projects/project.php?id=modeling.emf.compare EMF Compare SDK]
+
| align="center"| 1.2.2
+
| align="center"| RECOMMENDED
+
| align="center"| X
+
| align="center"| X
+
|
+
|-
+
| [http://www.eclipse.org/projects/project.php?id=modeling.gmp.gmf-notation GMF Notation SDK]
+
| align="center"| 1.5.0
+
| align="center"| RECOMMENDED
+
| align="center"| X
+
| align="center"| X
+
|
+
|-
+
| [http://www.eclipse.org/projects/project.php?id=modeling.gmp.gmf-runtime GMF Runtime SDK]
+
| align="center"| 1.5.0
+
| align="center"| RECOMMENDED
+
| align="center"| X
+
| align="center"| X
+
|
+
|-
+
| [http://www.eclipse.org/projects/project.php?id=modeling.gmp.graphiti Graphiti SDK]
+
| align="center"| 0.8.2
+
| align="center"| PROPOSED
+
| align="center"| X
+
| align="center"| X
+
|
+
|-
+
| [http://www.eclipse.org/modeling/emft/?project=mwe Modeling Workflow Engine SDK]
+
| align="center"| 1.2.1
+
| align="center"| RECOMMENDED
+
| align="center"| X
+
| align="center"| X
+
| Taken from Juno release stream to ensure compatibility with Xpand 1.2.1
+
|-
+
| [http://www.eclipse.org/projects/project.php?id=modeling.m2t.xpand Xpand SDK]
+
| align="center"| 1.2.1
+
| align="center"| DEPRECATED
+
| align="center"| X
+
| align="center"| X
+
| Taken from Juno release stream to ensure compatibility with Sphinx 0.7.0. New projects should use Xtend.
+
|-
+
| [http://www.eclipse.org/Xtext/#xtend2 Xtend SDK]
+
| align="center"| 2.3.0
+
| align="center"| RECOMMENDED
+
| align="center"| X
+
| align="center"| X
+
| Taken from Juno release stream to ensure compatibility with Xpand 1.2.1
+
|-
+
| [http://www.eclipse.org/projects/project.php?id=modeling.tmf.xtext Xtext SDK]
+
| align="center"| 2.3.0
+
| align="center"| RECOMMENDED
+
| align="center"| X
+
| align="center"| X
+
| Taken from Juno release stream to ensure compatibility with Xpand 1.2.1
+
|-
+
| [http://www.eclipse.org/projects/project.php?id=modeling.mdt.sphinx Sphinx SDK]
+
| align="center"| 0.7.0
+
| align="center"| RECOMMENDED
+
| align="center"| -
+
| align="center"| X
+
| Not included in Eclipse package because not yet part of simultaneous release train
+
|-
+
| [http://www.eclipse.org/projects/project.php?id=modeling.mdt.uml2 UML2 SDK]
+
| align="center"| 3.2.1
+
| align="center"| RECOMMENDED
+
| align="center"| X
+
| align="center"| X
+
|
+
|-
+
| [http://www.eclipse.org/projects/project.php?id=modeling.mdt.xsd XSD - XML Schema Definition SDK]
+
| align="center"| 2.7.1
+
| align="center"| RECOMMENDED
+
| align="center"| X
+
| align="center"| X
+
|
+
|-
+
| rowspan="1"|'''Automotive components'''
+
| [http://www.artop.org Artop SDK]
+
| align="center"| 3.2.2
+
| align="center"| RECOMMENDED
+
| align="center"| -
+
| align="center"| X
+
| Not included in Eclipse package because not an Eclipse project
+
|-
+
| rowspan="5"|'''Tool components'''
+
| [http://www.eclipse.org/projects/project.php?id=tools.cdt C/C++ Development Tools (CDT) SDK]
+
| align="center"| 8.0.2
+
| align="center"| RECOMMENDED
+
| align="center"| X
+
| align="center"| X
+
|
+
|-
+
| [http://www.eclipse.org/projects/project.php?id=tools.gef Graphical Editing Frameworkd (GEF) SDK]
+
| align="center"| 3.7.2
+
| align="center"| RECOMMENDED
+
| align="center"| X
+
| align="center"| X
+
|
+
|-
+
| [http://www.eclipse.org/webtools/wst/components/xml/overview.html XML Editors and Tools]
+
| align="center"| 3.3.2
+
| align="center"| RECOMMENDED
+
| align="center"| X
+
| align="center"| X
+
|
+
|-
+
|}
+
  
=== Previous versions ===
+
=== Current Eclipse Automotive Tool Platform ===
  
 +
* [[Eclipse Automotive Tool Platform for Juno (Eclipse 4.2)]]
 
* [[Eclipse Automotive Tool Platform for Indigo (Eclipse 3.7)]]
 
* [[Eclipse Automotive Tool Platform for Indigo (Eclipse 3.7)]]
* [[Proposed Content as of March 2009]]
+
 
 +
=== Preliminary Eclipse Automotive Tool Platform===
 +
 
 +
=== Historic Eclipse Automotive Tool Platform===
 +
 
 +
 
 +
 
  
 
== Update, Maintenance & Migration Strategy ==
 
== Update, Maintenance & Migration Strategy ==
  
t.b.d.
+
* The Eclipse Automotive Tools Platform always comprises the two recent versions of the Eclipse release train and matching components from non release train projects.
 +
* There is a delay on the time the in June released Eclipse version becomes stable part of the Eclipse Automotive Tool Platform. That is the time the SR-2 is released (typically Februar). Until than an Eclipse version is a preliminary version to which compatibility is recommended but not required.
 +
* While a version of the Eclipse Automotive Tool Platform becomes stable in February, the oldest current version is removed from the current Eclipse Automotive Tool Platform versions and moved to the historic version section.
 +
* The Automotive IWG general meeting approves the state changes of Eclipse Automotive Tool Platform versions.
 +
* The versions of components which do not belong to the release train are managed in the Automotive IWG general meeting.
 +
* Content changes, i.e., addition of components, changes of the state of a component are managed in the Automotive IWG general meeting,
 +
* For all issue decided in the Automotive IWG general meeting, a proposal for a change is stated as an Agenda point. The meeting either decided to approve or reject the proposal or to start a coordination process which includes the discussion and improvement of the proposal in between the general meetings. The conclusion is than presented again in the next general meeting.
 +
 
 +
== Resources ==
  
Some ideas:
+
* Eclipse IDE for Automotive Software Developers: http://eclipse.org/downloads/index-developer.php
* Update strategy: e.g.,
+
* Target platform definitions for Eclipse IDE for Automotive Software Developers: http://code.google.com/a/eclipselabs.org/p/eclipse-auto-iwg/downloads/list
** Upon every Eclipse release and Eclipse service release (e.g. Juno, Juno SR-1, Juno SR-2)
+
* Eclipse bugzilla component for Eclipse Automotive IWG: https://bugs.eclipse.org/bugs/buglist.cgi?classification=Eclipse%20Foundation&product=Working%20Groups&component=Automotive
** 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)
+
* EclipseLabs project providing Git repos and downloads for Eclipse Automotive IWG: http://code.google.com/a/eclipselabs.org/p/eclipse-auto-iwg
** According to dedicated update roadmap
+
* Eclipse Packaging Project (EPP) bug related to Eclipse IDE for Automotive Software Developers: https://bugs.eclipse.org/bugs/show_bug.cgi?id=369763
** Active support of the two latest Eclipse versions (as done in Artop)
+
* Maintenance strategy:
+
** Keep old versions available in same way as done for other Eclipse packages
+
** Enable bugfixes/small enhancements on old versions
+
*** Requires service releases beyond SR-1 and SR-2
+
*** Should be addressed in collaboration with [http://eclipse-membership.blogspot.com/2011/05/long-term-support-initiative-workshop.html Long Term Support IWG] and/or [http://www.eclipse.org/org/press-release/20111102_polarsys.php Polarsys IWG]
+
* 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
+
  
 
== Open Issues ==
 
== Open Issues ==
  
* Get first version of Eclipse IDE for Automotive Software Developers out of the door (see https://bugs.eclipse.org/bugs/show_bug.cgi?id=369763 for details)
 
* Get Git repository for Eclipse Automotive IWG at http://git.eclipse.org and move implementation-related Eclipse Automotive Tool Platform artifacts right there
 
* Get Bugzilla space at http://bugs.eclipse.org to track and discuss change requests, update and maintenance activities
 
* Make Sphinx join simultaneous release train
 
 
* Consider adoption of additional components:
 
* Consider adoption of additional components:
** OSEE
+
** OSLC/Lyo
** ARText
+
  
 
[[Category:Auto IWG]]
 
[[Category:Auto IWG]]

Revision as of 00:45, 13 March 2013

Eclipse Automotive Tool Platform

This is work package 1 of the Automotive Industry Working Group.

  • WP Lead: Bosch (TBD)

Intent

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

Concept

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 Eclipse Automotive Tool 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

Compatibility

The Eclipse Automotive Tool Platform defines the notion of compatibility with the platform which could be, e.g., used as a label for tool marketing. There are two different roles for being compatible with the Eclipse Automotive Tool Platform.

  • Tool vendors are compatible if their tools run on all currently supported Eclipse Automotive Tool Platform, i.e., it has to be validated that based on a target with all components defined below the tool runs without incompatibilities or defects.
  • Platform users are compatible if they use one of the currently supported Eclipse Automotive Tool Platform completely or in parts.

The criteria for being a platform user is that such an organization distributes a whole Eclipse application and therefore is in control of the Eclipse version to be used. Tool vendors provide tools as components, e.g., as update sites, which are integrated into an Eclipse instance by customers.

The Eclipse Automotive Tool 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.

Content

The Eclipse Automotive Tool 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 Eclipse Automotive Tool Platform.

The Eclipse Automotive Tool 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 Eclipse Automotive Tool 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.

The Eclipse Automotive Tools Platform is a recommendation of Open Source Components which have legal obligations and which are managed concerning ip legality of the content. The platform does not take any responsibilities on the content of the packages which still might have ip issues. Using the Eclipse Automotive Tool Platform requires to keep all obligations implies by the licenses of the contained components.

Current Eclipse Automotive Tool Platform

Preliminary Eclipse Automotive Tool Platform

Historic Eclipse Automotive Tool Platform

Update, Maintenance & Migration Strategy

  • The Eclipse Automotive Tools Platform always comprises the two recent versions of the Eclipse release train and matching components from non release train projects.
  • There is a delay on the time the in June released Eclipse version becomes stable part of the Eclipse Automotive Tool Platform. That is the time the SR-2 is released (typically Februar). Until than an Eclipse version is a preliminary version to which compatibility is recommended but not required.
  • While a version of the Eclipse Automotive Tool Platform becomes stable in February, the oldest current version is removed from the current Eclipse Automotive Tool Platform versions and moved to the historic version section.
  • The Automotive IWG general meeting approves the state changes of Eclipse Automotive Tool Platform versions.
  • The versions of components which do not belong to the release train are managed in the Automotive IWG general meeting.
  • Content changes, i.e., addition of components, changes of the state of a component are managed in the Automotive IWG general meeting,
  • For all issue decided in the Automotive IWG general meeting, a proposal for a change is stated as an Agenda point. The meeting either decided to approve or reject the proposal or to start a coordination process which includes the discussion and improvement of the proposal in between the general meetings. The conclusion is than presented again in the next general meeting.

Resources

Open Issues

  • Consider adoption of additional components:
    • OSLC/Lyo