<h2>Installing</h2>
<p>AMP can be easily installed using the Eclipse Modeling Tools Discovery feature. See below for other options.</p>
<ol>
				<li><b>Download and install Eclipse Modeling Tools</b> from <a href="http://www.eclipse.org/downloads/"
								rel="nofollow">Eclispe Download Site</a>.<br />
				<img align="left" src="../images/InstallWebsite.png" /></li>
				<li>Launch Eclipse</li>
				<li>Select <b>Help &rarr; Install Modeling Components</b>. <br />
				<img align="left" src="../images/InstallMenu.png" /></li>
				<li>Scroll down and find the <b>Agent Modeling Platform</b> entry. Click the checkbox and then <b>Finish</b>.<br />
				<img align="left" src="../images/InstallDiscovery.png" /></li>
				<li>Follow the remaining prompts.</li>
				<li>Restart Eclipe and check out the welcome page.<BR />
				<img align="left" src="../documentation/contents/images/users/WelcomeScreen.png" /></li>
				<li>(Optional) To get started, go to the samples page and follow the <b>Import Examples from VCS</b> cheat
				sheet. Note that if you want to import the first set of models from Sourceforge, you'll need to <a
								href="http://www.eclipse.org/subversive/documentation/gettingStarted/aboutSubversive/install.php">Install
				Subversion</a> so that you can get the Ascape sample projects from Sourceforge. If you just want to work with the
				example AMF models, you can just skip the "Ascape.psf" import step in the cheat sheet.</li>
				<li>(Optional) Install the Ascape documentation from the Ascape website. See the <a href="updates.php">Update
				Site</a> documentation for more information.</li>
</ol>
<p>Other instalation options:</p>
<ul>
				<li><a href="updates.php">Update Site</a>. (Recommended)</li>
				<li>Built from <a href="../developers/building.php"">Source</a>. (Advanced)</li>
				<li>Downloaded from <a href="downloads.php">Files</a>. (Not recommended)</li>
</ul>
