Commit adfc39f3 authored by Hernan Ponce de Leon's avatar Hernan Ponce de Leon
Browse files

Testing plug-in: Dev Documentation



Added the html file and documentation to the classes in the model

Issue-Ref:3484
Signed-off-by: Hernan Ponce de Leon's avatarHernan Ponce de Leon <ponce@fortiss.org>
parent cccdb14e
documentation.html 8bb5e7993c7a1f598ee2730956d99b9bd1314dba RED
documentation.html 5c0210d82ec12f14c4fe01337234ad4a3ef7c37c YELLOW
<html><body>
<H1>Developer Documentation for <I>org.fortiss.af3.testing</I></H1>
<P>// TODO
</body></html>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1252"/>
<title></title>
<meta name="generator" content="LibreOffice 6.0.4.2 (Windows)"/>
<meta name="created" content="00:00:00"/>
<meta name="changed" content="2018-06-14T09:04:06.059000000"/>
<style type="text/css">
h2.cjk { font-family: "SimSun" }
h2.ctl { font-family: "Lucida Sans" }
tt.cjk { font-family: "NSimSun", monospace }
</style>
</head>
<body lang="en-US" dir="ltr">
<h1>Developer Documentation for <i>AF3 Testing</i><i>
(</i><tt class="western"><i>org.fortiss.af3.testing</i></tt><i>)</i></h1>
<h2 class="western">Plug-in description
</h2>
<p>The AF3 testing plug-in contains everything related to test case generation and execution (simulation).</p>
<p>The plug-in contains, besides general classes like compositors,
constraints (to be removed when constraints are unified), model
implementation, etc, the following classes/packages:</p>
<ul>
<li/>
<p style="margin-bottom: 0in"><tt class="western">generator.modelchecking.GenerateTestSuiteCommand:</tt> it creates the <tt class="western">ITestSuiteGenerator</tt> and calls the <tt class="western">generate()</tt> method for each type of coverage that is active.</p>
<li/>
<p style="margin-bottom: 0in"><tt class="western">generator.modelchecking.VerifyTestSuiteCommand:</tt> it checks that the expected and simulated outputs coincide. Currently only used for checking refinement. It is probably deprecated.</p>
<li/>
<p style="margin-bottom: 0in"><tt class="western">method.random.generator:</tt> it implements the <tt class="western">ITestSuiteGenerator</tt> for random criteria.</p>
<li/>
<p style="margin-bottom: 0in"><tt class="western">pref:</tt> default values for parameters used in the test case generation, e.g. number of steps, min/max values, NoVal probability, etc.</p>
<li/>
<p style="margin-bottom: 0in"><tt class="western">simulator.TestCaseSimulator:</tt> it takes care of the simulation, creating <tt class="western">ExecutableComponent</tt>s and calling the corresponding <tt class="western">performStep()</tt> method which does a complete single simulation step: a pre-step, the step itself and a post-step. It can also set simulated/expected outputs or compare both. </p>
<li/>
<p style="margin-bottom: 0in"><tt class="western">simulator.TestCaseExecutableComponent:</tt> it wraps one or more real <tt class="western">ExecutableComponent</tt>s, which it contains as subExecutables. In every step the <tt class="western">TestCaseExecutableComponent</tt> passes the input values from the test case to the subExecutables.</p>
<li/>
<p style="margin-bottom: 0in"><tt class="western">statistics:</tt> it only contains Listeners. Most of the statistics related methods are in the utils package. This package will probably change/be removed once the testing plug-in is re-implemented.</p>
<li/>
<p style="margin-bottom: 0in"><tt class="western">validator.platform.*:</tt> the idea of these packages was to execute the test cases in the generated code (rather than in the design) using the abstractions (interfaces) provided by the generic platform. This has not been used/tested in a long time and it is probably deprecated.</p>
</ul>
<h2 class="western">Metamodel description
</h2>
<p>The testing metamodel describes test cases, coverage, statistics and related constrains.</p>
<ul>
<li/> <p><tt class="western">TestSuiteSpecification</tt>: these specifications can be used to automatically generate <tt class="western">TestSuite</tt>s using certain testing criteria. The specification allows to relate a <tt class="western">TestSuite</tt> whit the <tt class="western">Component</tt> where it will be executed using the <tt class="western">getComponent()</tt> method.</p>
<li/> <p><tt class="western">TestSuiteSpecificationPart</tt>: base Class that will be extended to define different coverage criteria. The active attributed is used to decide which can of coverage shall be fulfilled by the generation.</p>
<li/> <p><tt class="western">TestSuite</tt>: each test suite contains several <tt class="western">TestCase</tt>s. It is related to the <tt class="western">InputPort</tt>s and <tt class="western">OutputPort</tt>s of the <tt class="western">Component</tt> where the test suite is executed. Such component is related to the test suite by means of the <tt class="western">TestSuiteSpecification</tt> from where the test suite was generated. The Class extends <tt class="western">IConstrained</tt> and therefore it allows to implement constraints related to the status of the test suite (e.g. pass/fail/outdated).</p>
<li/> <p><tt class="western">TestCase</tt>: each test case contains several <tt class="western">TestStep</tt>s. Each test case belongs to a unique <tt class="western">TestSuite</tt>.</p>
<li/> <p><tt class="western">TestStep</tt>: each test step contains several <tt class="western">TestInput</tt>s and <tt class="western">TestOutput</tt>s. Each test step belongs to a unique <tt class="western">TestCase</tt>.</p>
<li/> <p><tt class="western">TestInput</tt>: Class representing inputs of a <tt class="western">TestStep</tt>. Its concrete value is given as a <tt class="western">ITerm</tt>. Each input belongs to a unique <tt class="western">TestStep</tt>.</p>
<li/> <p><tt class="western">TestOutput</tt>: Class representing outputs of a <tt class="western">TestStep</tt>. Its expected value is given as a <tt class="western">ITerm</tt>. Simulated values (also <tt class="western">ITerm</tt>s) are kept to evaluate if the output generated by the <tt class="western">Component</tt> matches the expected output). Each output belongs to a unique <tt class="western">TestStep</tt>.</p>
</ul>
The sub-models <tt class="western">statistics</tt>, <tt class="western">coverage</tt> and <tt class="western">constraintResults</tt> are deprecated. The related features are planned to be re-implemented.
<p>The random-specification-model metamodel describes a particular case of a <tt class="western">TestSuiteSpecificationPart</tt>: random criteria.</p>
<ul>
<li/> <p><tt class="western">RandomSpecificationPart</tt>: it extends <tt class="western">TestSuiteSpecificationPart</tt> with the number of test cases, their min/max length and several <tt class="western">PortBinding</tt>.</p>
<li/> <p><tt class="western">PortBinding</tt>: it links the specification with the <tt class="western">InputPort</tt>s and their <tt class="western">DataProfile</tt> which defines the probability of values that can be assigned to the port.</p>
<li/> <p><tt class="western">DataProfile</tt>: base data profile. It contains the change probability for possible values and the probability of the value to be assigned to NoVal.</p>
<li/> <p><tt class="western">NumberProfile</tt>: it extends <tt class="western">DataProfile</tt> with the probability to change the value w.r.t the previous value in the <tt class="western">DataProfile</tt>.</p>
<li/> <p><tt class="western">IntegerProfile</tt>: it extends <tt class="western">NumberProfile</tt> with the min/max possible values.</p>
<li/> <p><tt class="western">DoubleProfile</tt>: it extends <tt class="western">NumberProfile</tt> with the min/max possible values.</p>
<li/> <p><tt class="western">BoolProfile</tt>: it extends <tt class="western">DataProfile</tt> with the probability of the value to be assigned to True.</p>
<li/> <p><tt class="western">EnumerationProfile</tt>: it extends <tt class="western">DataProfile</tt> with a <tt class="western">EnumerationMemberBinding</tt>.</p>
<li/> <p><tt class="western">EnumerationMemberBinding</tt>: it relates each <tt class="western">EnumerationMember</tt> with the probability of the value to be assigned to that member.</p>
<li/> <p><tt class="western">StructureProfile</tt>: it extends <tt class="western">DataProfile</tt> with a <tt class="western">StructureMemberBinding</tt>.</p>
<li/> <p><tt class="western">StructureMemberBinding</tt>: it relates each <tt class="western">StructureMember</tt> with the probability of the value to be assigned to that member.</p>
<li/> <p><tt class="western">ArrayProfile</tt>: it relates an <tt class="western">Array</tt> with a <tt class="western">DataProfile</tt>.</p>
</ul>
</body>
</html>
\ No newline at end of file
random-specification-model.ecore 1cbd479408436a54bfa0ecb347c6be3523b53acf RED
testing.ecore ffcb6e5eb834d7e4efaf24e664dbf439a33b172d RED
random-specification-model.ecore b04f23eef5a265ffed25435e135c0ebd85ef2ac1 YELLOW
testing.ecore 8a69952ac4f1d5ecfa0f907e37e2de176233f950 YELLOW
......@@ -3,66 +3,190 @@
xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="model" nsURI="http://www.fortiss.org/af3/randomspecification/model"
nsPrefix="random-profile-model">
<eClassifiers xsi:type="ecore:EClass" name="RandomSpecificationPart" eSuperTypes="platform:/resource/org.fortiss.af3.testing/model/testing.ecore#//TestSuiteSpecificationPart">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="It extends {@link TestSuiteSpecificationPart} with the number of test cases, their min/max length and several {@link PortBinding}.&#xA;"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="numberOfTestCases" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"
defaultValueLiteral="20"/>
defaultValueLiteral="20">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="TODO: write documentation (in the model!)"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="minLength" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"
defaultValueLiteral="5"/>
defaultValueLiteral="5">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="TODO: write documentation (in the model!)"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="maxLength" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"
defaultValueLiteral="20"/>
defaultValueLiteral="20">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="TODO: write documentation (in the model!)"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="portBinding" upperBound="-1"
eType="#//PortBinding" containment="true"/>
eType="#//PortBinding" containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="TODO: write documentation (in the model!)"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="DataProfile" abstract="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Base data profile. It contains the change probability for possible values and the probability of the value to be assigned to NoVal&#xA;"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="changeProbability" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"
defaultValueLiteral="1.0"/>
defaultValueLiteral="1.0">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="TODO: write documentation (in the model!)"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="noValProbability" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"
defaultValueLiteral="0.0"/>
defaultValueLiteral="0.0">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="TODO: write documentation (in the model!)"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="NumberProfile" abstract="true" eSuperTypes="#//DataProfile">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="It extends {@link DataProfile} with the probability to change the value w.r.t the previous value in the {@link DataProfile}.&#xA;"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="changeRatioProbability"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble" defaultValueLiteral="1.0"/>
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble" defaultValueLiteral="1.0">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="TODO: write documentation (in the model!)"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="IntegerProfile" eSuperTypes="#//NumberProfile">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="It extends {@link NumberProfile} with the min/max possible values.&#xA;"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="minValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"
defaultValueLiteral="-100000"/>
defaultValueLiteral="-100000">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="TODO: write documentation (in the model!)"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="maxValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"
defaultValueLiteral="100000"/>
defaultValueLiteral="100000">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="TODO: write documentation (in the model!)"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="DoubleProfile" eSuperTypes="#//NumberProfile">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="It extends {@link NumberProfile} with the min/max possible values."/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="minValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"
defaultValueLiteral="-1.0"/>
defaultValueLiteral="-1.0">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="TODO: write documentation (in the model!)"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="maxValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"
defaultValueLiteral="-1.0"/>
defaultValueLiteral="-1.0">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="TODO: write documentation (in the model!)"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="BoolProfile" eSuperTypes="#//DataProfile">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="It extends {@link DataProfile} with the probability of the value to be assigned to True.&#xA;"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="trueProbability" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"
defaultValueLiteral="0.5"/>
defaultValueLiteral="0.5">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="TODO: write documentation (in the model!)"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="EnumerationProfile" eSuperTypes="#//DataProfile">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="It extends {@link DataProfile} with a {@link EnumerationMemberBinding}.&#xA;"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="memberBinding" upperBound="-1"
eType="#//EnumerationMemberBinding" containment="true"/>
eType="#//EnumerationMemberBinding" containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="TODO: write documentation (in the model!)"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="EnumerationMemberBinding">
<eStructuralFeatures xsi:type="ecore:EReference" name="value" eType="ecore:EClass platform:/resource/org.fortiss.af3.expression/model/expression.ecore#//definitions/EnumerationMember"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="probability" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="It relates each {@link EnumerationMember} with the probability of the value to be assigned to that member.&#xA;"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="value" eType="ecore:EClass platform:/resource/org.fortiss.af3.expression/model/expression.ecore#//definitions/EnumerationMember">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="TODO: write documentation (in the model!)"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="probability" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="TODO: write documentation (in the model!)"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="StructureProfile" eSuperTypes="#//DataProfile">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="It extends {@link DataProfile} with a {@link StructureMemberBinding}."/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="memberBinding" upperBound="-1"
eType="#//StructureMemberBinding" containment="true"/>
eType="#//StructureMemberBinding" containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="TODO: write documentation (in the model!)"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="PortBinding">
<eStructuralFeatures xsi:type="ecore:EReference" name="port" eType="ecore:EClass platform:/resource/org.fortiss.af3.component/model/component.ecore#//InputPort"/>
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="It links the specification with the {@link InputPort}s and their {@link DataProfile} which defines the probability of values that can be assigned to the port.&#xA;"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="port" eType="ecore:EClass platform:/resource/org.fortiss.af3.component/model/component.ecore#//InputPort">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="TODO: write documentation (in the model!)"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="profile" eType="#//DataProfile"
containment="true"/>
containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="TODO: write documentation (in the model!)"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="StructureMemberBinding">
<eStructuralFeatures xsi:type="ecore:EReference" name="member" eType="ecore:EClass platform:/resource/org.fortiss.af3.expression/model/expression.ecore#//definitions/StructureMember"/>
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="It relates each {@link StructureMember} with the probability of the value to be assigned to that member.&#xA;"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="member" eType="ecore:EClass platform:/resource/org.fortiss.af3.expression/model/expression.ecore#//definitions/StructureMember">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="TODO: write documentation (in the model!)"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="profile" eType="#//DataProfile"
containment="true"/>
containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="TODO: write documentation (in the model!)"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ArrayProfile" eSuperTypes="#//DataProfile">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="It relates an {@link Array} with a {@link DataProfile}.&#xA;"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="basicProfile" lowerBound="1"
eType="#//DataProfile" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="array" eType="ecore:EClass platform:/resource/org.fortiss.af3.expression/model/expression.ecore#//definitions/Array"/>
eType="#//DataProfile" containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="TODO: write documentation (in the model!)"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="array" eType="ecore:EClass platform:/resource/org.fortiss.af3.expression/model/expression.ecore#//definitions/Array">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="TODO: write documentation (in the model!)"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
</ecore:EPackage>
......@@ -2,64 +2,154 @@
<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="model" nsURI="http://www.fortiss.org/af3/testing/model" nsPrefix="org-fortiss-af3-testing">
<eClassifiers xsi:type="ecore:EClass" name="TestSuiteSpecification" eSuperTypes="platform:/resource/org.fortiss.tooling.base/model/base.ecore#//element/IModelElementSpecification platform:/resource/org.fortiss.tooling.kernel/model/kernel.ecore#//INamedCommentedElement platform:/resource/org.fortiss.tooling.base/model/base.ecore#//element/IModelElement">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="These specifications can be used to automatically generate {@link TestSuite}s using certain testing criteria. The specification allows to relate a {@link TestSuite} whit the {@Component} where it will be executed."/>
</eAnnotations>
<eOperations name="getComponent" eType="ecore:EClass platform:/resource/org.fortiss.af3.component/model/component.ecore#//Component">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="return TestSuiteSpecificationStaticImpl.getComponent(this);"/>
<details key="documentation" value="TODO: write documentation (in the model!)"/>
</eAnnotations>
</eOperations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="TestSuiteSpecificationPart" eSuperTypes="platform:/resource/org.fortiss.tooling.base/model/base.ecore#//element/IModelElementSpecification">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Base Class that will be extended to define different coverage criteria. The active attributed is used to decide which can of coverage shall be fulfilled by the generation."/>
</eAnnotations>
<eOperations name="getTestSuiteSpecification" eType="#//TestSuiteSpecification">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="return TestSuiteSpecificationPartStaticImpl.getTestSuiteSpecification(this);"/>
<details key="documentation" value="TODO: write documentation (in the model!)"/>
</eAnnotations>
</eOperations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="active" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
defaultValueLiteral="true"/>
defaultValueLiteral="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="TODO: write documentation (in the model!)"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="TestSuite" eSuperTypes="platform:/resource/org.fortiss.tooling.kernel/model/kernel.ecore#//INamedCommentedElement platform:/resource/org.fortiss.tooling.base/model/base.ecore#//element/IModelElementSpecification platform:/resource/org.fortiss.tooling.base/model/base.ecore#//element/IModelElement platform:/resource/org.fortiss.tooling.kernel/model/kernel.ecore#//constraints/IConstrained">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Each test suite contains several {@link TestCase}s. It is related to the {@link InputPort}s and {OutputPort}s of the {@link Component} where the test suite is executed. Such component is related to the test suite by means of the {@link TestSuiteSpecification} from where the test suite was generated. The Class extends {@link IConstrained} and therefore it allows to implement constraints related to the state of the test suite (e.g. pass/fail/outdated)."/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="testCases" upperBound="-1"
eType="#//TestCase" containment="true" eOpposite="#//TestCase/testSuite"/>
eType="#//TestCase" containment="true" eOpposite="#//TestCase/testSuite">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="TODO: write documentation (in the model!)"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="inputPorts" upperBound="-1"
eType="ecore:EClass platform:/resource/org.fortiss.af3.component/model/component.ecore#//InputPort"/>
eType="ecore:EClass platform:/resource/org.fortiss.af3.component/model/component.ecore#//InputPort">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="TODO: write documentation (in the model!)"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="outputPorts" upperBound="-1"
eType="ecore:EClass platform:/resource/org.fortiss.af3.component/model/component.ecore#//OutputPort"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="creationDate" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDate"/>
eType="ecore:EClass platform:/resource/org.fortiss.af3.component/model/component.ecore#//OutputPort">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="TODO: write documentation (in the model!)"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="creationDate" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDate">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="TODO: write documentation (in the model!)"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="generatedFrom" eType="#//TestSuiteSpecification"
containment="true"/>
containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="TODO: write documentation (in the model!)"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="generatedBy">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="TODO: write documentation (in the model!)"/>
</eAnnotations>
<eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaClass">
<eTypeArguments/>
</eGenericType>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="TestCase" eSuperTypes="platform:/resource/org.fortiss.tooling.kernel/model/kernel.ecore#//INamedCommentedElement">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Each test case contains several {@link TestStep}s. Each test case belongs to a unique {@link TestSuite}."/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="testSteps" upperBound="-1"
eType="#//TestStep" containment="true" eOpposite="#//TestStep/testCase"/>
eType="#//TestStep" containment="true" eOpposite="#//TestStep/testCase">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="TODO: write documentation (in the model!)"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="testSuite" eType="#//TestSuite"
eOpposite="#//TestSuite/testCases"/>
eOpposite="#//TestSuite/testCases">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="TODO: write documentation (in the model!)"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="TestStep">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Each test step contains several {@link TestInput}s and {@linkTest Output}s. Each test step belongs to a unique {@link TestCase}."/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="outputs" upperBound="-1"
eType="#//TestOutput" containment="true" eOpposite="#//TestOutput/testStep"/>
eType="#//TestOutput" containment="true" eOpposite="#//TestOutput/testStep">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="TODO: write documentation (in the model!)"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="inputs" upperBound="-1"
eType="#//TestInput" containment="true" eOpposite="#//TestInput/testStep"/>
eType="#//TestInput" containment="true" eOpposite="#//TestInput/testStep">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="TODO: write documentation (in the model!)"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="testCase" eType="#//TestCase"
eOpposite="#//TestCase/testSteps"/>
eOpposite="#//TestCase/testSteps">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="TODO: write documentation (in the model!)"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="TestInput">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Class representing inputs of a {@link TestStep}. Its concrete value is given as a {@link ITerm}. Each input belongs to a unique {@link TestStep}."/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="value" eType="ecore:EClass platform:/resource/org.fortiss.af3.project/model/project.ecore#//typesystem/ITerm"
containment="true"/>
containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="TODO: write documentation (in the model!)"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="testStep" eType="#//TestStep"
eOpposite="#//TestStep/inputs"/>
eOpposite="#//TestStep/inputs">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="TODO: write documentation (in the model!)"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="TestOutput">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="TODO: write documentation (in the model!)"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="expectedValue" eType="ecore:EClass platform:/resource/org.fortiss.af3.project/model/project.ecore#//typesystem/ITerm"
containment="true"/>
containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="TODO: write documentation (in the model!)"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="simulatedValue" eType="ecore:EClass platform:/resource/org.fortiss.af3.project/model/project.ecore#//typesystem/ITerm"
containment="true"/>
containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="TODO: write documentation (in the model!)"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="testStep" eType="#//TestStep"
eOpposite="#//TestStep/outputs"/>
eOpposite="#//TestStep/outputs">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="TODO: write documentation (in the model!)"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eSubpackages name="statistic" nsURI="http://www.fortiss.org/af3/testing/model/statistic"
nsPrefix="org-fortiss-af3-testing-statistic">
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment