Skip to main content

Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

EGF/IndigoReview

< EGF
Revision as of 20:39, 25 May 2011 by Unnamed Poltroon (Talk)

Logo EGF.png


This page provides the required Docuware for the EGF v0.5.0 Release Review, as part of the upcoming Indigo Simultaneous Release.

Overview

EGF (Eclipse Generation Factories) is an Eclipse component project in incubation under the EMFT project.

Its purpose is to provide a model-based generation framework, especially to automate software production.

Its objectives are to:

  • Support complex, large-scale and customizable generations
  • Promote generation portfolios in order to capitalize on generation solutions
  • Provide an extensible generation structure


Features

In this release

For the first time, EGF is part of an Eclipse Simultaneous Release. The different features provided by EGF v0.5.0, as part of Indigo, are of two categories.

EGF Engine

The EGF Engine defines the core model of EGF (e.g., task, factory component, or pattern) and provides core behaviors of EGF (e.g., dynamic execution). Extending the core model and behaviors is the first type of EGF extension. For instance, to conduct a generation, EGF enables to support Java tasks; EGF was enriched to support Ant tasks.

EGF Portfolio

A generation portfolio is a set of consistent factories with the objective to meet a generation topic. A generation portfolio is the means to extend EGF.

The EGF project provides two default generation portfolios. The first one is an enhancement of the EMF Generation which enables to customize the EMF generation. The second one is a build chain portfolio which enables to configure a build chain (with an EGF build editor) and to generate all the scripts for a build platform, i.e. Hudson and Buckminster today. For instance, the EGF Helios and Indigo build chains are realized with this portfolio.

Accordance with project plan themes and priorities

The priorities are the following:

  • Improving the foundations of the EGF engine
  • Providing two portfolios (i.e., enhancement of the EMF Generation, build chain portfolio) in order: 1) to provide a more substantial EGF component, 2) to share valuable generation projects for the Eclipse community, 3) examplify how to develop and use generation portfolios

See http://www.eclipse.org/projects/project-plan.php?projectid=modeling.emft.egf

Non-Code Aspects

The complete EGF documentation is available from the EGF Wiki page:

  • Project's general information
  • Documents and presentations
  • Tutorials and use cases
  • Download information
  • Portfolio information
  • Complementary resources and useful links

APIs

The EGF Javadoc is available here.

Architecture

The general architecture of EGF is: 1) the EGF Engine extended by Engine Extensions, 2) extended by a set of generation portfolios.

The development process below displays how portfolios can be iteratively combined to create new factories and extensions.

The example below of an EGF factory shows a factory component which combines invocations to heterogeneous languages (e.g., Java, Ant, Jython) and tools (e.g., Jet, ATL) but homogeneously integrated in the framework of EGF.

EGF-Architecture instantiation.PNG

Back to the top