diff --git a/downloads/discovery/juno/modeling.xmi b/downloads/discovery/juno/modeling.xmi
index 74745a2..952b82d 100755
--- a/downloads/discovery/juno/modeling.xmi
+++ b/downloads/discovery/juno/modeling.xmi
@@ -1,123 +1,307 @@
 <?xml version="1.0" encoding="ASCII"?>
-<discovery:DiscoveryDefinition xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:discovery="http://www.eclipse.org/amalgamation/discovery/1.0">
-  <categories name="Model To Text" description="Model to Text (also known as code generation) tools and languages." relevance="6" image48="">
-    <components name="Acceleo" provider="Eclipse.org" description="Acceleo is a standard-based template language focused on usability and pragmatism." license="EPL" image32="images/acceleo.png">
-      <sitesURLS>http://download.eclipse.org/modeling/m2t/acceleo/updates/releases/3.2</sitesURLS>
+<discovery:DiscoveryDefinition
+    xmi:version="2.0"
+    xmlns:xmi="http://www.omg.org/XMI"
+    xmlns:discovery="http://www.eclipse.org/amalgamation/discovery/1.0">
+  <categories
+      name="Model To Text"
+      description="Model to Text (also known as code generation) tools and languages."
+      relevance="6"
+      image48="">
+    <components
+        name="Acceleo"
+        provider="Eclipse.org"
+        description="Acceleo is a standard-based template language focused on usability and pragmatism."
+        license="EPL"
+        image32="images/acceleo.png">
       <sitesURLS>http://download.eclipse.org/releases/juno/</sitesURLS>
-      <overview summary=" Acceleo is a pragmatic implementation of the Object Management Group (OMG) MOF Model to Text Language (MTL) standard.&#xA;&#xA;You do not need to be an expert to start using the plug-ins and create your first code generator : using the provided example projects and the powerful completion feature of the Acceleo editor, it is very easy to get started once you understand the basic principles. " screenshot="images/acceleo-screenshot-320x240.png"/>
+      <overview
+          summary=" Acceleo is a pragmatic implementation of the Object Management Group (OMG) MOF Model to Text Language (MTL) standard.&#xA;&#xA;You do not need to be an expert to start using the plug-ins and create your first code generator : using the provided example projects and the powerful completion feature of the Acceleo editor, it is very easy to get started once you understand the basic principles. "
+          screenshot="images/acceleo-screenshot-320x240.png"/>
       <id>org.eclipse.acceleo.sdk</id>
     </components>
-    <components name="Jet" provider="Eclipse.org" description="JET is an Eclipse-based code generator framework based on JSP." license="EPL" image32="images/jet.png">
+    <components
+        name="Jet"
+        provider="Eclipse.org"
+        description="JET is an Eclipse-based code generator framework based on JSP."
+        license="EPL"
+        image32="images/jet.png">
       <sitesURLS>http://download.eclipse.org/releases/juno/</sitesURLS>
-      <overview summary="JET allows you to easily generate textual artifacts in the Eclipse environment&#xA;in a syntax similar to JSP. It supplies tag libraries for navigating XML&#xA;documents, EMF-based documents (including UML2) and for writing template&#xA;results to the Eclipse workspace.&#xA;" url="http://wiki.eclipse.org/M2T-JET"/>
+      <overview
+          summary="JET allows you to easily generate textual artifacts in the Eclipse environment&#xA;in a syntax similar to JSP. It supplies tag libraries for navigating XML&#xA;documents, EMF-based documents (including UML2) and for writing template&#xA;results to the Eclipse workspace.&#xA;"
+          url="http://wiki.eclipse.org/M2T-JET"/>
       <id>org.eclipse.jet.sdk</id>
       <hiddingFeatureID>org.eclipse.jet</hiddingFeatureID>
     </components>
-    <components name="Xpand" provider="Eclipse.org" description="Xpand is an efficient code generation framework with a statically-typed template language and support for arbitrary input model types." license="EPL" image32="images/xpand.png">
+    <components
+        name="Xpand"
+        provider="Eclipse.org"
+        description="Xpand is an efficient code generation framework with a statically-typed template language and support for arbitrary input model types."
+        license="EPL"
+        image32="images/xpand.png">
       <sitesURLS>http://download.eclipse.org/releases/juno/</sitesURLS>
-      <overview summary="Xpand allows to write code generators for many different types of models. These&#xA;models include EMF models, UML models, XML documents and textual DSL models.&#xA;Any type of source code can be generated from the model sources. Xpand has&#xA;strong emphasize on reducing the effort to create industry-strength code&#xA;generators and provides outstanding Eclipse integration.&#xA;&#xA;Xpand's features include:&#xA; &#x2022; support of various modeling tools&#xA; &#x2022; support of EMF (Eclipse Modeling Framework)&#xA; &#x2022; model-to-code transformations&#xA; &#x2022; model-to-model transformations             &#xA; &#x2022; model validation&#xA; &#x2022; expression language&#xA; &#x2022; static code analysis&#xA; &#x2022; aspect oriented programming&#xA; &#x2022; support for standalone execution" screenshot="images/xpand-screenshot-320x240.png"/>
+      <overview
+          summary="Xpand allows to write code generators for many different types of models. These&#xA;models include EMF models, UML models, XML documents and textual DSL models.&#xA;Any type of source code can be generated from the model sources. Xpand has&#xA;strong emphasize on reducing the effort to create industry-strength code&#xA;generators and provides outstanding Eclipse integration.&#xA;&#xA;Xpand's features include:&#xA; &#x2022; support of various modeling tools&#xA; &#x2022; support of EMF (Eclipse Modeling Framework)&#xA; &#x2022; model-to-code transformations&#xA; &#x2022; model-to-model transformations             &#xA; &#x2022; model validation&#xA; &#x2022; expression language&#xA; &#x2022; static code analysis&#xA; &#x2022; aspect oriented programming&#xA; &#x2022; support for standalone execution"
+          screenshot="images/xpand-screenshot-320x240.png"/>
       <id>org.eclipse.xpand.sdk</id>
       <hiddingFeatureID>org.eclipse.xpand</hiddingFeatureID>
     </components>
   </categories>
-  <categories name="Model To Model" description="Model to Model tools and transformation languages." image48="">
-    <components name="ATL" provider="Eclipse.org" description="ATL is a model transformation language and toolkit, including an ATL transformation engine and an IDE for ATL." license="EPL" image32="images/atl.png">
+  <categories
+      name="Model To Model"
+      description="Model to Model tools and transformation languages."
+      image48="">
+    <components
+        name="ATL"
+        provider="Eclipse.org"
+        description="ATL is a model transformation language and toolkit, including an ATL transformation engine and an IDE for ATL."
+        license="EPL"
+        image32="images/atl.png">
       <sitesURLS>http://download.eclipse.org/releases/juno/</sitesURLS>
-      <overview summary="The ATL component of the M2M project provides ways to produce a set of target models from a set of source models. An ATL transformation program is composed of rules that define how source model elements are matched and navigated to create and initialize the elements of the target models. Developed on top of the Eclipse platform, the ATL toolkit provides a number of standard development tools (advanced editor, debugger, profiler, etc.) that aims to ease development of ATL transformations." screenshot="images/atl-screenshot-320x240.png" url="http://www.eclipse.org/m2m/atl/"/>
+      <overview
+          summary="The ATL component of the M2M project provides ways to produce a set of target models from a set of source models. An ATL transformation program is composed of rules that define how source model elements are matched and navigated to create and initialize the elements of the target models. Developed on top of the Eclipse platform, the ATL toolkit provides a number of standard development tools (advanced editor, debugger, profiler, etc.) that aims to ease development of ATL transformations."
+          screenshot="images/atl-screenshot-320x240.png"
+          url="http://www.eclipse.org/m2m/atl/"/>
       <id>org.eclipse.m2m.atl.sdk</id>
       <hiddingFeatureID>org.eclipse.m2m.atl</hiddingFeatureID>
     </components>
-    <components name="Declarative QVT" provider="Eclipse.org" description="Editors for QVT Relational and QVT Core documents" license="EPL" groups="//@filters.0" image32="images/qvtd.png" incubation="true" visible="false">
+    <components
+        name="Declarative QVT"
+        provider="Eclipse.org"
+        description="Editors for QVT Relational and QVT Core documents"
+        license="EPL"
+        groups="//@filters.0"
+        image32="images/qvtd.png"
+        incubation="true"
+        visible="false">
       <sitesURLS>http://download.eclipse.org/releases/juno/</sitesURLS>
-      <overview summary="QVTd project currently provides Editors for&#xA;&#xA;- QVT Relational documents&#xA;- QVT Core documents&#xA;&#xA;QVTc and QVTr execution is work in progress" screenshot="images/qvtd-screenshot-320x240.png" url="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.m2m.qvt-relations"/>
+      <overview
+          summary="QVTd project currently provides Editors for&#xA;&#xA;- QVT Relational documents&#xA;- QVT Core documents&#xA;&#xA;QVTc and QVTr execution is work in progress"
+          screenshot="images/qvtd-screenshot-320x240.png"
+          url="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.m2m.qvt-relations"/>
       <id>org.eclipse.qvtd</id>
     </components>
-    <components name="Operational QVT" provider="Eclipse.org" description="Implementation of the Operational part of the OMG QVT (Query/View/Transformation) open standard" license="EPL" image32="images/qvto.png">
+    <components
+        name="Operational QVT"
+        provider="Eclipse.org"
+        description="Implementation of the Operational part of the OMG QVT (Query/View/Transformation) open standard"
+        license="EPL"
+        image32="images/qvto.png">
       <sitesURLS>http://download.eclipse.org/releases/juno/</sitesURLS>
-      <overview summary="Based on MDT OCL, the Operational QVT project aims to be fully compliant with the OMG QVT standard providing a powerful Eclipse IDE with feature-rich editor (code completion, outline, navigation, etc.), debugger, project builders, launch configurations, deployment facilities and Ant support." screenshot="images/qvto-screenshot-320x240.png" url="http://wiki.eclipse.org/M2M/Operational_QVT_Language_%28QVTO%29"/>
+      <overview
+          summary="Based on MDT OCL, the Operational QVT project aims to be fully compliant with the OMG QVT standard providing a powerful Eclipse IDE with feature-rich editor (code completion, outline, navigation, etc.), debugger, project builders, launch configurations, deployment facilities and Ant support."
+          screenshot="images/qvto-screenshot-320x240.png"
+          url="http://wiki.eclipse.org/M2M/Operational_QVT_Language_%28QVTO%29"/>
       <id>org.eclipse.m2m.qvt.oml.sdk</id>
     </components>
   </categories>
-  <categories name="Concrete Syntax Development" description="Tools and frameworks to develop dedicated modeling tools. " relevance="4">
-    <components name="Extended Editing Framework" provider="Eclipse.org" description="EEF (Extended Editing Framework) is a presentation framework for EMF models. " license="EPL" image32="images/eef.png">
+  <categories
+      name="Concrete Syntax Development"
+      description="Tools and frameworks to develop dedicated modeling tools. "
+      relevance="4">
+    <components
+        name="Extended Editing Framework"
+        provider="Eclipse.org"
+        description="EEF (Extended Editing Framework) is a presentation framework for EMF models. "
+        license="EPL"
+        image32="images/eef.png">
       <sitesURLS>http://download.eclipse.org/releases/juno/</sitesURLS>
-      <overview summary="The Extended Editing Framework aims at giving another way to improve the EMF model creation phase by providing new services dedicated to editing and using more appealing editing elements. The way to obtain these services and elements is based on a generative approach similar to the EMF.Edit one. The framework provides advanced editing components for the properties of EMF elements and a default generation based on standard metamodels using these components." screenshot="images/eef-screenshot-320x240.png" url="http://www.eclipse.org/modeling/emft/?project=eef"/>
+      <overview
+          summary="The Extended Editing Framework aims at giving another way to improve the EMF model creation phase by providing new services dedicated to editing and using more appealing editing elements. The way to obtain these services and elements is based on a generative approach similar to the EMF.Edit one. The framework provides advanced editing components for the properties of EMF elements and a default generation based on standard metamodels using these components."
+          screenshot="images/eef-screenshot-320x240.png"
+          url="http://www.eclipse.org/modeling/emft/?project=eef"/>
       <id>org.eclipse.emf.eef.edt</id>
       <hiddingFeatureID>org.eclipse.emf.eef.runtime</hiddingFeatureID>
     </components>
-    <components name="Graphical Modeling Framework Tooling" provider="Eclipse.org" description="GMF Tooling is a framework to generate functional graphical editors based on the GMF Runtime." license="EPL" image32="images/gmf.png">
+    <components
+        name="Graphical Modeling Framework Tooling"
+        provider="Eclipse.org"
+        description="GMF Tooling is a framework to generate functional graphical editors based on the GMF Runtime."
+        license="EPL"
+        image32="images/gmf.png">
       <sitesURLS>http://download.eclipse.org/releases/juno/</sitesURLS>
       <sitesURLS>http://download.eclipse.org/modeling/gmp/gmf-tooling/updates/releases/</sitesURLS>
       <id>org.eclipse.gmf.sdk</id>
     </components>
-    <components name="Graphiti" provider="Eclipse.org" description="Graphiti is a graphical API that enables the fast and easy creation of graphical tools for any kind of domain models." license="EPL" groups="//@filters.0" image32="images/graphiti.png" incubation="true">      
+    <components
+        name="Graphiti"
+        provider="Eclipse.org"
+        description="Graphiti is a graphical API that enables the fast and easy creation of graphical tools for any kind of domain models."
+        license="EPL"
+        groups="//@filters.0"
+        image32="images/graphiti.png"
+        incubation="true">
       <sitesURLS>http://download.eclipse.org/releases/juno/</sitesURLS>
-      <overview summary="The goal of Graphiti is to support the fast and easy creation of graphical tools, which can display and edit underlying domain models using a tool-defined graphical notation. Graphiti supports the developer in getting to a first version of an editor with very low effort by:&#xA;- Hiding platform specific technology (e.g. GEF / Draw2D on Eclipse)&#xA;- Providing rich default implementations inside the framework&#xA;- Providing a default look and feel that was designed in close co-operation with usability specialists" screenshot="images/graphiti-screenshot-320x240.png" url="http://www.eclipse.org/graphiti/"/>
+      <overview
+          summary="The goal of Graphiti is to support the fast and easy creation of graphical tools, which can display and edit underlying domain models using a tool-defined graphical notation. Graphiti supports the developer in getting to a first version of an editor with very low effort by:&#xA;- Hiding platform specific technology (e.g. GEF / Draw2D on Eclipse)&#xA;- Providing rich default implementations inside the framework&#xA;- Providing a default look and feel that was designed in close co-operation with usability specialists"
+          screenshot="images/graphiti-screenshot-320x240.png"
+          url="http://www.eclipse.org/graphiti/"/>
       <id>org.eclipse.graphiti.sdk.feature</id>
     </components>
-    <components name="Xtext" provider="Eclipse.org" description="Xtext is a framework for development of programming languages and domain specific languages (DSLs). " license="EPL" groups="//@filters.0" image32="images/xtext.png">
+    <components
+        name="Xtext"
+        provider="Eclipse.org"
+        description="Xtext is a framework for development of programming languages and domain specific languages (DSLs). "
+        license="EPL"
+        groups="//@filters.0"
+        image32="images/xtext.png">
       <sitesURLS>http://download.eclipse.org/releases/juno/</sitesURLS>
-      <overview summary="Xtext is a framework for development of programming languages and domain&#xA;specific languages (DSLs). Just describe your very own DSL using Xtext's simple&#xA;EBNF grammar language and the generator will create a parser, an AST-meta model&#xA;(implemented in EMF) as well as a full-featured Eclipse text editor from that.&#xA;&#xA;The Framework integrates with frameworks from Eclipse Modeling such as EMF, GMF&#xA;and M2T as well as other Eclipse based technologies. Development with Xtext is&#xA;optimized for short turn-arounds, so that adding new features to an existing&#xA;DSL is a matter of minutes. Still sophisticated programming languages can be&#xA;implemented." screenshot="images/xtext-screenshot-320x240.png"/>
+      <overview
+          summary="Xtext is a framework for development of programming languages and domain&#xA;specific languages (DSLs). Just describe your very own DSL using Xtext's simple&#xA;EBNF grammar language and the generator will create a parser, an AST-meta model&#xA;(implemented in EMF) as well as a full-featured Eclipse text editor from that.&#xA;&#xA;The Framework integrates with frameworks from Eclipse Modeling such as EMF, GMF&#xA;and M2T as well as other Eclipse based technologies. Development with Xtext is&#xA;optimized for short turn-arounds, so that adding new features to an existing&#xA;DSL is a matter of minutes. Still sophisticated programming languages can be&#xA;implemented."
+          screenshot="images/xtext-screenshot-320x240.png"/>
       <id>org.eclipse.xtext.sdk</id>
     </components>
   </categories>
-  <categories name="Modeler" description="Modeling environment tools." relevance="3">
-    <components name="UML2 Tools" provider="Eclipse.org" description="The UML2Tools component is a set of the UML 2.1 compatible diagram editors, based on the Eclipse GMF framework" license="EPL" groups="//@filters.0" image32="" incubation="true" visible="false">
+  <categories
+      name="Modeler"
+      description="Modeling environment tools."
+      relevance="3">
+    <components
+        name="UML2 Tools"
+        provider="Eclipse.org"
+        description="The UML2Tools component is a set of the UML 2.1 compatible diagram editors, based on the Eclipse GMF framework"
+        license="EPL"
+        groups="//@filters.0"
+        image32=""
+        incubation="true"
+        visible="false">
       <sitesURLS>http://download.eclipse.org/releases/juno/</sitesURLS>
-      <overview summary="UML2Tools provides support for Class, Composite Structure, Component,&#xA;Deployment, UseCase, Activity and StateMachine diagram. It also contains&#xA;supplementary Profile Definition diagram, enabling the visual integration of&#xA;the custom defined stereotypes with the other supported diagrams." screenshot="images/uml2tools-screenshot-320x240.png"/>
+      <overview
+          summary="UML2Tools provides support for Class, Composite Structure, Component,&#xA;Deployment, UseCase, Activity and StateMachine diagram. It also contains&#xA;supplementary Profile Definition diagram, enabling the visual integration of&#xA;the custom defined stereotypes with the other supported diagrams."
+          screenshot="images/uml2tools-screenshot-320x240.png"/>
       <id>org.eclipse.uml2tools</id>
     </components>
-    <components name="Papyrus" provider="Eclipse.org" description="Papyrus provides an integrated, user-consumable environment for editing models based on UML and other related languages such as SysML." license="EPL" groups="//@filters.0" image32="images/papyrus.png" incubation="true">
+    <components
+        name="Papyrus"
+        provider="Eclipse.org"
+        description="Papyrus provides an integrated, user-consumable environment for editing models based on UML and other related languages such as SysML."
+        license="EPL"
+        groups="//@filters.0"
+        image32="images/papyrus.png"
+        incubation="true">
       <sitesURLS>http://download.eclipse.org/releases/juno/</sitesURLS>
-      <overview summary="Papyrus is an open source component of the&#xA;Model Development Tools (MDT) subproject to provide an integrated environment&#xA;for editing UML and SysML models. Specially, this project will provide the glue&#xA;around valuable UML and SysML diagram editors (GMF-based or not) and other MDE&#xA;tools. It will also offer support for UML and SysML profiling mechanisms." screenshot="images/papyrus-screenshot-320x240.png" url="http://www.eclipse.org/papyrus"/>
+      <overview
+          summary="Papyrus is an open source component of the&#xA;Model Development Tools (MDT) subproject to provide an integrated environment&#xA;for editing UML and SysML models. Specially, this project will provide the glue&#xA;around valuable UML and SysML diagram editors (GMF-based or not) and other MDE&#xA;tools. It will also offer support for UML and SysML profiling mechanisms."
+          screenshot="images/papyrus-screenshot-320x240.png"
+          url="http://www.eclipse.org/papyrus"/>
       <id>org.eclipse.papyrus.sdk.feature</id>
     </components>
   </categories>
-  <categories name="Reverse Engineering" description="Tools focused on getting models from source code." relevance="2">
-    <components name="MoDisco" provider="Eclipse.org" description="MoDisco is an extensible framework to develop model-driven tools for software modernization projects." license="EPL" groups="//@filters.0" image32="images/modisco.png" incubation="true">
+  <categories
+      name="Reverse Engineering"
+      description="Tools focused on getting models from source code."
+      relevance="2">
+    <components
+        name="MoDisco"
+        provider="Eclipse.org"
+        description="MoDisco is an extensible framework to develop model-driven tools for software modernization projects."
+        license="EPL"
+        groups="//@filters.0"
+        image32="images/modisco.png"
+        incubation="true">
       <sitesURLS>http://download.eclipse.org/releases/juno/</sitesURLS>
-      <overview summary="MoDisco provides standard metamodels to describe existing systems, discoverers&#xA;to automaticaly create models from Java and XML source code, and generic tools&#xA;to understand and transform complex models.&#xA;" screenshot="images/modisco-screenshot-320x240.png" url="http://www.eclipse.org/gmt/modisco/"/>
+      <overview
+          summary="MoDisco provides standard metamodels to describe existing systems, discoverers&#xA;to automaticaly create models from Java and XML source code, and generic tools&#xA;to understand and transform complex models.&#xA;"
+          screenshot="images/modisco-screenshot-320x240.png"
+          url="http://www.eclipse.org/gmt/modisco/"/>
       <id>org.eclipse.modisco.sdk.feature</id>
       <hiddingFeatureID>org.eclipse.modisco.infrastructure</hiddingFeatureID>
     </components>
   </categories>
-  <categories name="Runtime and Tools" description="Modeling related runtimes and frameworks." relevance="1">
-    <components name="Connected Data Objects Repository" provider="Eclipse.org" license="EPL" visible="false">
+  <categories
+      name="Runtime and Tools"
+      description="Modeling related runtimes and frameworks."
+      relevance="1">
+    <components
+        name="Connected Data Objects Repository"
+        provider="Eclipse.org"
+        license="EPL"
+        visible="false">
       <sitesURLS>http://download.eclipse.org/releases/juno/</sitesURLS>
     </components>
-    <components name="Agent Modeling Platform" provider="             Eclipse.org  &#xA; &lt;a href=&quot;http://www.eclipse.org/amp/installing/about_discovery.php&quot;>contains non ip-approved content&lt;/a>" description="Agent Modeling Platform (Incubation), including Agent Modeling Framework, Agent eXecution Framework, Agent Graphics and Visualization Framework, and Escape." license="EPL" groups="//@filters.0" image32="images/amp.png" incubation="true">
+    <components
+        name="Agent Modeling Platform"
+        provider="             Eclipse.org  &#xA; &lt;a href=&quot;http://www.eclipse.org/amp/installing/about_discovery.php&quot;>contains non ip-approved content&lt;/a>"
+        description="Agent Modeling Platform (Incubation), including Agent Modeling Framework, Agent eXecution Framework, Agent Graphics and Visualization Framework, and Escape."
+        license="EPL"
+        groups="//@filters.0"
+        image32="images/amp.png"
+        incubation="true">
       <sitesURLS>http://download.eclipse.org/releases/juno/</sitesURLS>
       <sitesURLS>http://lwjgl.org/update</sitesURLS>
       <sitesURLS>http://ascape.sourceforge.net/eclipse</sitesURLS>
       <sitesURLS>http://download.eclipse.org/amp/updates/releases</sitesURLS>
       <sitesURLS>http://mirror.anl.gov/pub/repastsimphony/</sitesURLS>
-      <overview summary="The Agent Modeling Platform (AMP) provides extensible frameworks&#xA;and exemplary tools for representing, editing, generating, executing and&#xA;visualizing agent-based models (ABMs) and any other domain requiring spatial,&#xA;behavioral and functional features. AMP has two parts: 1) The Agent Modeling&#xA;Framework (AMF) which provides an Agent-Based Model (ABM) meta-model&#xA;representation, editor, development environment and code generators for popular&#xA;ABM platforms. 2) The AMP platform tools. The Agent Execution Framework (AXF)&#xA;provides services and UI for model management, execution, and views. The Agent&#xA;Graphics Framework (AGF) extends GEF, GEF3D, Zest, and the BIRT charting engine&#xA;to support real-time visualization of and interaction with agent models. Escape&#xA;is a complete ABM environment for Eclipse." screenshot="images/amp-screenshot-320x240.png" url="http://www.eclipse.org/amp"/>
+      <overview
+          summary="The Agent Modeling Platform (AMP) provides extensible frameworks&#xA;and exemplary tools for representing, editing, generating, executing and&#xA;visualizing agent-based models (ABMs) and any other domain requiring spatial,&#xA;behavioral and functional features. AMP has two parts: 1) The Agent Modeling&#xA;Framework (AMF) which provides an Agent-Based Model (ABM) meta-model&#xA;representation, editor, development environment and code generators for popular&#xA;ABM platforms. 2) The AMP platform tools. The Agent Execution Framework (AXF)&#xA;provides services and UI for model management, execution, and views. The Agent&#xA;Graphics Framework (AGF) extends GEF, GEF3D, Zest, and the BIRT charting engine&#xA;to support real-time visualization of and interaction with agent models. Escape&#xA;is a complete ABM environment for Eclipse."
+          screenshot="images/amp-screenshot-320x240.png"
+          url="http://www.eclipse.org/amp"/>
       <id>org.eclipse.amp.all</id>
     </components>
-    <components name="Model Workflow Engine" provider="Eclipse.org" license="EPL" groups="//@filters.0" incubation="true" visible="false">
+    <components
+        name="Model Workflow Engine"
+        provider="Eclipse.org"
+        license="EPL"
+        groups="//@filters.0"
+        incubation="true"
+        visible="false">
       <sitesURLS>http://download.eclipse.org/releases/juno/</sitesURLS>
     </components>
-    <components name="EGF" provider="Eclipse.org" description="The purpose of EGF is to provide an extensible generation framework in order to support complex, large-scale and customizable generations." license="EPL" groups="//@filters.0" image32="images/egf.png">
+    <components
+        name="EGF"
+        provider="Eclipse.org"
+        description="The purpose of EGF is to provide an extensible generation framework in order to support complex, large-scale and customizable generations."
+        license="EPL"
+        groups="//@filters.0"
+        image32="images/egf.png">
       <sitesURLS>http://download.eclipse.org/egf/updates/juno/official/</sitesURLS>
       <sitesURLS>http://download.eclipse.org/releases/juno/</sitesURLS>
-      <overview summary="In order to improve the software development industrialization, a major step consists in mass-producing software. This mass-production must be customizable, and must be able to support complex, large-scale and heterogeneous generations. Given the today's available Eclipse tools, the issue here is not to provide either a new transformation engine (model-to-model, model-to-text, text-to-model, text-to-text) or DSL (Domain-Specific Language) editor but to realize their integration for flexible software mass-production." screenshot="images/egf-screenshot-320x240.png" url="http://wiki.eclipse.org/EGF"/>
+      <overview
+          summary="In order to improve the software development industrialization, a major step consists in mass-producing software. This mass-production must be customizable, and must be able to support complex, large-scale and heterogeneous generations. Given the today's available Eclipse tools, the issue here is not to provide either a new transformation engine (model-to-model, model-to-text, text-to-model, text-to-text) or DSL (Domain-Specific Language) editor but to realize their integration for flexible software mass-production."
+          screenshot="images/egf-screenshot-320x240.png"
+          url="http://wiki.eclipse.org/EGF"/>
       <id>org.eclipse.egf.sdk</id>
       <hiddingFeatureID>org.eclipse.egf.sdk</hiddingFeatureID>
     </components>
-    <components name="EMFStore" provider="Eclipse.org" description="EMFStore is a model repository for EMF-based models/data. It allows storage, versioning, collaboration, offline work and interactive merging. All functions are available via API and via GUI included in the release." license="EPL" groups="//@filters.0" image32="images/emfstore.png" incubation="true">
+    <components
+        name="EMFStore"
+        provider="Eclipse.org"
+        description="EMFStore is a model repository for EMF-based models/data. It allows storage, versioning, collaboration, offline work and interactive merging. All functions are available via API and via GUI included in the release."
+        license="EPL"
+        groups="//@filters.0"
+        image32="images/emfstore.png"
+        incubation="true">
       <sitesURLS>http://download.eclipse.org/emf-store/releases/latest</sitesURLS>
-      <overview summary="EMFStore is a repository for EMF-based models. It features an offline mode and&#xA;is geared towards collaborative editing of the stored models. Therefore support&#xA;for conflict detection and interactive merging of models is built into the&#xA;repository including versioning. EMFStore also ships with a set of client&#xA;plugins containing an API for the server and even views for commiting changes&#xA;to, updating changes from the repository as well as merging models in a local&#xA;workspace. In addition EMFStore provides access control on the repository and&#xA;storage for the models and their meta data on client and server side. EMFStore&#xA;also supports changing the Ecore model of the stored EMF model instances by&#xA;generating model migrators based on Edapt. This is a useful feature if your&#xA;application evolves and requires changing your data model for example.&#xA;&#xA;Feature Overview:&#xA;- Offline Mode (No server connection neccessary)&#xA;- Interactive Merging&#xA;- Extensible Model Conflict Detection and Merging&#xA;- Model Versioning with full history&#xA;- Model Storage (client and server-side)&#xA;- Access Control&#xA;- Model Migration" screenshot="images/emfstore-screenshot-320x240.png" url="http://emfstore.org"/>
+      <overview
+          summary="EMFStore is a repository for EMF-based models. It features an offline mode and&#xA;is geared towards collaborative editing of the stored models. Therefore support&#xA;for conflict detection and interactive merging of models is built into the&#xA;repository including versioning. EMFStore also ships with a set of client&#xA;plugins containing an API for the server and even views for commiting changes&#xA;to, updating changes from the repository as well as merging models in a local&#xA;workspace. In addition EMFStore provides access control on the repository and&#xA;storage for the models and their meta data on client and server side. EMFStore&#xA;also supports changing the Ecore model of the stored EMF model instances by&#xA;generating model migrators based on Edapt. This is a useful feature if your&#xA;application evolves and requires changing your data model for example.&#xA;&#xA;Feature Overview:&#xA;- Offline Mode (No server connection neccessary)&#xA;- Interactive Merging&#xA;- Extensible Model Conflict Detection and Merging&#xA;- Model Versioning with full history&#xA;- Model Storage (client and server-side)&#xA;- Access Control&#xA;- Model Migration"
+          screenshot="images/emfstore-screenshot-320x240.png"
+          url="http://emfstore.org"/>
       <id>org.eclipse.emf.emfstore.ecp.feature</id>
     </components>
-    <components name="Teneo" provider="Eclipse.org" description="Teneo is a Model-Relational mapping and runtime database persistence solution for the Eclipse Modeling Framework (EMF) using Hibernate and EclipseLink." license="EPL">
+    <components
+        name="Teneo"
+        provider="Eclipse.org"
+        description="Teneo is a Model-Relational mapping and runtime database persistence solution for the Eclipse Modeling Framework (EMF) using Hibernate and EclipseLink."
+        license="EPL">
       <sitesURLS>http://download.eclipse.org/releases/juno/</sitesURLS>
-      <overview summary="The EMF &#x2013; Hibernate integration supports all EMF features and standard EclipseLink and Hibernate features. EMF objects can be persisted in most major relational databases and retrieved using an EMF resource approach or HQL/JPA queries. A distinctive feature of Teneo is that you can override/extend the Model-Relational mapping using JPA annotations in the model." screenshot="images/teneo-screenshot-320x240.png" url="http://wiki.eclipse.org/Teneo"/>
+      <overview
+          summary="The EMF &#x2013; Hibernate integration supports all EMF features and standard EclipseLink and Hibernate features. EMF objects can be persisted in most major relational databases and retrieved using an EMF resource approach or HQL/JPA queries. A distinctive feature of Teneo is that you can override/extend the Model-Relational mapping using JPA annotations in the model."
+          screenshot="images/teneo-screenshot-320x240.png"
+          url="http://wiki.eclipse.org/Teneo"/>
       <id>org.eclipse.emf.teneo.hibernate</id>
       <id>org.eclipse.emf.teneo.eclipselink</id>
     </components>
-    <components name="OCL Tools" provider="Eclipse.org" description="An evaluation Console for OCL expressions, and Xtext Editors for Complete OCL documents, Combined OCL in Ecore Models and for individual OCL expressions" license="EPL" image32="images/ocl.png">
+    <components
+        name="OCL Tools"
+        provider="Eclipse.org"
+        description="An evaluation Console for OCL expressions, and Xtext Editors for Complete OCL documents, Combined OCL in Ecore Models and for individual OCL expressions"
+        license="EPL"
+        image32="images/ocl.png">
       <sitesURLS>http://download.eclipse.org/releases/juno/</sitesURLS>
-      <overview summary="The Examples for the Object Constraint Language provide&#xA;&#xA;Xtext Editors for&#xA;- CompleteOCL documents to enhance Ecore or UML models&#xA;- OCL in Ecore documents defining OCL and Ecore at once&#xA;- Individual Expressions for use by other tools&#xA;- the OCL Standard Library" screenshot="images/ocl-screenshot-320x240.png" url="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.mdt.ocl"/>
+      <overview
+          summary="The Examples for the Object Constraint Language provide&#xA;&#xA;Xtext Editors for&#xA;- CompleteOCL documents to enhance Ecore or UML models&#xA;- OCL in Ecore documents defining OCL and Ecore at once&#xA;- Individual Expressions for use by other tools&#xA;- the OCL Standard Library"
+          screenshot="images/ocl-screenshot-320x240.png"
+          url="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.mdt.ocl"/>
       <id>org.eclipse.ocl.examples</id>
     </components>
   </categories>
diff --git a/downloads/discovery/kepler/modeling.xmi b/downloads/discovery/kepler/modeling.xmi
index 1c208c9..8307ae6 100755
--- a/downloads/discovery/kepler/modeling.xmi
+++ b/downloads/discovery/kepler/modeling.xmi
@@ -14,12 +14,11 @@
         description="Acceleo is a standard-based template language focused on usability and pragmatism."
         license="EPL"
         image32="images/acceleo.png">
-      <sitesURLS>http://download.eclipse.org/modeling/m2t/acceleo/updates/releases/3.2</sitesURLS>
       <sitesURLS>http://download.eclipse.org/releases/kepler/</sitesURLS>
       <overview
           summary=" Acceleo is a pragmatic implementation of the Object Management Group (OMG) MOF Model to Text Language (MTL) standard.&#xA;&#xA;You do not need to be an expert to start using the plug-ins and create your first code generator : using the provided example projects and the powerful completion feature of the Acceleo editor, it is very easy to get started once you understand the basic principles. "
           screenshot="images/acceleo-screenshot-320x240.png"/>
-      <id>org.eclipse.acceleo.sdk</id>
+      <id>org.eclipse.acceleo</id>
     </components>
     <components
         name="Jet"
diff --git a/downloads/discovery/luna/modeling.xmi b/downloads/discovery/luna/modeling.xmi
index d9d5ed0..094d82e 100755
--- a/downloads/discovery/luna/modeling.xmi
+++ b/downloads/discovery/luna/modeling.xmi
@@ -1,121 +1,304 @@
 <?xml version="1.0" encoding="ASCII"?>
-<discovery:DiscoveryDefinition xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:discovery="http://www.eclipse.org/amalgamation/discovery/1.0">
-  <categories name="Model To Text" description="Model to Text (also known as code generation) tools and languages." relevance="6" image48="">
-    <components name="Acceleo" provider="Eclipse.org" description="Acceleo is a standard-based template language focused on usability and pragmatism." license="EPL" image32="images/acceleo.png">
+<discovery:DiscoveryDefinition
+    xmi:version="2.0"
+    xmlns:xmi="http://www.omg.org/XMI"
+    xmlns:discovery="http://www.eclipse.org/amalgamation/discovery/1.0">
+  <categories
+      name="Model To Text"
+      description="Model to Text (also known as code generation) tools and languages."
+      relevance="6"
+      image48="">
+    <components
+        name="Acceleo"
+        provider="Eclipse.org"
+        description="Acceleo is a standard-based template language focused on usability and pragmatism."
+        license="EPL"
+        image32="images/acceleo.png">
       <sitesURLS>http://download.eclipse.org/releases/luna/</sitesURLS>
-      <overview summary=" Acceleo is a pragmatic implementation of the Object Management Group (OMG) MOF Model to Text Language (MTL) standard.&#xA;&#xA;You do not need to be an expert to start using the plug-ins and create your first code generator : using the provided example projects and the powerful completion feature of the Acceleo editor, it is very easy to get started once you understand the basic principles. " screenshot="images/acceleo-screenshot-320x240.png"/>
+      <overview
+          summary=" Acceleo is a pragmatic implementation of the Object Management Group (OMG) MOF Model to Text Language (MTL) standard.&#xA;&#xA;You do not need to be an expert to start using the plug-ins and create your first code generator : using the provided example projects and the powerful completion feature of the Acceleo editor, it is very easy to get started once you understand the basic principles. "
+          screenshot="images/acceleo-screenshot-320x240.png"/>
       <id>org.eclipse.acceleo.sdk</id>
     </components>
-    <components name="Jet" provider="Eclipse.org" description="JET is an Eclipse-based code generator framework based on JSP." license="EPL" image32="images/jet.png">
+    <components
+        name="Jet"
+        provider="Eclipse.org"
+        description="JET is an Eclipse-based code generator framework based on JSP."
+        license="EPL"
+        image32="images/jet.png">
       <sitesURLS>http://download.eclipse.org/releases/luna/</sitesURLS>
-      <overview summary="JET allows you to easily generate textual artifacts in the Eclipse environment&#xA;in a syntax similar to JSP. It supplies tag libraries for navigating XML&#xA;documents, EMF-based documents (including UML2) and for writing template&#xA;results to the Eclipse workspace.&#xA;" url="http://wiki.eclipse.org/M2T-JET"/>
+      <overview
+          summary="JET allows you to easily generate textual artifacts in the Eclipse environment&#xA;in a syntax similar to JSP. It supplies tag libraries for navigating XML&#xA;documents, EMF-based documents (including UML2) and for writing template&#xA;results to the Eclipse workspace.&#xA;"
+          url="http://wiki.eclipse.org/M2T-JET"/>
       <id>org.eclipse.jet.sdk</id>
       <hiddingFeatureID>org.eclipse.jet</hiddingFeatureID>
     </components>
-    <components name="Xpand" provider="Eclipse.org" description="Xpand is an efficient code generation framework with a statically-typed template language and support for arbitrary input model types." license="EPL" image32="images/xpand.png">
+    <components
+        name="Xpand"
+        provider="Eclipse.org"
+        description="Xpand is an efficient code generation framework with a statically-typed template language and support for arbitrary input model types."
+        license="EPL"
+        image32="images/xpand.png">
       <sitesURLS>http://download.eclipse.org/releases/luna/</sitesURLS>
-      <overview summary="Xpand allows to write code generators for many different types of models. These&#xA;models include EMF models, UML models, XML documents and textual DSL models.&#xA;Any type of source code can be generated from the model sources. Xpand has&#xA;strong emphasize on reducing the effort to create industry-strength code&#xA;generators and provides outstanding Eclipse integration.&#xA;&#xA;Xpand's features include:&#xA; &#x2022; support of various modeling tools&#xA; &#x2022; support of EMF (Eclipse Modeling Framework)&#xA; &#x2022; model-to-code transformations&#xA; &#x2022; model-to-model transformations             &#xA; &#x2022; model validation&#xA; &#x2022; expression language&#xA; &#x2022; static code analysis&#xA; &#x2022; aspect oriented programming&#xA; &#x2022; support for standalone execution" screenshot="images/xpand-screenshot-320x240.png"/>
+      <overview
+          summary="Xpand allows to write code generators for many different types of models. These&#xA;models include EMF models, UML models, XML documents and textual DSL models.&#xA;Any type of source code can be generated from the model sources. Xpand has&#xA;strong emphasize on reducing the effort to create industry-strength code&#xA;generators and provides outstanding Eclipse integration.&#xA;&#xA;Xpand's features include:&#xA; &#x2022; support of various modeling tools&#xA; &#x2022; support of EMF (Eclipse Modeling Framework)&#xA; &#x2022; model-to-code transformations&#xA; &#x2022; model-to-model transformations             &#xA; &#x2022; model validation&#xA; &#x2022; expression language&#xA; &#x2022; static code analysis&#xA; &#x2022; aspect oriented programming&#xA; &#x2022; support for standalone execution"
+          screenshot="images/xpand-screenshot-320x240.png"/>
       <id>org.eclipse.xpand.sdk</id>
       <hiddingFeatureID>org.eclipse.xpand</hiddingFeatureID>
     </components>
   </categories>
-  <categories name="Model To Model" description="Model to Model tools and transformation languages." image48="">
-    <components name="ATL" provider="Eclipse.org" description="ATL is a model transformation language and toolkit, including an ATL transformation engine and an IDE for ATL." license="EPL" image32="images/atl.png">
+  <categories
+      name="Model To Model"
+      description="Model to Model tools and transformation languages."
+      image48="">
+    <components
+        name="ATL"
+        provider="Eclipse.org"
+        description="ATL is a model transformation language and toolkit, including an ATL transformation engine and an IDE for ATL."
+        license="EPL"
+        image32="images/atl.png">
       <sitesURLS>http://download.eclipse.org/releases/luna/</sitesURLS>
-      <overview summary="The ATL component of the M2M project provides ways to produce a set of target models from a set of source models. An ATL transformation program is composed of rules that define how source model elements are matched and navigated to create and initialize the elements of the target models. Developed on top of the Eclipse platform, the ATL toolkit provides a number of standard development tools (advanced editor, debugger, profiler, etc.) that aims to ease development of ATL transformations." screenshot="images/atl-screenshot-320x240.png" url="http://www.eclipse.org/m2m/atl/"/>
+      <overview
+          summary="The ATL component of the M2M project provides ways to produce a set of target models from a set of source models. An ATL transformation program is composed of rules that define how source model elements are matched and navigated to create and initialize the elements of the target models. Developed on top of the Eclipse platform, the ATL toolkit provides a number of standard development tools (advanced editor, debugger, profiler, etc.) that aims to ease development of ATL transformations."
+          screenshot="images/atl-screenshot-320x240.png"
+          url="http://www.eclipse.org/m2m/atl/"/>
       <id>org.eclipse.m2m.atl.sdk</id>
       <hiddingFeatureID>org.eclipse.m2m.atl</hiddingFeatureID>
     </components>
-    <components name="Declarative QVT" provider="Eclipse.org" description="Editors for QVT Relational and QVT Core documents" license="EPL" groups="//@filters.0" image32="images/qvtd.png" incubation="true" visible="false">
+    <components
+        name="Declarative QVT"
+        provider="Eclipse.org"
+        description="Editors for QVT Relational and QVT Core documents"
+        license="EPL"
+        groups="//@filters.0"
+        image32="images/qvtd.png"
+        incubation="true"
+        visible="false">
       <sitesURLS>http://download.eclipse.org/releases/luna/</sitesURLS>
-      <overview summary="QVTd project currently provides Editors for&#xA;&#xA;- QVT Relational documents&#xA;- QVT Core documents&#xA;&#xA;QVTc and QVTr execution is work in progress" screenshot="images/qvtd-screenshot-320x240.png" url="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.m2m.qvt-relations"/>
+      <overview
+          summary="QVTd project currently provides Editors for&#xA;&#xA;- QVT Relational documents&#xA;- QVT Core documents&#xA;&#xA;QVTc and QVTr execution is work in progress"
+          screenshot="images/qvtd-screenshot-320x240.png"
+          url="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.m2m.qvt-relations"/>
       <id>org.eclipse.qvtd</id>
     </components>
-    <components name="Operational QVT" provider="Eclipse.org" description="Implementation of the Operational part of the OMG QVT (Query/View/Transformation) open standard" license="EPL" image32="images/qvto.png">
+    <components
+        name="Operational QVT"
+        provider="Eclipse.org"
+        description="Implementation of the Operational part of the OMG QVT (Query/View/Transformation) open standard"
+        license="EPL"
+        image32="images/qvto.png">
       <sitesURLS>http://download.eclipse.org/releases/luna/</sitesURLS>
-      <overview summary="Based on MDT OCL, the Operational QVT project aims to be fully compliant with the OMG QVT standard providing a powerful Eclipse IDE with feature-rich editor (code completion, outline, navigation, etc.), debugger, project builders, launch configurations, deployment facilities and Ant support." screenshot="images/qvto-screenshot-320x240.png" url="http://wiki.eclipse.org/M2M/Operational_QVT_Language_%28QVTO%29"/>
+      <overview
+          summary="Based on MDT OCL, the Operational QVT project aims to be fully compliant with the OMG QVT standard providing a powerful Eclipse IDE with feature-rich editor (code completion, outline, navigation, etc.), debugger, project builders, launch configurations, deployment facilities and Ant support."
+          screenshot="images/qvto-screenshot-320x240.png"
+          url="http://wiki.eclipse.org/M2M/Operational_QVT_Language_%28QVTO%29"/>
       <id>org.eclipse.m2m.qvt.oml.sdk</id>
     </components>
   </categories>
-  <categories name="Concrete Syntax Development" description="Tools and frameworks to develop dedicated modeling tools. " relevance="4">
-    <components name="Extended Editing Framework" provider="Eclipse.org" description="EEF (Extended Editing Framework) is a presentation framework for EMF models. " license="EPL" image32="images/eef.png">
+  <categories
+      name="Concrete Syntax Development"
+      description="Tools and frameworks to develop dedicated modeling tools. "
+      relevance="4">
+    <components
+        name="Extended Editing Framework"
+        provider="Eclipse.org"
+        description="EEF (Extended Editing Framework) is a presentation framework for EMF models. "
+        license="EPL"
+        image32="images/eef.png">
       <sitesURLS>http://download.eclipse.org/releases/luna/</sitesURLS>
-      <overview summary="The Extended Editing Framework aims at giving another way to improve the EMF model creation phase by providing new services dedicated to editing and using more appealing editing elements. The way to obtain these services and elements is based on a generative approach similar to the EMF.Edit one. The framework provides advanced editing components for the properties of EMF elements and a default generation based on standard metamodels using these components." screenshot="images/eef-screenshot-320x240.png" url="http://www.eclipse.org/modeling/emft/?project=eef"/>
+      <overview
+          summary="The Extended Editing Framework aims at giving another way to improve the EMF model creation phase by providing new services dedicated to editing and using more appealing editing elements. The way to obtain these services and elements is based on a generative approach similar to the EMF.Edit one. The framework provides advanced editing components for the properties of EMF elements and a default generation based on standard metamodels using these components."
+          screenshot="images/eef-screenshot-320x240.png"
+          url="http://www.eclipse.org/modeling/emft/?project=eef"/>
       <id>org.eclipse.emf.eef.edt</id>
       <hiddingFeatureID>org.eclipse.emf.eef.runtime</hiddingFeatureID>
     </components>
-    <components name="Graphical Modeling Framework Tooling" provider="Eclipse.org" description="GMF Tooling is a framework to generate functional graphical editors based on the GMF Runtime." license="EPL" image32="images/gmf.png">
-      <sitesURLS>http://download.eclipse.org/releases/luna/</sitesURLS>      
+    <components
+        name="Graphical Modeling Framework Tooling"
+        provider="Eclipse.org"
+        description="GMF Tooling is a framework to generate functional graphical editors based on the GMF Runtime."
+        license="EPL"
+        image32="images/gmf.png">
+      <sitesURLS>http://download.eclipse.org/releases/luna/</sitesURLS>
       <id>org.eclipse.gmf.sdk</id>
     </components>
-    <components name="Graphiti" provider="Eclipse.org" description="Graphiti is a graphical API that enables the fast and easy creation of graphical tools for any kind of domain models." license="EPL" groups="//@filters.0" image32="images/graphiti.png" incubation="true">      
+    <components
+        name="Graphiti"
+        provider="Eclipse.org"
+        description="Graphiti is a graphical API that enables the fast and easy creation of graphical tools for any kind of domain models."
+        license="EPL"
+        groups="//@filters.0"
+        image32="images/graphiti.png"
+        incubation="true">
       <sitesURLS>http://download.eclipse.org/releases/luna/</sitesURLS>
-      <overview summary="The goal of Graphiti is to support the fast and easy creation of graphical tools, which can display and edit underlying domain models using a tool-defined graphical notation. Graphiti supports the developer in getting to a first version of an editor with very low effort by:&#xA;- Hiding platform specific technology (e.g. GEF / Draw2D on Eclipse)&#xA;- Providing rich default implementations inside the framework&#xA;- Providing a default look and feel that was designed in close co-operation with usability specialists" screenshot="images/graphiti-screenshot-320x240.png" url="http://www.eclipse.org/graphiti/"/>
-      <id>org.eclipse.graphiti.sdk.feature</id>      
+      <overview
+          summary="The goal of Graphiti is to support the fast and easy creation of graphical tools, which can display and edit underlying domain models using a tool-defined graphical notation. Graphiti supports the developer in getting to a first version of an editor with very low effort by:&#xA;- Hiding platform specific technology (e.g. GEF / Draw2D on Eclipse)&#xA;- Providing rich default implementations inside the framework&#xA;- Providing a default look and feel that was designed in close co-operation with usability specialists"
+          screenshot="images/graphiti-screenshot-320x240.png"
+          url="http://www.eclipse.org/graphiti/"/>
+      <id>org.eclipse.graphiti.sdk.feature</id>
     </components>
-    <components name="Xtext" provider="Eclipse.org" description="Xtext is a framework for development of programming languages and domain specific languages (DSLs). " license="EPL" groups="//@filters.0" image32="images/xtext.png">
+    <components
+        name="Xtext"
+        provider="Eclipse.org"
+        description="Xtext is a framework for development of programming languages and domain specific languages (DSLs). "
+        license="EPL"
+        groups="//@filters.0"
+        image32="images/xtext.png">
       <sitesURLS>http://download.eclipse.org/releases/luna/</sitesURLS>
-      <overview summary="Xtext is a framework for development of programming languages and domain&#xA;specific languages (DSLs). Just describe your very own DSL using Xtext's simple&#xA;EBNF grammar language and the generator will create a parser, an AST-meta model&#xA;(implemented in EMF) as well as a full-featured Eclipse text editor from that.&#xA;&#xA;The Framework integrates with frameworks from Eclipse Modeling such as EMF, GMF&#xA;and M2T as well as other Eclipse based technologies. Development with Xtext is&#xA;optimized for short turn-arounds, so that adding new features to an existing&#xA;DSL is a matter of minutes. Still sophisticated programming languages can be&#xA;implemented." screenshot="images/xtext-screenshot-320x240.png"/>
+      <overview
+          summary="Xtext is a framework for development of programming languages and domain&#xA;specific languages (DSLs). Just describe your very own DSL using Xtext's simple&#xA;EBNF grammar language and the generator will create a parser, an AST-meta model&#xA;(implemented in EMF) as well as a full-featured Eclipse text editor from that.&#xA;&#xA;The Framework integrates with frameworks from Eclipse Modeling such as EMF, GMF&#xA;and M2T as well as other Eclipse based technologies. Development with Xtext is&#xA;optimized for short turn-arounds, so that adding new features to an existing&#xA;DSL is a matter of minutes. Still sophisticated programming languages can be&#xA;implemented."
+          screenshot="images/xtext-screenshot-320x240.png"/>
       <id>org.eclipse.xtext.sdk</id>
     </components>
   </categories>
-  <categories name="Modeler" description="Modeling environment tools." relevance="3">
-    <components name="UML2 Tools" provider="Eclipse.org" description="The UML2Tools component is a set of the UML 2.1 compatible diagram editors, based on the Eclipse GMF framework" license="EPL" groups="//@filters.0" image32="" incubation="true" visible="false">
+  <categories
+      name="Modeler"
+      description="Modeling environment tools."
+      relevance="3">
+    <components
+        name="UML2 Tools"
+        provider="Eclipse.org"
+        description="The UML2Tools component is a set of the UML 2.1 compatible diagram editors, based on the Eclipse GMF framework"
+        license="EPL"
+        groups="//@filters.0"
+        image32=""
+        incubation="true"
+        visible="false">
       <sitesURLS>http://download.eclipse.org/releases/luna/</sitesURLS>
-      <overview summary="UML2Tools provides support for Class, Composite Structure, Component,&#xA;Deployment, UseCase, Activity and StateMachine diagram. It also contains&#xA;supplementary Profile Definition diagram, enabling the visual integration of&#xA;the custom defined stereotypes with the other supported diagrams." screenshot="images/uml2tools-screenshot-320x240.png"/>
+      <overview
+          summary="UML2Tools provides support for Class, Composite Structure, Component,&#xA;Deployment, UseCase, Activity and StateMachine diagram. It also contains&#xA;supplementary Profile Definition diagram, enabling the visual integration of&#xA;the custom defined stereotypes with the other supported diagrams."
+          screenshot="images/uml2tools-screenshot-320x240.png"/>
       <id>org.eclipse.uml2tools</id>
     </components>
-    <components name="Papyrus" provider="Eclipse.org" description="Papyrus provides an integrated, user-consumable environment for editing models based on UML and other related languages such as SysML." license="EPL" groups="//@filters.0" image32="images/papyrus.png" incubation="true">
+    <components
+        name="Papyrus"
+        provider="Eclipse.org"
+        description="Papyrus provides an integrated, user-consumable environment for editing models based on UML and other related languages such as SysML."
+        license="EPL"
+        groups="//@filters.0"
+        image32="images/papyrus.png"
+        incubation="true">
       <sitesURLS>http://download.eclipse.org/releases/luna/</sitesURLS>
-      <overview summary="Papyrus is an open source component of the&#xA;Model Development Tools (MDT) subproject to provide an integrated environment&#xA;for editing UML and SysML models. Specially, this project will provide the glue&#xA;around valuable UML and SysML diagram editors (GMF-based or not) and other MDE&#xA;tools. It will also offer support for UML and SysML profiling mechanisms." screenshot="images/papyrus-screenshot-320x240.png" url="http://www.eclipse.org/papyrus"/>
+      <overview
+          summary="Papyrus is an open source component of the&#xA;Model Development Tools (MDT) subproject to provide an integrated environment&#xA;for editing UML and SysML models. Specially, this project will provide the glue&#xA;around valuable UML and SysML diagram editors (GMF-based or not) and other MDE&#xA;tools. It will also offer support for UML and SysML profiling mechanisms."
+          screenshot="images/papyrus-screenshot-320x240.png"
+          url="http://www.eclipse.org/papyrus"/>
       <id>org.eclipse.papyrus.sdk.feature</id>
     </components>
   </categories>
-  <categories name="Reverse Engineering" description="Tools focused on getting models from source code." relevance="2">
-    <components name="MoDisco" provider="Eclipse.org" description="MoDisco is an extensible framework to develop model-driven tools for software modernization projects." license="EPL" groups="//@filters.0" image32="images/modisco.png" incubation="true">
+  <categories
+      name="Reverse Engineering"
+      description="Tools focused on getting models from source code."
+      relevance="2">
+    <components
+        name="MoDisco"
+        provider="Eclipse.org"
+        description="MoDisco is an extensible framework to develop model-driven tools for software modernization projects."
+        license="EPL"
+        groups="//@filters.0"
+        image32="images/modisco.png"
+        incubation="true">
       <sitesURLS>http://download.eclipse.org/releases/luna/</sitesURLS>
-      <overview summary="MoDisco provides standard metamodels to describe existing systems, discoverers&#xA;to automaticaly create models from Java and XML source code, and generic tools&#xA;to understand and transform complex models.&#xA;" screenshot="images/modisco-screenshot-320x240.png" url="http://www.eclipse.org/gmt/modisco/"/>
+      <overview
+          summary="MoDisco provides standard metamodels to describe existing systems, discoverers&#xA;to automaticaly create models from Java and XML source code, and generic tools&#xA;to understand and transform complex models.&#xA;"
+          screenshot="images/modisco-screenshot-320x240.png"
+          url="http://www.eclipse.org/gmt/modisco/"/>
       <id>org.eclipse.modisco.sdk.feature</id>
       <hiddingFeatureID>org.eclipse.modisco.infrastructure</hiddingFeatureID>
     </components>
   </categories>
-  <categories name="Runtime and Tools" description="Modeling related runtimes and frameworks." relevance="1">
-    <components name="Connected Data Objects Repository" provider="Eclipse.org" license="EPL" visible="false">
+  <categories
+      name="Runtime and Tools"
+      description="Modeling related runtimes and frameworks."
+      relevance="1">
+    <components
+        name="Connected Data Objects Repository"
+        provider="Eclipse.org"
+        license="EPL"
+        visible="false">
       <sitesURLS>http://download.eclipse.org/releases/luna/</sitesURLS>
     </components>
-    <components name="Agent Modeling Platform" provider="             Eclipse.org  &#xA; &lt;a href=&quot;http://www.eclipse.org/amp/installing/about_discovery.php&quot;>contains non ip-approved content&lt;/a>" description="Agent Modeling Platform (Incubation), including Agent Modeling Framework, Agent eXecution Framework, Agent Graphics and Visualization Framework, and Escape." license="EPL" groups="//@filters.0" image32="images/amp.png" incubation="true">
+    <components
+        name="Agent Modeling Platform"
+        provider="             Eclipse.org  &#xA; &lt;a href=&quot;http://www.eclipse.org/amp/installing/about_discovery.php&quot;>contains non ip-approved content&lt;/a>"
+        description="Agent Modeling Platform (Incubation), including Agent Modeling Framework, Agent eXecution Framework, Agent Graphics and Visualization Framework, and Escape."
+        license="EPL"
+        groups="//@filters.0"
+        image32="images/amp.png"
+        incubation="true">
       <sitesURLS>http://download.eclipse.org/releases/luna/</sitesURLS>
       <sitesURLS>http://lwjgl.org/update</sitesURLS>
       <sitesURLS>http://ascape.sourceforge.net/eclipse</sitesURLS>
       <sitesURLS>http://download.eclipse.org/amp/updates/releases</sitesURLS>
       <sitesURLS>http://mirror.anl.gov/pub/repastsimphony/</sitesURLS>
-      <overview summary="The Agent Modeling Platform (AMP) provides extensible frameworks&#xA;and exemplary tools for representing, editing, generating, executing and&#xA;visualizing agent-based models (ABMs) and any other domain requiring spatial,&#xA;behavioral and functional features. AMP has two parts: 1) The Agent Modeling&#xA;Framework (AMF) which provides an Agent-Based Model (ABM) meta-model&#xA;representation, editor, development environment and code generators for popular&#xA;ABM platforms. 2) The AMP platform tools. The Agent Execution Framework (AXF)&#xA;provides services and UI for model management, execution, and views. The Agent&#xA;Graphics Framework (AGF) extends GEF, GEF3D, Zest, and the BIRT charting engine&#xA;to support real-time visualization of and interaction with agent models. Escape&#xA;is a complete ABM environment for Eclipse." screenshot="images/amp-screenshot-320x240.png" url="http://www.eclipse.org/amp"/>
+      <overview
+          summary="The Agent Modeling Platform (AMP) provides extensible frameworks&#xA;and exemplary tools for representing, editing, generating, executing and&#xA;visualizing agent-based models (ABMs) and any other domain requiring spatial,&#xA;behavioral and functional features. AMP has two parts: 1) The Agent Modeling&#xA;Framework (AMF) which provides an Agent-Based Model (ABM) meta-model&#xA;representation, editor, development environment and code generators for popular&#xA;ABM platforms. 2) The AMP platform tools. The Agent Execution Framework (AXF)&#xA;provides services and UI for model management, execution, and views. The Agent&#xA;Graphics Framework (AGF) extends GEF, GEF3D, Zest, and the BIRT charting engine&#xA;to support real-time visualization of and interaction with agent models. Escape&#xA;is a complete ABM environment for Eclipse."
+          screenshot="images/amp-screenshot-320x240.png"
+          url="http://www.eclipse.org/amp"/>
       <id>org.eclipse.amp.all</id>
     </components>
-    <components name="Model Workflow Engine" provider="Eclipse.org" license="EPL" groups="//@filters.0" incubation="true" visible="false">
+    <components
+        name="Model Workflow Engine"
+        provider="Eclipse.org"
+        license="EPL"
+        groups="//@filters.0"
+        incubation="true"
+        visible="false">
       <sitesURLS>http://download.eclipse.org/releases/luna/</sitesURLS>
     </components>
-    <components name="EGF" provider="Eclipse.org" description="The purpose of EGF is to provide an extensible generation framework in order to support complex, large-scale and customizable generations." license="EPL" groups="//@filters.0" image32="images/egf.png">
+    <components
+        name="EGF"
+        provider="Eclipse.org"
+        description="The purpose of EGF is to provide an extensible generation framework in order to support complex, large-scale and customizable generations."
+        license="EPL"
+        groups="//@filters.0"
+        image32="images/egf.png">
       <sitesURLS>http://download.eclipse.org/egf/updates/luna/official/</sitesURLS>
       <sitesURLS>http://download.eclipse.org/releases/luna/</sitesURLS>
-      <overview summary="In order to improve the software development industrialization, a major step consists in mass-producing software. This mass-production must be customizable, and must be able to support complex, large-scale and heterogeneous generations. Given the today's available Eclipse tools, the issue here is not to provide either a new transformation engine (model-to-model, model-to-text, text-to-model, text-to-text) or DSL (Domain-Specific Language) editor but to realize their integration for flexible software mass-production." screenshot="images/egf-screenshot-320x240.png" url="http://wiki.eclipse.org/EGF"/>
+      <overview
+          summary="In order to improve the software development industrialization, a major step consists in mass-producing software. This mass-production must be customizable, and must be able to support complex, large-scale and heterogeneous generations. Given the today's available Eclipse tools, the issue here is not to provide either a new transformation engine (model-to-model, model-to-text, text-to-model, text-to-text) or DSL (Domain-Specific Language) editor but to realize their integration for flexible software mass-production."
+          screenshot="images/egf-screenshot-320x240.png"
+          url="http://wiki.eclipse.org/EGF"/>
       <id>org.eclipse.egf.sdk</id>
       <hiddingFeatureID>org.eclipse.egf.sdk</hiddingFeatureID>
     </components>
-    <components name="EMFStore" provider="Eclipse.org" description="EMFStore is a model repository for EMF-based models/data. It allows storage, versioning, collaboration, offline work and interactive merging. All functions are available via API and via GUI included in the release." license="EPL" groups="//@filters.0" image32="images/emfstore.png" incubation="true">
-      <sitesURLS>http://download.eclipse.org/emf-store/releases/100</sitesURLS>
-      <overview summary="EMFStore is a repository for EMF-based models. It features an offline mode and&#xA;is geared towards collaborative editing of the stored models. Therefore support&#xA;for conflict detection and interactive merging of models is built into the&#xA;repository including versioning. EMFStore also ships with a set of client&#xA;plugins containing an API for the server and even views for commiting changes&#xA;to, updating changes from the repository as well as merging models in a local&#xA;workspace. In addition EMFStore provides access control on the repository and&#xA;storage for the models and their meta data on client and server side. EMFStore&#xA;also supports changing the Ecore model of the stored EMF model instances by&#xA;generating model migrators based on Edapt. This is a useful feature if your&#xA;application evolves and requires changing your data model for example.&#xA;&#xA;Feature Overview:&#xA;- Offline Mode (No server connection neccessary)&#xA;- Interactive Merging&#xA;- Extensible Model Conflict Detection and Merging&#xA;- Model Versioning with full history&#xA;- Model Storage (client and server-side)&#xA;- Access Control&#xA;- Model Migration" screenshot="images/emfstore-screenshot-320x240.png" url="http://emfstore.org"/>
-      <id>org.eclipse.emf.emfstore.ecp.feature</id>
+    <components
+        name="EMFStore"
+        provider="Eclipse.org"
+        description="EMFStore is a model repository for EMF-based models/data. It allows storage, versioning, collaboration, offline work and interactive merging. All functions are available via API and via GUI included in the release."
+        license="EPL"
+        image32="images/emfstore.png">
+      <sitesURLS>http://download.eclipse.org/emf-store/releases</sitesURLS>
+      <overview
+          summary="EMFStore is a repository for EMF-based models. It features an offline mode and&#xA;is geared towards collaborative editing of the stored models. Therefore support&#xA;for conflict detection and interactive merging of models is built into the&#xA;repository including versioning. EMFStore also ships with a set of client&#xA;plugins containing an API for the server and even views for commiting changes&#xA;to, updating changes from the repository as well as merging models in a local&#xA;workspace. In addition EMFStore provides access control on the repository and&#xA;storage for the models and their meta data on client and server side. EMFStore&#xA;also supports changing the Ecore model of the stored EMF model instances by&#xA;generating model migrators based on Edapt. This is a useful feature if your&#xA;application evolves and requires changing your data model for example.&#xA;&#xA;Feature Overview:&#xA;- Offline Mode (No server connection neccessary)&#xA;- Interactive Merging&#xA;- Extensible Model Conflict Detection and Merging&#xA;- Model Versioning with full history&#xA;- Model Storage (client and server-side)&#xA;- Access Control&#xA;- Model Migration"
+          screenshot="images/emfstore-screenshot-320x240.png"
+          url="http://emfstore.org"/>
+      <id>org.eclipse.emf.emfstore.sdk.feature</id>
     </components>
-    <components name="Teneo" provider="Eclipse.org" description="Teneo is a Model-Relational mapping and runtime database persistence solution for the Eclipse Modeling Framework (EMF) using Hibernate and EclipseLink." license="EPL">
+    <components
+        name="Teneo"
+        provider="Eclipse.org"
+        description="Teneo is a Model-Relational mapping and runtime database persistence solution for the Eclipse Modeling Framework (EMF) using Hibernate and EclipseLink."
+        license="EPL">
       <sitesURLS>http://download.eclipse.org/releases/luna/</sitesURLS>
-      <overview summary="The EMF &#x2013; Hibernate integration supports all EMF features and standard EclipseLink and Hibernate features. EMF objects can be persisted in most major relational databases and retrieved using an EMF resource approach or HQL/JPA queries. A distinctive feature of Teneo is that you can override/extend the Model-Relational mapping using JPA annotations in the model." screenshot="images/teneo-screenshot-320x240.png" url="http://wiki.eclipse.org/Teneo"/>
+      <overview
+          summary="The EMF &#x2013; Hibernate integration supports all EMF features and standard EclipseLink and Hibernate features. EMF objects can be persisted in most major relational databases and retrieved using an EMF resource approach or HQL/JPA queries. A distinctive feature of Teneo is that you can override/extend the Model-Relational mapping using JPA annotations in the model."
+          screenshot="images/teneo-screenshot-320x240.png"
+          url="http://wiki.eclipse.org/Teneo"/>
       <id>org.eclipse.emf.teneo.hibernate</id>
       <id>org.eclipse.emf.teneo.eclipselink</id>
     </components>
-    <components name="OCL Tools" provider="Eclipse.org" description="An evaluation Console for OCL expressions, and Xtext Editors for Complete OCL documents, Combined OCL in Ecore Models and for individual OCL expressions" license="EPL" image32="images/ocl.png">
+    <components
+        name="OCL Tools"
+        provider="Eclipse.org"
+        description="An evaluation Console for OCL expressions, and Xtext Editors for Complete OCL documents, Combined OCL in Ecore Models and for individual OCL expressions"
+        license="EPL"
+        image32="images/ocl.png">
       <sitesURLS>http://download.eclipse.org/releases/luna/</sitesURLS>
-      <overview summary="The Examples for the Object Constraint Language provide&#xA;&#xA;Xtext Editors for&#xA;- CompleteOCL documents to enhance Ecore or UML models&#xA;- OCL in Ecore documents defining OCL and Ecore at once&#xA;- Individual Expressions for use by other tools&#xA;- the OCL Standard Library" screenshot="images/ocl-screenshot-320x240.png" url="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.mdt.ocl"/>
+      <overview
+          summary="The Examples for the Object Constraint Language provide&#xA;&#xA;Xtext Editors for&#xA;- CompleteOCL documents to enhance Ecore or UML models&#xA;- OCL in Ecore documents defining OCL and Ecore at once&#xA;- Individual Expressions for use by other tools&#xA;- the OCL Standard Library"
+          screenshot="images/ocl-screenshot-320x240.png"
+          url="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.mdt.ocl"/>
       <id>org.eclipse.ocl.examples</id>
     </components>
   </categories>
