GMF Project Plan
Graphical Modeling Framework 2.2 Plan (Draft)
Last revised 1600 EDT July 15, 2008
- 1 Introduction
- 2 Release deliverables
- 3 Release milestones
- 4 Maintenance Stream
- 5 Target Operating Environments
- 6 Internationalization
- 7 Compatibility and Dependencies
- 8 API Contract
- 9 Features and Capabilities
This document lays out the feature and API set for the fourth release of the Eclipse Graphical Modeling Framework Project, version 2.2.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_2" 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.5 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 Io release schedule. The milestones are:
- Wednesday August 20, 2008 - Milestone 1 (2.2 M1) - stable build, tagged M1_22 in CVS
- Wednesday October 01, 2008 - Milestone 2 (2.2 M2) - stable build, tagged M2_22 in CVS
- Wednesday November 12, 2008 - Milestone 3 (2.2 M3) - stable build, tagged M3_22 in CVS
- Monday December 22, 2008 - Milestone 4 (2.2 M4) - stable build, tagged M4_22 in CVS
- Wednesday February 11, 2009 - Milestone 5 (2.2 M5) - stable build, tagged M5_22 in CVS
- Friday March 20, 2009 - Milestone 6 (2.2 M6) - stable build, tagged M6_22 in CVS (API freeze)
- Wednesday May 06, 2009 - Milestone 7 (2.2 M7) - stable build, tagged M7_22 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:
- Tuesday May 19, 2009 - Release Candidate 1 - (2.2 RC1)
- Tuesday May 26, 2009 - Release Candidate 2 - (2.2 RC2)
- Tuesday June 02, 2009 - Release Candidate 3 - (2.2 RC3)
- Tuesday June 09, 2009 - Release Candidate 4 - (2.2 RC4)
- Thursday June 25, 2009 - Release - (2.2)
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 will produce maintenance releases to align with the Ganymede SR releases, that includes the Eclipse Platform 3.4.1 and 3.4.2 releases. GMF may produce interim maintenance releases in addition to these in order to satisfy clients requests.
- Friday, August 15, 2008 - GMF 2.1.1 maintenance release
- Friday, September 26, 2008 - GMF 2.1.2 maintenance release (Ganymede Service Release 1)
- Friday, February 27, 2009 - GMF 2.1.3 maintenance release (Ganymede Service Release 2)
A list of issues indicated for the 2.1.x maintenance stream can be found in bugzilla, or by using links on maintenance stream build pages.
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.5 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. GMF will target the same Java version as EMF, which currently requires Java 5.
Eclipse Platform SDK 3.5 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 time frame for availability.
Compatibility and Dependencies
Compatibility of Release 2.2
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.5
- Eclipse Modeling Framework (EMF) version 2.5
- Model Development Tools (MDT) version 1.3
- Graphical Editing Framework (GEF) version 3.5
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.2 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.2.0 with 2.1.0
GMF 2.2.0 will be compatible with GMF 2.1.0, except in those areas noted in the GMF 2.2.0 Migration Guide. API contract, binary compatibility, etc. follow those described in the Modeling Project Plan.
GMF 2.2.0 Migration Guide
At this time, there are no known issues migrating from 2.1.0 to 2.2.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 time frames 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 2.0.0 release state and community feedback, the following themes are planned to be addressed in the 2.1 release:
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 can be found by searching Bugzilla for keyword=usability.
The community has repeatedly asked for improved documentation on the GMF project, particularly on the tooling/generation side. A major goal of this release is to provide documentation for 2.1.0 and new 2.2.0 functionality. A list of those plan items related to Documentation can be found by searching Bugzilla in the doc component.
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.2.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: