GMF Project Plan
Graphical Modeling Framework 2.0 Plan (Draft)
Last revised 0926 EST August 22, 2006
This document lays out the feature and API set for the second release of the Eclipse Graphical Modeling Framework Project, version 2.0.0.
This project plan inherits from the Modeling Project Plan, which should be referenced when consulting this individual project plan.
The release deliverables have the same form as is found in most Eclipse projects, namely:
- Graphical Modeling Framework source code release, available as versions tagged "R2_0" in the project's CVS repository.
- Graphical Modeling Framework SDK (includes runtime and tooling components, with sources, examples, and documentation) (downloadable and update site).
- Graphical Modeling Framework runtime binary distribution (downloadable and update site).
- Graphical Modeling Framework tests (downloadable and update site).
Release milestone occurring at roughly 6 week intervals and follow the Platform milestone releases by approximately 2 weeks; that is, until the final 3.3 release of the Platform, upon which GMF and other projects will release simultaneously. As GMF is dependent upon the EMF, GEF, and other projects, which are scheduled to release milestones within 1 week of Platform milestones, GMF will deliver its milestones within the following week. It is anticipated that GMF will synchronize its release milestones with the Europa release schedule. The milestones are:
- Monday September 04, 2006 - Milestone 1 (2.0 M1) - stable build, tagged M1_20 in CVS
- Friday October 13, 2006 - Milestone 2 (2.0 M2) - stable build, tagged M2_20 in CVS
- Friday November 17, 2006 - Milestone 3 (2.0 M3) - stable build, tagged M3_20 in CVS
- Friday January 04, 2007 - Milestone 4 (2.0 M4) - stable build, tagged M4_20 in CVS
- Friday February 23, 2007 - Milestone 5 (2.0 M5) - stable build, tagged M5_20 in CVS
- Friday April 06, 2007 - Milestone 6 (2.0 M6) - stable build, tagged M6_20 in CVS (API freeze)
- Friday May 18, 2007 - Milestone 7 (2.0 M7/RC0) - stable build, tagged M7_20 in CVS
Lock down and testing then begins with M7, and progress through a series of test-fix passes against candidates releases. Release candidate builds are planned as follows (M7 is release candidate 0, final RC is 2.0):
- Friday June 01, 2007 - Release Candidate 1 - (2.0 RC1)
- Friday June 15, 2007 - Release Candidate 2 - (2.0 RC2)
- Friday June 29, 2007 - Release - (2.0)
As these milestones are dependent upon the Platform, they may be altered in order to conform to the published plan. All release deliverables will be available for download as soon as the release has been tested and validated in the target operating configurations listed below.
GMF 1.0.1 and 1.0.3 maintenance releases will align with the Callisto release that includes the Eclipse Platform 3.2.1 and 3.2.2 releases, respectively.
- Friday, September 29, 2006 - GMF 1.0.1 maintenance release
- Friday, October 27, 2006 - GMF 1.0.2 maintenance release
- Monday, February 12, 2007 - GMF 1.0.3 maintenance release
Target Operating Environments
In order to remain current, each Eclipse release targets reasonably current versions of the underlying operating environments.
The Eclipse Graphical Modeling Framework (GMF) project depends upon on the Platform and other projects, which are mostly "pure" Java. The 3.3 release of the Eclipse Platform Project is written and compiled against version 1.4 of the Java Platform APIs, and targeted to run on version 1.4 of the Java Runtime Environment, Standard Edition. The Eclipse Modeling Framework (EMF) project has declared to support Java 5 language features in its next release (3.3.0), and will therefore require a Java 5 runtime environment. GMF will target the same Java version as EMF.
Eclipse Platform SDK 3.3 will be tested and validated on a number of reference platforms. GMF will be tested and validated against a subset of those listed for the platform. Those available will be presented on the project download site.
The Eclipse Platform is designed as the basis for internationalized products. The user interface elements provided by the Eclipse SDK components, including dialogs and error messages, are externalized. The English strings are provided as the default resource bundles. As a result, the Graphical Modeling Framework project will provide English strings in its default bundles and be localized to a subset of those locales offered by the Platform. This plan will be updated to indicate which locales will be provided and the timeframe for availability.
Compatibility and Dependencies
Compatibility of Release 2.0
The Graphical Modeling Framework Project will be developed in parallel, and released simultaneously, with the following projects. As stated above, each milestone release of the Graphical Modeling Framework Project will be compatible with the corresponding milestones for each of these projects, and delivered the appropriate offset.
- Eclipse Platform SDK version 3.3
- Eclipse Modeling Framework (EMF) version 3.0
- Graphical Editing Framework (GEF) version 3.3
Therefore, the Graphical Modeling Framework initial release will be compatible with these versions and will publish binary and source compatibilities with migration guides on subsequent releases.
It is a goal of the Graphical Modeling Framework Project to avoid provisional APIs. APIs published for the 2.0 release will be carefully reviewed prior to release, making use of "internal" packages for unsupported and variable implementation classes. Client plug-ins that directly depend on anything other than what is specified in the published API are inherently unsupportable and receive no guarantees about future compatibility. Refer to How to Use the Eclipse API for information about how to write compliant plug-ins. Note that GMF follows the posted Version Numbering guidelines.
Compatibility of Release 2.0.0 with 1.0.0
GMF 2.0.0 will be compatible with GMF 1.0.0, except in those areas noted in the GMF 2.0.0 Migration Guide. API contract, binary compatibility, etc. follow those described in the Modeling Project Plan.
GMF 2.0.0 Migration Guide
At this time, there are no known issues migrating from 1.0.0 to 2.0.0. Should this change, this document will be revised, or a secondary document will be added documenting any known issues.
Features and Capabilities
A list of project requirements and agreed upon implementation timeframes is found in this document. For the milestones listed in this document, a set of overall themes is used to indicate what major set of functionalities is to be concentrated on for each. These themes are presented below, while the requirements document and associated Bugzilla entries are left to those wanting more detailed information on each.
Taking into consideration the themes provided by the Requirements Council, overall Modeling project themes and the GMF 1.0 release state and community feedback, the following themes are planned to be addressed in the 2.0 release:
A number of items related to the GMF API are planned to be addressed, including the addition of new APIs, refactoring of old APIs, and improved API documentation. A list of those plan items related to API (keyword=api) can be found here.
A number of usability items related to runtime and tooling components of GMF are found in this section. A list of those plan items related to Usability (keyword=usability) can be found here.
As a project within the Eclipse Modeling Project, a number of build dependency and interoperability items exist with other Modeling projects. A number of releng tasks and support of GMF's use in providing UML2 diagramming are anticipated to be addressed in the 2.0 release timeframe. Furthermore, as GMF 2.0 is scheduled to release with the Europa simultaneous release, along with other Modeling projects, some coordination and requirements for being on the release train is also anticipated.
A number of performance issues have been identified and will be worked during the 2.0 timeframe. A list of those plan items related to Performance (keyword=performance) can be found here.
Plan items reflect new features of the GMF project, or areas where existing features will be significantly reworked. Plan items are indicated using keywords and have a state determined by 'Assigned To' and 'Target Milestone' fields in Bugzilla. Below is a list of possible states and what they mean:
- Committed items - A committed bug is one that we have decided to address for the release.
- Proposed items - A bug item is one that we are considering addressing for the release. Although we are actively investigating it, we are not yet in a position to commit to it, or to say that we won't be able to address it. After due consideration, a proposal will either be committed or deferred.
- Deferred items - A reasonable proposal that will not make it in to this release for some reason is marked as deferred with a brief note as to why it was deferred. Deferred plan items may resurface as committed plan items at a later point.
Plan Item Queries
Bugzillas with a target milestone and developer assigned are considered committed in that release. For the most current list of these items for the 2.0.0 release, see the following links:
Bugzillas without an assigned developer are proposed, but not committed for a particular release. For the most current list of these items, see the following links:
Bugzillas with an unspecified target milestone are deferred, and not scheduled for the current release. For the most current list of these items, see the following link:
Help Wanted Items
Bugzillas with a 'helpwanted' keyword are in need of contribution from the community. For the most current list of these items, see the following link: