<h2>Installing AMP using Update Sites (Recommended)</h2>
<ol>
	<li><b>Install the latest version of Eclipse from <a href="http://eclipse.org/downloads" />here</a>.</b>
	<p>AMP requires version 3.5.2 or higher of Eclipse and Helios (3.6) is recommended. We recommend the "Eclipse Modeling Tools" release, though Eclipse Classic works well too.*</p>
	</li>
	<li><b>Add update sites for AMP and AMP dependencies.</b>
	<p>Look <a href="http://help.eclipse.org/galileo/topic/org.eclipse.platform.doc.user/tasks/tasks-124.htm">here</a> for more details.**</p>
	<h5>AMP Update Sites (add one of these)</h5>
	<ul>
		<li><b>Release (recommended for new users)</b>: <a href="http://download.eclipse.org/amp/updates/release">http://download.eclipse.org/amp/updates/release</a></li>
		<li>Milestones (recommended for seasoned users): <a href="http://download.eclipse.org/amp/updates/release">http://download.eclipse.org/amp/updates/milestones</a></b></li>
		<li>Interim (most recent features): <a href="http://download.eclipse.org/amp/updates/interim">http://download.eclipse.org/amp/updates/interim</a></li>
		<li>Nightly (bleeding edge, useful for troubleshooting): <a href="http://download.eclipse.org/amp/updates/nightly">http://download.eclipse.org/amp/updates/nightly</a></li>
	</ul>
	<h5>External Update Sites for Agent Modeling Extensions (add any of these needed for their respective extensions).</h5>
	<ul>
		<li><b>AGF 3D (recommended): <a href="http://lwjgl.org/update">http://lwjgl.org/update</a></b></li>
		<li>AMF for Ascape (optional): <a href="http://ascape.sourceforge.net/eclipse">http://ascape.sourceforge.net/eclipse</a></li>
		<li>AMF for Repast (challenging): <a href="http://mirror.anl.gov/pub/repastsimphony/site.xml">http://mirror.anl.gov/pub/repastsimphony/site.xml</a> (non P2)</li>
	</ul>
	<li><b>Install desired features.</b> <p>Just select the Agent Modeling category plus any of the features in the Agent Modeling Extensions category that you've added external sites for.***</p></li>
</ol>
<p><small>* It is possible that some AMP components will function in earlier versions of Eclipse, but this usage isn't recommended or supported.</small></p>
<p><small>** It usually works better to enter all of the update sites first, and then select all of the features you will need. But if you run into issues, try installing the features in the "Agent Modeling" category only into a fresh Eclipse install. .</small></p>
<p><small>**We recommend installing the LWJGL libraries and AGF3D as AGF3D adds important capabilities to Escape. On the other hand, you should only install the Repast extensions if you are planning on using Repast actively, as it currently carries a large number of dependencies of its own. Finally note that the Ascape target allows execution of models externally using the original Ascape Swing User Interface. If you want to run models written for the Ascape API using the Eclipse hosted Escape environment, you do not need this feature.</small></p></li>
