Skip to main content
summaryrefslogtreecommitdiffstats
blob: b668c122ff39c7d2e2be5922f244d141eb8f9e75 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
<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>

Back to the top