Tigerstripe 0.4 stream
According to the new Tigerstripe Release Naming scheme, this release is also known as the xxx release.
The 0.4 will build on the 0.3 path in a number of areas, in an effort to strengthen Tigerstripe as a framework, while bringing addition features/bug fixes.
In particular, we will continue the work on the Tigerstripe Annotation Framework to enable rendering of annotations on GMF diagrams, both from a generic perspective but also as an integrated solution for Tigerstripe diagrams. We will also work on robustness for the overall framework.
We are also going to progress the EMF migration by building more logic and features on the EMF-based version of the M-API (See Tigerstripe APIs). This will be part of the Tigerstripe base feature. In parallel, we will also add "model packages" as true IModelComponents in the Tigerstripe metamodel.
From a Tigerstripe workbench perspective, we will integrate the latest version of the Annotation framework to allow rendering of Annotations on both Class and Instance diagrams. We will also introduce more customizations options through the use of "Artifact Templates", basically allowing to define "cookie cutters-style templates for Artifacts, with specific stereotypes, annotations, as well as dynamic icons/labels. These templates will be available eventually as tools on the Class Diagram palette for example.
Finally, "Packages" will become true model elements allowing to use stereotypes and annotations on them just like on any other Tigerstripe artifact.
As of Aug. 25th, we have updated this schedule to delay the release of Tigerstripe Alize (0.4) by 2 wks compared to the original plan. The reason is multi-fold:
- Vacations got in the way of the planned development cycle.
- We didn't plan an Eclipse Release Review, which is required for a release. As of 08/26 we haven't heard from the EMO yet on a date although we sent an email a couple of weeks ago... It is vacation time for everybody :-).
- We found some annoying bugs in the way Tigerstripe is integrated with the TAF that needed some fixing.
|July 23, 2008||0.4M0||First stable build of 0.4 - Diagram support for annotations, Package part of metamodel.|
|Sep 5th, 2008||0.4M1||All annotation-based decorations extensions in place, as well as templating for artifacts.|
|Week of Sept. 15th||0.4||Tentative date when Release Review date is known.|
Tigerstripe v0.3 wasn't working with Ganymede because the code relies on a few internal APIs that had changed from Europa to Ganymede. This can easily be fixed and will be included in the first milestone build of 0.4.
In addition, we will migrate the GMF based code (Class Diagrams and Instance Diagrams) to the latest version of GMF. Currently the code was generated based on GMF 1.x and was customized to address some of the Tigerstripe-specific requirements. With the addition of "Packages" as elements of the Tigerstripe metamodel, we will need to allow the Class Diagrams to represent packages, which means we will need to re-generate the diagram code and update the customized code accordingly. The first milestone 0.4 build will still have the old GMF code (using the 2.1.x runtime), the second Milestone build will have all the migrated code.
Packages as part of Metamodel
Up until now, the Tigerstripe metamodel doesn't treat "packages" as first-class citizens of the model. They are implied (as containers of artifacts) but not explicitly addressable. This means in particular that it is not possible to attach stereotypes or annotations to them.
With 0.4, we will add Packages to the underlying metamodel, offering an IPackageArtifact through the M-API. Existing projects will remain compatible.
This new artifact type will be available from the first milestone build (0.4M0) but will only be available on Class Diagrams in the 0.4M1 build as this will require a GMF re-generate of the diagram code.
Custom Artifact Tool and Rendering
When creating/editing models, users tend to establish patterns and will always do the same tasks. As of this version we will introduce the concept of "Artifact Patterns", where in a single operation, users can create a model artifact with pre-existing features (attributes, stereotypes, annotations, etc...). In this version, the configuration will still be handled through an extension point, although we plan to provide a proper UI for it.
Additionally, we will introduce a set of decorators for all Tigerstripe artifacts that can be based on Annotations e.g. The idea is enable the customization of Tigerstripe so that people can tailor the modeling tasks toward a specific domain, without changing the underlying metamodel. In other words, a new "skin" on the meta-model that is presented to the User through the UI, yet without changing the underlying meta-model, which helps for model mapping and reduces the proliferation of multiple meta-models.
Additional support for Model Componentization
Tigerstripe focuses on MDE for LARGE models. These large models definitely need to be split up in components, similar to a Java application split into multiple .jar components.
This version introduces a number of bug fixes and performance enhancement to support a large number for components, either as project with inter-references in the workspace, or as "module" ie. as attached read-only components within a project.
We also plan to provide a Buckminster integration to allow users to pull down a set of Model components through their Tigerstripe project descriptors from a repository.
GMF diagram rendering of Annotations
The Tigerstripe Annotation Framework (TAF) allows to define annotations (or decorations) onto models that can further be consumed during code generation in the MDE cycle.
Version 0.4 will allow to display annotations defined against specific artifacts on Class Diagrams. This will allow to further document models by showing/hiding annotations as appropriate in models.