<!-- VIATRA2 Description part -->


	<div id="midcolumn">

		<table width="100%">
			<tr  valign="top">
				<td width="80%">

					<!--  <img src="resources/logo-big.jpg" alt="oAW Logo" />  -->



					  <h3>VIATRA2 Documentation</h3>
				      <p align="JUSTIFY">
							Currently, the VIATRA2 Documentation consists of the following documents:
							<ul>
								<li>
								<h4>VIATRA2 Documentation</h4>
								For current Milestones (3.x), a completely new documentation has been established at the <a href="http://wiki.eclipse.org/VIATRA2">VIATRA2 Wiki</a>.<br/>
								It contains both the users guide and the most up-to-date documentation of the VIATRA2 transformation language.
								You should start here.
								</li>
								<li>
								<h4>The VIATRA2 Transformation Language Specification [obsolete]</h4>
								The document describes the VIATRA2 Transformation Command Language in detail. A VIATRA2 transformation
								consists of graph pattern definitions (Section 3) defined by precise formal semantics (Section 4), and
								control structures (Section 5).<br/>
								The language specification is archived in PDF format from <a href="ViatraSpecification.pdf">here.</a>
								</li>
								<li>
								<h4>Users' Guide [obsolete]</h4>
								The Users' Guide offered a description of the user interface (which is completely superseded by the wiki),
								howtos for writing model importers and native functions, and a by-example section to get you started
								with writing VIATRA transformations.<br/>
								Archived in PDF from <a href="viatratut.pdf">here</a>.
								</li>

							</ul>
				      </p>

		  		</td>
			</tr>

		</table>




	</div>
