Project Plan For Textual Modeling Framework, version Galileo
Introduction
This document lays out the feature and API set for the first release of TMF Xtext project,version 0.7.0. This project plan inherits from the Modeling Project Plan, which should be referenced when consulting this individual project plan.
Release Deliverables
The release deliverables have the same form as is found in most Eclipse projects, namely:
- TMF Xtext source code release, available as versions tagged "R0_7" in the project's CVS repository.
- TMF Xtext SDK (includes runtime and tooling components, with sources, examples, and documentation) (downloadable and update site).
- TMF Xtext runtime binary distribution (downloadable and update site).
- TMF Xtext tests (downloadable and update site)
Release Milestones
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 Xtext and other projects will release simultaneously.
As Xtext is dependent upon the EMF, and other projects, which are scheduled to release milestones within 1 week of Platform milestones,
Xtext will deliver its milestones within the following week.
It is anticipated that Xtext will synchronize its release milestones with the Galileo release schedule.
| M2 | 10/01/2008 | |
| M3 | 11/12/2008 | |
| M4 | 12/29/2008 | |
| M5 | 02/06/2009 | |
| M6 | 03/18/2009 | API freeze |
| M7 | 05/05/2009 | |
| RC1 | 05/19/2009 | |
| RC2 | 05/26/2009 | |
| RC3 | 06/02/2009 | |
| RC4 | 06/09/2009 | |
| RC5 | 06/16/2009 | |
| 1.0.0 | 06/28/2009 |
Target Environments
In order to remain current, each Eclipse release targets reasonably current versions of the underlying operating environments.
The Xtext 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.
Xtext 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.
Xtext will be tested and validated against a subset of those listed for the platform.
Those available will be presented on the project download site.
Internationalization
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 Xtext 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 with Previous Releases
Compatibility of Galileo Release: The Xtext project will be developed in
parallel, and released simultaneously, with the following projects.
- Eclipse Platform SDK version 3.5
- Eclipse Modeling Framework (EMF) version 2.5
- M2T Xpand version 0.7
- EMFT MWE version 0.7
Themes and Priorities
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.
Core Features
As this is the first release of Xtext under the textual modeling framework, we focus a lot on core concepts
and features.
- Committed
- [Generator] Generate ConcreteSyntaxValidator [239565] (target milestone: ---)
- [Core] Add support for enums [242356] (target milestone: ---)
- [core] Datatype rules on parser level [249952] (target milestone: ---)
- IMetamodelAccess.xpt generates wrong code for classpath based import URI's [252860] (target milestone: M3)
- [Parser] Make syntactic error messages configurable [239567] (target milestone: ---)
- Make serialization of models to DSLs work for all grammars [248463]
(target milestone: M3) - [core] Derive common compatible type of ParenthesizedElement while generating the metamodel [248430]
(target milestone: M3) - [Service] Service framework must support non-singleton services. [249731]
(target milestone: M3)
- Proposed
- Support for more UTF-8 Letters in ID [236892] (target milestone: ---)
- Deferred
- No items.
Extensibility
One of our guiding principles is "make common things easier and rare things possible" suggests that we focus on extensibility as well as
on simplicity with regards to all kinds of API.
- Committed
- Create API for Xtext generator model [239580] (target milestone: ---)
- Proposed
- No items.
- Deferred
- No items.
Performance / Scalability
Performance and scalability improvements are one of the main reasons,
why we decided to reimplement Xtext as opposed to built upon the existing code from openArchitectureWare 4.3.
- Committed
- Rethink computation of node information in terms of performnce [252967]
(target milestone: ---)
- Rethink computation of node information in terms of performnce [252967]
- Proposed
- No items.
- Deferred
- No items.
UI
Having nice tool support for Xtext based domain-specific langauge is of course one of the main requirements.
- Committed
- [UI] The resource set used in the text editor, needs to listen on resource (Eclipse Resource API) changes [253195] (target milestone: M4)
- [Content Assist] Implement template proposals for Xtext CA [241897] (target milestone: M4)
- Xtext Project Wizard [249734]
(target milestone: M3) - Implementation of org.eclipse.xtext.ui.common.editor.codecompletion.DefaultContentAssistProcessor [250383]
(target milestone: M3) - [Core] Reimplement derivation of metamodel from Xtext grammar in Java [247406]
(target milestone: M3)
- Proposed
- [Editor] Propagate Linking Errors as Error Markers [252200]
(target milestone: M3)
- [Editor] Propagate Linking Errors as Error Markers [252200]
- Deferred
- No items.
Documentation
Documentation is a very important asset of every framework.
- Committed
- No items.
- Proposed
- [Bootstrapping] document bootstrapping process [239559] (target milestone: M4)
- Deferred
- No items.
Samples
Xtext is a framework for development of domain-specific languages.
It shall be shipped with exemplary tools showing how to use it.
- Committed
- [Samples] Create entity sample [254739] (target milestone: ---)
- Proposed
- No items.
- Deferred
- No items.
Appendix Legal Notices
- Java is a trademark or a registered trademark of Sun Microsystems, Inc.
- All other products or company names are mentioned for identification purposes only, and may be trademarks or service marks of their respective owners.

