Skip to main content
summaryrefslogtreecommitdiffstats
blob: e78c4ab21b19cec60bafbe45608bbd1ada46d301 (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
95
96
97
98
99
100
101
102
103
104
105
106
107
<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>
		
		<table align="center">
			<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 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>
		<table align="center">
			<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>Generation chain and the EMF generation</p>
					</th>
			</tr>
		</table>
	</p>
  </div>
</div>


	<div id="headlines" class="news-list news-list-match-height">
		<div class="container">
			<div class="row">
				<div class="col-lg-10 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"><a href="/projects/project_summary.php?projectid=modeling.emf.egf">About This Project</a></h2>
        			<ul class="news-list-media list-unstyled">
        				<li>
        					<a href="http://wiki.eclipse.org/EGF_New_And_Noteworthy" class="media media-link">
        					<h4 class="media-heading">New and Noteworthy</h4>
        				</li>
        			</ul>
        			<ul class="news-list-media list-unstyled">
        				<li>
        					<a href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.emf.egf" class="media media-link">
        					<h4 class="media-heading">Commit stats</h4>
        					<img src="http://dash.eclipse.org/dash/commits/web-app/active-graph.cgi?project=modeling.emf.egf"/>
        				</li>
        			</ul>
				</div>
				<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