blob: f30753f9ef7b335e1cbc6c5dbbb7cf2aed9959bc [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="content-type">
<title>Emfatic Getting Started Guide</title>
</head>
<body>
<h1>Emfatic Getting Started Guide</h1>
by Chris Daly (cjdaly@us.ibm.com)<br>
Copyright IBM Corp. 2004<br>
<br>
<hr style="width: 100%; height: 2px;"><br>
<br>
Emfatic is a language designed to represent EMF Ecore models in a
textual form.&nbsp; This document shows the basic steps involved in
working with Emfatic.<br>
<br>
<span style="font-weight: bold;">Please see the </span><span
style="font-style: italic; font-weight: bold;">Emfatic Language
Reference</span><span style="font-weight: bold;"> for a full
explanation of the syntax and sematics of the Emfatic language.</span><br>
<br>
In this document, Emfatic programs are shown in boxes
as in the example below:<br>
<br>
<table
style="width: 100%; text-align: left; font-family: monospace; background-color: rgb(204, 204, 255);"
border="1" cellpadding="2" cellspacing="2">
<tbody>
<tr>
<td style="vertical-align: top;">package test;<br>
class Foo { }</td>
</tr>
</tbody>
</table>
<br>
When compiled, the program above will produce a model with an <span
style="font-weight: bold;">EPackage</span> named "test" containing a
single <span style="font-weight: bold;">EClass</span> named "Foo".<br>
<br>
Let's go ahead and create an Emfatic file with the above source code:<br>
<ul>
<li>Create a new project or use an existing one for the next step (it
doesn't matter what kind of project you choose or which Eclipse
perspective you are in).</li>
<li>Create a new file called "test.emf".</li>
<li>Enter the two lines from the box above in test.emf.</li>
<li>Save test.emf.</li>
<li>In the Navigator view (or Package Explorer), right-click on
test.emf and select <span style="font-weight: bold;">Generate Ecore
Model</span>.<br>
</li>
</ul>
Now you should see a new file called "test.ecore" in the Navigator (In
the same folder as test.emf).&nbsp; Try the following:<br>
<ul>
<li>Open test.ecore (using the default EMF Ecore model editor)</li>
<li>Right-click on the EPackage "test" and select <span
style="font-weight: bold;">New Child</span> -&gt; <span
style="font-weight: bold;">EClass</span>.</li>
<li>Select the new EClass, right-click and <span
style="font-weight: bold;">Show Properties View</span>.</li>
<li>In the Properties view, enter the name "Bar" for the EClass</li>
<li>In the Properties view, change the value of the property Abstract
to true.</li>
<li>Save test.ecore.</li>
<li>In the Navigator view, right-click on test.ecore and select <span
style="font-weight: bold;">Generate Emfatic Source</span>.<br>
</li>
</ul>
Look at test.emf again.&nbsp; It should now look something like this:<br>
<br>
<table
style="background-color: rgb(204, 204, 255); width: 100%; text-align: left; font-family: monospace;"
border="1" cellpadding="2" cellspacing="2">
<tbody>
<tr>
<td style="vertical-align: top;">package test;<br>
<br>
class Foo {<br>
}<br>
<br>
abstract class Bar {<br>
}<br>
</td>
</tr>
</tbody>
</table>
<br>
<br>
You have now seen the basic steps involved in working with
Emfatic.<br>
<br>
Here are a few key points to stress:<br>
<ul>
<li>Emfatic source files use the extension <span
style="font-family: monospace;">.emf</span></li>
<li>Save your Emfatic and Ecore files before invoking the "Generate"
actions (Emfatic reads the file from disk rather than looking at the
contents of the editor)</li>
<li>Emfatic will overwrite existing files as you invoke the
"Generate" actions, so be careful!</li>
</ul>
<br>
<br>
</body>
</html>