Updated Models

Change-Id: I99c3bf715ac8bbfc7e04b7579309542b995aac1f
diff --git a/backup30Jan2021/efbt_data_definition.html b/backup30Jan2021/efbt_data_definition.html
index 3883238..818ac33 100644
--- a/backup30Jan2021/efbt_data_definition.html
+++ b/backup30Jan2021/efbt_data_definition.html
@@ -1,5 +1,5 @@
-<!-- This file was created using the HTML documentation generator. -->
-<!-- Creation date: Mon Sep 21 17:11:14 BST 2020-->
+<!-- This file was created using the HTML documentation generator. -->

+<!-- Creation date: Mon Sep 21 17:11:14 BST 2020-->

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

 <html xmlns="http://www.w3.org/1999/xhtml">

 	<head>

@@ -150,7 +150,7 @@
 <div class="label">Cardinality: [0..*]</div>

 <div class="label">Containment</div>

 </td> 

-<td> <p>The list of Combination items</p>
+<td> <p>The list of Combination items</p>

 </td>

 		</tr><tr>	<td><div id="efbtdatadefinitionCombinationModule.combinations" class="teletype">combinations</div>

 	</td>

@@ -158,7 +158,7 @@
 <div class="label">Cardinality: [0..*]</div>

 <div class="label">Containment</div>

 </td> 

-<td> <p>The list of Combinations</p>
+<td> <p>The list of Combinations</p>

 </td>

 		</tr><tr>	<td><div id="efbtdatadefinitionCombinationModule.cubeToCombinationLinks" class="teletype">cubeToCombinationLinks</div>

 	</td>

@@ -166,7 +166,7 @@
 <div class="label">Cardinality: [0..*]</div>

 <div class="label">Containment</div>

 </td> 

-<td> <p>The list of CUBE<em>TO</em>COMBINATIONs providing links between the cubes and combinations</p>
+<td> <p>The list of CUBE<em>TO</em>COMBINATIONs providing links between the cubes and combinations</p>

 </td>

 		</tr></table>

 <a href="#efbt_data_definition.CombinationModule.ref"></a>

@@ -188,7 +188,7 @@
 <div class="label">Cardinality: [0..*]</div>

 <div class="label">Containment</div>

 </td> 

-<td> <p>The list of CUBE<em>STRUCTURE</em>ITEMs</p>
+<td> <p>The list of CUBE<em>STRUCTURE</em>ITEMs</p>

 </td>

 		</tr><tr>	<td><div id="efbtdatadefinitionCubeModule.cubeStructures" class="teletype">cubeStructures</div>

 	</td>

@@ -196,7 +196,7 @@
 <div class="label">Cardinality: [0..*]</div>

 <div class="label">Containment</div>

 </td> 

-<td> <p>The list of CUBE_STRUCTURES</p>
+<td> <p>The list of CUBE_STRUCTURES</p>

 </td>

 		</tr><tr>	<td><div id="efbtdatadefinitionCubeModule.cubes" class="teletype">cubes</div>

 	</td>

@@ -204,7 +204,7 @@
 <div class="label">Cardinality: [0..*]</div>

 <div class="label">Containment</div>

 </td> 

-<td> <p>The list of CUBEs</p>
+<td> <p>The list of CUBEs</p>

 </td>

 		</tr></table>

 <a href="#efbt_data_definition.CubeModule.ref"></a>

@@ -226,7 +226,7 @@
 <div class="label">Cardinality: [0..*]</div>

 <div class="label">Containment</div>

 </td> 

-<td> <p>The set of domains contained in the Module</p>
+<td> <p>The set of domains contained in the Module</p>

 </td>

 		</tr></table>

 <a href="#efbt_data_definition.DomainModule.ref"></a>

@@ -248,7 +248,7 @@
 <div class="label">Cardinality: [0..*]</div>

 <div class="label">Containment</div>

 </td> 

-<td> <p>The set of MemberHierarchies contained in the Module</p>
+<td> <p>The set of MemberHierarchies contained in the Module</p>

 </td>

 		</tr><tr>	<td><div id="efbtdatadefinitionMemberHierarchyModule.memberHierarchiesNodes" class="teletype">memberHierarchiesNodes</div>

 	</td>

@@ -256,7 +256,7 @@
 <div class="label">Cardinality: [0..*]</div>

 <div class="label">Containment</div>

 </td> 

-<td> <p>The set of MemberHierarchiesNodes contained in the Module</p>
+<td> <p>The set of MemberHierarchiesNodes contained in the Module</p>

 </td>

 		</tr></table>

 <a href="#efbt_data_definition.MemberHierarchyModule.ref"></a>

@@ -278,7 +278,7 @@
 <div class="label">Cardinality: [0..*]</div>

 <div class="label">Containment</div>

 </td> 

-<td> <p>The set of Members contained in the Module</p>
+<td> <p>The set of Members contained in the Module</p>

 </td>

 		</tr></table>

 <a href="#efbt_data_definition.MemberModule.ref"></a>

@@ -300,7 +300,7 @@
 <div class="label">Cardinality: [0..*]</div>

 <div class="label">Containment</div>

 </td> 

-<td> <p>The set of Variables  contained in the Module</p>
+<td> <p>The set of Variables  contained in the Module</p>

 </td>

 		</tr></table>

 <a href="#efbt_data_definition.VariableModule.ref"></a>

diff --git a/backup30Jan2021/requirements_text.html b/backup30Jan2021/requirements_text.html
index a50ce6d..8b64c5e 100644
--- a/backup30Jan2021/requirements_text.html
+++ b/backup30Jan2021/requirements_text.html
@@ -1,5 +1,5 @@
-<!-- This file was created using the HTML documentation generator. -->
-<!-- Creation date: Sun Nov 01 10:45:30 GMT 2020-->
+<!-- This file was created using the HTML documentation generator. -->

+<!-- Creation date: Sun Nov 01 10:45:30 GMT 2020-->

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

 <html xmlns="http://www.w3.org/1999/xhtml">

 	<head>

@@ -150,7 +150,7 @@
 <div class="label">Cardinality: [0..*]</div>

 <div class="label">Containment</div>

 </td> 

-<td> <p>A set of Allowed types, like article, chapter, rulebook</p>
+<td> <p>A set of Allowed types, like article, chapter, rulebook</p>

 </td>

 		</tr></table>

 <a href="#requirements_text.AllowedTypes.ref"></a>

@@ -171,7 +171,7 @@
 	<td><div class="keyValue"><span class="label">T: </span><span class="teletype">EString</span></div>

 <div class="label">Cardinality: [1..1]</div>

 <div class="label">Identifier</div>

- </td> <td><p>the name of the requirement type</p>
+ </td> <td><p>the name of the requirement type</p>

 </td>

 		</tr></table>

 <a href="#requirements_text.RequirementType.attr"></a>

@@ -193,7 +193,7 @@
 <div class="label">Cardinality: [0..1]</div>

 <div class="label">Containment</div>

 </td> 

-<td> <p>a set of Allowed types, like article, chapter, rulebook</p>
+<td> <p>a set of Allowed types, like article, chapter, rulebook</p>

 </td>

 		</tr><tr>	<td><div id="requirementstextRequirementsModule.rules" class="teletype">rules</div>

 	</td>

@@ -201,7 +201,7 @@
 <div class="label">Cardinality: [0..*]</div>

 <div class="label">Containment</div>

 </td> 

-<td> <p>A set of top level titled requirement sections</p>
+<td> <p>A set of top level titled requirement sections</p>

 </td>

 		</tr></table>

 <a href="#requirements_text.RequirementsModule.ref"></a>

@@ -222,7 +222,7 @@
 	<td><div class="keyValue"><span class="label">T: </span><span class="teletype">EString</span></div>

 <div class="label">Cardinality: [0..1]</div>

 <div class="label">Identifier</div>

- </td> <td><p>The name of the requirements Section</p>
+ </td> <td><p>The name of the requirements Section</p>

 </td>

 		</tr></table>

 <a href="#requirements_text.RequirementsSection.attr"></a>

@@ -242,13 +242,13 @@
 	</td>

 	<td><div class="keyValue"><span class="label">T: </span><span class="teletype">EString</span></div>

 <div class="label">Cardinality: [0..1]</div>

- </td> <td><p>the style string including width and height</p>
+ </td> <td><p>the style string including width and height</p>

 </td>

 		</tr><tr>	<td><div id="requirementstextRequirementsSectionImage.uri" class="teletype">uri</div>

 	</td>

 	<td><div class="keyValue"><span class="label">T: </span><span class="teletype">EString</span></div>

 <div class="label">Cardinality: [0..1]</div>

- </td> <td><p>the location of the image file</p>
+ </td> <td><p>the location of the image file</p>

 </td>

 		</tr></table>

 <a href="#requirements_text.RequirementsSectionImage.attr"></a>

@@ -270,13 +270,13 @@
 	</td>

 	<td><div class="keyValue"><span class="label">T: </span><span class="teletype">EString</span></div>

 <div class="label">Cardinality: [0..1]</div>

- </td> <td><p>The text that refers to the linked RequirementsSection, like &quot;Article 321&quot; </p>
+ </td> <td><p>The text that refers to the linked RequirementsSection, like &quot;Article 321&quot; </p>

 </td>

 		</tr><tr>	<td><div id="requirementstextRequirementsSectionLinkWithText.subsection" class="teletype">subsection</div>

 	</td>

 	<td><div class="keyValue"><span class="label">T: </span><span class="teletype">EString</span></div>

 <div class="label">Cardinality: [0..1]</div>

- </td> <td><p>Other Text</p>
+ </td> <td><p>Other Text</p>

 </td>

 		</tr></table>

 <a href="#requirements_text.RequirementsSectionLinkWithText.attr"></a>

@@ -295,7 +295,7 @@
 <div class="label">Cardinality: [0..1]</div>

 <div class="keyValue"><span class="label">Op: </span><span class="teletype">referencingSections</span></div>

 </td> 

-<td> <p>The linked  titled requirements section</p>
+<td> <p>The linked  titled requirements section</p>

 </td>

 		</tr></table>

 <a href="#requirements_text.RequirementsSectionLinkWithText.ref"></a>

@@ -315,7 +315,7 @@
 	</td>

 	<td><div class="keyValue"><span class="label">T: </span><span class="teletype">EString</span></div>

 <div class="label">Cardinality: [0..1]</div>

- </td> <td><p>The text</p>
+ </td> <td><p>The text</p>

 </td>

 		</tr></table>

 <a href="#requirements_text.RequirementsSectionText.attr"></a>

@@ -336,13 +336,13 @@
 	<td><div class="keyValue"><span class="label">T: </span><span class="teletype">EString</span></div>

 <div class="label">Cardinality: [0..1]</div>

 <div class="label">Identifier</div>

- </td> <td><p>the tags display name.</p>
+ </td> <td><p>the tags display name.</p>

 </td>

 		</tr><tr>	<td><div id="requirementstextTag.name" class="teletype">name</div>

 	</td>

 	<td><div class="keyValue"><span class="label">T: </span><span class="teletype">EString</span></div>

 <div class="label">Cardinality: [0..1]</div>

- </td> <td><p>the tags name, which is also its unique id</p>
+ </td> <td><p>the tags name, which is also its unique id</p>

 </td>

 		</tr></table>

 <a href="#requirements_text.Tag.attr"></a>

@@ -360,7 +360,7 @@
 	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#requirementstextTitledRequirementsSection">TitledRequirementsSection</a></span></div>

 <div class="label">Cardinality: [0..*]</div>

 </td> 

-<td> <p>the tags name, which is also its unique id</p>
+<td> <p>the tags name, which is also its unique id</p>

 </td>

 		</tr></table>

 <a href="#requirements_text.Tag.ref"></a>

@@ -382,7 +382,7 @@
 <div class="label">Cardinality: [0..*]</div>

 <div class="label">Containment</div>

 </td> 

-<td> <p>the tags</p>
+<td> <p>the tags</p>

 </td>

 		</tr></table>

 <a href="#requirements_text.TagGroup.ref"></a>

@@ -403,7 +403,7 @@
 	</td>

 	<td><div class="keyValue"><span class="label">T: </span><span class="teletype">EString</span></div>

 <div class="label">Cardinality: [0..1]</div>

- </td> <td><p>the title of the requirements section</p>
+ </td> <td><p>the title of the requirements section</p>

 </td>

 		</tr></table>

 <a href="#requirements_text.TitledRequirementsSection.attr"></a>

@@ -422,14 +422,14 @@
 <div class="label">Cardinality: [0..1]</div>

 <div class="keyValue"><span class="label">Op: </span><span class="teletype">linkedRuleSection</span></div>

 </td> 

-<td> <p>other requirement sections that link to this one (Optional)</p>
+<td> <p>other requirement sections that link to this one (Optional)</p>

 </td>

 		</tr><tr>	<td><div id="requirementstextTitledRequirementsSection.requirementsType" class="teletype">requirementsType</div>

 	</td>

 	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#requirementstextRequirementType">RequirementType</a></span></div>

 <div class="label">Cardinality: [1..1]</div>

 </td> 

-<td> <p>The type, from allowed types, such as Article, Chapter,Rulebook etc</p>
+<td> <p>The type, from allowed types, such as Article, Chapter,Rulebook etc</p>

 </td>

 		</tr><tr>	<td><div id="requirementstextTitledRequirementsSection.sections" class="teletype">sections</div>

 	</td>

@@ -437,7 +437,7 @@
 <div class="label">Cardinality: [0..*]</div>

 <div class="label">Containment</div>

 </td> 

-<td> <p>The sections contained in the titled section</p>
+<td> <p>The sections contained in the titled section</p>

 </td>

 		</tr></table>

 <a href="#requirements_text.TitledRequirementsSection.ref"></a>

diff --git a/base_column_structured_data.html b/base_column_structured_data.html
index 655dcb4..98f1ab9 100644
--- a/base_column_structured_data.html
+++ b/base_column_structured_data.html
@@ -1,9 +1,9 @@
-<!-- This file was created using the HTML documentation generator. -->
-<!-- Creation date: Sun Nov 01 10:48:58 GMT 2020-->
+<!-- This file was created using the HTML documentation generator. -->

+<!-- Creation date: Sun Nov 01 10:48:58 GMT 2020-->

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

 <html xmlns="http://www.w3.org/1999/xhtml">

 	<head>

-      	<title>Metamodel Documentation (platform:/resource/org.eclipse.efbt.cocamo.smcubes.model.input_data/model/base_column_structured_data.ecore)</title>

+      	<title>Metamodel Documentation (platform:/resource/org.eclipse.efbt.cocalimo.smcubes.model.input_data/model/base_column_structured_data.ecore)</title>

     	<script type="text/javascript">

 //<![CDATA[				    	

 // TOC script based on code taken from http://www.quirksmode.org/dom/toc.html

@@ -152,7 +152,7 @@
 	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#coreMEMBER">MEMBER</a></span></div>

 <div class="label">Cardinality: [0..1]</div>

 </td> 

-<td> <p>The member</p>
+<td> <p>The member</p>

 </td>

 		</tr></table>

 <a href="#base_column_structured_data.BaseCellWithEnumeratedValue.ref"></a>

@@ -172,7 +172,7 @@
 	</td>

 	<td><div class="keyValue"><span class="label">T: </span><span class="teletype">EString</span></div>

 <div class="label">Cardinality: [0..1]</div>

- </td> <td><p>The value of the cell represented as a String</p>
+ </td> <td><p>The value of the cell represented as a String</p>

 </td>

 		</tr></table>

 <a href="#base_column_structured_data.BaseCellWithValue.attr"></a>

@@ -193,7 +193,7 @@
 	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#datadefinitionCUBE">CUBE</a></span></div>

 <div class="label">Cardinality: [0..1]</div>

 </td> 

-<td> <p>The cube with which the data is associated</p>
+<td> <p>The cube with which the data is associated</p>

 </td>

 		</tr><tr>	<td><div id="basecolumnstructureddataBaseColumnStructuredData.rows" class="teletype">rows</div>

 	</td>

@@ -201,7 +201,7 @@
 <div class="label">Cardinality: [0..*]</div>

 <div class="label">Containment</div>

 </td> 

-<td> <p>The rows which make up the table data</p>
+<td> <p>The rows which make up the table data</p>

 </td>

 		</tr></table>

 <a href="#base_column_structured_data.BaseColumnStructuredData.ref"></a>

@@ -223,7 +223,7 @@
 <div class="label">Cardinality: [0..*]</div>

 <div class="label">Containment</div>

 </td> 

-<td> <p>The cells containing the data associated with the BaseRows</p>
+<td> <p>The cells containing the data associated with the BaseRows</p>

 </td>

 		</tr></table>

 <a href="#base_column_structured_data.BaseRowData.ref"></a>

@@ -242,7 +242,7 @@
 	</td>

 	<td><div class="keyValue"><span class="label">T: </span><span class="teletype">EString</span></div>

 <div class="label">Cardinality: [0..1]</div>

- </td> <td><p>The name associated with the input data.</p>
+ </td> <td><p>The name associated with the input data.</p>

 </td>

 		</tr></table>

 <a href="#base_column_structured_data.InputData.attr"></a>

@@ -262,7 +262,7 @@
 <div class="label">Unordered</div>

 <div class="label">Containment</div>

 </td> 

-<td> <p>The set of pupulated BaseCubes that represent the input data.</p>
+<td> <p>The set of pupulated BaseCubes that represent the input data.</p>

 </td>

 		</tr></table>

 <a href="#base_column_structured_data.InputData.ref"></a>

@@ -284,7 +284,7 @@
 <div class="label">Cardinality: [0..*]</div>

 <div class="label">Containment</div>

 </td> 

-<td> <p>The input data that makes up the module</p>
+<td> <p>The input data that makes up the module</p>

 </td>

 		</tr></table>

 <a href="#base_column_structured_data.InputDataModule.ref"></a>

diff --git a/cocamo.html b/cocamo.html
index 961c946..6ed3f2a 100644
--- a/cocamo.html
+++ b/cocamo.html
@@ -1,9 +1,9 @@
 <!-- This file was created using the HTML documentation generator. -->
-<!-- Creation date: Sun Nov 01 10:49:41 GMT 2020-->
+<!-- Creation date: Mon Apr 05 13:43:24 BST 2021-->
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

 <html xmlns="http://www.w3.org/1999/xhtml">

 	<head>

-      	<title>Metamodel Documentation (platform:/resource/org.eclipse.efbt.cocamo.smcubes.model.program/model/cocamo.ecore)</title>

+      	<title>Metamodel Documentation (platform:/resource/org.eclipse.efbt.cocalimo.smcubes.model.program/model/cocamo.ecore)</title>

     	<script type="text/javascript">

 //<![CDATA[				    	

 // TOC script based on code taken from http://www.quirksmode.org/dom/toc.html

@@ -133,10 +133,10 @@
 <div class="">EPackage properties:</div>

 <div class="keyValue"><span class="label">Namespace Prefix: </span><span class="teletype">cocamo</span></div>

 <div class="keyValue"><span class="label">Namespace URI: </span><span class="teletype">http://www.eclipse.org/efbt/cocamo</span></div>

-<h2 id="cocamoProgram"><a href="#cocamoProgram"><a href="#cocamoProgram">Program</a></a></h2>

+<h2 id="cocamoSMCubesBDDTest"><a href="#cocamoSMCubesBDDTest"><a href="#cocamoSMCubesBDDTest">SMCubesBDDTest</a></a></h2>

 

-<p>A program relates to the group of artifacts, and we allow the contents of  Programs to reference other programs.</p>

-<table>

+<p>A test specific to the SMCubes methodolgy of describing Input Data structures and Output DataStructures (As cubes of typically COMBINATIONS representing report cells)</p>

+<h4><b>Supertype:</b><a href="#testBDDTest">BDDTest</a></h4><table>

 <tr>

 	<th colspan="3"><div class="tableHeader">References</div></th>

 </tr>

@@ -145,64 +145,93 @@
 	<th><div class="columnHeader">Properties</div></th>

 	<th><div class="columnHeader">Documentation</div></th>

 </tr>

-<tr>	<td><div id="cocamoProgram.functionalityModules" class="teletype">functionalityModules</div>

+<tr>	<td><div id="cocamoSMCubesBDDTest.expectedResults" class="teletype">expectedResults</div>

 	</td>

-	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#functionalitymoduleFunctionalityModuleModule">FunctionalityModuleModule</a></span></div>

+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#cocamoSMCubesReportResults">SMCubesReportResults</a></span></div>

 <div class="label">Cardinality: [0..1]</div>

-<div class="label">Containment</div>

 </td> 

-<td> <p>The FunctionaltyModules associated with the program, these will be refrence by FunctionalityModules</p>
+<td> <p>The expected results</p>
 </td>

-		</tr><tr>	<td><div id="cocamoProgram.requirements" class="teletype">requirements</div>

+		</tr><tr>	<td><div id="cocamoSMCubesBDDTest.inputData" class="teletype">inputData</div>

 	</td>

-	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#requirementstextRequirementsModule">RequirementsModule</a></span></div>

+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#cocamoSMCubesTestInputData">SMCubesTestInputData</a></span></div>

 <div class="label">Cardinality: [0..1]</div>

 <div class="label">Containment</div>

 </td> 

-<td> <p>The requirements associated with the program, these will be refrence by FunctionalityModules</p>
-</td>

-		</tr><tr>	<td><div id="cocamoProgram.smCubesModel" class="teletype">smCubesModel</div>

-	</td>

-	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#smcubesmodelSmcubesModel">SmcubesModel</a></span></div>

-<div class="label">Cardinality: [0..1]</div>

-<div class="label">Containment</div>

-</td> 

-<td> <p>The SMCubes Model associated with the Program</p>
-</td>

-		</tr><tr>	<td><div id="cocamoProgram.testConstriants" class="teletype">testConstriants</div>

-	</td>

-	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#testdefinitionTestContraints">TestContraints</a></span></div>

-<div class="label">Cardinality: [0..1]</div>

-<div class="label">Containment</div>

-</td> 

-<td> <p>The TestConstraints associated with the program, these will be refrence by FunctionalityModules</p>
-</td>

-		</tr><tr>	<td><div id="cocamoProgram.testDefinitions" class="teletype">testDefinitions</div>

-	</td>

-	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#testdefinitionTestDefinitionModule">TestDefinitionModule</a></span></div>

-<div class="label">Cardinality: [0..1]</div>

-<div class="label">Containment</div>

-</td> 

-<td> <p>The TestDefinitions associated with the program, these will be refrence by FunctionalityModules</p>
-</td>

-		</tr><tr>	<td><div id="cocamoProgram.testTemplates" class="teletype">testTemplates</div>

-	</td>

-	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#testdefinitionTestTemplateModule">TestTemplateModule</a></span></div>

-<div class="label">Cardinality: [0..1]</div>

-<div class="label">Containment</div>

-</td> 

-<td> <p>The TestTemplates associated with the program, these will be refrence by FunctionalityModules</p>
-</td>

-		</tr><tr>	<td><div id="cocamoProgram.tests" class="teletype">tests</div>

-	</td>

-	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#cocamoSMCubesTestModule">SMCubesTestModule</a></span></div>

-<div class="label">Cardinality: [0..1]</div>

-<div class="label">Containment</div>

-</td> 

-<td> <p>The Tests associated with the program, these will be refrence by FunctionalityModules</p>
+<td> <p>The input data</p>
 </td>

 		</tr></table>

-<a href="#cocamo.Program.ref"></a>

+<a href="#cocamo.SMCubesBDDTest.ref"></a>

+<h2 id="cocamoSMCubesBDDTestModule"><a href="#cocamoSMCubesBDDTestModule"><a href="#cocamoSMCubesBDDTestModule">SMCubesBDDTestModule</a></a></h2>

+

+<p>A module containing a set of SMCubesTests</p>

+<h4><b>Supertype:</b><a href="#testTestModule">TestModule</a></h4><table>

+<tr>

+	<th colspan="3"><div class="tableHeader">References</div></th>

+</tr>

+<tr>

+	<th><div class="columnHeader">Name</div></th>

+	<th><div class="columnHeader">Properties</div></th>

+	<th><div class="columnHeader">Documentation</div></th>

+</tr>

+<tr>	<td><div id="cocamoSMCubesBDDTestModule.tests" class="teletype">tests</div>

+	</td>

+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#cocamoSMCubesBDDTest">SMCubesBDDTest</a></span></div>

+<div class="label">Cardinality: [0..*]</div>

+<div class="label">Containment</div>

+</td> 

+<td> <p>The tests</p>
+</td>

+		</tr></table>

+<a href="#cocamo.SMCubesBDDTestModule.ref"></a>

+<h2 id="cocamoSMCubesRegFunctionalityTest"><a href="#cocamoSMCubesRegFunctionalityTest"><a href="#cocamoSMCubesRegFunctionalityTest">SMCubesRegFunctionalityTest</a></a></h2>

+

+<h4><b>Supertype:</b><a href="#testRegFunctionalityTest">RegFunctionalityTest</a></h4><table>

+<tr>

+	<th colspan="3"><div class="tableHeader">References</div></th>

+</tr>

+<tr>

+	<th><div class="columnHeader">Name</div></th>

+	<th><div class="columnHeader">Properties</div></th>

+	<th><div class="columnHeader">Documentation</div></th>

+</tr>

+<tr>	<td><div id="cocamoSMCubesRegFunctionalityTest.expectedResults" class="teletype">expectedResults</div>

+	</td>

+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#cocamoSMCubesReportResults">SMCubesReportResults</a></span></div>

+<div class="label">Cardinality: [0..1]</div>

+</td> 

+<td> <p>The expected results</p>
+</td>

+		</tr><tr>	<td><div id="cocamoSMCubesRegFunctionalityTest.inputData" class="teletype">inputData</div>

+	</td>

+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#cocamoSMCubesTestInputData">SMCubesTestInputData</a></span></div>

+<div class="label">Cardinality: [0..1]</div>

+<div class="label">Containment</div>

+</td> 

+<td> <p>The input data</p>
+</td>

+		</tr></table>

+<a href="#cocamo.SMCubesRegFunctionalityTest.ref"></a>

+<h2 id="cocamoSMCubesRegFunctionalityTestModule"><a href="#cocamoSMCubesRegFunctionalityTestModule"><a href="#cocamoSMCubesRegFunctionalityTestModule">SMCubesRegFunctionalityTestModule</a></a></h2>

+

+<h4><b>Supertype:</b><a href="#testTestModule">TestModule</a></h4><table>

+<tr>

+	<th colspan="3"><div class="tableHeader">References</div></th>

+</tr>

+<tr>

+	<th><div class="columnHeader">Name</div></th>

+	<th><div class="columnHeader">Properties</div></th>

+	<th><div class="columnHeader">Documentation</div></th>

+</tr>

+<tr>	<td><div id="cocamoSMCubesRegFunctionalityTestModule.regFunctionalityTests" class="teletype">regFunctionalityTests</div>

+	</td>

+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#cocamoSMCubesRegFunctionalityTest">SMCubesRegFunctionalityTest</a></span></div>

+<div class="label">Cardinality: [0..*]</div>

+<div class="label">Containment</div>

+</td> 

+<td> </td>

+		</tr></table>

+<a href="#cocamo.SMCubesRegFunctionalityTestModule.ref"></a>

 <h2 id="cocamoSMCubesReportResults"><a href="#cocamoSMCubesReportResults"><a href="#cocamoSMCubesReportResults">SMCubesReportResults</a></a></h2>

 

 <p>Expected results which follwo the way that SMCubes represents Report Celss (As COMBINATIONs)</p>

@@ -225,10 +254,10 @@
 </td>

 		</tr></table>

 <a href="#cocamo.SMCubesReportResults.ref"></a>

-<h2 id="cocamoSMCubesTest"><a href="#cocamoSMCubesTest"><a href="#cocamoSMCubesTest">SMCubesTest</a></a></h2>

+<h2 id="cocamoSMCubesStaticModel"><a href="#cocamoSMCubesStaticModel"><a href="#cocamoSMCubesStaticModel">SMCubesStaticModel</a></a></h2>

 

-<p>A test specific to the SMCubes methodolgy of describing Input Data structures and Output DataStructures (As cubes of typically COMBINATIONS representing report cells)</p>

-<h4><b>Supertype:</b><a href="#testE2ETest">E2ETest</a></h4><table>

+<p>An SMCubesStaticModel  relates to the group of artifacts, and we allow the contents of  a SMCubesStaticModel  to reference other SMCubesStaticModels.</p>

+<h4><b>Supertype:</b><a href="#cocamoStaticModel">StaticModel</a></h4><table>

 <tr>

 	<th colspan="3"><div class="tableHeader">References</div></th>

 </tr>

@@ -237,23 +266,80 @@
 	<th><div class="columnHeader">Properties</div></th>

 	<th><div class="columnHeader">Documentation</div></th>

 </tr>

-<tr>	<td><div id="cocamoSMCubesTest.expectedResults" class="teletype">expectedResults</div>

+<tr>	<td><div id="cocamoSMCubesStaticModel.bddTestDefinitions" class="teletype">bddTestDefinitions</div>

 	</td>

-	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#cocamoSMCubesReportResults">SMCubesReportResults</a></span></div>

-<div class="label">Cardinality: [0..1]</div>

-</td> 

-<td> <p>The expected results</p>
-</td>

-		</tr><tr>	<td><div id="cocamoSMCubesTest.inputData" class="teletype">inputData</div>

-	</td>

-	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#cocamoSMCubesTestInputData">SMCubesTestInputData</a></span></div>

+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#testdefinitionBDDTestDefinitionModule">BDDTestDefinitionModule</a></span></div>

 <div class="label">Cardinality: [0..1]</div>

 <div class="label">Containment</div>

 </td> 

-<td> <p>The input data</p>
+<td> <p>The TestDefinitions associated with the program, these will be refrence by FunctionalityModules</p>
+</td>

+		</tr><tr>	<td><div id="cocamoSMCubesStaticModel.functionalityModules" class="teletype">functionalityModules</div>

+	</td>

+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#functionalitymoduleFunctionalityModuleModule">FunctionalityModuleModule</a></span></div>

+<div class="label">Cardinality: [0..1]</div>

+<div class="label">Containment</div>

+</td> 

+<td> <p>The FunctionaltyModules associated with the program, these will be refrence by FunctionalityModules</p>
+</td>

+		</tr><tr>	<td><div id="cocamoSMCubesStaticModel.regFunctionalityTestDefinitions" class="teletype">regFunctionalityTestDefinitions</div>

+	</td>

+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#testdefinitionRegFunctionalityTestDefinitionModule">RegFunctionalityTestDefinitionModule</a></span></div>

+<div class="label">Cardinality: [0..1]</div>

+<div class="label">Containment</div>

+</td> 

+<td> <p>The TestDefinitions associated with the program, these will be refrence by FunctionalityModules</p>
+</td>

+		</tr><tr>	<td><div id="cocamoSMCubesStaticModel.regFunctionalityTests" class="teletype">regFunctionalityTests</div>

+	</td>

+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#cocamoSMCubesRegFunctionalityTestModule">SMCubesRegFunctionalityTestModule</a></span></div>

+<div class="label">Cardinality: [0..1]</div>

+<div class="label">Containment</div>

+</td> 

+<td> <p>The Tests associated with the program, these will be refrence by FunctionalityModules</p>
+</td>

+		</tr><tr>	<td><div id="cocamoSMCubesStaticModel.requirements" class="teletype">requirements</div>

+	</td>

+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#requirementstextRequirementsModule">RequirementsModule</a></span></div>

+<div class="label">Cardinality: [0..1]</div>

+<div class="label">Containment</div>

+</td> 

+<td> <p>The requirements associated with the program, these will be refrence by FunctionalityModules</p>
+</td>

+		</tr><tr>	<td><div id="cocamoSMCubesStaticModel.smCubesModel" class="teletype">smCubesModel</div>

+	</td>

+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#smcubesmodelSmcubesModel">SmcubesModel</a></span></div>

+<div class="label">Cardinality: [0..1]</div>

+<div class="label">Containment</div>

+</td> 

+<td> <p>The SMCubes Model associated with the Program</p>
+</td>

+		</tr><tr>	<td><div id="cocamoSMCubesStaticModel.testConstriants" class="teletype">testConstriants</div>

+	</td>

+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#testdefinitionBDDTestContraints">BDDTestContraints</a></span></div>

+<div class="label">Cardinality: [0..1]</div>

+<div class="label">Containment</div>

+</td> 

+<td> <p>The TestConstraints associated with the program, these will be refrence by FunctionalityModules</p>
+</td>

+		</tr><tr>	<td><div id="cocamoSMCubesStaticModel.testTemplates" class="teletype">testTemplates</div>

+	</td>

+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#testdefinitionBDDTestTemplateModule">BDDTestTemplateModule</a></span></div>

+<div class="label">Cardinality: [0..1]</div>

+<div class="label">Containment</div>

+</td> 

+<td> <p>The TestTemplates associated with the program, these will be refrence by FunctionalityModules</p>
+</td>

+		</tr><tr>	<td><div id="cocamoSMCubesStaticModel.tests" class="teletype">tests</div>

+	</td>

+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#cocamoSMCubesBDDTestModule">SMCubesBDDTestModule</a></span></div>

+<div class="label">Cardinality: [0..1]</div>

+<div class="label">Containment</div>

+</td> 

+<td> <p>The Tests associated with the program, these will be refrence by FunctionalityModules</p>
 </td>

 		</tr></table>

-<a href="#cocamo.SMCubesTest.ref"></a>

+<a href="#cocamo.SMCubesStaticModel.ref"></a>

 <h2 id="cocamoSMCubesTestInputData"><a href="#cocamoSMCubesTestInputData"><a href="#cocamoSMCubesTestInputData">SMCubesTestInputData</a></a></h2>

 

 <p>InputData for that represents instances of SMCubesModels, they are set of rws of data meeting the cube structure of an associated cube</p>

@@ -276,27 +362,25 @@
 </td>

 		</tr></table>

 <a href="#cocamo.SMCubesTestInputData.ref"></a>

-<h2 id="cocamoSMCubesTestModule"><a href="#cocamoSMCubesTestModule"><a href="#cocamoSMCubesTestModule">SMCubesTestModule</a></a></h2>

+<h2 id="cocamoStaticModel"><a href="#cocamoStaticModel"><a href="#cocamoStaticModel">StaticModel</a></a></h2>

 

-<p>A module containing a set of SMCubesTests</p>

-<h4><b>Supertype:</b><a href="#testTestModule">TestModule</a></h4><table>

+<p>A StaticModel relates to the group of artifacts, and we allow the contents of  a StaticModel to reference other StaticModels.</p>

+<table>

 <tr>

-	<th colspan="3"><div class="tableHeader">References</div></th>

+	<th colspan="3"><div class="tableHeader">Attributes</div></th>

 </tr>

 <tr>

 	<th><div class="columnHeader">Name</div></th>

 	<th><div class="columnHeader">Properties</div></th>

 	<th><div class="columnHeader">Documentation</div></th>

 </tr>

-<tr>	<td><div id="cocamoSMCubesTestModule.tests" class="teletype">tests</div>

+<tr>	<td><div id="cocamoStaticModel.name" class="teletype">name</div>

 	</td>

-	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#cocamoSMCubesTest">SMCubesTest</a></span></div>

-<div class="label">Cardinality: [0..*]</div>

-<div class="label">Containment</div>

-</td> 

-<td> <p>The tests</p>
-</td>

+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype">EString</span></div>

+<div class="label">Cardinality: [0..1]</div>

+<div class="label">Identifier</div>

+ </td> <td></td>

 		</tr></table>

-<a href="#cocamo.SMCubesTestModule.ref"></a>

+<a href="#cocamo.StaticModel.attr"></a>

 </body>

 </html>

diff --git a/cocamo.jpg b/cocamo.jpg
index 4ebfb20..e7ffaee 100644
--- a/cocamo.jpg
+++ b/cocamo.jpg
Binary files differ
diff --git a/column_structured_data.html b/column_structured_data.html
index 8f4e3d6..b0b8343 100644
--- a/column_structured_data.html
+++ b/column_structured_data.html
@@ -1,9 +1,9 @@
-<!-- This file was created using the HTML documentation generator. -->
-<!-- Creation date: Sun Nov 01 10:49:02 GMT 2020-->
+<!-- This file was created using the HTML documentation generator. -->

+<!-- Creation date: Sun Nov 01 10:49:02 GMT 2020-->

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

 <html xmlns="http://www.w3.org/1999/xhtml">

 	<head>

-      	<title>Metamodel Documentation (platform:/resource/org.eclipse.efbt.cocamo.smcubes.model.input_data/model/column_structured_data.ecore)</title>

+      	<title>Metamodel Documentation (platform:/resource/org.eclipse.efbt.cocalimo.smcubes.model.input_data/model/column_structured_data.ecore)</title>

     	<script type="text/javascript">

 //<![CDATA[				    	

 // TOC script based on code taken from http://www.quirksmode.org/dom/toc.html

@@ -149,7 +149,7 @@
 	<td><div class="keyValue"><span class="label">T: </span><span class="teletype">EString</span></div>

 <div class="label">Cardinality: [0..1]</div>

 <div class="label">Identifier</div>

- </td> <td><p>The unique ID of a cell</p>
+ </td> <td><p>The unique ID of a cell</p>

 </td>

 		</tr></table>

 <a href="#column_structured_data.Cell.attr"></a>

@@ -167,7 +167,7 @@
 	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#coreVARIABLE">VARIABLE</a></span></div>

 <div class="label">Cardinality: [0..1]</div>

 </td> 

-<td> <p>The variable associated with the cell</p>
+<td> <p>The variable associated with the cell</p>

 </td>

 		</tr></table>

 <a href="#column_structured_data.Cell.ref"></a>

@@ -188,7 +188,7 @@
 	<td><div class="keyValue"><span class="label">T: </span><span class="teletype">EString</span></div>

 <div class="label">Cardinality: [0..1]</div>

 <div class="label">Identifier</div>

- </td> <td><p>The unique ID of the data</p>
+ </td> <td><p>The unique ID of the data</p>

 </td>

 		</tr></table>

 <a href="#column_structured_data.ColumnStructuredData.attr"></a>

@@ -210,7 +210,7 @@
 <div class="label">Cardinality: [0..*]</div>

 <div class="label">Containment</div>

 </td> 

-<td> <p>The set of ColumnStructuredData</p>
+<td> <p>The set of ColumnStructuredData</p>

 </td>

 		</tr></table>

 <a href="#column_structured_data.ColumnStructuredDataModule.ref"></a>

@@ -231,7 +231,7 @@
 	<td><div class="keyValue"><span class="label">T: </span><span class="teletype">EString</span></div>

 <div class="label">Cardinality: [0..1]</div>

 <div class="label">Identifier</div>

- </td> <td><p>The unique ID of the row data</p>
+ </td> <td><p>The unique ID of the row data</p>

 </td>

 		</tr></table>

 <a href="#column_structured_data.RowData.attr"></a>

diff --git a/core.html b/core.html
index 05d2cdb..7b87148 100644
--- a/core.html
+++ b/core.html
@@ -1,5 +1,5 @@
-<!-- This file was created using the HTML documentation generator. -->
-<!-- Creation date: Mon Sep 21 17:12:11 BST 2020-->
+<!-- This file was created using the HTML documentation generator. -->

+<!-- Creation date: Mon Sep 21 17:12:11 BST 2020-->

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

 <html xmlns="http://www.w3.org/1999/xhtml">

 	<head>

diff --git a/domain_model_mapping.html b/domain_model_mapping.html
new file mode 100644
index 0000000..b9d0b26
--- /dev/null
+++ b/domain_model_mapping.html
@@ -0,0 +1,362 @@
+<!-- This file was created using the HTML documentation generator. -->
+<!-- Creation date: Mon Apr 05 13:04:36 BST 2021-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+	<head>
+      	<title>Metamodel Documentation (platform:/resource/org.eclipse.efbt.cocalimo.dtm.model.core/model/domain_model_mapping.ecore)</title>
+    	<script type="text/javascript">
+//<![CDATA[				    	
+// TOC script based on code taken from http://www.quirksmode.org/dom/toc.html
+function makeTOC() {
+	
+	var toc = document.createElement('div')				
+	toc.id = "toc";
+	toc.innerHTML = "Table of Contents"				
+	document.body.appendChild(toc);
+				
+	var innertocDiv = createTOC()				
+	toc.appendChild(innertocDiv);
+}
+
+
+function createTOC() {
+	var y = document.createElement('div');
+	y.id = 'innertoc';
+	//var a = y.appendChild(document.createElement('span'));
+	//a.onclick = showhideTOC;
+	//a.id = 'contentheader';
+	//a.innerHTML = 'Show Table of Contents';
+	var z = y.appendChild(document.createElement('div'));
+	//z.onclick = showhideTOC;
+	var toBeTOCced = getElementsByTagNames('h1,h2,h3');
+	if (toBeTOCced.length < 2) return false;
+	var hCount = 0;
+	var hhCount = 0;
+	var hhhCount = 0;
+	for (var i=0;i<toBeTOCced.length;i++) {
+	var tmp = document.createElement('a');
+	tmp.className = 'page';
+	var text;
+	var textPre;
+	if (toBeTOCced[i].nodeName == 'h2'){
+		tmp.className += ' indent';
+		textPre = hCount + "."+ ++hhCount + ". "; 
+	}
+	else if (toBeTOCced[i].nodeName == 'h3'){
+		tmp.className += ' extraindent';
+		textPre = hCount + "."+ hhCount + "."+ ++hhhCount +". "; 
+	}
+	else {
+		textPre = ++hCount + ". "; 
+		hhCount = 0;
+		hhhCount = 0;
+	}
+	text = textPre + toBeTOCced[i].textContent;
+	toBeTOCced[i].innerHTML = textPre + toBeTOCced[i].innerHTML;
+	
+	tmp.innerHTML = text; 
+	z.appendChild(tmp);
+	var headerId = toBeTOCced[i].id || 'link' + i;
+	tmp.href = '#' + headerId;
+	toBeTOCced[i].id = headerId;
+	}
+	return y;
+}
+
+function getElementsByTagNames(list,obj) {
+	if (!obj) var obj = document;
+	var tagNames = list.split(',');
+	var resultArray = new Array();
+	for (var i=0;i<tagNames.length;i++) {
+		var tags = obj.getElementsByTagName(tagNames[i]);
+		for (var j=0;j<tags.length;j++) {
+			resultArray.push(tags[j]);
+		}
+	}
+	var testNode = resultArray[0];
+	if (!testNode) return [];
+	if (testNode.sourceIndex) {
+		resultArray.sort(function (a,b) {
+				return a.sourceIndex - b.sourceIndex;
+		});
+	}
+	else if (testNode.compareDocumentPosition) {
+		resultArray.sort(function (a,b) {
+				return 3 - (a.compareDocumentPosition(b) & 6);
+		});
+	}
+	return resultArray;
+}
+	    	
+//]]>				    	
+	    	</script>
+	    	<link rel="stylesheet" type="text/css" href="https://raw.github.com/necolas/normalize.css/master/normalize.css" /> 
+	    	<style>
+#toc {
+	position: fixed;
+	  right: 0;
+	  top: 0;
+	  background-color:#eee;
+	  overflow: scroll;
+	  border: 1px dashed;
+}
+
+#toc #innertoc { 
+	display: none;
+	height: 500px;
+} /* Hide the full TOC by default */
+
+#toc:hover #innertoc{
+	display: block; /* Show it on hover */
+}
+	td {
+	border: 1px solid;
+	}
+	.page{
+	display:table-row;
+	}
+	.indent {
+	text-indent:12pt;
+	}
+	.extraindent {
+	text-indent:14pt;
+	}
+
+	    	</style>
+	    	<link rel="stylesheet" type="text/css" href="style.css" />
+	</head>
+	<body onload="makeTOC();">
+<h1 id="domainmodelmapping"><a href="#domainmodelmapping"><span class="packageName">domain_model_mapping</span> package</a></h1>
+
+<div class="">EPackage properties:</div>
+<div class="keyValue"><span class="label">Namespace Prefix: </span><span class="teletype">domain_model_mapping</span></div>
+<div class="keyValue"><span class="label">Namespace URI: </span><span class="teletype">http://www.eclipse.org/efbt/domain_model_mapping</span></div>
+<h2 id="domainmodelmappingCodeCondition"><a href="#domainmodelmappingCodeCondition"><a href="#domainmodelmappingCodeCondition">CodeCondition</a></a></h2>
+
+<h2 id="domainmodelmappingColumnSettingCondition"><a href="#domainmodelmappingColumnSettingCondition"><a href="#domainmodelmappingColumnSettingCondition">ColumnSettingCondition</a></a></h2>
+
+<h4><b>Supertype:</b><a href="#domainmodelmappingCodeCondition">CodeCondition</a></h4><table>
+<tr>
+	<th colspan="3"><div class="tableHeader">References</div></th>
+</tr>
+<tr>
+	<th><div class="columnHeader">Name</div></th>
+	<th><div class="columnHeader">Properties</div></th>
+	<th><div class="columnHeader">Documentation</div></th>
+</tr>
+<tr>	<td><div id="domainmodelmappingColumnSettingCondition.cube" class="teletype">cube</div>
+	</td>
+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#cubesFreeBirdToolsCube">FreeBirdToolsCube</a></span></div>
+<div class="label">Cardinality: [0..1]</div>
+</td> 
+<td> </td>
+		</tr><tr>	<td><div id="domainmodelmappingColumnSettingCondition.filterConditions" class="teletype">filterConditions</div>
+	</td>
+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#functionsBasicFunction">BasicFunction</a></span></div>
+<div class="label">Cardinality: [0..1]</div>
+<div class="label">Containment</div>
+</td> 
+<td> </td>
+		</tr><tr>	<td><div id="domainmodelmappingColumnSettingCondition.variable" class="teletype">variable</div>
+	</td>
+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#coreVARIABLE">VARIABLE</a></span></div>
+<div class="label">Cardinality: [0..1]</div>
+</td> 
+<td> </td>
+		</tr></table>
+<a href="#domain_model_mapping.ColumnSettingCondition.ref"></a>
+<h2 id="domainmodelmappingDataSetFilterCondition"><a href="#domainmodelmappingDataSetFilterCondition"><a href="#domainmodelmappingDataSetFilterCondition">DataSetFilterCondition</a></a></h2>
+
+<h4><b>Supertype:</b><a href="#domainmodelmappingCodeCondition">CodeCondition</a></h4><table>
+<tr>
+	<th colspan="3"><div class="tableHeader">References</div></th>
+</tr>
+<tr>
+	<th><div class="columnHeader">Name</div></th>
+	<th><div class="columnHeader">Properties</div></th>
+	<th><div class="columnHeader">Documentation</div></th>
+</tr>
+<tr>	<td><div id="domainmodelmappingDataSetFilterCondition.cube" class="teletype">cube</div>
+	</td>
+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#cubesFreeBirdToolsCube">FreeBirdToolsCube</a></span></div>
+<div class="label">Cardinality: [0..1]</div>
+</td> 
+<td> </td>
+		</tr><tr>	<td><div id="domainmodelmappingDataSetFilterCondition.filterConditions" class="teletype">filterConditions</div>
+	</td>
+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#functionsBooleanFunction">BooleanFunction</a></span></div>
+<div class="label">Cardinality: [0..1]</div>
+<div class="label">Containment</div>
+</td> 
+<td> </td>
+		</tr></table>
+<a href="#domain_model_mapping.DataSetFilterCondition.ref"></a>
+<h2 id="domainmodelmappingDomainMappingModule"><a href="#domainmodelmappingDomainMappingModule"><a href="#domainmodelmappingDomainMappingModule">DomainMappingModule</a></a></h2>
+
+<h4><b>Supertype:</b><a href="#modulemanagementModule">Module</a></h4><table>
+<tr>
+	<th colspan="3"><div class="tableHeader">References</div></th>
+</tr>
+<tr>
+	<th><div class="columnHeader">Name</div></th>
+	<th><div class="columnHeader">Properties</div></th>
+	<th><div class="columnHeader">Documentation</div></th>
+</tr>
+<tr>	<td><div id="domainmodelmappingDomainMappingModule.leafModuleToReportCellViewModules" class="teletype">leafModuleToReportCellViewModules</div>
+	</td>
+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#domainmodelmappingLeafModuleToReportCellViewModule">LeafModuleToReportCellViewModule</a></span></div>
+<div class="label">Cardinality: [0..*]</div>
+<div class="label">Containment</div>
+</td> 
+<td> </td>
+		</tr><tr>	<td><div id="domainmodelmappingDomainMappingModule.leafModuleToVersionedCubeSchemaModules" class="teletype">leafModuleToVersionedCubeSchemaModules</div>
+	</td>
+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#domainmodelmappingLeafModuleToVersionedCubeSchemaModule">LeafModuleToVersionedCubeSchemaModule</a></span></div>
+<div class="label">Cardinality: [0..*]</div>
+<div class="label">Containment</div>
+</td> 
+<td> </td>
+		</tr><tr>	<td><div id="domainmodelmappingDomainMappingModule.leafModuleToVersionedSQLViewsModules" class="teletype">leafModuleToVersionedSQLViewsModules</div>
+	</td>
+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#domainmodelmappingLeafModuleToVersionedSQLViewsModule">LeafModuleToVersionedSQLViewsModule</a></span></div>
+<div class="label">Cardinality: [0..*]</div>
+<div class="label">Containment</div>
+</td> 
+<td> </td>
+		</tr><tr>	<td><div id="domainmodelmappingDomainMappingModule.scenarioToCodeConditions" class="teletype">scenarioToCodeConditions</div>
+	</td>
+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#domainmodelmappingScenarioToCodeConditions">ScenarioToCodeConditions</a></span></div>
+<div class="label">Cardinality: [0..*]</div>
+<div class="label">Containment</div>
+</td> 
+<td> </td>
+		</tr></table>
+<a href="#domain_model_mapping.DomainMappingModule.ref"></a>
+<h2 id="domainmodelmappingLeafModuleToReportCellViewModule"><a href="#domainmodelmappingLeafModuleToReportCellViewModule"><a href="#domainmodelmappingLeafModuleToReportCellViewModule">LeafModuleToReportCellViewModule</a></a></h2>
+
+<table>
+<tr>
+	<th colspan="3"><div class="tableHeader">References</div></th>
+</tr>
+<tr>
+	<th><div class="columnHeader">Name</div></th>
+	<th><div class="columnHeader">Properties</div></th>
+	<th><div class="columnHeader">Documentation</div></th>
+</tr>
+<tr>	<td><div id="domainmodelmappingLeafModuleToReportCellViewModule.module" class="teletype">module</div>
+	</td>
+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#dtmreportcellviewsReportCellViewModule">ReportCellViewModule</a></span></div>
+<div class="label">Cardinality: [0..1]</div>
+</td> 
+<td> </td>
+		</tr><tr>	<td><div id="domainmodelmappingLeafModuleToReportCellViewModule.scheme" class="teletype">scheme</div>
+	</td>
+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#functionalitymoduleLeafFunctionalityModule">LeafFunctionalityModule</a></span></div>
+<div class="label">Cardinality: [0..1]</div>
+</td> 
+<td> </td>
+		</tr></table>
+<a href="#domain_model_mapping.LeafModuleToReportCellViewModule.ref"></a>
+<h2 id="domainmodelmappingLeafModuleToVersionedCubeSchemaModule"><a href="#domainmodelmappingLeafModuleToVersionedCubeSchemaModule"><a href="#domainmodelmappingLeafModuleToVersionedCubeSchemaModule">LeafModuleToVersionedCubeSchemaModule</a></a></h2>
+
+<table>
+<tr>
+	<th colspan="3"><div class="tableHeader">References</div></th>
+</tr>
+<tr>
+	<th><div class="columnHeader">Name</div></th>
+	<th><div class="columnHeader">Properties</div></th>
+	<th><div class="columnHeader">Documentation</div></th>
+</tr>
+<tr>	<td><div id="domainmodelmappingLeafModuleToVersionedCubeSchemaModule.module" class="teletype">module</div>
+	</td>
+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#transformationVersionedCubeSchemaModule">VersionedCubeSchemaModule</a></span></div>
+<div class="label">Cardinality: [0..1]</div>
+</td> 
+<td> </td>
+		</tr><tr>	<td><div id="domainmodelmappingLeafModuleToVersionedCubeSchemaModule.scheme" class="teletype">scheme</div>
+	</td>
+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#functionalitymoduleLeafFunctionalityModule">LeafFunctionalityModule</a></span></div>
+<div class="label">Cardinality: [0..1]</div>
+</td> 
+<td> </td>
+		</tr></table>
+<a href="#domain_model_mapping.LeafModuleToVersionedCubeSchemaModule.ref"></a>
+<h2 id="domainmodelmappingLeafModuleToVersionedSQLViewsModule"><a href="#domainmodelmappingLeafModuleToVersionedSQLViewsModule"><a href="#domainmodelmappingLeafModuleToVersionedSQLViewsModule">LeafModuleToVersionedSQLViewsModule</a></a></h2>
+
+<table>
+<tr>
+	<th colspan="3"><div class="tableHeader">References</div></th>
+</tr>
+<tr>
+	<th><div class="columnHeader">Name</div></th>
+	<th><div class="columnHeader">Properties</div></th>
+	<th><div class="columnHeader">Documentation</div></th>
+</tr>
+<tr>	<td><div id="domainmodelmappingLeafModuleToVersionedSQLViewsModule.module" class="teletype">module</div>
+	</td>
+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#dtmsqlviewsVersionedSQLViewsModule">VersionedSQLViewsModule</a></span></div>
+<div class="label">Cardinality: [0..1]</div>
+</td> 
+<td> </td>
+		</tr><tr>	<td><div id="domainmodelmappingLeafModuleToVersionedSQLViewsModule.scheme" class="teletype">scheme</div>
+	</td>
+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#functionalitymoduleLeafFunctionalityModule">LeafFunctionalityModule</a></span></div>
+<div class="label">Cardinality: [0..1]</div>
+</td> 
+<td> </td>
+		</tr></table>
+<a href="#domain_model_mapping.LeafModuleToVersionedSQLViewsModule.ref"></a>
+<h2 id="domainmodelmappingScenarioToCodeConditions"><a href="#domainmodelmappingScenarioToCodeConditions"><a href="#domainmodelmappingScenarioToCodeConditions">ScenarioToCodeConditions</a></a></h2>
+
+<table>
+<tr>
+	<th colspan="3"><div class="tableHeader">References</div></th>
+</tr>
+<tr>
+	<th><div class="columnHeader">Name</div></th>
+	<th><div class="columnHeader">Properties</div></th>
+	<th><div class="columnHeader">Documentation</div></th>
+</tr>
+<tr>	<td><div id="domainmodelmappingScenarioToCodeConditions.codeConditions" class="teletype">codeConditions</div>
+	</td>
+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#domainmodelmappingCodeCondition">CodeCondition</a></span></div>
+<div class="label">Cardinality: [0..*]</div>
+<div class="label">Containment</div>
+</td> 
+<td> </td>
+		</tr><tr>	<td><div id="domainmodelmappingScenarioToCodeConditions.scenario" class="teletype">scenario</div>
+	</td>
+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#scenariosScenario">Scenario</a></span></div>
+<div class="label">Cardinality: [0..1]</div>
+</td> 
+<td> </td>
+		</tr></table>
+<a href="#domain_model_mapping.ScenarioToCodeConditions.ref"></a>
+<h2 id="domainmodelmappingUnionChoiceCondition"><a href="#domainmodelmappingUnionChoiceCondition"><a href="#domainmodelmappingUnionChoiceCondition">UnionChoiceCondition</a></a></h2>
+
+<h4><b>Supertype:</b><a href="#domainmodelmappingCodeCondition">CodeCondition</a></h4><table>
+<tr>
+	<th colspan="3"><div class="tableHeader">References</div></th>
+</tr>
+<tr>
+	<th><div class="columnHeader">Name</div></th>
+	<th><div class="columnHeader">Properties</div></th>
+	<th><div class="columnHeader">Documentation</div></th>
+</tr>
+<tr>	<td><div id="domainmodelmappingUnionChoiceCondition.chosenCubes" class="teletype">chosenCubes</div>
+	</td>
+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#cubesFreeBirdToolsCube">FreeBirdToolsCube</a></span></div>
+<div class="label">Cardinality: [0..*]</div>
+</td> 
+<td> </td>
+		</tr><tr>	<td><div id="domainmodelmappingUnionChoiceCondition.cube" class="teletype">cube</div>
+	</td>
+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#cubesFreeBirdToolsCube">FreeBirdToolsCube</a></span></div>
+<div class="label">Cardinality: [0..1]</div>
+</td> 
+<td> </td>
+		</tr></table>
+<a href="#domain_model_mapping.UnionChoiceCondition.ref"></a>
+</body>
+</html>
diff --git a/domain_model_mapping.jpg b/domain_model_mapping.jpg
new file mode 100644
index 0000000..0cf2d74
--- /dev/null
+++ b/domain_model_mapping.jpg
Binary files differ
diff --git a/dtm_report_cell_views.html b/dtm_report_cell_views.html
new file mode 100644
index 0000000..301fe79
--- /dev/null
+++ b/dtm_report_cell_views.html
@@ -0,0 +1,198 @@
+<!-- This file was created using the HTML documentation generator. -->
+<!-- Creation date: Mon Apr 05 13:07:04 BST 2021-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+	<head>
+      	<title>Metamodel Documentation (platform:/resource/org.eclipse.efbt.cocalimo.dtm.model.core/model/dtm_report_cell_views.ecore)</title>
+    	<script type="text/javascript">
+//<![CDATA[				    	
+// TOC script based on code taken from http://www.quirksmode.org/dom/toc.html
+function makeTOC() {
+	
+	var toc = document.createElement('div')				
+	toc.id = "toc";
+	toc.innerHTML = "Table of Contents"				
+	document.body.appendChild(toc);
+				
+	var innertocDiv = createTOC()				
+	toc.appendChild(innertocDiv);
+}
+
+
+function createTOC() {
+	var y = document.createElement('div');
+	y.id = 'innertoc';
+	//var a = y.appendChild(document.createElement('span'));
+	//a.onclick = showhideTOC;
+	//a.id = 'contentheader';
+	//a.innerHTML = 'Show Table of Contents';
+	var z = y.appendChild(document.createElement('div'));
+	//z.onclick = showhideTOC;
+	var toBeTOCced = getElementsByTagNames('h1,h2,h3');
+	if (toBeTOCced.length < 2) return false;
+	var hCount = 0;
+	var hhCount = 0;
+	var hhhCount = 0;
+	for (var i=0;i<toBeTOCced.length;i++) {
+	var tmp = document.createElement('a');
+	tmp.className = 'page';
+	var text;
+	var textPre;
+	if (toBeTOCced[i].nodeName == 'h2'){
+		tmp.className += ' indent';
+		textPre = hCount + "."+ ++hhCount + ". "; 
+	}
+	else if (toBeTOCced[i].nodeName == 'h3'){
+		tmp.className += ' extraindent';
+		textPre = hCount + "."+ hhCount + "."+ ++hhhCount +". "; 
+	}
+	else {
+		textPre = ++hCount + ". "; 
+		hhCount = 0;
+		hhhCount = 0;
+	}
+	text = textPre + toBeTOCced[i].textContent;
+	toBeTOCced[i].innerHTML = textPre + toBeTOCced[i].innerHTML;
+	
+	tmp.innerHTML = text; 
+	z.appendChild(tmp);
+	var headerId = toBeTOCced[i].id || 'link' + i;
+	tmp.href = '#' + headerId;
+	toBeTOCced[i].id = headerId;
+	}
+	return y;
+}
+
+function getElementsByTagNames(list,obj) {
+	if (!obj) var obj = document;
+	var tagNames = list.split(',');
+	var resultArray = new Array();
+	for (var i=0;i<tagNames.length;i++) {
+		var tags = obj.getElementsByTagName(tagNames[i]);
+		for (var j=0;j<tags.length;j++) {
+			resultArray.push(tags[j]);
+		}
+	}
+	var testNode = resultArray[0];
+	if (!testNode) return [];
+	if (testNode.sourceIndex) {
+		resultArray.sort(function (a,b) {
+				return a.sourceIndex - b.sourceIndex;
+		});
+	}
+	else if (testNode.compareDocumentPosition) {
+		resultArray.sort(function (a,b) {
+				return 3 - (a.compareDocumentPosition(b) & 6);
+		});
+	}
+	return resultArray;
+}
+	    	
+//]]>				    	
+	    	</script>
+	    	<link rel="stylesheet" type="text/css" href="https://raw.github.com/necolas/normalize.css/master/normalize.css" /> 
+	    	<style>
+#toc {
+	position: fixed;
+	  right: 0;
+	  top: 0;
+	  background-color:#eee;
+	  overflow: scroll;
+	  border: 1px dashed;
+}
+
+#toc #innertoc { 
+	display: none;
+	height: 500px;
+} /* Hide the full TOC by default */
+
+#toc:hover #innertoc{
+	display: block; /* Show it on hover */
+}
+	td {
+	border: 1px solid;
+	}
+	.page{
+	display:table-row;
+	}
+	.indent {
+	text-indent:12pt;
+	}
+	.extraindent {
+	text-indent:14pt;
+	}
+
+	    	</style>
+	    	<link rel="stylesheet" type="text/css" href="style.css" />
+	</head>
+	<body onload="makeTOC();">
+<h1 id="dtmreportcellviews"><a href="#dtmreportcellviews"><span class="packageName">dtm_report_cell_views</span> package</a></h1>
+
+<p>This package describes dtm preport cell views</p>
+<div class="">EPackage properties:</div>
+<div class="keyValue"><span class="label">Namespace Prefix: </span><span class="teletype">dtm_report_cell_views</span></div>
+<div class="keyValue"><span class="label">Namespace URI: </span><span class="teletype">http://www.eclipse.org/efbt/dtm_report_cell_views</span></div>
+<h2 id="dtmreportcellviewsReportCellView"><a href="#dtmreportcellviewsReportCellView"><a href="#dtmreportcellviewsReportCellView">ReportCellView</a></a></h2>
+
+<p>A ReportCellView is an SQL View which has the explicit purpose of calculating one report cell.
+ReportCells are represented as a TargetCube with one row. This cube has multiple Dimensions columns and one Measure Column.
+The Dimension fields for table are set to be specific members of that dimension. 
+Similar concepts exist in the taxonomy of XBRL reporting language and DataPointModelling.
+For example a ReportCellView which has a sourceCube of trade, associated measure 'amount' and associated dimensions Currency and Country,
+where it has been specified that Currency will equal USD and Country will equal US, will lead to the amount measure
+being populated with the sum of the amount field in the Trade table, for all rows in the Trade Table  where Currency=USD AND Country = US.</p>
+<h4><b>Supertype:</b><a href="#dtmsqlviewsSQLView">SQLView</a></h4><table>
+<tr>
+	<th colspan="3"><div class="tableHeader">References</div></th>
+</tr>
+<tr>
+	<th><div class="columnHeader">Name</div></th>
+	<th><div class="columnHeader">Properties</div></th>
+	<th><div class="columnHeader">Documentation</div></th>
+</tr>
+<tr>	<td><div id="dtmreportcellviewsReportCellView.reportCell" class="teletype">reportCell</div>
+	</td>
+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#reportsReportCell">ReportCell</a></span></div>
+<div class="label">Cardinality: [0..1]</div>
+<div class="label">Containment</div>
+</td> 
+<td> <p>The report cell</p>
+</td>
+		</tr><tr>	<td><div id="dtmreportcellviewsReportCellView.structColumnHoldingDimension" class="teletype">structColumnHoldingDimension</div>
+	</td>
+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#efbtadvanceddatadefinitionStructTypedVariable">StructTypedVariable</a></span></div>
+<div class="label">Cardinality: [0..1]</div>
+</td> 
+<td> </td>
+		</tr><tr>	<td><div id="dtmreportcellviewsReportCellView.structColumnHoldingMeasure" class="teletype">structColumnHoldingMeasure</div>
+	</td>
+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#efbtadvanceddatadefinitionStructTypedVariable">StructTypedVariable</a></span></div>
+<div class="label">Cardinality: [0..1]</div>
+</td> 
+<td> </td>
+		</tr></table>
+<a href="#dtm_report_cell_views.ReportCellView.ref"></a>
+<h2 id="dtmreportcellviewsReportCellViewModule"><a href="#dtmreportcellviewsReportCellViewModule"><a href="#dtmreportcellviewsReportCellViewModule">ReportCellViewModule</a></a></h2>
+
+<p>A Module containing a set of ReportCellViews </p>
+<h4><b>Supertype:</b><a href="#modulemanagementModule">Module</a></h4><table>
+<tr>
+	<th colspan="3"><div class="tableHeader">References</div></th>
+</tr>
+<tr>
+	<th><div class="columnHeader">Name</div></th>
+	<th><div class="columnHeader">Properties</div></th>
+	<th><div class="columnHeader">Documentation</div></th>
+</tr>
+<tr>	<td><div id="dtmreportcellviewsReportCellViewModule.reportCellViews" class="teletype">reportCellViews</div>
+	</td>
+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#dtmreportcellviewsReportCellView">ReportCellView</a></span></div>
+<div class="label">Cardinality: [0..*]</div>
+<div class="label">Containment</div>
+</td> 
+<td> <p>The set of ReportCellViews</p>
+</td>
+		</tr></table>
+<a href="#dtm_report_cell_views.ReportCellViewModule.ref"></a>
+</body>
+</html>
diff --git a/dtm_report_cell_views.jpg b/dtm_report_cell_views.jpg
new file mode 100644
index 0000000..20f3519
--- /dev/null
+++ b/dtm_report_cell_views.jpg
Binary files differ
diff --git a/dtm_sql_views.html b/dtm_sql_views.html
new file mode 100644
index 0000000..b9483c9
--- /dev/null
+++ b/dtm_sql_views.html
@@ -0,0 +1,764 @@
+<!-- This file was created using the HTML documentation generator. -->
+<!-- Creation date: Mon Apr 05 13:13:37 BST 2021-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+	<head>
+      	<title>Metamodel Documentation (platform:/resource/org.eclipse.efbt.cocalimo.dtm.model.core/model/dtm_sql_views.ecore)</title>
+    	<script type="text/javascript">
+//<![CDATA[				    	
+// TOC script based on code taken from http://www.quirksmode.org/dom/toc.html
+function makeTOC() {
+	
+	var toc = document.createElement('div')				
+	toc.id = "toc";
+	toc.innerHTML = "Table of Contents"				
+	document.body.appendChild(toc);
+				
+	var innertocDiv = createTOC()				
+	toc.appendChild(innertocDiv);
+}
+
+
+function createTOC() {
+	var y = document.createElement('div');
+	y.id = 'innertoc';
+	//var a = y.appendChild(document.createElement('span'));
+	//a.onclick = showhideTOC;
+	//a.id = 'contentheader';
+	//a.innerHTML = 'Show Table of Contents';
+	var z = y.appendChild(document.createElement('div'));
+	//z.onclick = showhideTOC;
+	var toBeTOCced = getElementsByTagNames('h1,h2,h3');
+	if (toBeTOCced.length < 2) return false;
+	var hCount = 0;
+	var hhCount = 0;
+	var hhhCount = 0;
+	for (var i=0;i<toBeTOCced.length;i++) {
+	var tmp = document.createElement('a');
+	tmp.className = 'page';
+	var text;
+	var textPre;
+	if (toBeTOCced[i].nodeName == 'h2'){
+		tmp.className += ' indent';
+		textPre = hCount + "."+ ++hhCount + ". "; 
+	}
+	else if (toBeTOCced[i].nodeName == 'h3'){
+		tmp.className += ' extraindent';
+		textPre = hCount + "."+ hhCount + "."+ ++hhhCount +". "; 
+	}
+	else {
+		textPre = ++hCount + ". "; 
+		hhCount = 0;
+		hhhCount = 0;
+	}
+	text = textPre + toBeTOCced[i].textContent;
+	toBeTOCced[i].innerHTML = textPre + toBeTOCced[i].innerHTML;
+	
+	tmp.innerHTML = text; 
+	z.appendChild(tmp);
+	var headerId = toBeTOCced[i].id || 'link' + i;
+	tmp.href = '#' + headerId;
+	toBeTOCced[i].id = headerId;
+	}
+	return y;
+}
+
+function getElementsByTagNames(list,obj) {
+	if (!obj) var obj = document;
+	var tagNames = list.split(',');
+	var resultArray = new Array();
+	for (var i=0;i<tagNames.length;i++) {
+		var tags = obj.getElementsByTagName(tagNames[i]);
+		for (var j=0;j<tags.length;j++) {
+			resultArray.push(tags[j]);
+		}
+	}
+	var testNode = resultArray[0];
+	if (!testNode) return [];
+	if (testNode.sourceIndex) {
+		resultArray.sort(function (a,b) {
+				return a.sourceIndex - b.sourceIndex;
+		});
+	}
+	else if (testNode.compareDocumentPosition) {
+		resultArray.sort(function (a,b) {
+				return 3 - (a.compareDocumentPosition(b) & 6);
+		});
+	}
+	return resultArray;
+}
+	    	
+//]]>				    	
+	    	</script>
+	    	<link rel="stylesheet" type="text/css" href="https://raw.github.com/necolas/normalize.css/master/normalize.css" /> 
+	    	<style>
+#toc {
+	position: fixed;
+	  right: 0;
+	  top: 0;
+	  background-color:#eee;
+	  overflow: scroll;
+	  border: 1px dashed;
+}
+
+#toc #innertoc { 
+	display: none;
+	height: 500px;
+} /* Hide the full TOC by default */
+
+#toc:hover #innertoc{
+	display: block; /* Show it on hover */
+}
+	td {
+	border: 1px solid;
+	}
+	.page{
+	display:table-row;
+	}
+	.indent {
+	text-indent:12pt;
+	}
+	.extraindent {
+	text-indent:14pt;
+	}
+
+	    	</style>
+	    	<link rel="stylesheet" type="text/css" href="style.css" />
+	</head>
+	<body onload="makeTOC();">
+<h1 id="dtmsqlviews"><a href="#dtmsqlviews"><span class="packageName">dtm_sql_views</span> package</a></h1>
+
+<p>This package describes the set of SQLViews, each SQLView represents a DataSetTransformation which transforms
+data from one DataSet to another in an immutable side-effect free fashion. They use concepts from the well-known SQL StructuredQueryLanguage.</p>
+
+<pre><code>The transformed dataset is created just once by the transformation and then never amended (it is immutable)
+The only data that can be used in the transformation is the data from the source dataset(s), so it cannot use anything else including
+'global variables' (which do not exist in the compitational model, the only data created by the transformation is the data in the resulting transformed dataset,
+no other data is created or affected so the transformations are side-effect free.
+
+</code></pre>
+<div class="">EPackage properties:</div>
+<div class="keyValue"><span class="label">Namespace Prefix: </span><span class="teletype">dtm_sql_views</span></div>
+<div class="keyValue"><span class="label">Namespace URI: </span><span class="teletype">http://www.eclipse.org/efbt/dtm_sql_views</span></div>
+<h2 id="dtmsqlviewsAggregateEnrichmentView"><a href="#dtmsqlviewsAggregateEnrichmentView"><a href="#dtmsqlviewsAggregateEnrichmentView">AggregateEnrichmentView</a></a></h2>
+
+<p>An SQLView which represents a grouping of  rows of the single source table of the associated table, 
+according to a set of Columns, and creates extra column(s) which runs a specified  aggregation  function over the group.
+This is equivalent to the GroupBy commands in SQL such as select ccy, country, sum(amount) from trades, groupby ccy, country.
+The resulting table structure will be a column for each of the groupBy columns, with one column added per calculated column.
+There will likely be considerably less rows in the results of the view, for example if we are grouping on million trades
+by currency, there will be on row per unique currency in the results.
+All SQLViews are associated with a DerivedCube, the source Cubes for the view are defined by the source Cubes of the associated Cube.</p>
+<h4><b>Supertype:</b><a href="#dtmsqlviewsSQLView">SQLView</a></h4><table>
+<tr>
+	<th colspan="3"><div class="tableHeader">References</div></th>
+</tr>
+<tr>
+	<th><div class="columnHeader">Name</div></th>
+	<th><div class="columnHeader">Properties</div></th>
+	<th><div class="columnHeader">Documentation</div></th>
+</tr>
+<tr>	<td><div id="dtmsqlviewsAggregateEnrichmentView.functions" class="teletype">functions</div>
+	</td>
+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#columntransformationlogicAggregateColumnFunction">AggregateColumnFunction</a></span></div>
+<div class="label">Cardinality: [0..*]</div>
+<div class="label">Containment</div>
+</td> 
+<td> <p>Aggregated ColumnFunctions</p>
+</td>
+		</tr><tr>	<td><div id="dtmsqlviewsAggregateEnrichmentView.groupByClause" class="teletype">groupByClause</div>
+	</td>
+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#dtmsqlviewsGroupByClause">GroupByClause</a></span></div>
+<div class="label">Cardinality: [0..1]</div>
+<div class="label">Containment</div>
+</td> 
+<td> <p>The GroupBy clause which includes the GroupBy columns</p>
+</td>
+		</tr></table>
+<a href="#dtm_sql_views.AggregateEnrichmentView.ref"></a>
+<h2 id="dtmsqlviewsAggregateEnrichmentViewAndOrderBy"><a href="#dtmsqlviewsAggregateEnrichmentViewAndOrderBy"><a href="#dtmsqlviewsAggregateEnrichmentViewAndOrderBy">AggregateEnrichmentViewAndOrderBy</a></a></h2>
+
+<p>An SQLView which represents a grouping of  rows of the single source table of the associated table, 
+according to a set of Columns, and creates extra column(s) which runs a specified  aggregation  function over the group.
+This is equivalent to the GroupBy commands in SQL such as select ccy, country, sum(amount) from trades, groupby ccy, country.
+The resulting table structure will be a column for each of the groupBy columns, with one column added per calculated column.
+There will likely be considerably less rows in the results of the view, for example if we are grouping on million trades
+by currency, there will be on row per unique currency in the results.
+All SQLViews are associated with a DerivedCube, the source Cubes for the view are defined by the source Cubes of the associated Cube.</p>
+<h4><b>Supertype:</b><a href="#dtmsqlviewsSQLView">SQLView</a></h4><table>
+<tr>
+	<th colspan="3"><div class="tableHeader">References</div></th>
+</tr>
+<tr>
+	<th><div class="columnHeader">Name</div></th>
+	<th><div class="columnHeader">Properties</div></th>
+	<th><div class="columnHeader">Documentation</div></th>
+</tr>
+<tr>	<td><div id="dtmsqlviewsAggregateEnrichmentViewAndOrderBy.functions" class="teletype">functions</div>
+	</td>
+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#columntransformationlogicAggregateColumnFunction">AggregateColumnFunction</a></span></div>
+<div class="label">Cardinality: [0..*]</div>
+<div class="label">Containment</div>
+</td> 
+<td> <p>Aggregated ColumnFunctions</p>
+</td>
+		</tr><tr>	<td><div id="dtmsqlviewsAggregateEnrichmentViewAndOrderBy.groupByClause" class="teletype">groupByClause</div>
+	</td>
+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#dtmsqlviewsGroupByClause">GroupByClause</a></span></div>
+<div class="label">Cardinality: [0..1]</div>
+<div class="label">Containment</div>
+</td> 
+<td> <p>The GroupBy clause which includes the GroupBy columns</p>
+</td>
+		</tr><tr>	<td><div id="dtmsqlviewsAggregateEnrichmentViewAndOrderBy.orderByVariable" class="teletype">orderByVariable</div>
+	</td>
+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#coreVARIABLE">VARIABLE</a></span></div>
+<div class="label">Cardinality: [0..1]</div>
+</td> 
+<td> </td>
+		</tr></table>
+<a href="#dtm_sql_views.AggregateEnrichmentViewAndOrderBy.ref"></a>
+<h2 id="dtmsqlviewsBaseViewIncorporatingDeltas"><a href="#dtmsqlviewsBaseViewIncorporatingDeltas"><a href="#dtmsqlviewsBaseViewIncorporatingDeltas">BaseViewIncorporatingDeltas</a></a></h2>
+
+<h4><b>Supertype:</b><a href="#dtmsqlviewsSQLView">SQLView</a></h4><table>
+<tr>
+	<th colspan="3"><div class="tableHeader">References</div></th>
+</tr>
+<tr>
+	<th><div class="columnHeader">Name</div></th>
+	<th><div class="columnHeader">Properties</div></th>
+	<th><div class="columnHeader">Documentation</div></th>
+</tr>
+<tr>	<td><div id="dtmsqlviewsBaseViewIncorporatingDeltas.ultimateSourceCube" class="teletype">ultimateSourceCube</div>
+	</td>
+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#cubesFreeBirdToolsCube">FreeBirdToolsCube</a></span></div>
+<div class="label">Cardinality: [0..1]</div>
+</td> 
+<td> </td>
+		</tr></table>
+<a href="#dtm_sql_views.BaseViewIncorporatingDeltas.ref"></a>
+<h2 id="dtmsqlviewsCastColumnView"><a href="#dtmsqlviewsCastColumnView"><a href="#dtmsqlviewsCastColumnView">CastColumnView</a></a></h2>
+
+<h4><b>Supertype:</b><a href="#dtmsqlviewsSQLView">SQLView</a></h4><table>
+<tr>
+	<th colspan="3"><div class="tableHeader">References</div></th>
+</tr>
+<tr>
+	<th><div class="columnHeader">Name</div></th>
+	<th><div class="columnHeader">Properties</div></th>
+	<th><div class="columnHeader">Documentation</div></th>
+</tr>
+<tr>	<td><div id="dtmsqlviewsCastColumnView.sourceStructVariable" class="teletype">sourceStructVariable</div>
+	</td>
+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#efbtadvanceddatadefinitionStructTypedVariable">StructTypedVariable</a></span></div>
+<div class="label">Cardinality: [0..1]</div>
+</td> 
+<td> </td>
+		</tr><tr>	<td><div id="dtmsqlviewsCastColumnView.targetStructVariable" class="teletype">targetStructVariable</div>
+	</td>
+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#efbtadvanceddatadefinitionStructTypedVariable">StructTypedVariable</a></span></div>
+<div class="label">Cardinality: [0..1]</div>
+</td> 
+<td> </td>
+		</tr></table>
+<a href="#dtm_sql_views.CastColumnView.ref"></a>
+<h2 id="dtmsqlviewsCopyView"><a href="#dtmsqlviewsCopyView"><a href="#dtmsqlviewsCopyView">CopyView</a></a></h2>
+
+<p>An SQLView which represents a Copy of all rows of the single source cubw of the associated DereivedCube.
+The resulting Cube Structure will be the same as that source cube.
+The number of rows in the view will be the same as there were in the source cube.</p>
+<h4><b>Supertype:</b><a href="#dtmsqlviewsSQLView">SQLView</a></h4><h2 id="dtmsqlviewsDeltaAccumulation"><a href="#dtmsqlviewsDeltaAccumulation"><a href="#dtmsqlviewsDeltaAccumulation">DeltaAccumulation</a></a></h2>
+
+<h4><b>Supertype:</b><a href="#dtmsqlviewsSQLView">SQLView</a></h4><table>
+<tr>
+	<th colspan="3"><div class="tableHeader">References</div></th>
+</tr>
+<tr>
+	<th><div class="columnHeader">Name</div></th>
+	<th><div class="columnHeader">Properties</div></th>
+	<th><div class="columnHeader">Documentation</div></th>
+</tr>
+<tr>	<td><div id="dtmsqlviewsDeltaAccumulation.ultimateSourceCube" class="teletype">ultimateSourceCube</div>
+	</td>
+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#cubesFreeBirdToolsCube">FreeBirdToolsCube</a></span></div>
+<div class="label">Cardinality: [0..1]</div>
+</td> 
+<td> </td>
+		</tr></table>
+<a href="#dtm_sql_views.DeltaAccumulation.ref"></a>
+<h2 id="dtmsqlviewsEnrichmentView"><a href="#dtmsqlviewsEnrichmentView"><a href="#dtmsqlviewsEnrichmentView">EnrichmentView</a></a></h2>
+
+<p>An SQLView which represents a Copy of all rows of the single source cube of the associated DerivedCube,
+and adds one or more calculated columns. 
+The resulting cube structure will be the same as that source cube, with one column added per calculated column,
+although we can choose to Rename some of the columns from the source cube if we wish.</p>
+<h4><b>Supertype:</b><a href="#dtmsqlviewsSQLView">SQLView</a></h4><table>
+<tr>
+	<th colspan="3"><div class="tableHeader">References</div></th>
+</tr>
+<tr>
+	<th><div class="columnHeader">Name</div></th>
+	<th><div class="columnHeader">Properties</div></th>
+	<th><div class="columnHeader">Documentation</div></th>
+</tr>
+<tr>	<td><div id="dtmsqlviewsEnrichmentView.functions" class="teletype">functions</div>
+	</td>
+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#columntransformationlogicBasicColumnFunction">BasicColumnFunction</a></span></div>
+<div class="label">Cardinality: [0..*]</div>
+<div class="label">Containment</div>
+</td> 
+<td> <p>The ColumnFunctions describing how to derive the new columns. Note that their will be a  one to 
+one relationship between the rows in the resulting view and the rows in the source row. So the column function could<br/>
+represent the  addition of 2 columns in the source row for example.</p>
+</td>
+		</tr><tr>	<td><div id="dtmsqlviewsEnrichmentView.ignores" class="teletype">ignores</div>
+	</td>
+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#dtmsqlviewsIgnoreColumn">IgnoreColumn</a></span></div>
+<div class="label">Cardinality: [0..*]</div>
+<div class="label">Containment</div>
+</td> 
+<td> <p>an IgnoreColumn for each column we want to ignore</p>
+</td>
+		</tr><tr>	<td><div id="dtmsqlviewsEnrichmentView.renames" class="teletype">renames</div>
+	</td>
+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#dtmsqlviewsRenameAs">RenameAs</a></span></div>
+<div class="label">Cardinality: [0..*]</div>
+<div class="label">Containment</div>
+</td> 
+<td> <p>A set of Renames, these are similar is concept to the AS command in SQL,
+e.g. in SQL select CCY as Currency from cube1, will mean that the cube structure of the resulting view   has a column called Currency  not CCY, and that cube1 naturally remains with having a column called CCY.</p>
+</td>
+		</tr></table>
+<a href="#dtm_sql_views.EnrichmentView.ref"></a>
+<h2 id="dtmsqlviewsExplodeArrayOfStructsView"><a href="#dtmsqlviewsExplodeArrayOfStructsView"><a href="#dtmsqlviewsExplodeArrayOfStructsView">ExplodeArrayOfStructsView</a></a></h2>
+
+<h4><b>Supertype:</b><a href="#dtmsqlviewsSQLView">SQLView</a></h4><table>
+<tr>
+	<th colspan="3"><div class="tableHeader">References</div></th>
+</tr>
+<tr>
+	<th><div class="columnHeader">Name</div></th>
+	<th><div class="columnHeader">Properties</div></th>
+	<th><div class="columnHeader">Documentation</div></th>
+</tr>
+<tr>	<td><div id="dtmsqlviewsExplodeArrayOfStructsView.arraySourceColumn" class="teletype">arraySourceColumn</div>
+	</td>
+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#efbtadvanceddatadefinitionArrayTypedVariable">ArrayTypedVariable</a></span></div>
+<div class="label">Cardinality: [0..1]</div>
+</td> 
+<td> </td>
+		</tr><tr>	<td><div id="dtmsqlviewsExplodeArrayOfStructsView.indexColumn" class="teletype">indexColumn</div>
+	</td>
+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#coreVARIABLE">VARIABLE</a></span></div>
+<div class="label">Cardinality: [0..1]</div>
+</td> 
+<td> </td>
+		</tr><tr>	<td><div id="dtmsqlviewsExplodeArrayOfStructsView.targetStructColumn" class="teletype">targetStructColumn</div>
+	</td>
+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#efbtadvanceddatadefinitionStructTypedVariable">StructTypedVariable</a></span></div>
+<div class="label">Cardinality: [0..1]</div>
+</td> 
+<td> </td>
+		</tr></table>
+<a href="#dtm_sql_views.ExplodeArrayOfStructsView.ref"></a>
+<h2 id="dtmsqlviewsExplodeStructView"><a href="#dtmsqlviewsExplodeStructView"><a href="#dtmsqlviewsExplodeStructView">ExplodeStructView</a></a></h2>
+
+<h4><b>Supertype:</b><a href="#dtmsqlviewsSQLView">SQLView</a></h4><table>
+<tr>
+	<th colspan="3"><div class="tableHeader">References</div></th>
+</tr>
+<tr>
+	<th><div class="columnHeader">Name</div></th>
+	<th><div class="columnHeader">Properties</div></th>
+	<th><div class="columnHeader">Documentation</div></th>
+</tr>
+<tr>	<td><div id="dtmsqlviewsExplodeStructView.columnToUnpack" class="teletype">columnToUnpack</div>
+	</td>
+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#efbtadvanceddatadefinitionStructTypedVariable">StructTypedVariable</a></span></div>
+<div class="label">Cardinality: [0..1]</div>
+</td> 
+<td> </td>
+		</tr></table>
+<a href="#dtm_sql_views.ExplodeStructView.ref"></a>
+<h2 id="dtmsqlviewsFilterByConditionView"><a href="#dtmsqlviewsFilterByConditionView"><a href="#dtmsqlviewsFilterByConditionView">FilterByConditionView</a></a></h2>
+
+<p>An SQLView which represents a Copy of all rows  of the single source cube of the associated cube IF they meet a filter condition.
+The resulting cube structure will be the same as that source cube.
+The number of rows in the view will be the number of rows in the source table that meet the supplied condition.</p>
+<h4><b>Supertype:</b><a href="#dtmsqlviewsSQLView">SQLView</a></h4><table>
+<tr>
+	<th colspan="3"><div class="tableHeader">References</div></th>
+</tr>
+<tr>
+	<th><div class="columnHeader">Name</div></th>
+	<th><div class="columnHeader">Properties</div></th>
+	<th><div class="columnHeader">Documentation</div></th>
+</tr>
+<tr>	<td><div id="dtmsqlviewsFilterByConditionView.whereClause" class="teletype">whereClause</div>
+	</td>
+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#dtmsqlviewsWhereClause">WhereClause</a></span></div>
+<div class="label">Cardinality: [0..1]</div>
+<div class="label">Containment</div>
+</td> 
+<td> <p>A WhereClause clause representing the filter condition</p>
+</td>
+		</tr></table>
+<a href="#dtm_sql_views.FilterByConditionView.ref"></a>
+<h2 id="dtmsqlviewsFilterByStructClassColumnView"><a href="#dtmsqlviewsFilterByStructClassColumnView"><a href="#dtmsqlviewsFilterByStructClassColumnView">FilterByStructClassColumnView</a></a></h2>
+
+<h4><b>Supertype:</b><a href="#dtmsqlviewsSQLView">SQLView</a></h4><table>
+<tr>
+	<th colspan="3"><div class="tableHeader">References</div></th>
+</tr>
+<tr>
+	<th><div class="columnHeader">Name</div></th>
+	<th><div class="columnHeader">Properties</div></th>
+	<th><div class="columnHeader">Documentation</div></th>
+</tr>
+<tr>	<td><div id="dtmsqlviewsFilterByStructClassColumnView.renameAsStructColumn" class="teletype">renameAsStructColumn</div>
+	</td>
+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#efbtadvanceddatadefinitionStructTypedVariable">StructTypedVariable</a></span></div>
+<div class="label">Cardinality: [0..1]</div>
+</td> 
+<td> </td>
+		</tr><tr>	<td><div id="dtmsqlviewsFilterByStructClassColumnView.structClass" class="teletype">structClass</div>
+	</td>
+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#cubesFreeBirdToolsCube">FreeBirdToolsCube</a></span></div>
+<div class="label">Cardinality: [0..1]</div>
+</td> 
+<td> </td>
+		</tr><tr>	<td><div id="dtmsqlviewsFilterByStructClassColumnView.structColumn" class="teletype">structColumn</div>
+	</td>
+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#efbtadvanceddatadefinitionStructTypedVariable">StructTypedVariable</a></span></div>
+<div class="label">Cardinality: [0..1]</div>
+</td> 
+<td> </td>
+		</tr></table>
+<a href="#dtm_sql_views.FilterByStructClassColumnView.ref"></a>
+<h2 id="dtmsqlviewsGenericView"><a href="#dtmsqlviewsGenericView"><a href="#dtmsqlviewsGenericView">GenericView</a></a></h2>
+
+<p>An SQLView which represents a custom transformation.</p>
+<h4><b>Supertype:</b><a href="#dtmsqlviewsSQLView">SQLView</a></h4><table>
+<tr>
+	<th colspan="3"><div class="tableHeader">References</div></th>
+</tr>
+<tr>
+	<th><div class="columnHeader">Name</div></th>
+	<th><div class="columnHeader">Properties</div></th>
+	<th><div class="columnHeader">Documentation</div></th>
+</tr>
+<tr>	<td><div id="dtmsqlviewsGenericView.groupByClause" class="teletype">groupByClause</div>
+	</td>
+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#dtmsqlviewsGroupByClause">GroupByClause</a></span></div>
+<div class="label">Cardinality: [0..1]</div>
+<div class="label">Containment</div>
+</td> 
+<td> <p>A custom groupby clause</p>
+</td>
+		</tr><tr>	<td><div id="dtmsqlviewsGenericView.selectClause" class="teletype">selectClause</div>
+	</td>
+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#dtmsqlviewsSelectClause">SelectClause</a></span></div>
+<div class="label">Cardinality: [0..1]</div>
+<div class="label">Containment</div>
+</td> 
+<td> <p>A custom select clause</p>
+</td>
+		</tr><tr>	<td><div id="dtmsqlviewsGenericView.whereClause" class="teletype">whereClause</div>
+	</td>
+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#dtmsqlviewsWhereClause">WhereClause</a></span></div>
+<div class="label">Cardinality: [0..1]</div>
+<div class="label">Containment</div>
+</td> 
+<td> <p>A custom where clause</p>
+</td>
+		</tr></table>
+<a href="#dtm_sql_views.GenericView.ref"></a>
+<h2 id="dtmsqlviewsGroupByClause"><a href="#dtmsqlviewsGroupByClause"><a href="#dtmsqlviewsGroupByClause">GroupByClause</a></a></h2>
+
+<p>This is equivalent to the Group By section  in SQL such as select ccy, country, sum(amount) from trades, group by ccy, country.
+The resulting cube structure will be a column for each of the groupBy columns, with one column added per calculated column.
+There will likely be considerably less rows in the results of the view, for example if we are grouping on million trades
+by currency, there will be on row per unique currency in the results.</p>
+<table>
+<tr>
+	<th colspan="3"><div class="tableHeader">References</div></th>
+</tr>
+<tr>
+	<th><div class="columnHeader">Name</div></th>
+	<th><div class="columnHeader">Properties</div></th>
+	<th><div class="columnHeader">Documentation</div></th>
+</tr>
+<tr>	<td><div id="dtmsqlviewsGroupByClause.groupByColumns" class="teletype">groupByColumns</div>
+	</td>
+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#coreVARIABLE">VARIABLE</a></span></div>
+<div class="label">Cardinality: [0..*]</div>
+</td> 
+<td> <p>the columns to group by </p>
+</td>
+		</tr></table>
+<a href="#dtm_sql_views.GroupByClause.ref"></a>
+<h2 id="dtmsqlviewsIgnoreColumn"><a href="#dtmsqlviewsIgnoreColumn"><a href="#dtmsqlviewsIgnoreColumn">IgnoreColumn</a></a></h2>
+
+<p>Column to Ignore. Used in a JoinView if we dont want all the columns from the joined cubes to be in the resulting Views cube structure.</p>
+<table>
+<tr>
+	<th colspan="3"><div class="tableHeader">References</div></th>
+</tr>
+<tr>
+	<th><div class="columnHeader">Name</div></th>
+	<th><div class="columnHeader">Properties</div></th>
+	<th><div class="columnHeader">Documentation</div></th>
+</tr>
+<tr>	<td><div id="dtmsqlviewsIgnoreColumn.columnToIgnore" class="teletype">columnToIgnore</div>
+	</td>
+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#coreVARIABLE">VARIABLE</a></span></div>
+<div class="label">Cardinality: [0..1]</div>
+</td> 
+<td> <p>the column to Ignore</p>
+</td>
+		</tr><tr>	<td><div id="dtmsqlviewsIgnoreColumn.cube" class="teletype">cube</div>
+	</td>
+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#cubesFreeBirdToolsCube">FreeBirdToolsCube</a></span></div>
+<div class="label">Cardinality: [0..1]</div>
+</td> 
+<td> <p>the cube with the column to ignore.</p>
+</td>
+		</tr></table>
+<a href="#dtm_sql_views.IgnoreColumn.ref"></a>
+<h2 id="dtmsqlviewsJoinView"><a href="#dtmsqlviewsJoinView"><a href="#dtmsqlviewsJoinView">JoinView</a></a></h2>
+
+<p>An SQLView which represents a join of  rows of  two source cubes of the associated table,  according to a join condition.
+This is equivalent to joining 2 tables using  SQL 
+The resulting cube structure will be a column for each of the  columns in the 2 source cubes  unless we specify that we want to ignore columns or rename columns.</p>
+<h4><b>Supertype:</b><a href="#dtmsqlviewsSQLView">SQLView</a></h4><table>
+<tr>
+	<th colspan="3"><div class="tableHeader">References</div></th>
+</tr>
+<tr>
+	<th><div class="columnHeader">Name</div></th>
+	<th><div class="columnHeader">Properties</div></th>
+	<th><div class="columnHeader">Documentation</div></th>
+</tr>
+<tr>	<td><div id="dtmsqlviewsJoinView.ignores" class="teletype">ignores</div>
+	</td>
+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#dtmsqlviewsIgnoreColumn">IgnoreColumn</a></span></div>
+<div class="label">Cardinality: [0..*]</div>
+<div class="label">Containment</div>
+</td> 
+<td> <p>an IgnoreColumn for each column we want to ignore</p>
+</td>
+		</tr><tr>	<td><div id="dtmsqlviewsJoinView.renames" class="teletype">renames</div>
+	</td>
+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#dtmsqlviewsRenameAs">RenameAs</a></span></div>
+<div class="label">Cardinality: [0..*]</div>
+<div class="label">Containment</div>
+</td> 
+<td> <p>A rename for each column we wish to rename</p>
+</td>
+		</tr><tr>	<td><div id="dtmsqlviewsJoinView.whereClause" class="teletype">whereClause</div>
+	</td>
+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#dtmsqlviewsWhereClause">WhereClause</a></span></div>
+<div class="label">Cardinality: [0..1]</div>
+<div class="label">Containment</div>
+</td> 
+<td> <p>A WhereClause clause representing the join condition</p>
+</td>
+		</tr></table>
+<a href="#dtm_sql_views.JoinView.ref"></a>
+<h2 id="dtmsqlviewsMakeArrayOfStructsView"><a href="#dtmsqlviewsMakeArrayOfStructsView"><a href="#dtmsqlviewsMakeArrayOfStructsView">MakeArrayOfStructsView</a></a></h2>
+
+<h4><b>Supertype:</b><a href="#dtmsqlviewsSQLView">SQLView</a></h4><table>
+<tr>
+	<th colspan="3"><div class="tableHeader">References</div></th>
+</tr>
+<tr>
+	<th><div class="columnHeader">Name</div></th>
+	<th><div class="columnHeader">Properties</div></th>
+	<th><div class="columnHeader">Documentation</div></th>
+</tr>
+<tr>	<td><div id="dtmsqlviewsMakeArrayOfStructsView.groupingVariable" class="teletype">groupingVariable</div>
+	</td>
+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#coreVARIABLE">VARIABLE</a></span></div>
+<div class="label">Cardinality: [0..1]</div>
+</td> 
+<td> </td>
+		</tr><tr>	<td><div id="dtmsqlviewsMakeArrayOfStructsView.sourceStructVariable" class="teletype">sourceStructVariable</div>
+	</td>
+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#efbtadvanceddatadefinitionStructTypedVariable">StructTypedVariable</a></span></div>
+<div class="label">Cardinality: [0..1]</div>
+</td> 
+<td> </td>
+		</tr><tr>	<td><div id="dtmsqlviewsMakeArrayOfStructsView.targetArrayVariable" class="teletype">targetArrayVariable</div>
+	</td>
+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#efbtadvanceddatadefinitionArrayTypedVariable">ArrayTypedVariable</a></span></div>
+<div class="label">Cardinality: [0..1]</div>
+</td> 
+<td> </td>
+		</tr></table>
+<a href="#dtm_sql_views.MakeArrayOfStructsView.ref"></a>
+<h2 id="dtmsqlviewsMakeStructView"><a href="#dtmsqlviewsMakeStructView"><a href="#dtmsqlviewsMakeStructView">MakeStructView</a></a></h2>
+
+<h4><b>Supertype:</b><a href="#dtmsqlviewsSQLView">SQLView</a></h4><table>
+<tr>
+	<th colspan="3"><div class="tableHeader">References</div></th>
+</tr>
+<tr>
+	<th><div class="columnHeader">Name</div></th>
+	<th><div class="columnHeader">Properties</div></th>
+	<th><div class="columnHeader">Documentation</div></th>
+</tr>
+<tr>	<td><div id="dtmsqlviewsMakeStructView.targetVariable" class="teletype">targetVariable</div>
+	</td>
+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#efbtadvanceddatadefinitionStructTypedVariable">StructTypedVariable</a></span></div>
+<div class="label">Cardinality: [0..1]</div>
+</td> 
+<td> </td>
+		</tr></table>
+<a href="#dtm_sql_views.MakeStructView.ref"></a>
+<h2 id="dtmsqlviewsRenameAs"><a href="#dtmsqlviewsRenameAs"><a href="#dtmsqlviewsRenameAs">RenameAs</a></a></h2>
+
+<p>Column to rename in the resulting View. similar to AS in SQL. Particularly useful if a Join View would result in 2 columns with the same name</p>
+<table>
+<tr>
+	<th colspan="3"><div class="tableHeader">References</div></th>
+</tr>
+<tr>
+	<th><div class="columnHeader">Name</div></th>
+	<th><div class="columnHeader">Properties</div></th>
+	<th><div class="columnHeader">Documentation</div></th>
+</tr>
+<tr>	<td><div id="dtmsqlviewsRenameAs.fromCube" class="teletype">fromCube</div>
+	</td>
+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#cubesFreeBirdToolsCube">FreeBirdToolsCube</a></span></div>
+<div class="label">Cardinality: [0..1]</div>
+</td> 
+<td> <p>The source cube containing the Column</p>
+</td>
+		</tr><tr>	<td><div id="dtmsqlviewsRenameAs.fromVariable" class="teletype">fromVariable</div>
+	</td>
+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#coreVARIABLE">VARIABLE</a></span></div>
+<div class="label">Cardinality: [0..1]</div>
+</td> 
+<td> <p>the Column from the source cube that we choose  to Rename in the resulting View</p>
+</td>
+		</tr><tr>	<td><div id="dtmsqlviewsRenameAs.toVariable" class="teletype">toVariable</div>
+	</td>
+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#coreVARIABLE">VARIABLE</a></span></div>
+<div class="label">Cardinality: [0..1]</div>
+</td> 
+<td> <p>What Column would we like to use instead.</p>
+</td>
+		</tr></table>
+<a href="#dtm_sql_views.RenameAs.ref"></a>
+<h2 id="dtmsqlviewsSQLView"><a href="#dtmsqlviewsSQLView"><a href="#dtmsqlviewsSQLView">SQLView</a></a></h2>
+
+<p>An SQLView represents a DataSetTransformation which transforms   data from one DataSet to another in an immutable side-effect free fashion. They use concepts from the well-known SQL StructuredQueryLanguage.</p>
+
+<pre><code>The transformed dataset is created just once by the transformation and then never amended (it is immutable)
+The only data that can be used in the transformation is the data from the source dataset(s), so it cannot use anything else including
+'global variables' (which do not exist in the compitational model, the only data created by the transformation is the data in the resulting transformed dataset,
+no other data is created or affected so the transformations are side-effect free.
+
+</code></pre>
+<h4><b>Supertype:</b><a href="#transformationDataSetTransformation">DataSetTransformation</a></h4><table>
+<tr>
+	<th colspan="3"><div class="tableHeader">Attributes</div></th>
+</tr>
+<tr>
+	<th><div class="columnHeader">Name</div></th>
+	<th><div class="columnHeader">Properties</div></th>
+	<th><div class="columnHeader">Documentation</div></th>
+</tr>
+<tr>	<td><div id="dtmsqlviewsSQLView.VTL_Code" class="teletype">VTL_Code</div>
+	</td>
+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype">EString</span></div>
+<div class="label">Cardinality: [0..1]</div>
+ </td> <td></td>
+		</tr></table>
+<a href="#dtm_sql_views.SQLView.attr"></a>
+<h2 id="dtmsqlviewsSelectClause"><a href="#dtmsqlviewsSelectClause"><a href="#dtmsqlviewsSelectClause">SelectClause</a></a></h2>
+
+<p>A Set of Functions representing a select clause in SQL</p>
+<table>
+<tr>
+	<th colspan="3"><div class="tableHeader">References</div></th>
+</tr>
+<tr>
+	<th><div class="columnHeader">Name</div></th>
+	<th><div class="columnHeader">Properties</div></th>
+	<th><div class="columnHeader">Documentation</div></th>
+</tr>
+<tr>	<td><div id="dtmsqlviewsSelectClause.aggregateFunctions" class="teletype">aggregateFunctions</div>
+	</td>
+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#functionsAggregateFunction">AggregateFunction</a></span></div>
+<div class="label">Cardinality: [0..*]</div>
+</td> 
+<td> <p>Aggregating functions</p>
+</td>
+		</tr><tr>	<td><div id="dtmsqlviewsSelectClause.basicFunctions" class="teletype">basicFunctions</div>
+	</td>
+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#functionsBasicFunction">BasicFunction</a></span></div>
+<div class="label">Cardinality: [0..1]</div>
+</td> 
+<td> <p>Non-aggregating functions</p>
+</td>
+		</tr><tr>	<td><div id="dtmsqlviewsSelectClause.varaibles" class="teletype">varaibles</div>
+	</td>
+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#coreVARIABLE">VARIABLE</a></span></div>
+<div class="label">Cardinality: [0..*]</div>
+</td> 
+<td> <p>Column</p>
+</td>
+		</tr></table>
+<a href="#dtm_sql_views.SelectClause.ref"></a>
+<h2 id="dtmsqlviewsUnionView"><a href="#dtmsqlviewsUnionView"><a href="#dtmsqlviewsUnionView">UnionView</a></a></h2>
+
+<p>An SQLView which represents a Union  of  multiple source cubes of the associated DerivedCube
+.The source cubes must have the same Structure.      This is equivalent to Union of tables in  SQL. 
+The resulting cube structure will be the same as the source cubes and include all the rows from all the source cubes.</p>
+<h4><b>Supertype:</b><a href="#dtmsqlviewsSQLView">SQLView</a></h4><h2 id="dtmsqlviewsVersionedSQLViewsModule"><a href="#dtmsqlviewsVersionedSQLViewsModule"><a href="#dtmsqlviewsVersionedSQLViewsModule">VersionedSQLViewsModule</a></a></h2>
+
+<p>A module of SQLViews with a version number</p>
+<h4><b>Supertype:</b><a href="#transformationVersionedFunctionalModuleLogic">VersionedFunctionalModuleLogic</a></h4><table>
+<tr>
+	<th colspan="3"><div class="tableHeader">References</div></th>
+</tr>
+<tr>
+	<th><div class="columnHeader">Name</div></th>
+	<th><div class="columnHeader">Properties</div></th>
+	<th><div class="columnHeader">Documentation</div></th>
+</tr>
+<tr>	<td><div id="dtmsqlviewsVersionedSQLViewsModule.sqlViews" class="teletype">sqlViews</div>
+	</td>
+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#dtmsqlviewsSQLView">SQLView</a></span></div>
+<div class="label">Cardinality: [0..*]</div>
+<div class="label">Containment</div>
+</td> 
+<td> <p>The SQLViews in the module.</p>
+</td>
+		</tr></table>
+<a href="#dtm_sql_views.VersionedSQLViewsModule.ref"></a>
+<h2 id="dtmsqlviewsWhereClause"><a href="#dtmsqlviewsWhereClause"><a href="#dtmsqlviewsWhereClause">WhereClause</a></a></h2>
+
+<p>WhereClause contains a boolean function used in filters and joins. This is equivalent to where clause in  SQL.   </p>
+<table>
+<tr>
+	<th colspan="3"><div class="tableHeader">References</div></th>
+</tr>
+<tr>
+	<th><div class="columnHeader">Name</div></th>
+	<th><div class="columnHeader">Properties</div></th>
+	<th><div class="columnHeader">Documentation</div></th>
+</tr>
+<tr>	<td><div id="dtmsqlviewsWhereClause.function" class="teletype">function</div>
+	</td>
+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#functionsBooleanFunction">BooleanFunction</a></span></div>
+<div class="label">Cardinality: [0..1]</div>
+<div class="label">Containment</div>
+</td> 
+<td> <p>The boolean function</p>
+</td>
+		</tr></table>
+<a href="#dtm_sql_views.WhereClause.ref"></a>
+</body>
+</html>
diff --git a/dtm_sql_views.jpg b/dtm_sql_views.jpg
new file mode 100644
index 0000000..a48d9f2
--- /dev/null
+++ b/dtm_sql_views.jpg
Binary files differ
diff --git a/functionality_module.html b/functionality_module.html
index b86767c..e03bbbd 100644
--- a/functionality_module.html
+++ b/functionality_module.html
@@ -1,9 +1,9 @@
 <!-- This file was created using the HTML documentation generator. -->
-<!-- Creation date: Sun Nov 01 11:32:39 GMT 2020-->
+<!-- Creation date: Mon Apr 05 12:29:42 BST 2021-->
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

 <html xmlns="http://www.w3.org/1999/xhtml">

 	<head>

-      	<title>Metamodel Documentation (platform:/resource/org.eclipse.efbt.cocamo.core/plugins/org.eclipse.efbt.cocamo.core.model.functionality_module/model/functionality_module.ecore)</title>

+      	<title>Metamodel Documentation (platform:/resource/org.eclipse.efbt.cocalimo.core.model.functionality_module/model/functionality_module.ecore)</title>

     	<script type="text/javascript">

 //<![CDATA[				    	

 // TOC script based on code taken from http://www.quirksmode.org/dom/toc.html

@@ -183,7 +183,7 @@
 The individual Scenarios in such a ScenarioSet are associated with different behaviour in the FunctionalityModule that we would like to test seperately. 
 Scenarios can themsleves be linked to parts of the regulatory rulebook, allowing an annotation of the behaviour we wish to test.</p>
 </td>

-		</tr><tr>	<td><div id="functionalitymoduleFunctionalityModule.usedTransformationOrScheme" class="teletype">usedTransformationOrScheme</div>

+		</tr><tr>	<td><div id="functionalitymoduleFunctionalityModule.usedModule" class="teletype">usedModule</div>

 	</td>

 	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#functionalitymoduleFunctionalityModule">FunctionalityModule</a></span></div>

 <div class="label">Cardinality: [0..1]</div>

@@ -212,6 +212,20 @@
 </td> 

 <td> <p>The  set of FunctionalityModules </p>
 </td>

+		</tr><tr>	<td><div id="functionalitymoduleFunctionalityModuleModule.SceanrioTags" class="teletype">SceanrioTags</div>

+	</td>

+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#scenariosScenarioTag">ScenarioTag</a></span></div>

+<div class="label">Cardinality: [0..*]</div>

+<div class="label">Containment</div>

+</td> 

+<td> </td>

+		</tr><tr>	<td><div id="functionalitymoduleFunctionalityModuleModule.functionalityModuleTags" class="teletype">functionalityModuleTags</div>

+	</td>

+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#functionalitymoduleFunctionalityModuleTag">FunctionalityModuleTag</a></span></div>

+<div class="label">Cardinality: [0..*]</div>

+<div class="label">Containment</div>

+</td> 

+<td> </td>

 		</tr></table>

 <a href="#functionality_module.FunctionalityModuleModule.ref"></a>

 <h2 id="functionalitymoduleFunctionalityModuleSet"><a href="#functionalitymoduleFunctionalityModuleSet"><a href="#functionalitymoduleFunctionalityModuleSet">FunctionalityModuleSet</a></a></h2>

@@ -227,7 +241,7 @@
 	<th><div class="columnHeader">Properties</div></th>

 	<th><div class="columnHeader">Documentation</div></th>

 </tr>

-<tr>	<td><div id="functionalitymoduleFunctionalityModuleSet.subTransformationsAndSchemes" class="teletype">subTransformationsAndSchemes</div>

+<tr>	<td><div id="functionalitymoduleFunctionalityModuleSet.subModules" class="teletype">subModules</div>

 	</td>

 	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#functionalitymoduleFunctionalityModule">FunctionalityModule</a></span></div>

 <div class="label">Cardinality: [0..*]</div>

diff --git a/functionality_module.jpg b/functionality_module.jpg
index aced7f1..8a0ad5b 100644
--- a/functionality_module.jpg
+++ b/functionality_module.jpg
Binary files differ
diff --git a/model_documentation.html b/model_documentation.html
index b9dc79c..5414d30 100644
--- a/model_documentation.html
+++ b/model_documentation.html
@@ -123,53 +123,45 @@
 
 <table style="width:100%">
   <tr>
+  	<th style="text-align:left">Group</th>
     <th style="text-align:left">Name</th>
     <th style="text-align:left">Class Diagram</th>
     <th style="text-align:left">Documentation</th>
   </tr>
   <tr>
+    <td>Meta Data</td>
     <td>Core</td>
     <td><a href="core.jpg">UML Class Diagram</a></td>
-      <td><a href="core.html">Documentation</a></td>
+    <td><a href="core.html">Documentation</a></td>
   </tr>
   <tr>
+    <td>Meta Data</td>
     <td>Data Definition</td>
     <td><a href="data_definition.jpg">UML Class Diagram</a></td>
       <td><a href="data_definition.html">Documentation</a>
   </tr>
   <tr>
+     <td>Meta Data</td>
     <td>EFBT Data Definition</td>
     <td><a href="efbt_data_definition.jpg">UML Class Diagram</a></td>
       <td><a href="efbt_data_definition.html">Documentation</a></td>
-  </tr>
-  
-    
-    <tr>
-    <td>VTL Transformation</td>
-    <td><a href="vtl_transformation.jpg">UML Class Diagram</a></td>
-      <td><a href="vtl_transformation.html">Documentation</a></td>
-  </tr>
-  
-  
-    <tr>
-    <td>EFBT VTL Transformation</td>
-    <td><a href="efbt_vtl_transformation.jpg">UML Class Diagram</a></td>
-      <td><a href="efbt_vtl_transformation.html">Documentation</a></td>
-  </tr>
  
  <tr>
+ 	<td>Meta Data</td>
     <td>SM Cubes</td>
     <td><a href="smcubes_model.jpg">UML Class Diagram</a></td>
       <td><a href="smcubes_model.html">Documentation</a></td>
   </tr>
  
  <tr>
+ 	 <td>Meta Data</td>
     <td>Module Management</td>
     <td><a href="module_management.jpg">UML Class Diagram</a></td>
       <td><a href="module_management.html">Documentation</a></td>
   </tr>
   
     <tr>
+    <td>AORTA</td>
     <td>Column Structured Data</td>
     <td><a href="column_structured_data.jpg">UML Class Diagram</a></td>
       <td><a href="column_structured_data.html">Documentation</a></td>
@@ -177,12 +169,14 @@
   
   
   <tr>
+  	<td>AORTA</td>
     <td>Base Column Structured Data</td>
     <td><a href="base_column_structured_data.jpg">UML Class Diagram</a></td>
       <td><a href="base_column_structured_data.html">Documentation</a></td>
   </tr>
   
   <tr>
+  <td>AORTA</td>
     <td>CocaMo Program</td>
     <td><a href="cocamo.jpg">UML Class Diagram</a></td>
       <td><a href="cocamo.html">Documentation</a></td>
@@ -191,6 +185,7 @@
   
   
     <tr>
+    <td>AORTA</td>
     <td>Functionality Module</td>
     <td><a href="functionality_module.jpg">UML Class Diagram</a></td>
       <td><a href="functionality_module.html">Documentation</a></td>
@@ -198,12 +193,14 @@
   
   
     <tr>
+    <td>AORTA</td>
     <td>Scenarios</td>
     <td><a href="scenarios.jpg">UML Class Diagram</a></td>
       <td><a href="scenarios.html">Documentation</a></td>
   </tr>
   
     <tr>
+    <td>AORTA</td>
     <td>Requirements Text</td>
     <td><a href="requirements_text.jpg">UML Class Diagram</a></td>
       <td><a href="requirements_text.html">Documentation</a></td>
@@ -211,23 +208,49 @@
   
   
     <tr>
+    <td>AORTA</td>
     <td>Test Definition</td>
     <td><a href="test_definition.jpg">UML Class Diagram</a></td>
       <td><a href="test_definition.html">Documentation</a></td>
   </tr>
   
     <tr>
+    <td>AORTA</td>
     <td>Test Input Data</td>
     <td><a href="test_input_data.jpg">UML Class Diagram</a></td>
       <td><a href="test_input_data.html">Documentation</a></td>
   </tr>
   
   
-    <tr>
+  <tr>
+    <td>AORTA</td>
     <td>Test</td>
     <td><a href="test.jpg">UML Class Diagram</a></td>
       <td><a href="test.html">Documentation</a></td>
   </tr>
+  
+   <tr>
+    <td>DaTuM</td>
+    <td>Transformations</td>
+    <td><a href="transformation.jpg">UML Class Diagram</a></td>
+      <td><a href="transformation.html">Documentation</a></td>
+  </tr>
+  
+  <tr>
+    <td>DaTuM</td>
+    <td>DTM SQL Views</td>
+    <td><a href="dtm_sql_views.jpg">UML Class Diagram</a></td>
+      <td><a href="dtm_sql_views.html">Documentation</a></td>
+  </tr>
+  
+  <tr>
+    <td>DaTuM</td>
+    <td>DTM Report Cell Views</td>
+    <td><a href="dtm_report_cell_views.jpg">UML Class Diagram</a></td>
+      <td><a href="dtm_report_cell_views.html">Documentation</a></td>
+  </tr>
+  
+  
 
   
 </table>
diff --git a/module_management.html b/module_management.html
index de7a748..175ed1b 100644
--- a/module_management.html
+++ b/module_management.html
@@ -1,5 +1,5 @@
-<!-- This file was created using the HTML documentation generator. -->
-<!-- Creation date: Mon Sep 21 17:09:31 BST 2020-->
+<!-- This file was created using the HTML documentation generator. -->

+<!-- Creation date: Mon Sep 21 17:09:31 BST 2020-->

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

 <html xmlns="http://www.w3.org/1999/xhtml">

 	<head>

@@ -150,26 +150,26 @@
 	</td>

 	<td><div class="keyValue"><span class="label">T: </span><span class="teletype">EString</span></div>

 <div class="label">Cardinality: [0..1]</div>

- </td> <td><p>The license under which this module is distributed.</p>
+ </td> <td><p>The license under which this module is distributed.</p>

 </td>

 		</tr><tr>	<td><div id="modulemanagementModule.name" class="teletype">name</div>

 	</td>

 	<td><div class="keyValue"><span class="label">T: </span><span class="teletype">EString</span></div>

 <div class="label">Cardinality: [0..1]</div>

 <div class="label">Identifier</div>

- </td> <td><p>The name of the module. This name acts as the modules identifier.</p>
+ </td> <td><p>The name of the module. This name acts as the modules identifier.</p>

 </td>

 		</tr><tr>	<td><div id="modulemanagementModule.theDescription" class="teletype">theDescription</div>

 	</td>

 	<td><div class="keyValue"><span class="label">T: </span><span class="teletype">EString</span></div>

 <div class="label">Cardinality: [0..1]</div>

- </td> <td><p>The description of the module</p>
+ </td> <td><p>The description of the module</p>

 </td>

 		</tr><tr>	<td><div id="modulemanagementModule.version" class="teletype">version</div>

 	</td>

 	<td><div class="keyValue"><span class="label">T: </span><span class="teletype">EString</span></div>

 <div class="label">Cardinality: [0..1]</div>

- </td> <td><p>The version number of the module</p>
+ </td> <td><p>The version number of the module</p>

 </td>

 		</tr></table>

 <a href="#module_management.Module.attr"></a>

@@ -188,7 +188,7 @@
 <div class="label">Cardinality: [0..1]</div>

 <div class="label">Containment</div>

 </td> 

-<td> <p>These are the modules (and their version numbers) upon which this module is dependent.</p>
+<td> <p>These are the modules (and their version numbers) upon which this module is dependent.</p>

 </td>

 		</tr><tr>	<td><div id="modulemanagementModule.longName" class="teletype">longName</div>

 	</td>

@@ -196,7 +196,7 @@
 <div class="label">Cardinality: [0..1]</div>

 <div class="label">Containment</div>

 </td> 

-<td> <p>The long name associated with the module.</p>
+<td> <p>The long name associated with the module.</p>

 </td>

 		</tr></table>

 <a href="#module_management.Module.ref"></a>

@@ -218,7 +218,7 @@
 <div class="label">Cardinality: [0..*]</div>

 <div class="label">Containment</div>

 </td> 

-<td> <p>The dependent Modules</p>
+<td> <p>The dependent Modules</p>

 </td>

 		</tr></table>

 <a href="#module_management.ModuleDependencies.ref"></a>

@@ -238,13 +238,13 @@
 	</td>

 	<td><div class="keyValue"><span class="label">T: </span><span class="teletype">EString</span></div>

 <div class="label">Cardinality: [0..1]</div>

- </td> <td><p>The name of the dependant Module</p>
+ </td> <td><p>The name of the dependant Module</p>

 </td>

 		</tr><tr>	<td><div id="modulemanagementModuleDependency.moduleVersion" class="teletype">moduleVersion</div>

 	</td>

 	<td><div class="keyValue"><span class="label">T: </span><span class="teletype">EString</span></div>

 <div class="label">Cardinality: [0..1]</div>

- </td> <td><p>The version of the dependent Module</p>
+ </td> <td><p>The version of the dependent Module</p>

 </td>

 		</tr></table>

 <a href="#module_management.ModuleDependency.attr"></a>

@@ -262,14 +262,14 @@
 	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#modulemanagementModuleLongName">ModuleLongName</a></span></div>

 <div class="label">Cardinality: [0..1]</div>

 </td> 

-<td> <p>The dependent Module</p>
+<td> <p>The dependent Module</p>

 </td>

 		</tr><tr>	<td><div id="modulemanagementModuleDependency.theModule" class="teletype">theModule</div>

 	</td>

 	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#modulemanagementModule">Module</a></span></div>

 <div class="label">Cardinality: [0..1]</div>

 </td> 

-<td> <p>The dependent Module</p>
+<td> <p>The dependent Module</p>

 </td>

 		</tr></table>

 <a href="#module_management.ModuleDependency.ref"></a>

diff --git a/platform_call.jpg b/platform_call.jpg
new file mode 100644
index 0000000..b224b74
--- /dev/null
+++ b/platform_call.jpg
Binary files differ
diff --git a/smcubes_model.html b/smcubes_model.html
index 58701ad..6542646 100644
--- a/smcubes_model.html
+++ b/smcubes_model.html
@@ -1,5 +1,5 @@
-<!-- This file was created using the HTML documentation generator. -->
-<!-- Creation date: Mon Sep 21 17:11:23 BST 2020-->
+<!-- This file was created using the HTML documentation generator. -->

+<!-- Creation date: Mon Sep 21 17:11:23 BST 2020-->

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

 <html xmlns="http://www.w3.org/1999/xhtml">

 	<head>

@@ -149,7 +149,7 @@
 	<td><div class="keyValue"><span class="label">T: </span><span class="teletype">EString</span></div>

 <div class="label">Cardinality: [0..1]</div>

 <div class="label">Identifier</div>

- </td> <td><p>The name of the SMCubesModel</p>
+ </td> <td><p>The name of the SMCubesModel</p>

 </td>

 		</tr></table>

 <a href="#smcubes_model.SmcubesModel.attr"></a>

@@ -168,7 +168,7 @@
 <div class="label">Cardinality: [0..*]</div>

 <div class="label">Containment</div>

 </td> 

-<td> <p>The Combinations</p>
+<td> <p>The Combinations</p>

 </td>

 		</tr><tr>	<td><div id="smcubesmodelSmcubesModel.cubes" class="teletype">cubes</div>

 	</td>

@@ -176,7 +176,7 @@
 <div class="label">Cardinality: [0..*]</div>

 <div class="label">Containment</div>

 </td> 

-<td> <p>The Cubes, The Cube Structures and the Cube Structure Items.</p>
+<td> <p>The Cubes, The Cube Structures and the Cube Structure Items.</p>

 </td>

 		</tr><tr>	<td><div id="smcubesmodelSmcubesModel.domains" class="teletype">domains</div>

 	</td>

@@ -184,7 +184,7 @@
 <div class="label">Cardinality: [0..*]</div>

 <div class="label">Containment</div>

 </td> 

-<td> <p>The Domains</p>
+<td> <p>The Domains</p>

 </td>

 		</tr><tr>	<td><div id="smcubesmodelSmcubesModel.functionalModules" class="teletype">functionalModules</div>

 	</td>

@@ -192,7 +192,7 @@
 <div class="label">Cardinality: [0..*]</div>

 <div class="label">Containment</div>

 </td> 

-<td> <p>The Tranformation Schemes and contained Transformations</p>
+<td> <p>The Tranformation Schemes and contained Transformations</p>

 </td>

 		</tr><tr>	<td><div id="smcubesmodelSmcubesModel.mappings" class="teletype">mappings</div>

 	</td>

@@ -200,7 +200,7 @@
 <div class="label">Cardinality: [0..*]</div>

 <div class="label">Containment</div>

 </td> 

-<td> <p>The Mappings</p>
+<td> <p>The Mappings</p>

 </td>

 		</tr><tr>	<td><div id="smcubesmodelSmcubesModel.members" class="teletype">members</div>

 	</td>

@@ -208,7 +208,7 @@
 <div class="label">Cardinality: [0..*]</div>

 <div class="label">Containment</div>

 </td> 

-<td> <p>The Members</p>
+<td> <p>The Members</p>

 </td>

 		</tr><tr>	<td><div id="smcubesmodelSmcubesModel.variables" class="teletype">variables</div>

 	</td>

@@ -216,7 +216,7 @@
 <div class="label">Cardinality: [0..*]</div>

 <div class="label">Containment</div>

 </td> 

-<td> <p>The Variables</p>
+<td> <p>The Variables</p>

 </td>

 		</tr></table>

 <a href="#smcubes_model.SmcubesModel.ref"></a>

diff --git a/test.html b/test.html
index 4e45820..c523241 100644
--- a/test.html
+++ b/test.html
@@ -1,9 +1,9 @@
 <!-- This file was created using the HTML documentation generator. -->
-<!-- Creation date: Sun Nov 01 10:46:45 GMT 2020-->
+<!-- Creation date: Mon Apr 05 12:59:00 BST 2021-->
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

 <html xmlns="http://www.w3.org/1999/xhtml">

 	<head>

-      	<title>Metamodel Documentation (platform:/resource/org.eclipse.efbt.cocamo.core.model.testing/model/test.ecore)</title>

+      	<title>Metamodel Documentation (platform:/resource/org.eclipse.efbt.cocalimo.core.model.testing/model/test.ecore)</title>

     	<script type="text/javascript">

 //<![CDATA[				    	

 // TOC script based on code taken from http://www.quirksmode.org/dom/toc.html

@@ -132,7 +132,7 @@
 <div class="">EPackage properties:</div>

 <div class="keyValue"><span class="label">Namespace Prefix: </span><span class="teletype">test</span></div>

 <div class="keyValue"><span class="label">Namespace URI: </span><span class="teletype">http://www.eclipse.org/efbt/test</span></div>

-<h2 id="testE2ETest"><a href="#testE2ETest"><a href="#testE2ETest">E2ETest</a></a></h2>

+<h2 id="testBDDTest"><a href="#testBDDTest"><a href="#testBDDTest">BDDTest</a></a></h2>

 

 <p>An end to end test</p>

 <h4><b>Supertype:</b><a href="#testTest">Test</a></h4><table>

@@ -144,21 +144,40 @@
 	<th><div class="columnHeader">Properties</div></th>

 	<th><div class="columnHeader">Documentation</div></th>

 </tr>

-<tr>	<td><div id="testE2ETest.testDefinition" class="teletype">testDefinition</div>

+<tr>	<td><div id="testBDDTest.testDefinition" class="teletype">testDefinition</div>

 	</td>

-	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#testdefinitionE2ETestDefinition">E2ETestDefinition</a></span></div>

+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#testdefinitionBDDTestDefinition">BDDTestDefinition</a></span></div>

 <div class="label">Cardinality: [0..1]</div>

 </td> 

 <td> <p>The TesDefinition associated with the test</p>
 </td>

 		</tr></table>

-<a href="#test.E2ETest.ref"></a>

+<a href="#test.BDDTest.ref"></a>

+<h2 id="testRegFunctionalityTest"><a href="#testRegFunctionalityTest"><a href="#testRegFunctionalityTest">RegFunctionalityTest</a></a></h2>

+

+<p>A Test</p>

+<h4><b>Supertype:</b><a href="#testTest">Test</a></h4><table>

+<tr>

+	<th colspan="3"><div class="tableHeader">References</div></th>

+</tr>

+<tr>

+	<th><div class="columnHeader">Name</div></th>

+	<th><div class="columnHeader">Properties</div></th>

+	<th><div class="columnHeader">Documentation</div></th>

+</tr>

+<tr>	<td><div id="testRegFunctionalityTest.testDefinition" class="teletype">testDefinition</div>

+	</td>

+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#testdefinitionRegFunctionalityTestDefinition">RegFunctionalityTestDefinition</a></span></div>

+<div class="label">Cardinality: [0..1]</div>

+</td> 

+<td> </td>

+		</tr></table>

+<a href="#test.RegFunctionalityTest.ref"></a>

 <h2 id="testResult"><a href="#testResult"><a href="#testResult">Result</a></a></h2>

 

 <p>A result or expected results of a test</p>

 <h2 id="testTest"><a href="#testTest"><a href="#testTest">Test</a></a></h2>

 

-<p>A Test</p>

 <table>

 <tr>

 	<th colspan="3"><div class="tableHeader">Attributes</div></th>

diff --git a/test.jpg b/test.jpg
index 9234ce8..28e1952 100644
--- a/test.jpg
+++ b/test.jpg
Binary files differ
diff --git a/test_definition.html b/test_definition.html
index e3e6e0f..2599d81 100644
--- a/test_definition.html
+++ b/test_definition.html
@@ -1,9 +1,9 @@
 <!-- This file was created using the HTML documentation generator. -->
-<!-- Creation date: Sun Nov 01 10:46:37 GMT 2020-->
+<!-- Creation date: Mon Apr 05 12:55:10 BST 2021-->
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

 <html xmlns="http://www.w3.org/1999/xhtml">

 	<head>

-      	<title>Metamodel Documentation (platform:/resource/org.eclipse.efbt.cocamo.core.model.testing/model/test_definition.ecore)</title>

+      	<title>Metamodel Documentation (platform:/resource/org.eclipse.efbt.cocalimo.core.model.testing/model/test_definition.ecore)</title>

     	<script type="text/javascript">

 //<![CDATA[				    	

 // TOC script based on code taken from http://www.quirksmode.org/dom/toc.html

@@ -137,6 +137,268 @@
 <div class="">EPackage properties:</div>

 <div class="keyValue"><span class="label">Namespace Prefix: </span><span class="teletype">test_definition</span></div>

 <div class="keyValue"><span class="label">Namespace URI: </span><span class="teletype">http://www.eclipse.org/efbt/test_definition</span></div>

+<h2 id="testdefinitionBDDTestConstraintsModule"><a href="#testdefinitionBDDTestConstraintsModule"><a href="#testdefinitionBDDTestConstraintsModule">BDDTestConstraintsModule</a></a></h2>

+

+<p>A module containing a set of TestContraints</p>

+<h4><b>Supertype:</b><a href="#modulemanagementModule">Module</a></h4><table>

+<tr>

+	<th colspan="3"><div class="tableHeader">References</div></th>

+</tr>

+<tr>

+	<th><div class="columnHeader">Name</div></th>

+	<th><div class="columnHeader">Properties</div></th>

+	<th><div class="columnHeader">Documentation</div></th>

+</tr>

+<tr>	<td><div id="testdefinitionBDDTestConstraintsModule.coverageTestSets" class="teletype">coverageTestSets</div>

+	</td>

+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#testdefinitionBDDTestContraints">BDDTestContraints</a></span></div>

+<div class="label">Cardinality: [0..*]</div>

+<div class="label">Containment</div>

+</td> 

+<td> <p>The TestConstraints</p>
+</td>

+		</tr></table>

+<a href="#test_definition.BDDTestConstraintsModule.ref"></a>

+<h2 id="testdefinitionBDDTestContraints"><a href="#testdefinitionBDDTestContraints"><a href="#testdefinitionBDDTestContraints">BDDTestContraints</a></a></h2>

+

+<p>a set of  contraints upon the parameters described in an associated Test Template</p>

+<table>

+<tr>

+	<th colspan="3"><div class="tableHeader">Attributes</div></th>

+</tr>

+<tr>

+	<th><div class="columnHeader">Name</div></th>

+	<th><div class="columnHeader">Properties</div></th>

+	<th><div class="columnHeader">Documentation</div></th>

+</tr>

+<tr>	<td><div id="testdefinitionBDDTestContraints.name" class="teletype">name</div>

+	</td>

+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype">EString</span></div>

+<div class="label">Cardinality: [0..1]</div>

+<div class="label">Identifier</div>

+ </td> <td><p>The name, and unique ID, of the constraints</p>
+</td>

+		</tr></table>

+<a href="#test_definition.BDDTestContraints.attr"></a>

+<table>

+<tr>

+	<th colspan="3"><div class="tableHeader">References</div></th>

+</tr>

+<tr>

+	<th><div class="columnHeader">Name</div></th>

+	<th><div class="columnHeader">Properties</div></th>

+	<th><div class="columnHeader">Documentation</div></th>

+</tr>

+<tr>	<td><div id="testdefinitionBDDTestContraints.givenParams" class="teletype">givenParams</div>

+	</td>

+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#testdefinitionParam">Param</a></span></div>

+<div class="label">Cardinality: [0..*]</div>

+<div class="label">Containment</div>

+</td> 

+<td> <p>A set of constraints for the parameterization of the individual parameters of the given clause of a test template. 
+In a test definition which refers to this constraint, then for each parameter, only child elements of the objects chosen in this constraints information can be selected.
+This constrant is technically  enforce using scoping rules. </p>
+</td>

+		</tr><tr>	<td><div id="testdefinitionBDDTestContraints.template" class="teletype">template</div>

+	</td>

+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#testdefinitionBDDTestTemplate">BDDTestTemplate</a></span></div>

+<div class="label">Cardinality: [0..1]</div>

+</td> 

+<td> <p>The associated Test Template</p>
+</td>

+		</tr><tr>	<td><div id="testdefinitionBDDTestContraints.thenParams" class="teletype">thenParams</div>

+	</td>

+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#testdefinitionParam">Param</a></span></div>

+<div class="label">Cardinality: [0..*]</div>

+<div class="label">Containment</div>

+</td> 

+<td> <p>A set of constraints for the parameterization of the individual parameters of the then clause of a test template. 
+In a test definition which refers to this constraint, then for each parameter, only child elements of the objects chosen in this constraints information can be selected.
+This constrant is technically  enforce using scoping rules. </p>
+</td>

+		</tr><tr>	<td><div id="testdefinitionBDDTestContraints.whenParams" class="teletype">whenParams</div>

+	</td>

+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#testdefinitionParam">Param</a></span></div>

+<div class="label">Cardinality: [0..*]</div>

+<div class="label">Containment</div>

+</td> 

+<td> <p>A set of constraints for the parameterization of the individual parameters of the when clause of a test template. 
+In a test definition which refers to this constraint, then for each parameter, only child elements of the objects chosen in this constraints information can be selected.
+This constrant is technically  enforce using scoping rules. </p>
+</td>

+		</tr></table>

+<a href="#test_definition.BDDTestContraints.ref"></a>

+<h2 id="testdefinitionBDDTestDefinition"><a href="#testdefinitionBDDTestDefinition"><a href="#testdefinitionBDDTestDefinition">BDDTestDefinition</a></a></h2>

+

+<p>A TestDefinition decribes a parameterised test. It references a TestConstraint that it meets, which in turn references a TestTemplate that it meets to define the parameters that must be set and their expected types provided by example.</p>

+<h4><b>Supertype:</b><a href="#testdefinitionTestDefinition">TestDefinition</a></h4><table>

+<tr>

+	<th colspan="3"><div class="tableHeader">References</div></th>

+</tr>

+<tr>

+	<th><div class="columnHeader">Name</div></th>

+	<th><div class="columnHeader">Properties</div></th>

+	<th><div class="columnHeader">Documentation</div></th>

+</tr>

+<tr>	<td><div id="testdefinitionBDDTestDefinition.given" class="teletype">given</div>

+	</td>

+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#testdefinitionGiven">Given</a></span></div>

+<div class="label">Cardinality: [0..1]</div>

+<div class="label">Containment</div>

+</td> 

+<td> <p>The given clause of the test</p>
+</td>

+		</tr><tr>	<td><div id="testdefinitionBDDTestDefinition.testContraints" class="teletype">testContraints</div>

+	</td>

+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#testdefinitionBDDTestContraints">BDDTestContraints</a></span></div>

+<div class="label">Cardinality: [0..1]</div>

+</td> 

+<td> <p>The constraints met by the TestDefinition</p>
+</td>

+		</tr><tr>	<td><div id="testdefinitionBDDTestDefinition.then" class="teletype">then</div>

+	</td>

+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#testdefinitionThen">Then</a></span></div>

+<div class="label">Cardinality: [0..1]</div>

+<div class="label">Containment</div>

+</td> 

+<td> <p>The then clause of the test</p>
+</td>

+		</tr><tr>	<td><div id="testdefinitionBDDTestDefinition.when" class="teletype">when</div>

+	</td>

+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#testdefinitionWhen">When</a></span></div>

+<div class="label">Cardinality: [0..1]</div>

+<div class="label">Containment</div>

+</td> 

+<td> <p>The when clause of the test</p>
+</td>

+		</tr></table>

+<a href="#test_definition.BDDTestDefinition.ref"></a>

+<h2 id="testdefinitionBDDTestDefinitionModule"><a href="#testdefinitionBDDTestDefinitionModule"><a href="#testdefinitionBDDTestDefinitionModule">BDDTestDefinitionModule</a></a></h2>

+

+<p>A module containing a set of TestDefinitions</p>

+<h4><b>Supertype:</b><a href="#modulemanagementModule">Module</a></h4><table>

+<tr>

+	<th colspan="3"><div class="tableHeader">References</div></th>

+</tr>

+<tr>

+	<th><div class="columnHeader">Name</div></th>

+	<th><div class="columnHeader">Properties</div></th>

+	<th><div class="columnHeader">Documentation</div></th>

+</tr>

+<tr>	<td><div id="testdefinitionBDDTestDefinitionModule.testDefinitions" class="teletype">testDefinitions</div>

+	</td>

+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#testdefinitionBDDTestDefinition">BDDTestDefinition</a></span></div>

+<div class="label">Cardinality: [0..*]</div>

+<div class="label">Containment</div>

+</td> 

+<td> <p>The TestDefinitions</p>
+</td>

+		</tr></table>

+<a href="#test_definition.BDDTestDefinitionModule.ref"></a>

+<h2 id="testdefinitionBDDTestTemplate"><a href="#testdefinitionBDDTestTemplate"><a href="#testdefinitionBDDTestTemplate">BDDTestTemplate</a></a></h2>

+

+<p>A TestTemplates describes what parameters exist in the given when and then clauses of a TestDefinition. 

+It also gives and example of one valid setting for each Parameter, this is an easy way to set the type of the parameter by example.

+The actual parameters of the TestDefintion should be set to objects of the same type as the example parmater, and should meet the contraints defined int he TestConstraints associated with the TestDefinition.</p>

+<table>

+<tr>

+	<th colspan="3"><div class="tableHeader">Attributes</div></th>

+</tr>

+<tr>

+	<th><div class="columnHeader">Name</div></th>

+	<th><div class="columnHeader">Properties</div></th>

+	<th><div class="columnHeader">Documentation</div></th>

+</tr>

+<tr>	<td><div id="testdefinitionBDDTestTemplate.name" class="teletype">name</div>

+	</td>

+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype">EString</span></div>

+<div class="label">Cardinality: [0..1]</div>

+<div class="label">Identifier</div>

+ </td> <td><p>The name, and id, of the TestTemplate</p>
+</td>

+		</tr></table>

+<a href="#test_definition.BDDTestTemplate.attr"></a>

+<table>

+<tr>

+	<th colspan="3"><div class="tableHeader">References</div></th>

+</tr>

+<tr>

+	<th><div class="columnHeader">Name</div></th>

+	<th><div class="columnHeader">Properties</div></th>

+	<th><div class="columnHeader">Documentation</div></th>

+</tr>

+<tr>	<td><div id="testdefinitionBDDTestTemplate.givenParams" class="teletype">givenParams</div>

+	</td>

+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#testdefinitionParam">Param</a></span></div>

+<div class="label">Cardinality: [0..*]</div>

+<div class="label">Containment</div>

+</td> 

+<td> <p>The parameters of the given clause</p>
+</td>

+		</tr><tr>	<td><div id="testdefinitionBDDTestTemplate.givenText" class="teletype">givenText</div>

+	</td>

+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#testdefinitionClauseText">ClauseText</a></span></div>

+<div class="label">Cardinality: [0..1]</div>

+<div class="label">Containment</div>

+</td> 

+<td> <p>The text of the given clause</p>
+</td>

+		</tr><tr>	<td><div id="testdefinitionBDDTestTemplate.thenParams" class="teletype">thenParams</div>

+	</td>

+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#testdefinitionParam">Param</a></span></div>

+<div class="label">Cardinality: [0..*]</div>

+<div class="label">Containment</div>

+</td> 

+<td> <p>The parameters of the then clause</p>
+</td>

+		</tr><tr>	<td><div id="testdefinitionBDDTestTemplate.thenText" class="teletype">thenText</div>

+	</td>

+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#testdefinitionClauseText">ClauseText</a></span></div>

+<div class="label">Cardinality: [0..1]</div>

+<div class="label">Containment</div>

+</td> 

+<td> <p>The text of the then clause</p>
+</td>

+		</tr><tr>	<td><div id="testdefinitionBDDTestTemplate.whenParams" class="teletype">whenParams</div>

+	</td>

+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#testdefinitionParam">Param</a></span></div>

+<div class="label">Cardinality: [0..*]</div>

+<div class="label">Containment</div>

+</td> 

+<td> <p>The parameters of the when clause</p>
+</td>

+		</tr><tr>	<td><div id="testdefinitionBDDTestTemplate.whenText" class="teletype">whenText</div>

+	</td>

+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#testdefinitionClauseText">ClauseText</a></span></div>

+<div class="label">Cardinality: [0..1]</div>

+<div class="label">Containment</div>

+</td> 

+<td> <p>The text of the when  clause</p>
+</td>

+		</tr></table>

+<a href="#test_definition.BDDTestTemplate.ref"></a>

+<h2 id="testdefinitionBDDTestTemplateModule"><a href="#testdefinitionBDDTestTemplateModule"><a href="#testdefinitionBDDTestTemplateModule">BDDTestTemplateModule</a></a></h2>

+

+<p>A Module with a set of TestTemplates</p>

+<h4><b>Supertype:</b><a href="#modulemanagementModule">Module</a></h4><table>

+<tr>

+	<th colspan="3"><div class="tableHeader">References</div></th>

+</tr>

+<tr>

+	<th><div class="columnHeader">Name</div></th>

+	<th><div class="columnHeader">Properties</div></th>

+	<th><div class="columnHeader">Documentation</div></th>

+</tr>

+<tr>	<td><div id="testdefinitionBDDTestTemplateModule.templates" class="teletype">templates</div>

+	</td>

+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#testdefinitionBDDTestTemplate">BDDTestTemplate</a></span></div>

+<div class="label">Cardinality: [0..*]</div>

+<div class="label">Containment</div>

+</td> 

+<td> <p>The templates</p>
+</td>

+		</tr></table>

+<a href="#test_definition.BDDTestTemplateModule.ref"></a>

 <h2 id="testdefinitionClause"><a href="#testdefinitionClause"><a href="#testdefinitionClause">Clause</a></a></h2>

 

 <p>A cluase, i.e a given when or then clause.</p>

@@ -234,7 +496,7 @@
 </td>

 		</tr><tr>	<td><div id="testdefinitionCoverageGrid.coverageTestSet" class="teletype">coverageTestSet</div>

 	</td>

-	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#testdefinitionTestContraints">TestContraints</a></span></div>

+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#testdefinitionBDDTestContraints">BDDTestContraints</a></span></div>

 <div class="label">Cardinality: [0..1]</div>

 </td> 

 <td> <p>The Test Constraint</p>
@@ -278,10 +540,10 @@
 </td>

 		</tr></table>

 <a href="#test_definition.CoverageGridPoint.ref"></a>

-<h2 id="testdefinitionE2ETestDefinition"><a href="#testdefinitionE2ETestDefinition"><a href="#testdefinitionE2ETestDefinition">E2ETestDefinition</a></a></h2>

+<h2 id="testdefinitionE2EBDDTestDefinition"><a href="#testdefinitionE2EBDDTestDefinition"><a href="#testdefinitionE2EBDDTestDefinition">E2EBDDTestDefinition</a></a></h2>

 

 <p>A TestDefinition which represents and End To End Test</p>

-<h4><b>Supertype:</b><a href="#testdefinitionTestDefinition">TestDefinition</a></h4><h2 id="testdefinitionGiven"><a href="#testdefinitionGiven"><a href="#testdefinitionGiven">Given</a></a></h2>

+<h4><b>Supertype:</b><a href="#testdefinitionBDDTestDefinition">BDDTestDefinition</a></h4><h2 id="testdefinitionGiven"><a href="#testdefinitionGiven"><a href="#testdefinitionGiven">Given</a></a></h2>

 

 <p>A Given clause</p>

 <h4><b>Supertype:</b><a href="#testdefinitionClause">Clause</a></h4><h2 id="testdefinitionParam"><a href="#testdefinitionParam"><a href="#testdefinitionParam">Param</a></a></h2>

@@ -305,9 +567,46 @@
 </td>

 		</tr></table>

 <a href="#test_definition.Param.ref"></a>

-<h2 id="testdefinitionTestConstraintsModule"><a href="#testdefinitionTestConstraintsModule"><a href="#testdefinitionTestConstraintsModule">TestConstraintsModule</a></a></h2>

+<h2 id="testdefinitionRegFunctionalityTestDefinition"><a href="#testdefinitionRegFunctionalityTestDefinition"><a href="#testdefinitionRegFunctionalityTestDefinition">RegFunctionalityTestDefinition</a></a></h2>

 

-<p>A module containing a set of TestContraints</p>

+<h4><b>Supertype:</b><a href="#testdefinitionTestDefinition">TestDefinition</a></h4><table>

+<tr>

+	<th colspan="3"><div class="tableHeader">References</div></th>

+</tr>

+<tr>

+	<th><div class="columnHeader">Name</div></th>

+	<th><div class="columnHeader">Properties</div></th>

+	<th><div class="columnHeader">Documentation</div></th>

+</tr>

+<tr>	<td><div id="testdefinitionRegFunctionalityTestDefinition.inputModules" class="teletype">inputModules</div>

+	</td>

+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#functionalitymoduleReadDataSourceFunctionalityModule">ReadDataSourceFunctionalityModule</a></span></div>

+<div class="label">Cardinality: [0..*]</div>

+</td> 

+<td> </td>

+		</tr><tr>	<td><div id="testdefinitionRegFunctionalityTestDefinition.processingModules" class="teletype">processingModules</div>

+	</td>

+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#functionalitymoduleFunctionalityModule">FunctionalityModule</a></span></div>

+<div class="label">Cardinality: [0..*]</div>

+</td> 

+<td> </td>

+		</tr><tr>	<td><div id="testdefinitionRegFunctionalityTestDefinition.reportCellCreationModules" class="teletype">reportCellCreationModules</div>

+	</td>

+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#functionalitymoduleReportCellCreationFunctionalityModule">ReportCellCreationFunctionalityModule</a></span></div>

+<div class="label">Cardinality: [0..*]</div>

+</td> 

+<td> </td>

+		</tr><tr>	<td><div id="testdefinitionRegFunctionalityTestDefinition.scenarios" class="teletype">scenarios</div>

+	</td>

+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#scenariosScenario">Scenario</a></span></div>

+<div class="label">Cardinality: [0..*]</div>

+</td> 

+<td> </td>

+		</tr></table>

+<a href="#test_definition.RegFunctionalityTestDefinition.ref"></a>

+<h2 id="testdefinitionRegFunctionalityTestDefinitionModule"><a href="#testdefinitionRegFunctionalityTestDefinitionModule"><a href="#testdefinitionRegFunctionalityTestDefinitionModule">RegFunctionalityTestDefinitionModule</a></a></h2>

+

+<p>A module containing a set of TestDefinitions</p>

 <h4><b>Supertype:</b><a href="#modulemanagementModule">Module</a></h4><table>

 <tr>

 	<th colspan="3"><div class="tableHeader">References</div></th>

@@ -317,85 +616,16 @@
 	<th><div class="columnHeader">Properties</div></th>

 	<th><div class="columnHeader">Documentation</div></th>

 </tr>

-<tr>	<td><div id="testdefinitionTestConstraintsModule.coverageTestSets" class="teletype">coverageTestSets</div>

+<tr>	<td><div id="testdefinitionRegFunctionalityTestDefinitionModule.testDefinitions" class="teletype">testDefinitions</div>

 	</td>

-	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#testdefinitionTestContraints">TestContraints</a></span></div>

+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#testdefinitionRegFunctionalityTestDefinition">RegFunctionalityTestDefinition</a></span></div>

 <div class="label">Cardinality: [0..*]</div>

 <div class="label">Containment</div>

 </td> 

-<td> <p>The TestConstraints</p>
+<td> <p>The TestDefinitions</p>
 </td>

 		</tr></table>

-<a href="#test_definition.TestConstraintsModule.ref"></a>

-<h2 id="testdefinitionTestContraints"><a href="#testdefinitionTestContraints"><a href="#testdefinitionTestContraints">TestContraints</a></a></h2>

-

-<p>a set of  contraints upon the parameters described in an associated Test Template</p>

-<table>

-<tr>

-	<th colspan="3"><div class="tableHeader">Attributes</div></th>

-</tr>

-<tr>

-	<th><div class="columnHeader">Name</div></th>

-	<th><div class="columnHeader">Properties</div></th>

-	<th><div class="columnHeader">Documentation</div></th>

-</tr>

-<tr>	<td><div id="testdefinitionTestContraints.name" class="teletype">name</div>

-	</td>

-	<td><div class="keyValue"><span class="label">T: </span><span class="teletype">EString</span></div>

-<div class="label">Cardinality: [0..1]</div>

-<div class="label">Identifier</div>

- </td> <td><p>The name, and unique ID, of the constraints</p>
-</td>

-		</tr></table>

-<a href="#test_definition.TestContraints.attr"></a>

-<table>

-<tr>

-	<th colspan="3"><div class="tableHeader">References</div></th>

-</tr>

-<tr>

-	<th><div class="columnHeader">Name</div></th>

-	<th><div class="columnHeader">Properties</div></th>

-	<th><div class="columnHeader">Documentation</div></th>

-</tr>

-<tr>	<td><div id="testdefinitionTestContraints.givenParams" class="teletype">givenParams</div>

-	</td>

-	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#testdefinitionParam">Param</a></span></div>

-<div class="label">Cardinality: [0..*]</div>

-<div class="label">Containment</div>

-</td> 

-<td> <p>A set of constraints for the parameterization of the individual parameters of the given clause of a test template. 
-In a test definition which refers to this constraint, then for each parameter, only child elements of the objects chosen in this constraints information can be selected.
-This constrant is technically  enforce using scoping rules. </p>
-</td>

-		</tr><tr>	<td><div id="testdefinitionTestContraints.template" class="teletype">template</div>

-	</td>

-	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#testdefinitionTestTemplate">TestTemplate</a></span></div>

-<div class="label">Cardinality: [0..1]</div>

-</td> 

-<td> <p>The associated Test Template</p>
-</td>

-		</tr><tr>	<td><div id="testdefinitionTestContraints.thenParams" class="teletype">thenParams</div>

-	</td>

-	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#testdefinitionParam">Param</a></span></div>

-<div class="label">Cardinality: [0..*]</div>

-<div class="label">Containment</div>

-</td> 

-<td> <p>A set of constraints for the parameterization of the individual parameters of the then clause of a test template. 
-In a test definition which refers to this constraint, then for each parameter, only child elements of the objects chosen in this constraints information can be selected.
-This constrant is technically  enforce using scoping rules. </p>
-</td>

-		</tr><tr>	<td><div id="testdefinitionTestContraints.whenParams" class="teletype">whenParams</div>

-	</td>

-	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#testdefinitionParam">Param</a></span></div>

-<div class="label">Cardinality: [0..*]</div>

-<div class="label">Containment</div>

-</td> 

-<td> <p>A set of constraints for the parameterization of the individual parameters of the when clause of a test template. 
-In a test definition which refers to this constraint, then for each parameter, only child elements of the objects chosen in this constraints information can be selected.
-This constrant is technically  enforce using scoping rules. </p>
-</td>

-		</tr></table>

-<a href="#test_definition.TestContraints.ref"></a>

+<a href="#test_definition.RegFunctionalityTestDefinitionModule.ref"></a>

 <h2 id="testdefinitionTestDefinition"><a href="#testdefinitionTestDefinition"><a href="#testdefinitionTestDefinition">TestDefinition</a></a></h2>

 

 <p>A TestDefinition decribes a parameterised test. It references a TestConstraint that it meets, which in turn references a TestTemplate that it meets to define the parameters that must be set and their expected types provided by example.</p>

@@ -417,181 +647,13 @@
 </td>

 		</tr></table>

 <a href="#test_definition.TestDefinition.attr"></a>

-<table>

-<tr>

-	<th colspan="3"><div class="tableHeader">References</div></th>

-</tr>

-<tr>

-	<th><div class="columnHeader">Name</div></th>

-	<th><div class="columnHeader">Properties</div></th>

-	<th><div class="columnHeader">Documentation</div></th>

-</tr>

-<tr>	<td><div id="testdefinitionTestDefinition.given" class="teletype">given</div>

-	</td>

-	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#testdefinitionGiven">Given</a></span></div>

-<div class="label">Cardinality: [0..1]</div>

-<div class="label">Containment</div>

-</td> 

-<td> <p>The given clause of the test</p>
-</td>

-		</tr><tr>	<td><div id="testdefinitionTestDefinition.testContraints" class="teletype">testContraints</div>

-	</td>

-	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#testdefinitionTestContraints">TestContraints</a></span></div>

-<div class="label">Cardinality: [0..1]</div>

-</td> 

-<td> <p>The constraints met by the TestDefinition</p>
-</td>

-		</tr><tr>	<td><div id="testdefinitionTestDefinition.then" class="teletype">then</div>

-	</td>

-	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#testdefinitionThen">Then</a></span></div>

-<div class="label">Cardinality: [0..1]</div>

-<div class="label">Containment</div>

-</td> 

-<td> <p>The then clause of the test</p>
-</td>

-		</tr><tr>	<td><div id="testdefinitionTestDefinition.when" class="teletype">when</div>

-	</td>

-	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#testdefinitionWhen">When</a></span></div>

-<div class="label">Cardinality: [0..1]</div>

-<div class="label">Containment</div>

-</td> 

-<td> <p>The when clause of the test</p>
-</td>

-		</tr></table>

-<a href="#test_definition.TestDefinition.ref"></a>

-<h2 id="testdefinitionTestDefinitionModule"><a href="#testdefinitionTestDefinitionModule"><a href="#testdefinitionTestDefinitionModule">TestDefinitionModule</a></a></h2>

-

-<p>A module containing a set of TestDefinitions</p>

-<h4><b>Supertype:</b><a href="#modulemanagementModule">Module</a></h4><table>

-<tr>

-	<th colspan="3"><div class="tableHeader">References</div></th>

-</tr>

-<tr>

-	<th><div class="columnHeader">Name</div></th>

-	<th><div class="columnHeader">Properties</div></th>

-	<th><div class="columnHeader">Documentation</div></th>

-</tr>

-<tr>	<td><div id="testdefinitionTestDefinitionModule.testDefinitions" class="teletype">testDefinitions</div>

-	</td>

-	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#testdefinitionTestDefinition">TestDefinition</a></span></div>

-<div class="label">Cardinality: [0..*]</div>

-<div class="label">Containment</div>

-</td> 

-<td> <p>The TestDefinitions</p>
-</td>

-		</tr></table>

-<a href="#test_definition.TestDefinitionModule.ref"></a>

-<h2 id="testdefinitionTestTemplate"><a href="#testdefinitionTestTemplate"><a href="#testdefinitionTestTemplate">TestTemplate</a></a></h2>

-

-<p>A TestTemplates describes what parameters exist in the given when and then clauses of a TestDefinition. 

-It also gives and example of one valid setting for each Parameter, this is an easy way to set the type of the parameter by example.

-The actual parameters of the TestDefintion should be set to objects of the same type as the example parmater, and should meet the contraints defined int he TestConstraints associated with the TestDefinition.</p>

-<table>

-<tr>

-	<th colspan="3"><div class="tableHeader">Attributes</div></th>

-</tr>

-<tr>

-	<th><div class="columnHeader">Name</div></th>

-	<th><div class="columnHeader">Properties</div></th>

-	<th><div class="columnHeader">Documentation</div></th>

-</tr>

-<tr>	<td><div id="testdefinitionTestTemplate.name" class="teletype">name</div>

-	</td>

-	<td><div class="keyValue"><span class="label">T: </span><span class="teletype">EString</span></div>

-<div class="label">Cardinality: [0..1]</div>

-<div class="label">Identifier</div>

- </td> <td><p>The name, and id, of the TestTemplate</p>
-</td>

-		</tr></table>

-<a href="#test_definition.TestTemplate.attr"></a>

-<table>

-<tr>

-	<th colspan="3"><div class="tableHeader">References</div></th>

-</tr>

-<tr>

-	<th><div class="columnHeader">Name</div></th>

-	<th><div class="columnHeader">Properties</div></th>

-	<th><div class="columnHeader">Documentation</div></th>

-</tr>

-<tr>	<td><div id="testdefinitionTestTemplate.givenParams" class="teletype">givenParams</div>

-	</td>

-	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#testdefinitionParam">Param</a></span></div>

-<div class="label">Cardinality: [0..*]</div>

-<div class="label">Containment</div>

-</td> 

-<td> <p>The parameters of the given clause</p>
-</td>

-		</tr><tr>	<td><div id="testdefinitionTestTemplate.givenText" class="teletype">givenText</div>

-	</td>

-	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#testdefinitionClauseText">ClauseText</a></span></div>

-<div class="label">Cardinality: [0..1]</div>

-<div class="label">Containment</div>

-</td> 

-<td> <p>The text of the given clause</p>
-</td>

-		</tr><tr>	<td><div id="testdefinitionTestTemplate.thenParams" class="teletype">thenParams</div>

-	</td>

-	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#testdefinitionParam">Param</a></span></div>

-<div class="label">Cardinality: [0..*]</div>

-<div class="label">Containment</div>

-</td> 

-<td> <p>The parameters of the then clause</p>
-</td>

-		</tr><tr>	<td><div id="testdefinitionTestTemplate.thenText" class="teletype">thenText</div>

-	</td>

-	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#testdefinitionClauseText">ClauseText</a></span></div>

-<div class="label">Cardinality: [0..1]</div>

-<div class="label">Containment</div>

-</td> 

-<td> <p>The text of the then clause</p>
-</td>

-		</tr><tr>	<td><div id="testdefinitionTestTemplate.whenParams" class="teletype">whenParams</div>

-	</td>

-	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#testdefinitionParam">Param</a></span></div>

-<div class="label">Cardinality: [0..*]</div>

-<div class="label">Containment</div>

-</td> 

-<td> <p>The parameters of the when clause</p>
-</td>

-		</tr><tr>	<td><div id="testdefinitionTestTemplate.whenText" class="teletype">whenText</div>

-	</td>

-	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#testdefinitionClauseText">ClauseText</a></span></div>

-<div class="label">Cardinality: [0..1]</div>

-<div class="label">Containment</div>

-</td> 

-<td> <p>The text of the when  clause</p>
-</td>

-		</tr></table>

-<a href="#test_definition.TestTemplate.ref"></a>

-<h2 id="testdefinitionTestTemplateModule"><a href="#testdefinitionTestTemplateModule"><a href="#testdefinitionTestTemplateModule">TestTemplateModule</a></a></h2>

-

-<p>A Module with a set of TestTemplates</p>

-<h4><b>Supertype:</b><a href="#modulemanagementModule">Module</a></h4><table>

-<tr>

-	<th colspan="3"><div class="tableHeader">References</div></th>

-</tr>

-<tr>

-	<th><div class="columnHeader">Name</div></th>

-	<th><div class="columnHeader">Properties</div></th>

-	<th><div class="columnHeader">Documentation</div></th>

-</tr>

-<tr>	<td><div id="testdefinitionTestTemplateModule.templates" class="teletype">templates</div>

-	</td>

-	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#testdefinitionTestTemplate">TestTemplate</a></span></div>

-<div class="label">Cardinality: [0..*]</div>

-<div class="label">Containment</div>

-</td> 

-<td> <p>The templates</p>
-</td>

-		</tr></table>

-<a href="#test_definition.TestTemplateModule.ref"></a>

 <h2 id="testdefinitionThen"><a href="#testdefinitionThen"><a href="#testdefinitionThen">Then</a></a></h2>

 

 <p>A Then clause</p>

 <h4><b>Supertype:</b><a href="#testdefinitionClause">Clause</a></h4><h2 id="testdefinitionUnitTestDefinition"><a href="#testdefinitionUnitTestDefinition"><a href="#testdefinitionUnitTestDefinition">UnitTestDefinition</a></a></h2>

 

 <p>A TestDefinition which represents a Unit  Test</p>

-<h4><b>Supertype:</b><a href="#testdefinitionTestDefinition">TestDefinition</a></h4><h2 id="testdefinitionWhen"><a href="#testdefinitionWhen"><a href="#testdefinitionWhen">When</a></a></h2>

+<h4><b>Supertype:</b><a href="#testdefinitionBDDTestDefinition">BDDTestDefinition</a></h4><h2 id="testdefinitionWhen"><a href="#testdefinitionWhen"><a href="#testdefinitionWhen">When</a></a></h2>

 

 <p>A When clause</p>

 <h4><b>Supertype:</b><a href="#testdefinitionClause">Clause</a></h4></body>

diff --git a/test_definition.jpg b/test_definition.jpg
index 422d9a7..29b2221 100644
--- a/test_definition.jpg
+++ b/test_definition.jpg
Binary files differ
diff --git a/test_input_data.html b/test_input_data.html
index bda9a72..9e89f5a 100644
--- a/test_input_data.html
+++ b/test_input_data.html
@@ -1,9 +1,9 @@
 <!-- This file was created using the HTML documentation generator. -->
-<!-- Creation date: Sun Nov 01 10:46:41 GMT 2020-->
+<!-- Creation date: Mon Apr 05 12:56:55 BST 2021-->
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

 <html xmlns="http://www.w3.org/1999/xhtml">

 	<head>

-      	<title>Metamodel Documentation (platform:/resource/org.eclipse.efbt.cocamo.core.model.testing/model/test_input_data.ecore)</title>

+      	<title>Metamodel Documentation (platform:/resource/org.eclipse.efbt.cocalimo.core.model.testing/model/test_input_data.ecore)</title>

     	<script type="text/javascript">

 //<![CDATA[				    	

 // TOC script based on code taken from http://www.quirksmode.org/dom/toc.html

diff --git a/test_input_data.jpg b/test_input_data.jpg
index b8f40b4..fa56307 100644
--- a/test_input_data.jpg
+++ b/test_input_data.jpg
Binary files differ
diff --git a/transformation.html b/transformation.html
new file mode 100644
index 0000000..6f0afc8
--- /dev/null
+++ b/transformation.html
@@ -0,0 +1,405 @@
+<!-- This file was created using the HTML documentation generator. -->
+<!-- Creation date: Mon Apr 05 13:15:06 BST 2021-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+	<head>
+      	<title>Metamodel Documentation (platform:/resource/org.eclipse.efbt.cocalimo.dtm.model.core/model/transformation.ecore)</title>
+    	<script type="text/javascript">
+//<![CDATA[				    	
+// TOC script based on code taken from http://www.quirksmode.org/dom/toc.html
+function makeTOC() {
+	
+	var toc = document.createElement('div')				
+	toc.id = "toc";
+	toc.innerHTML = "Table of Contents"				
+	document.body.appendChild(toc);
+				
+	var innertocDiv = createTOC()				
+	toc.appendChild(innertocDiv);
+}
+
+
+function createTOC() {
+	var y = document.createElement('div');
+	y.id = 'innertoc';
+	//var a = y.appendChild(document.createElement('span'));
+	//a.onclick = showhideTOC;
+	//a.id = 'contentheader';
+	//a.innerHTML = 'Show Table of Contents';
+	var z = y.appendChild(document.createElement('div'));
+	//z.onclick = showhideTOC;
+	var toBeTOCced = getElementsByTagNames('h1,h2,h3');
+	if (toBeTOCced.length < 2) return false;
+	var hCount = 0;
+	var hhCount = 0;
+	var hhhCount = 0;
+	for (var i=0;i<toBeTOCced.length;i++) {
+	var tmp = document.createElement('a');
+	tmp.className = 'page';
+	var text;
+	var textPre;
+	if (toBeTOCced[i].nodeName == 'h2'){
+		tmp.className += ' indent';
+		textPre = hCount + "."+ ++hhCount + ". "; 
+	}
+	else if (toBeTOCced[i].nodeName == 'h3'){
+		tmp.className += ' extraindent';
+		textPre = hCount + "."+ hhCount + "."+ ++hhhCount +". "; 
+	}
+	else {
+		textPre = ++hCount + ". "; 
+		hhCount = 0;
+		hhhCount = 0;
+	}
+	text = textPre + toBeTOCced[i].textContent;
+	toBeTOCced[i].innerHTML = textPre + toBeTOCced[i].innerHTML;
+	
+	tmp.innerHTML = text; 
+	z.appendChild(tmp);
+	var headerId = toBeTOCced[i].id || 'link' + i;
+	tmp.href = '#' + headerId;
+	toBeTOCced[i].id = headerId;
+	}
+	return y;
+}
+
+function getElementsByTagNames(list,obj) {
+	if (!obj) var obj = document;
+	var tagNames = list.split(',');
+	var resultArray = new Array();
+	for (var i=0;i<tagNames.length;i++) {
+		var tags = obj.getElementsByTagName(tagNames[i]);
+		for (var j=0;j<tags.length;j++) {
+			resultArray.push(tags[j]);
+		}
+	}
+	var testNode = resultArray[0];
+	if (!testNode) return [];
+	if (testNode.sourceIndex) {
+		resultArray.sort(function (a,b) {
+				return a.sourceIndex - b.sourceIndex;
+		});
+	}
+	else if (testNode.compareDocumentPosition) {
+		resultArray.sort(function (a,b) {
+				return 3 - (a.compareDocumentPosition(b) & 6);
+		});
+	}
+	return resultArray;
+}
+	    	
+//]]>				    	
+	    	</script>
+	    	<link rel="stylesheet" type="text/css" href="https://raw.github.com/necolas/normalize.css/master/normalize.css" /> 
+	    	<style>
+#toc {
+	position: fixed;
+	  right: 0;
+	  top: 0;
+	  background-color:#eee;
+	  overflow: scroll;
+	  border: 1px dashed;
+}
+
+#toc #innertoc { 
+	display: none;
+	height: 500px;
+} /* Hide the full TOC by default */
+
+#toc:hover #innertoc{
+	display: block; /* Show it on hover */
+}
+	td {
+	border: 1px solid;
+	}
+	.page{
+	display:table-row;
+	}
+	.indent {
+	text-indent:12pt;
+	}
+	.extraindent {
+	text-indent:14pt;
+	}
+
+	    	</style>
+	    	<link rel="stylesheet" type="text/css" href="style.css" />
+	</head>
+	<body onload="makeTOC();">
+<h1 id="transformation"><a href="#transformation"><span class="packageName">transformation</span> package</a></h1>
+
+<p>This package describes DataSetTransformations used to derive DerivedCubes, and the grouping of these DataSetTransformations into Schemes and Modules.</p>
+<div class="">EPackage properties:</div>
+<div class="keyValue"><span class="label">Namespace Prefix: </span><span class="teletype">transformation</span></div>
+<div class="keyValue"><span class="label">Namespace URI: </span><span class="teletype">http://www.eclipse.org/efbt/transformation</span></div>
+<h2 id="transformationDataSetTransformation"><a href="#transformationDataSetTransformation"><a href="#transformationDataSetTransformation">DataSetTransformation</a></a></h2>
+
+<p>A DataSetTransformations is used to derive DerivedCubes. 
+The DataSetTransformation links the DerivedCube to the logic which is used to derive the cubes structure from the structure of its source cubes, and to derive its data from populated source cubes.
+Note that the DataSetTransformations has many subsclasses, currently they represent structures from the TraceableReportingLanguage (dtm), and soon these will be replaced by subclasses which represent structures from VTL.</p>
+<table>
+<tr>
+	<th colspan="3"><div class="tableHeader">Attributes</div></th>
+</tr>
+<tr>
+	<th><div class="columnHeader">Name</div></th>
+	<th><div class="columnHeader">Properties</div></th>
+	<th><div class="columnHeader">Documentation</div></th>
+</tr>
+<tr>	<td><div id="transformationDataSetTransformation.name" class="teletype">name</div>
+	</td>
+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype">EString</span></div>
+<div class="label">Cardinality: [0..1]</div>
+<div class="label">Identifier</div>
+ </td> <td><p>The name of this DataSetTransformation</p>
+</td>
+		</tr></table>
+<a href="#transformation.DataSetTransformation.attr"></a>
+<table>
+<tr>
+	<th colspan="3"><div class="tableHeader">References</div></th>
+</tr>
+<tr>
+	<th><div class="columnHeader">Name</div></th>
+	<th><div class="columnHeader">Properties</div></th>
+	<th><div class="columnHeader">Documentation</div></th>
+</tr>
+<tr>	<td><div id="transformationDataSetTransformation.cube" class="teletype">cube</div>
+	</td>
+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#cubesDerivedCube">DerivedCube</a></span></div>
+<div class="label">Cardinality: [0..1]</div>
+</td> 
+<td> <p>The DerivedCube associated with this DataSetTransformation</p>
+</td>
+		</tr></table>
+<a href="#transformation.DataSetTransformation.ref"></a>
+<h2 id="transformationRelease"><a href="#transformationRelease"><a href="#transformationRelease">Release</a></a></h2>
+
+<p>a VersionedComponentSet which represents a final release.</p>
+<h4><b>Supertype:</b><a href="#transformationVersionedComponentsSet">VersionedComponentsSet</a></h4><table>
+<tr>
+	<th colspan="3"><div class="tableHeader">Attributes</div></th>
+</tr>
+<tr>
+	<th><div class="columnHeader">Name</div></th>
+	<th><div class="columnHeader">Properties</div></th>
+	<th><div class="columnHeader">Documentation</div></th>
+</tr>
+<tr>	<td><div id="transformationRelease.version" class="teletype">version</div>
+	</td>
+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype">EString</span></div>
+<div class="label">Cardinality: [0..1]</div>
+ </td> <td><p>The version number associated with the release.</p>
+</td>
+		</tr></table>
+<a href="#transformation.Release.attr"></a>
+<h2 id="transformationVersionedComponentsSet"><a href="#transformationVersionedComponentsSet"><a href="#transformationVersionedComponentsSet">VersionedComponentsSet</a></a></h2>
+
+<p>VersionedComponentsSet contains all the information required to translate a FunctionalModule and its dependent FunctionalModules into an AttributeLineageModel
+It is this component set that contains the cub scehma structures ,and the actual DataSetTransformations.</p>
+<table>
+<tr>
+	<th colspan="3"><div class="tableHeader">Attributes</div></th>
+</tr>
+<tr>
+	<th><div class="columnHeader">Name</div></th>
+	<th><div class="columnHeader">Properties</div></th>
+	<th><div class="columnHeader">Documentation</div></th>
+</tr>
+<tr>	<td><div id="transformationVersionedComponentsSet.license" class="teletype">license</div>
+	</td>
+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype">EString</span></div>
+<div class="label">Cardinality: [0..1]</div>
+ </td> <td><p>The license under which this VersionedComponentSet is distributed</p>
+</td>
+		</tr><tr>	<td><div id="transformationVersionedComponentsSet.name" class="teletype">name</div>
+	</td>
+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype">EString</span></div>
+<div class="label">Cardinality: [0..1]</div>
+<div class="label">Identifier</div>
+ </td> <td><p>The name of the VersionedComponentSet</p>
+</td>
+		</tr></table>
+<a href="#transformation.VersionedComponentsSet.attr"></a>
+<table>
+<tr>
+	<th colspan="3"><div class="tableHeader">References</div></th>
+</tr>
+<tr>
+	<th><div class="columnHeader">Name</div></th>
+	<th><div class="columnHeader">Properties</div></th>
+	<th><div class="columnHeader">Documentation</div></th>
+</tr>
+<tr>	<td><div id="transformationVersionedComponentsSet.cubeSchemaModules" class="teletype">cubeSchemaModules</div>
+	</td>
+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#transformationVersionedCubeSchemaModule">VersionedCubeSchemaModule</a></span></div>
+<div class="label">Cardinality: [0..*]</div>
+</td> 
+<td> <p>The set of VersionedCubeSchemaModules. Note that VersionedCubeSchemaModules state which ReadDataFunctionalModule they are associated with in the functionalModule reference.</p>
+</td>
+		</tr><tr>	<td><div id="transformationVersionedComponentsSet.datasetTransformationModules" class="teletype">datasetTransformationModules</div>
+	</td>
+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#dtmsqlviewsVersionedSQLViewsModule">VersionedSQLViewsModule</a></span></div>
+<div class="label">Cardinality: [0..*]</div>
+</td> 
+<td> <p>The set of DataSetTransformationModules, note that each DataSetTransformationModule states which  DataSetTransformationFunctionalModule they are associated with in the functionalModule reference.</p>
+</td>
+		</tr><tr>	<td><div id="transformationVersionedComponentsSet.reportCellViewModules" class="teletype">reportCellViewModules</div>
+	</td>
+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#dtmreportcellviewsReportCellViewModule">ReportCellViewModule</a></span></div>
+<div class="label">Cardinality: [0..*]</div>
+</td> 
+<td> <p>The set of ReportCellViewModules, note that each ReportCellViewModule states which  ReportCellCreationFunctionalModule they are associated with in the functionalModule reference.</p>
+</td>
+		</tr></table>
+<a href="#transformation.VersionedComponentsSet.ref"></a>
+<h2 id="transformationVersionedCubeSchemaModule"><a href="#transformationVersionedCubeSchemaModule"><a href="#transformationVersionedCubeSchemaModule">VersionedCubeSchemaModule</a></a></h2>
+
+<p>A module of VersionedCubeSchemas</p>
+<h4><b>Supertype:</b><a href="#modulemanagementModule">Module</a></h4><table>
+<tr>
+	<th colspan="3"><div class="tableHeader">References</div></th>
+</tr>
+<tr>
+	<th><div class="columnHeader">Name</div></th>
+	<th><div class="columnHeader">Properties</div></th>
+	<th><div class="columnHeader">Documentation</div></th>
+</tr>
+<tr>	<td><div id="transformationVersionedCubeSchemaModule.schemas" class="teletype">schemas</div>
+	</td>
+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#cubeschemaCubeSchema">CubeSchema</a></span></div>
+<div class="label">Cardinality: [0..*]</div>
+<div class="label">Containment</div>
+</td> 
+<td> <p>The schemas in the module</p>
+</td>
+		</tr></table>
+<a href="#transformation.VersionedCubeSchemaModule.ref"></a>
+<h2 id="transformationVersionedFunctionalModuleLogic"><a href="#transformationVersionedFunctionalModuleLogic"><a href="#transformationVersionedFunctionalModuleLogic">VersionedFunctionalModuleLogic</a></a></h2>
+
+<p>A Module containing a set of DataSetTransformations </p>
+<h4><b>Supertype:</b><a href="#modulemanagementModule">Module</a></h4><h2 id="transformationdtmExecutableLogic"><a href="#transformationdtmExecutableLogic"><a href="#transformationdtmExecutableLogic">dtmExecutableLogic</a></a></h2>
+
+<table>
+<tr>
+	<th colspan="3"><div class="tableHeader">Attributes</div></th>
+</tr>
+<tr>
+	<th><div class="columnHeader">Name</div></th>
+	<th><div class="columnHeader">Properties</div></th>
+	<th><div class="columnHeader">Documentation</div></th>
+</tr>
+<tr>	<td><div id="transformationdtmExecutableLogic.name" class="teletype">name</div>
+	</td>
+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype">EString</span></div>
+<div class="label">Cardinality: [0..1]</div>
+<div class="label">Identifier</div>
+ </td> <td></td>
+		</tr></table>
+<a href="#transformation.dtmExecutableLogic.attr"></a>
+<table>
+<tr>
+	<th colspan="3"><div class="tableHeader">References</div></th>
+</tr>
+<tr>
+	<th><div class="columnHeader">Name</div></th>
+	<th><div class="columnHeader">Properties</div></th>
+	<th><div class="columnHeader">Documentation</div></th>
+</tr>
+<tr>	<td><div id="transformationdtmExecutableLogic.cubeSchemaModules" class="teletype">cubeSchemaModules</div>
+	</td>
+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#transformationVersionedCubeSchemaModule">VersionedCubeSchemaModule</a></span></div>
+<div class="label">Cardinality: [0..*]</div>
+<div class="label">Containment</div>
+</td> 
+<td> <p>The set of VersionedCubeSchemaModules. Note that VersionedCubeSchemaModules state which ReadDataFunctionalModule they are associated with in the functionalModule reference.</p>
+</td>
+		</tr><tr>	<td><div id="transformationdtmExecutableLogic.cubesHierarchyModule" class="teletype">cubesHierarchyModule</div>
+	</td>
+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#cubesFreeBIRDToolsCubeHierarchyRelationshipModule">FreeBIRDToolsCubeHierarchyRelationshipModule</a></span></div>
+<div class="label">Cardinality: [0..1]</div>
+<div class="label">Containment</div>
+</td> 
+<td> </td>
+		</tr><tr>	<td><div id="transformationdtmExecutableLogic.cubesModule" class="teletype">cubesModule</div>
+	</td>
+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#cubesFreeBirdToolsCubeModule">FreeBirdToolsCubeModule</a></span></div>
+<div class="label">Cardinality: [0..1]</div>
+<div class="label">Containment</div>
+</td> 
+<td> </td>
+		</tr><tr>	<td><div id="transformationdtmExecutableLogic.datasetTransformationModules" class="teletype">datasetTransformationModules</div>
+	</td>
+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#dtmsqlviewsVersionedSQLViewsModule">VersionedSQLViewsModule</a></span></div>
+<div class="label">Cardinality: [0..*]</div>
+<div class="label">Containment</div>
+</td> 
+<td> <p>The set of DataSetTransformationModules, note that each DataSetTransformationModule states which  DataSetTransformationFunctionalModule they are associated with in the functionalModule reference.</p>
+</td>
+		</tr><tr>	<td><div id="transformationdtmExecutableLogic.functionSpecModule" class="teletype">functionSpecModule</div>
+	</td>
+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#functionsFunctionSpecModule">FunctionSpecModule</a></span></div>
+<div class="label">Cardinality: [0..1]</div>
+<div class="label">Containment</div>
+</td> 
+<td> </td>
+		</tr><tr>	<td><div id="transformationdtmExecutableLogic.reportCellViewModules" class="teletype">reportCellViewModules</div>
+	</td>
+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#dtmreportcellviewsReportCellViewModule">ReportCellViewModule</a></span></div>
+<div class="label">Cardinality: [0..*]</div>
+<div class="label">Containment</div>
+</td> 
+<td> <p>The set of ReportCellViewModules, note that each ReportCellViewModule states which  ReportCellCreationFunctionalModule they are associated with in the functionalModule reference.</p>
+</td>
+		</tr></table>
+<a href="#transformation.dtmExecutableLogic.ref"></a>
+<h2 id="transformationdtmProgram"><a href="#transformationdtmProgram"><a href="#transformationdtmProgram">dtmProgram</a></a></h2>
+
+<table>
+<tr>
+	<th colspan="3"><div class="tableHeader">References</div></th>
+</tr>
+<tr>
+	<th><div class="columnHeader">Name</div></th>
+	<th><div class="columnHeader">Properties</div></th>
+	<th><div class="columnHeader">Documentation</div></th>
+</tr>
+<tr>	<td><div id="transformationdtmProgram.arrayTypedVariablesModule" class="teletype">arrayTypedVariablesModule</div>
+	</td>
+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#efbtadvanceddatadefinitionArrayTypedVariableModule">ArrayTypedVariableModule</a></span></div>
+<div class="label">Cardinality: [0..1]</div>
+<div class="label">Containment</div>
+</td> 
+<td> </td>
+		</tr><tr>	<td><div id="transformationdtmProgram.executableLogic" class="teletype">executableLogic</div>
+	</td>
+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#transformationdtmExecutableLogic">dtmExecutableLogic</a></span></div>
+<div class="label">Cardinality: [0..*]</div>
+<div class="label">Containment</div>
+</td> 
+<td> </td>
+		</tr><tr>	<td><div id="transformationdtmProgram.release" class="teletype">release</div>
+	</td>
+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#transformationRelease">Release</a></span></div>
+<div class="label">Cardinality: [0..1]</div>
+<div class="label">Containment</div>
+</td> 
+<td> </td>
+		</tr><tr>	<td><div id="transformationdtmProgram.smcubesStaticModel" class="teletype">smcubesStaticModel</div>
+	</td>
+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#cocamoSMCubesStaticModel">SMCubesStaticModel</a></span></div>
+<div class="label">Cardinality: [0..1]</div>
+<div class="label">Containment</div>
+</td> 
+<td> </td>
+		</tr><tr>	<td><div id="transformationdtmProgram.structVariablesModule" class="teletype">structVariablesModule</div>
+	</td>
+	<td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#efbtadvanceddatadefinitionStructTypedVariablesModule">StructTypedVariablesModule</a></span></div>
+<div class="label">Cardinality: [0..1]</div>
+<div class="label">Containment</div>
+</td> 
+<td> </td>
+		</tr></table>
+<a href="#transformation.dtmProgram.ref"></a>
+</body>
+</html>
diff --git a/transformation.jpg b/transformation.jpg
new file mode 100644
index 0000000..adb4ffd
--- /dev/null
+++ b/transformation.jpg
Binary files differ