blob: b668c122ff39c7d2e2be5922f244d141eb8f9e75 [file] [log] [blame]
<div class="sideitem">
<h3>EGF: a Software Factory Tool</h3>
<div class="content">
<p>
EGF (Eclipse Generation Factories) is a software factory tool with the purpose to generate software artifacts,
such as code or application, in order to automate software development.
<a title="Presentation of EGF" href="http://wiki.eclipse.org/images/6/66/EGF_Introduction.pdf">Introduction</a>
<div>
<table align="center" cellpadding="10">
<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>Adaptation to a specific context</li>
</ul>
</div>
</th>
</tr>
</table>
</div>
<div id="EGFConceptsText">
<p>EGF is an engine based on four types of generation unit:
<ul>
<li><b>Task</b>: it enables to execute code written in a language (e.g., Java, Ant, JRuby) or tools (e.g., Acceleo, ATL, Jet)</li>
<li><b>Factory component</b>: it declares generation parameters and orchestrates calls to tasks or other factory components</li>
<li><b>Pattern</b>: 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><b>Generation Chain</b>: it is a domain-specific model which enables to abstract generations</li>
</ul>
EGF is designed to be extensible and accept new types of generation unit.
On the other hand, because a task is able to execute code and tools, EGF is not strictly limited to generation.
</p>
</div>
<div>
<table align="center" cellpadding="10">
<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>
<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>
<div>
<table align="center" cellpadding="10">
<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>Generation chain and the EMF generation</p>
</th>
</tr>
</table>
</div>
</p>
</div>
</div>
<div class="news-list news-list-match-height">
<div class="container">
<div class="row">
<div class="col-lg-10 col-lg-offset-2 col-md-12 news-list-col padding-bottom-50">
<div class="news-list-icon text-center">
<i data-feather="activity" stroke-width="1"></i>
</div>
<h2 class="text-center">News</h2>
<ul class="news-list-media list-unstyled">
%%HEADLINES%%
</ul>
</div>
</div>
</div>
</div>