<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> | |
<HTML> | |
<HEAD> | |
<meta name="copyright" content="Copyright (c) Thales Corporate Services S.A.S, 2009. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." > | |
<meta name="author" content="Benoit Langlois" > | |
<meta name="keywords" content="egf"/> | |
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1"> | |
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css"> | |
<LINK REL="STYLESHEET" HREF="../book.css" CHARSET="ISO-8859-1" TYPE="text/css"> | |
<title>Main Features of EGF</title> | |
</HEAD> | |
<BODY BGCOLOR="#ffffff"> | |
<table border="0" cellpadding="2" cellspacing="0" width="100%"> | |
<tbody> | |
<tr> | |
<td colspan="2" align="left" bgcolor="#0080c0" valign="top"> | |
<h2><font face="Arial,Helvetica"><font color="#ffffff"> | |
Main Features of EGF | |
</font></font></h2> | |
</td> | |
</tr> | |
</tbody> | |
</table> | |
<a name="GeneralFeatures"><h3>General Features</h3></a> | |
<ul CLASS="UnorderedList"> | |
<li CLASS="Item">EGF can start from a simple project; EGF adds incrementally all the required <b>project properties</b> for running: project bundle, dependencies</li> | |
<li CLASS="Item">EGF is <b>platform-aware</b>: execution with resources in the workspace first else in the platform</li> | |
<li CLASS="Item">Set the EGF preferences: console, model settings, activity validation</li> | |
<li CLASS="Item">An activity (factory component, task) is stored in a <b>fcore</b> file; an fcore stores a set of activities</li> | |
</ul> | |
<br/> | |
<a name="GeneralCommands"><h3>General Commands</h3></a> | |
<ul CLASS="UnorderedList"> | |
<li CLASS="Item">Activity <b>creation</b> (Factory component, Task): [File][New][Other][EGF section][EGF Activity]</li> | |
<li CLASS="Item">An activity <b>execution</b>: | |
<ul CLASS="UnorderedList"> | |
<li CLASS="Item">Dynamically: right-click on a factory component or task elements, and [Run EGF Activity...]</li> | |
<li CLASS="Item">Fcore execution: [Right-click][Run EGF Activity...]</li> | |
</ul> | |
</li> | |
</ul> | |
<br/> | |
<a name="StructuralFeatures"><h3>Structural Features</h3></a> | |
<ul CLASS="UnorderedList"> | |
<li CLASS="Item">An <b>activity</b> is unit of execution. | |
<ul CLASS="UnorderedList"> | |
<li CLASS="Item">An activity contains a set of contracts (i.e., the actity parameters)</li> | |
<li CLASS="Item">A contract has a type, a mode (input, output, intput/output), a default value (depends on the type)</li> | |
</ul> | |
</li> | |
<li CLASS="Item">A <b>factory component</b> (FC) is an activity.</li> | |
<ul CLASS="UnorderedList"> | |
<li CLASS="Item">A FC contains a set of viewpoints. A viewpoint defines a type of generation data (e.g., domain, mapping, pattern).</li> | |
<li CLASS="Item">A FC contains an <b>orchestration</b>. | |
<ul CLASS="UnorderedList"> | |
<li CLASS="Item">An orchestration contains a context, with the same characteristics than a contract</li> | |
<li CLASS="Item">An orchestration contains an ordered set of activity invocations (to factory component or task)</li> | |
<li CLASS="Item">An activity invocation provides values to the invoked activity: from 1) local values to the invocation, 2) the orchestration context, 3) the factory component contracts</li> | |
<li CLASS="Item">A factory component hierarchy requires at least a task call to execute productively something</li> | |
</ul> | |
</li> | |
</ul> | |
</li> | |
<li CLASS="Item">A <b>task</b> is an activity. It is linked to a Java class that implements the expected behavior.</li> | |
<li CLASS="Item">A <b>domain viewpoint</b> is a viewpoint. | |
<ul CLASS="UnorderedList"> | |
<li CLASS="Item">A domain viewpoint declares a domain with a URI (platform:/plugin/...)</li> | |
<li CLASS="Item">The domain is used in activity invocations through a URI type that references the domain</li> | |
</ul> | |
</li> | |
<li CLASS="Item">A <b>pattern viewpoint</b> is a viewpoint. | |
<ul CLASS="UnorderedList"> | |
<li CLASS="Item">A pattern viewpoint contains pattern libraries which contains pattern libraries and patterns</li> | |
<li CLASS="Item">A pattern has 1) a specification, where are declared the pattern parameters, 2) an implementation that contains methods</li> | |
<li CLASS="Item">Pattern methods are in written in a language, for instance Jet for model-to-text transformation</li> | |
<li CLASS="Item">Pattern can inherit from a super-pattern, can call patterns with a context injection or not</li> | |
</ul> | |
</li> | |
</ul> | |
<a name="Extensibility"><h3>Extensibility</h3></a> | |
<p class="Para">EGF is extensible by nature</p> | |
<ul CLASS="UnorderedList"> | |
<li CLASS="Item">Adding new type</li> | |
<li CLASS="Item">Adding new viewpoint</li> | |
<li CLASS="Item">Adding new orchestration type</li> | |
<li CLASS="Item">Adding new language and engine for pattern</li> | |
</ul> | |
</body> | |
</html> |