Jump to: navigation, search

Difference between revisions of "TigerstripeAtEclipseSummit08"

Line 1: Line 1:
 +
__TOC__
 +
 
This page contains a few resources related to the Tigerstripe presentation at [http://www.eclipsecon.org/summiteurope2008/ Eclipse Summit Europe'08].
 
This page contains a few resources related to the Tigerstripe presentation at [http://www.eclipsecon.org/summiteurope2008/ Eclipse Summit Europe'08].
 +
 +
== Overview ==
 +
The goal of the presentation at Eclipse Summit'08 is to provide a quick jump-start on Tigerstripe, what it is and how it can be used.
 +
 +
All examples that are used or mentioned in the presentation are available from our CVS Repository. See below to download it.
  
 
== Presentation ==
 
== Presentation ==
 
The presentation is structured in 2 parts:
 
The presentation is structured in 2 parts:
* Quick project overview and highlight of Tigerstripe Workbench, the end-user integrated MDE environment.
+
* Quick project overview and highlight of Tigerstripe Workbench, the end-user integrated MDE environment. Various key concepts in Tigerstripe are introduced:
* A walk-through customizing Tigerstripe's modeling palette to a specific domain.
+
** The notion of '''Tigerstripe Model Projects''' that host models and can cross-reference other model projects, thus allowing to "componentize" a model the same way you would componentize software.
 +
** The notion of '''Tigerstripe Modules''', that are read-only, "zipped-up" versions of a model, similar to the notion of .jar for software in Java. (allowing here again for model componentization)
 +
** The '''granularity''' at which the model is persisted in projects: 1 file per model artifact. This makes it very friendly to use with Source Control Systems and reduces the number of potential merge conflicts even when models are developed by large distributed team.
 +
** '''Model scoping''': because multiple artifacts will be generated from a single model, it is necessary to have a powerful scoping mechanism to only consider the sub-models that are relevant for code/content generation. For example, documentation should on be generated for model artifacts corresponding to public APIs, yet code must be generated for model artifacts corresponding to both internal and external APIs.
 +
** Generation is driven by the model ('''class-level generation'''), but also by instantiations of model artifacts ('''Instance-based generation''') allowing for example to generate test data in sync with the model.
 +
* A walk-through customizing the Tigerstripe framework to address a specific real-life scenario:
 +
** The model needs to be annotated for multiple purposes
 +
*** for Code generation (multiple targets)
 +
*** for internal (proprietary) documentation
 +
*** for external (partners and customers) documentation.
 +
** The model is shared with partners and customers to allow them to use Model-Driven techniques to ease enterprise integration and value added-solutions.
 +
** The platform should enforce conventions and rules defined to ensure the model is consistent even when developed across distributed teams.
 +
 
 +
Throughout the presentation we are using 3 Tigerstripe Model projects with cross references to illustrate how models can be componentized.
 +
We show how to build 2 annotations namespaces through .ecore and customize both the modeling palette and the model auditing rules to enforce conventions.
  
 
Slides can be download HERE.
 
Slides can be download HERE.
Line 12: Line 33:
  
 
Details are as follows:
 
Details are as follows:
 +
 +
[[Category:Tigerstripe]]
 +
[[Category:Eclipse Technology Project]]

Revision as of 18:34, 4 November 2008

This page contains a few resources related to the Tigerstripe presentation at Eclipse Summit Europe'08.

Overview

The goal of the presentation at Eclipse Summit'08 is to provide a quick jump-start on Tigerstripe, what it is and how it can be used.

All examples that are used or mentioned in the presentation are available from our CVS Repository. See below to download it.

Presentation

The presentation is structured in 2 parts:

  • Quick project overview and highlight of Tigerstripe Workbench, the end-user integrated MDE environment. Various key concepts in Tigerstripe are introduced:
    • The notion of Tigerstripe Model Projects that host models and can cross-reference other model projects, thus allowing to "componentize" a model the same way you would componentize software.
    • The notion of Tigerstripe Modules, that are read-only, "zipped-up" versions of a model, similar to the notion of .jar for software in Java. (allowing here again for model componentization)
    • The granularity at which the model is persisted in projects: 1 file per model artifact. This makes it very friendly to use with Source Control Systems and reduces the number of potential merge conflicts even when models are developed by large distributed team.
    • Model scoping: because multiple artifacts will be generated from a single model, it is necessary to have a powerful scoping mechanism to only consider the sub-models that are relevant for code/content generation. For example, documentation should on be generated for model artifacts corresponding to public APIs, yet code must be generated for model artifacts corresponding to both internal and external APIs.
    • Generation is driven by the model (class-level generation), but also by instantiations of model artifacts (Instance-based generation) allowing for example to generate test data in sync with the model.
  • A walk-through customizing the Tigerstripe framework to address a specific real-life scenario:
    • The model needs to be annotated for multiple purposes
      • for Code generation (multiple targets)
      • for internal (proprietary) documentation
      • for external (partners and customers) documentation.
    • The model is shared with partners and customers to allow them to use Model-Driven techniques to ease enterprise integration and value added-solutions.
    • The platform should enforce conventions and rules defined to ensure the model is consistent even when developed across distributed teams.

Throughout the presentation we are using 3 Tigerstripe Model projects with cross references to illustrate how models can be componentized. We show how to build 2 annotations namespaces through .ecore and customize both the modeling palette and the model auditing rules to enforce conventions.

Slides can be download HERE.

Sample code

All code presented (even briefly) during the presentation is available from our CVS repository through anonymous access.

Details are as follows: