---------------------------------------------------------------			
If you have any questions and/or comments about this tool, 
please use the MoDisco newsgroup:

	news://news.eclipse.org/eclipse.modeling.gmt.modisco

---------------------------------------------------------------	

---------------
Prerequisites:
---------------
1) Install Eclipse with EMF + the ATL and AM3 plugins:

	--> To install ATL, follow the instructions of the "installation of ADT from source" Eclipse Wiki page 
		which is available from http://wiki.eclipse.org/index.php/ATL/How_Install_ATL_From_CVS/
	
	--> To install AM3, simply follow the same process (except that the repository path is "/cvsroot/technology"). 
		You just have to select the "org.eclipse.gmt/AM3" folder and to checkout the following plugins: 
			* org.eclipse.am3.core
    		* org.eclipse.am3.tools.tge
    		* org.eclipse.am3.ui
    		* org.eclipse.gmt.am3.dsls.km3
    		* org.eclipse.gmt.am3.tools.ant
    		
2) Import the "org.eclipse.gmt.modisco.tool.metricsvisualizationbuilder" project into your development workspace:

	--> see the README.TXT file from the "org.eclipse.gmt.modisco.tool.metricsvisualizationbuilder" project
		Download the project from: http://www.eclipse.org/gmt/modisco/toolBox/MetricsVisualizationBuilder/

2) Import the "org.eclipse.gmt.modisco.usecase.bugzillametrics" project into your development workspace:

	--> Right-click anywhere on the "Navigator" view and choose "Import...", the "Import" 
		wizard is now opened.
	
	--> Select "General/Existing Projects into Workspace" and click on "Next" button.
	
	--> Click on "Select archive file" and "Browse..." to open the 
		"org.eclipse.gmt.modisco.usecase.bugzillametrics-incubation.zip" archive file.
		
	--> Check that the "org.eclipse.gmt.modisco.usecase.bugzillametrics" project is selected and
		click on the "Finish" button.
		
	--> The "org.eclipse.gmt.modisco.usecase.bugzillametrics" project is now opened into your
		development workspace. 
	

-----------------------------------------
This project contains different folders:
-----------------------------------------

	--> "Input":			The input XML file has been automatically generated using the XML export 
							facility provided by the Eclipse Bugzilla.
							See: https://bugs.eclipse.org/bugs/query.cgi
							
	--> "Metamodels":		The metamodels, used within this use case, expressed in two different formats 
							(the KM3 language and the Ecore XMI format).
							
	--> "Outputs":			The sub-folders contain the generated intermediate models (you can delete these 
							models for regenerating them, but you CANNOT delete the sub-folders).
							The final output files are stored in the root (you can delete these files for 
							regenerating them).
							
	--> "Transformations:	The ATL transformations developped in order to implement the different steps 
							of the use case.

The different ANT scripts (i.e. build-XXX.xml files with their build-XXX.xml.launch configuration files), which 
allow executing the different steps of the use case, are stored in the root of the project.


---------------------------------------------------------------------
The use case has to be performed by executing the following actions:
---------------------------------------------------------------------

The complete execution of the use case requires the "ATL" perspective and the "AM3 Resource Navigator" view 
to be opened. The "AM3 Resource Navigator" view should be used instead of the standard "Navigator" view.

	1) 	Right-click on the "build-Discovery-Bugzilla.xml" file and "Run As" -> "Ant Build"
	
	2) 	Right-click on the "build-Understanding-Metrics.xml" file and "Run As" -> "Ant Build"
		 
	3) 	Right-click on the "build-Understanding-VisualizationsOfMetrics.xml" file and "Run As" -> "Ant Build"
							
IMPORTANT NOTE: It is possible to change the metrics which are generated by only modifying the 
				"Transformations/Bugzilla2Metrics.atl" ATL transformation...
				