(The implementation can be found in folder "\implementation\GeneratorProject\src",
the profile implementation in "EAProfile" folder, sample models in "EAModels" folder.)


In our implementation we use the following technologies:

1. Acceleo 2.7.0 (with Eclipse Galileo, see Acceleo homepage for compatibility issues); 
   The bundle version can be downloaded from http://www.acceleo.org/pages/download-acceleo-2-7-0/en

2. We used eclipse XLST Project to execute our XSL Transformations, http://wiki.eclipse.org/XSLT_Project 

3. Models were created using Enterprise Architect 7.1. (There can be compatibility issues with Acceleo XMI bridge with other versions.)


How to use
-----------

We provide an Eclipse workspace (the "implementation" folder is actually an eclipse workspace), with the implementation and examples. 

A. To try the examples, simple use the Acceleo chains ("*.chain" files) to launch the code generation. 
   We prepared a generation chain for each example. 

   We prepaired 4 examples:

	1. Marshworld - model of the Movement capability and Production agent from Marshworld example. (Example of capability include)

	2. CleanerWorl - model of single Cleanerworld agent with deliberations.	 (Example of complex mental realtions)
	
	3. Benchmark - model of the Benchmark agent from Puzzle example (Example of configuration modeling)
	
	4. Full - this is a test model, that is used to model all elements and relations defined in mapping section.
	
Corresponding models can be found in "\EASamples" folder.

(Example 1,2,3 are models of agents provided in jadex examples. The source files of Jadex examples can be 
 downloaded from http://vsis-www.informatik.uni-hamburg.de/projects/jadex/download.php)

Every example is in its own folder. In every folder there are 3 XMI source files: the exported XMI file Enterprise Architect ([name].xmi),
	the transformed XMI ([name]Repaired.xmi), the result XMI that is converted by Acceleo bridge ([name]Repaired.uml14).


B. If you want to generate source code from own models:

	1. Export the required Package from your model to XMI 1.2 file (UML 1.4 metamodel).
	   The diagrams should not be exported.
	
	2. Copy the file to the workspace.
	
	3. Run the XSL Transformation for transforming XMI to the proper format that uses required multiplicity representation.
	   (In case you are using XLST Project and after the transformation there is no result file created,
	    simply copy-paste the result from the window)

	4. Convert the repaired XMI file to Acceleo format.
	
	5. Use the templates to generate source code from result XMI 
	   (a generation chain can be created, see Acceleo User Tutorial section 5.3, http://www.acceleo.org/pages/introduction/en)


