blob: 8937f087793809e19a889d870621c7c0e6e2d229 [file] [log] [blame]
<div id="bigbuttons">
<h3>Primary Links</h3>
<ul>
<li><a id="buttonDownload"
href="http://wiki.eclipse.org/EGF_Installation" title="Download">
<strong>Download</strong> Eclipse Distribution, Update Site, Dropins </a>
</li>
<li><a id="buttonDocumentation"
class="bigButton" href="http://wiki.eclipse.org/EGF_Tutorial_and_Use_Cases"
title="Documentation"> <strong>Documentation</strong> Tutorials, Examples, Videos, Reference Documentation </a>
</li>
<li><a id="buttonSupport"
href="http://wiki.eclipse.org/EGF" title="Support"> <strong>Support</strong>
Bug Tracker, Newsgroup, Professional Support </a>
</li>
</ul>
</div>
<div id="midcolumn">
<h3>EGF: a Software Factory Tool</h3>
<div id="introText">
<p>EGF (Eclipse Generation Factories) is a software factory tool with the purpose to generate software artifacts, such as code or application.</p>
<p>A major concern in software engineering is to deliver on time with the expected level of quality,
while requirements and development environments evolve and are more and more complex.
In order to meet those needs, the generative technique is a means which avoids wasting time and efforts.</p>
<p> The purpose of EGF is to provide an extensible model-based generation framework in order to automate software production.
It provides the support to define and customize software factories.</p>
</div>
<table>
<tr>
<th><img src="resources/EGF_Overview.png" alt="EGF Overview" /></th>
<th>
<div class="featureDescription">
<ul>
<li>Software production with factory components</li>
<li>Reuse of off-the-shelf factory components</li>
<li>Development by assembly</li>
<li>Customization in a specific context</li>
</ul>
</div>
</th>
</tr>
</table>
<table>
<tr>
<th><a title="Introduction" href="http://wiki.eclipse.org/images/6/66/EGF_Introduction.pdf">
<img src="resources/EgfPresentation.png"/>
<div class="overlay"></div></a></th>
<th><strong>&nbsp;Introduction [Presentation]</strong></th>
</tr>
</table>
<div id="EGFConceptsText">
<p>EGF is an engine based on four types of generation unit:
<ul>
<li>Task: it enables to execute code written in a language (e.g., Java, Ant, JRuby) and tools (e.g., Acceleo, ATL, Jet)</li>
<li>Factory component: it declares generation parameters and orchestrates calls to tasks or other factory components</li>
<li>Pattern: it is a powerful formalism which enables to process resources (e.g., model, file), in a language (e.g., Java, Jet), with parameters (e.g., navigation strategy, post-processor, reporter)</li>
<li>Generation Chain: it is a domain-specific model which enables to abstract generations</li>
</ul>
EGF focuses is more than a generation tool. It is a tool of generative technique. For instance, to generate a software application, EGF can invoke model or text-to-text transformation engines.
</p>
</div>
<table>
<tr>
<th><a title="Activity Workflow With Java and Ruby" href="http://vimeo.com/15705526">
<img src="resources/EgfActivityWorkflowJavaRuby.png"/>
<div class="overlay"></div>
</a></th>
<th><p>Video: <strong>&nbsp;Activity Workflow combining Java and JRuby</strong></p>
<p>Example of dynamic execution</p>
</th>
</tr>
</table>
<div>
<h3>Software Factories Portfolios</h3>
<p>A software factory portfolio provides an off-the-shelf generation solution. EGF is released with two portfolios:
<ul>
<li><b>Enhanced EMF Generation</b>: 1) it enriches the EMF generation with new generation topics (e.g., html doc, ecoretools diagrams, Java doc), 2) it opens the EMF Generation customization with the EGF patterns</li>
<li><b>Build chain editor and generator</b>: it provides 1) an editor to model a build chain for continuous integration, and 2) a generator with targets, by default, Hudson/jenkins and Buckminster</li>
</ul>
</p>
</div>
<table>
<tr>
<th><a title="Generation Chain" href="http://vimeo.com/29472598">
<img src="resources/EgfGenerationChain.png"/>
<div class="overlay"></div>
</a></th>
<th><p>Video: <strong>&nbsp;Generation Chain</strong></p>
<p>Coming soon: video on the enhancement of the EMF generation</p>
</th>
</tr>
</table>
</div>
<div id="rightcolumn">
<div>
<h3>
<a href="/projects/project_summary.php?projectid=modeling.emft.egf">About This Project</a>
</h3>
<div id="stats">
<div id="newAndNoteworthy"><!-- <h3>New And Noteworthy</h3> -->
<a href="http://wiki.eclipse.org/EGF_New_And_Noteworthy">New and Noteworthy</a>
</div>
<h4>Commit stats</h4>
<a href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.emft.egf">
<img src="http://dash.eclipse.org/dash/commits/web-app/active-graph.cgi?project=modeling.emft.egf"/>
</a>
</div>
<p><a href="http://www.eclipse.org/projects/what-is-incubation.php">
<img id="incubation" src="http://www.eclipse.org/images/egg-incubation.png" alt="Incubation" width="25%"> </a>
In <a href="http://www.eclipse.org/projects/dev_process/validation-phase.php">Validation (Incubation) Phase</a>.</p>
</div>
<div id="headlines">
<h3>News</h3>
%%HEADLINES%%
</div>
</div>