JET

JET is typically used in the implementation of a "code generator". A code-generator is an important component of Model Driven Development (MDD).
The goal of MDD is to describe a software system using abstract models (such as EMF/ECORE models or UML models), and then refine and
transform these models into code. Although is possible to create abstract models, and manually transform them into code, the real power of MDD comes from automating this process.
Such transformations accelerate the MDD process, and result in better code quality. The transformations can capture the "best practices" of experts, and can
ensure that a project consistently employes these practices.

However, transformations are not always perfect. Best practices are often dependent on context - what is optimal in one context may be
suboptimal in another. Transformations can address this issue by including some mechanism for end-user modification of the code generator.
This is frequently done by using "templates" to create artifacts, and allowing users to substitute their own implementations of these templates if necessary.
This is the role of JET.

This component provides:

Expand the JET language to support custom tags (which are distributed in "tag libraries"). (The language specification will be described in a separate document.)

Acceleo

You do not need to be an expert to start using the plug-ins and create your first code generator : using the provided
example projects and the powerful completion feature of the Acceleo editor, it is very easy to get started and
understand the basic principles.