blob: 55ca52b0f47ea8faa8ad8050757821dbd930e6ca [file] [log] [blame]
Harald Mackamul0ebca062019-01-11 15:37:01 +01001<?xml version="1.0" encoding="UTF-8"?>
2<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
Harald Mackamulabea53e2019-09-19 10:01:17 +02003 xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="model" nsURI="http://app4mc.eclipse.org/amalthea/0.9.6" nsPrefix="am">
Harald Mackamul0ebca062019-01-11 15:37:01 +01004 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
Harald Mackamul061ad352019-01-18 12:13:13 +01005 <details key="documentation" value="*&#xA;*******************************************************************************&#xA;Copyright (c) 2015-2019 Robert Bosch GmbH and others.&#xA;&#xA;This program and the accompanying materials are made&#xA;available under the terms of the Eclipse Public License 2.0&#xA;which is available at https://www.eclipse.org/legal/epl-2.0/&#xA;&#xA;SPDX-License-Identifier: EPL-2.0&#xA;*******************************************************************************"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +01006 <details key="modelName" value="Amalthea"/>
7 <details key="prefix" value="Amalthea"/>
8 <details key="editDirectory" value="/org.eclipse.app4mc.amalthea.model.edit/src-gen"/>
Harald Mackamuld7bc8222019-07-01 12:53:50 +02009 <details key="editorDirectory" value="/org.eclipse.app4mc.amalthea.model.editor/src-gen"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +010010 <details key="rootExtendsClass" value="org.eclipse.app4mc.amalthea.sphinx.AmaltheaExtendedEObjectImpl"/>
11 <details key="providerRootExtendsClass" value="org.eclipse.app4mc.amalthea.sphinx.AmaltheaExtendedItemProviderAdapter"/>
12 <details key="creationIcons" value="false"/>
13 <details key="forceOverwrite" value="true"/>
14 <details key="creationSubmenus" value="true"/>
Harald Mackamul5df1f1e2019-04-03 15:41:08 +020015 <details key="publicationLocation" value="org.eclipse.app4mc.amalthea.model/model-gen/xml/amalthea.xml"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +010016 <details key="loadInitialization" value="false"/>
Harald Mackamul061ad352019-01-18 12:13:13 +010017 <details key="copyrightText" value="*******************************************************************************&#xD;&#xA; Copyright (c) 2015-2019 Robert Bosch GmbH and others.&#xD;&#xA;&#xD;&#xA; This program and the accompanying materials are made&#xD;&#xA; available under the terms of the Eclipse Public License 2.0&#xD;&#xA; which is available at https://www.eclipse.org/legal/epl-2.0/&#xD;&#xA;&#xD;&#xA; SPDX-License-Identifier: EPL-2.0&#xD;&#xA;&#xD;&#xA; Generated using Eclipse EMF&#xD;&#xA;&#xD;&#xA;*******************************************************************************"/>
Harald Mackamuld7bc8222019-07-01 12:53:50 +020018 <details key="decoration" value="Live"/>
19 <details key="collapseAllAction" value="true"/>
20 <details key="expandAllAction" value="true"/>
21 <details key="autoExpandProperties" value="1"/>
Harald Mackamul659b24d2019-07-02 07:44:31 +020022 <details key="eclipsePlatformVersion" value="Photon"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +010023 <details key="basePackage" value="org.eclipse.app4mc.amalthea"/>
24 </eAnnotations>
25 <eClassifiers xsi:type="ecore:EClass" name="Amalthea" eSuperTypes="#//BaseObject">
26 <eStructuralFeatures xsi:type="ecore:EAttribute" name="version" unique="false"
Harald Mackamul5df1f1e2019-04-03 15:41:08 +020027 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" changeable="false"
28 volatile="true" transient="true" derived="true">
Harald Mackamul0ebca062019-01-11 15:37:01 +010029 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
Harald Mackamulabea53e2019-09-19 10:01:17 +020030 <details key="get" value="return &quot;0.9.6&quot;;"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +010031 </eAnnotations>
32 </eStructuralFeatures>
33 <eStructuralFeatures xsi:type="ecore:EReference" name="commonElements" eType="#//CommonElements"
34 containment="true" resolveProxies="false"/>
35 <eStructuralFeatures xsi:type="ecore:EReference" name="swModel" eType="#//SWModel"
36 containment="true" resolveProxies="false"/>
37 <eStructuralFeatures xsi:type="ecore:EReference" name="hwModel" eType="#//HWModel"
38 containment="true" resolveProxies="false"/>
39 <eStructuralFeatures xsi:type="ecore:EReference" name="osModel" eType="#//OSModel"
40 containment="true" resolveProxies="false"/>
41 <eStructuralFeatures xsi:type="ecore:EReference" name="stimuliModel" eType="#//StimuliModel"
42 containment="true" resolveProxies="false"/>
43 <eStructuralFeatures xsi:type="ecore:EReference" name="eventModel" eType="#//EventModel"
44 containment="true" resolveProxies="false"/>
45 <eStructuralFeatures xsi:type="ecore:EReference" name="constraintsModel" eType="#//ConstraintsModel"
46 containment="true" resolveProxies="false"/>
47 <eStructuralFeatures xsi:type="ecore:EReference" name="propertyConstraintsModel"
48 eType="#//PropertyConstraintsModel" containment="true" resolveProxies="false"/>
49 <eStructuralFeatures xsi:type="ecore:EReference" name="mappingModel" eType="#//MappingModel"
50 containment="true" resolveProxies="false"/>
51 <eStructuralFeatures xsi:type="ecore:EReference" name="componentsModel" eType="#//ComponentsModel"
52 containment="true" resolveProxies="false"/>
53 <eStructuralFeatures xsi:type="ecore:EReference" name="configModel" eType="#//ConfigModel"
54 containment="true" resolveProxies="false"/>
55 <eStructuralFeatures xsi:type="ecore:EReference" name="measurementModel" eType="#//MeasurementModel"
56 containment="true" resolveProxies="false"/>
57 </eClassifiers>
58 <eClassifiers xsi:type="ecore:EClass" name="CommonElements" eSuperTypes="#//BaseObject">
59 <eStructuralFeatures xsi:type="ecore:EReference" name="tags" upperBound="-1" eType="#//Tag"
60 containment="true" resolveProxies="false"/>
61 <eStructuralFeatures xsi:type="ecore:EReference" name="coreClassifiers" upperBound="-1"
62 eType="#//CoreClassifier" containment="true" resolveProxies="false"/>
63 <eStructuralFeatures xsi:type="ecore:EReference" name="memoryClassifiers" upperBound="-1"
64 eType="#//MemoryClassifier" containment="true" resolveProxies="false"/>
65 </eClassifiers>
66 <eClassifiers xsi:type="ecore:EClass" name="BaseObject" abstract="true" eSuperTypes="#//IAnnotatable">
67 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
68 <details key="documentation" value="Base classes to be used to provide common functionality for all objects.&#xA;Needs to be extended by other classes."/>
69 </eAnnotations>
70 </eClassifiers>
71 <eClassifiers xsi:type="ecore:EClass" name="ReferableObject" abstract="true" eSuperTypes="#//IReferable"/>
72 <eClassifiers xsi:type="ecore:EClass" name="ReferableBaseObject" abstract="true"
73 eSuperTypes="#//IAnnotatable #//IReferable"/>
74 <eClassifiers xsi:type="ecore:EClass" name="IAnnotatable" abstract="true" interface="true">
75 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
76 <details key="documentation" value="IAnnotatable: Possibility to store custom properties on elements"/>
77 </eAnnotations>
78 <eStructuralFeatures xsi:type="ecore:EReference" name="customProperties" upperBound="-1"
79 eType="#//CustomProperty" containment="true" resolveProxies="false"/>
80 </eClassifiers>
81 <eClassifiers xsi:type="ecore:EClass" name="ITaggable" abstract="true" interface="true">
82 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
83 <details key="documentation" value="ITaggable: Possibility to add tags to an elements"/>
84 </eAnnotations>
85 <eStructuralFeatures xsi:type="ecore:EReference" name="tags" upperBound="-1" eType="#//Tag"/>
86 </eClassifiers>
87 <eClassifiers xsi:type="ecore:EClass" name="INamed" abstract="true" interface="true">
88 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
89 <details key="documentation" value="INamed: Name attribute"/>
90 </eAnnotations>
Harald Mackamul5df1f1e2019-04-03 15:41:08 +020091 <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
Harald Mackamul0ebca062019-01-11 15:37:01 +010092 defaultValueLiteral="">
93 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
94 <details key="propertyCategory" value="Main"/>
95 </eAnnotations>
96 </eStructuralFeatures>
97 </eClassifiers>
98 <eClassifiers xsi:type="ecore:EClass" name="IReferable" abstract="true" interface="true"
99 eSuperTypes="#//INamed">
100 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
101 <details key="documentation" value="IReferable: Computed ID for name based references"/>
102 </eAnnotations>
Harald Mackamul37f14f52019-04-12 12:56:25 +0200103 <eOperations name="getNamePrefix" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
Harald Mackamul0ebca062019-01-11 15:37:01 +0100104 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
Harald Mackamul37f14f52019-04-12 12:56:25 +0200105 <details key="documentation" value="Overwrite this method to define a specific prefix (used by name-based references)."/>
106 <details key="body" value="return &quot;&quot;;"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +0100107 </eAnnotations>
108 </eOperations>
Harald Mackamul5df1f1e2019-04-03 15:41:08 +0200109 <eOperations name="encode" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
Harald Mackamul0ebca062019-01-11 15:37:01 +0100110 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
111 <details key="body" value="try&#xA;{&#xA;&#x9;&lt;%java.lang.String%> _xifexpression = null;&#xA;&#x9;boolean _isNullOrEmpty = &lt;%org.eclipse.xtext.xbase.lib.StringExtensions%>.isNullOrEmpty(str);&#xA;&#x9;if (_isNullOrEmpty)&#xA;&#x9;{&#xA;&#x9;&#x9;_xifexpression = &quot;no-name&quot;;&#xA;&#x9;}&#xA;&#x9;else&#xA;&#x9;{&#xA;&#x9;&#x9;_xifexpression = &lt;%java.net.URLEncoder%>.encode(str, &lt;%java.nio.charset.StandardCharsets%>.UTF_8.toString());&#xA;&#x9;}&#xA;&#x9;return _xifexpression;&#xA;}&#xA;catch (Throwable _e)&#xA;{&#xA;&#x9;throw org.eclipse.xtext.xbase.lib.Exceptions.sneakyThrow(_e);&#xA;}"/>
112 </eAnnotations>
Harald Mackamul5df1f1e2019-04-03 15:41:08 +0200113 <eParameters name="str" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
114 </eOperations>
115 <eOperations name="validateInvariants" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
116 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
117 <details key="body" value="return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaValidations%>.validateInvariants(this, diagnostics, context);"/>
118 </eAnnotations>
119 <eParameters name="diagnostics" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
120 <eParameters name="context" unique="false">
121 <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
122 <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
123 <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
124 </eGenericType>
125 </eParameters>
Harald Mackamul0ebca062019-01-11 15:37:01 +0100126 </eOperations>
127 <eStructuralFeatures xsi:type="ecore:EAttribute" name="uniqueName" unique="false"
Harald Mackamul5df1f1e2019-04-03 15:41:08 +0200128 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" changeable="false"
129 volatile="true" transient="true" derived="true" iD="true">
Harald Mackamul0ebca062019-01-11 15:37:01 +0100130 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
131 <details key="propertyCategory" value="Read only"/>
132 <details key="propertyFilterFlags" value="org.eclipse.ui.views.properties.expert"/>
Harald Mackamul37f14f52019-04-12 12:56:25 +0200133 <details key="get" value="&lt;%java.lang.String%> _xifexpression = null;&#xA;boolean _isNullOrEmpty = &lt;%org.eclipse.xtext.xbase.lib.StringExtensions%>.isNullOrEmpty(this.getNamePrefix());&#xA;if (_isNullOrEmpty)&#xA;{&#xA;&#x9;_xifexpression = &quot;&quot;;&#xA;}&#xA;else&#xA;{&#xA;&#x9;&lt;%java.lang.String%> _encode = this.encode(this.getNamePrefix());&#xA;&#x9;_xifexpression = (_encode + &quot;/&quot;);&#xA;}&#xA;&lt;%java.lang.String%> _encode_1 = this.encode(this.getName());&#xA;&lt;%java.lang.String%> _plus = (_xifexpression + _encode_1);&#xA;&lt;%java.lang.String%> _plus_1 = (_plus + &quot;?type=&quot;);&#xA;&lt;%java.lang.String%> _name = this.eClass().getName();&#xA;return (_plus_1 + _name);"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +0100134 </eAnnotations>
135 </eStructuralFeatures>
136 </eClassifiers>
137 <eClassifiers xsi:type="ecore:EClass" name="IDisplayName" abstract="true" interface="true">
138 <eStructuralFeatures xsi:type="ecore:EAttribute" name="displayName" unique="false"
Harald Mackamul5df1f1e2019-04-03 15:41:08 +0200139 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +0100140 </eClassifiers>
141 <eClassifiers xsi:type="ecore:EClass" name="Tag" eSuperTypes="#//ReferableBaseObject">
142 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
143 <details key="documentation" value="A tag for processes, runnables, events and labels"/>
144 </eAnnotations>
145 <eStructuralFeatures xsi:type="ecore:EAttribute" name="tagType" unique="false"
Harald Mackamul5df1f1e2019-04-03 15:41:08 +0200146 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +0100147 <eStructuralFeatures xsi:type="ecore:EReference" name="taggedObjects" upperBound="-1"
148 eType="#//ITaggable" changeable="false" volatile="true" transient="true" derived="true">
149 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
150 <details key="documentation" value="&lt;p>&lt;b>Returns an &lt;em>immutable&lt;/em> list of objects (ITaggable) referring to the this tag.&lt;/b>&lt;/p>"/>
151 <details key="propertyCategory" value="Read only"/>
152 <details key="propertyFilterFlags" value="org.eclipse.ui.views.properties.expert"/>
153 <details key="get" value="&lt;%org.eclipse.emf.ecore.EReference%> _iTaggable_Tags = &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaPackage%>.eINSTANCE.getITaggable_Tags();&#xA;return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaIndex%>.&lt;&lt;%org.eclipse.app4mc.amalthea.model.ITaggable%>>getInverseReferences(this, &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaPackage%>.eINSTANCE.getTag_TaggedObjects(), &#xA;&#x9;java.util.Collections.&lt;&lt;%org.eclipse.emf.ecore.EReference%>>unmodifiableSet(org.eclipse.xtext.xbase.lib.CollectionLiterals.&lt;&lt;%org.eclipse.emf.ecore.EReference%>>newHashSet(_iTaggable_Tags)));"/>
154 </eAnnotations>
155 </eStructuralFeatures>
156 </eClassifiers>
Harald Mackamul5df1f1e2019-04-03 15:41:08 +0200157 <eClassifiers xsi:type="ecore:EEnum" name="RelationalOperator">
158 <eLiterals name="_undefined_"/>
159 <eLiterals name="EQUAL"/>
160 <eLiterals name="NOT_EQUAL"/>
161 <eLiterals name="LESS_THAN"/>
162 <eLiterals name="GREATER_THAN"/>
163 </eClassifiers>
Harald Mackamul0ebca062019-01-11 15:37:01 +0100164 <eClassifiers xsi:type="ecore:EClass" name="Classifier" abstract="true" eSuperTypes="#//ReferableBaseObject">
165 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
166 <details key="documentation" value="Classifiers for hardware properties"/>
167 </eAnnotations>
168 <eStructuralFeatures xsi:type="ecore:EAttribute" name="description" unique="false"
Harald Mackamul5df1f1e2019-04-03 15:41:08 +0200169 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +0100170 </eClassifiers>
171 <eClassifiers xsi:type="ecore:EClass" name="CoreClassifier" eSuperTypes="#//Classifier"/>
172 <eClassifiers xsi:type="ecore:EClass" name="MemoryClassifier" eSuperTypes="#//Classifier"/>
173 <eClassifiers xsi:type="ecore:EClass" name="TransmissionPolicy">
174 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
175 <details key="documentation" value="Data transmission details for communication (e.g. LabelAccesses)"/>
176 </eAnnotations>
177 <eStructuralFeatures xsi:type="ecore:EReference" name="chunkSize" eType="#//DataSize"
178 containment="true" resolveProxies="false"/>
179 <eStructuralFeatures xsi:type="ecore:EAttribute" name="chunkProcessingTicks" unique="false"
Harald Mackamul5df1f1e2019-04-03 15:41:08 +0200180 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="0"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +0100181 <eStructuralFeatures xsi:type="ecore:EAttribute" name="transmitRatio" unique="false"
Harald Mackamul5df1f1e2019-04-03 15:41:08 +0200182 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble" defaultValueLiteral="1.0"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +0100183 </eClassifiers>
184 <eClassifiers xsi:type="ecore:EClass" name="Quantity" abstract="true">
185 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
186 <details key="documentation" value="Abstract class for Quantities (value + unit)"/>
187 </eAnnotations>
188 </eClassifiers>
189 <eClassifiers xsi:type="ecore:EEnum" name="TimeUnit">
190 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
191 <details key="documentation" value="Time units (enumeration of available units)"/>
192 </eAnnotations>
193 <eLiterals name="_undefined_"/>
194 <eLiterals name="s"/>
195 <eLiterals name="ms"/>
196 <eLiterals name="us"/>
197 <eLiterals name="ns"/>
198 <eLiterals name="ps"/>
199 </eClassifiers>
200 <eClassifiers xsi:type="ecore:EClass" name="TimeComparable" instanceTypeName="java.lang.Comparable&lt;org.eclipse.app4mc.amalthea.model.Time>"
201 abstract="true" interface="true"/>
202 <eClassifiers xsi:type="ecore:EClass" name="Time" eSuperTypes="#//Quantity #//Value #//TimeComparable">
203 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
204 <details key="documentation" value="General time class to define time value and unit."/>
205 </eAnnotations>
Harald Mackamul5df1f1e2019-04-03 15:41:08 +0200206 <eOperations name="toString" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
Harald Mackamul0ebca062019-01-11 15:37:01 +0100207 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
208 <details key="body" value="&lt;%java.math.BigInteger%> _value = this.getValue();&#xA;&lt;%java.lang.String%> _plus = (_value + &quot; &quot;);&#xA;&lt;%java.lang.String%> _xifexpression = null;&#xA;&lt;%org.eclipse.app4mc.amalthea.model.TimeUnit%> _unit = this.getUnit();&#xA;boolean _equals = &lt;%com.google.common.base.Objects%>.equal(_unit, &lt;%org.eclipse.app4mc.amalthea.model.TimeUnit%>._UNDEFINED_);&#xA;if (_equals)&#xA;{&#xA;&#x9;_xifexpression = &quot;&lt;unit>&quot;;&#xA;}&#xA;else&#xA;{&#xA;&#x9;_xifexpression = this.getUnit().getLiteral();&#xA;}&#xA;return (_plus + _xifexpression);"/>
209 </eAnnotations>
210 </eOperations>
Harald Mackamul5df1f1e2019-04-03 15:41:08 +0200211 <eOperations name="compareTo" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt">
Harald Mackamul0ebca062019-01-11 15:37:01 +0100212 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
213 <details key="body" value="return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaServices%>.compareTimes(this, t);"/>
214 </eAnnotations>
215 <eParameters name="t" unique="false" eType="#//Time"/>
216 </eOperations>
217 <eOperations name="adjustUnit" unique="false" eType="#//Time">
218 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
219 <details key="body" value="return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaServices%>.adjustTimeUnit(this);"/>
220 </eAnnotations>
221 </eOperations>
222 <eOperations name="add" unique="false" eType="#//Time">
223 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
224 <details key="body" value="return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaServices%>.addTime(this, t);"/>
225 </eAnnotations>
226 <eParameters name="t" unique="false" eType="#//Time"/>
227 </eOperations>
228 <eOperations name="subtract" unique="false" eType="#//Time">
229 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
230 <details key="body" value="return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaServices%>.subtractTime(this, t);"/>
231 </eAnnotations>
232 <eParameters name="t" unique="false" eType="#//Time"/>
233 </eOperations>
234 <eOperations name="multiply" unique="false" eType="#//Time">
235 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
236 <details key="body" value="return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaServices%>.multiply(this, v);"/>
237 </eAnnotations>
Harald Mackamul5df1f1e2019-04-03 15:41:08 +0200238 <eParameters name="v" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//ELong"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +0100239 </eOperations>
240 <eOperations name="multiply" unique="false" eType="#//Time">
241 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
242 <details key="body" value="return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaServices%>.multiply(this, v);"/>
243 </eAnnotations>
Harald Mackamul5df1f1e2019-04-03 15:41:08 +0200244 <eParameters name="v" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +0100245 </eOperations>
Harald Mackamul5df1f1e2019-04-03 15:41:08 +0200246 <eOperations name="divide" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble">
Harald Mackamul0ebca062019-01-11 15:37:01 +0100247 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
248 <details key="body" value="return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaServices%>.divideTime(this, t);"/>
249 </eAnnotations>
250 <eParameters name="t" unique="false" eType="#//Time"/>
251 </eOperations>
Harald Mackamul5df1f1e2019-04-03 15:41:08 +0200252 <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger"
Harald Mackamul0ebca062019-01-11 15:37:01 +0100253 defaultValueLiteral="0"/>
254 <eStructuralFeatures xsi:type="ecore:EAttribute" name="unit" unique="false" eType="#//TimeUnit"/>
255 </eClassifiers>
256 <eClassifiers xsi:type="ecore:EEnum" name="FrequencyUnit">
257 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
258 <details key="documentation" value="Frequency units (enumeration of available units)"/>
259 </eAnnotations>
260 <eLiterals name="_undefined_"/>
261 <eLiterals name="Hz"/>
262 <eLiterals name="kHz"/>
263 <eLiterals name="MHz"/>
264 <eLiterals name="GHz"/>
265 </eClassifiers>
266 <eClassifiers xsi:type="ecore:EClass" name="Frequency" eSuperTypes="#//Quantity">
267 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
268 <details key="documentation" value="General frequency class to define frequency value and unit"/>
269 </eAnnotations>
Harald Mackamul5df1f1e2019-04-03 15:41:08 +0200270 <eOperations name="toString" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
Harald Mackamul0ebca062019-01-11 15:37:01 +0100271 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
272 <details key="body" value="double _value = this.getValue();&#xA;&lt;%java.lang.String%> _plus = (&lt;%java.lang.Double%>.valueOf(_value) + &quot; &quot;);&#xA;&lt;%java.lang.String%> _xifexpression = null;&#xA;&lt;%org.eclipse.app4mc.amalthea.model.FrequencyUnit%> _unit = this.getUnit();&#xA;boolean _equals = &lt;%com.google.common.base.Objects%>.equal(_unit, &lt;%org.eclipse.app4mc.amalthea.model.FrequencyUnit%>._UNDEFINED_);&#xA;if (_equals)&#xA;{&#xA;&#x9;_xifexpression = &quot;&lt;unit>&quot;;&#xA;}&#xA;else&#xA;{&#xA;&#x9;_xifexpression = this.getUnit().getLiteral();&#xA;}&#xA;return (_plus + _xifexpression);"/>
273 </eAnnotations>
274 </eOperations>
Harald Mackamul02e0ee42019-07-15 17:10:21 +0200275 <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" unique="false" eType="#//NonNegativeDouble"
Harald Mackamul0ebca062019-01-11 15:37:01 +0100276 defaultValueLiteral="0.0"/>
277 <eStructuralFeatures xsi:type="ecore:EAttribute" name="unit" unique="false" eType="#//FrequencyUnit"/>
278 </eClassifiers>
279 <eClassifiers xsi:type="ecore:EEnum" name="VoltageUnit">
280 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
281 <details key="documentation" value="Voltage units (enumeration of available units)"/>
282 </eAnnotations>
283 <eLiterals name="_undefined_"/>
284 <eLiterals name="uV"/>
285 <eLiterals name="mV"/>
286 <eLiterals name="V"/>
287 </eClassifiers>
288 <eClassifiers xsi:type="ecore:EClass" name="Voltage" eSuperTypes="#//Quantity">
289 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
290 <details key="documentation" value="General voltage class to define voltage value and unit"/>
291 </eAnnotations>
Harald Mackamul5df1f1e2019-04-03 15:41:08 +0200292 <eOperations name="toString" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
Harald Mackamul0ebca062019-01-11 15:37:01 +0100293 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
294 <details key="body" value="double _value = this.getValue();&#xA;&lt;%java.lang.String%> _plus = (&lt;%java.lang.Double%>.valueOf(_value) + &quot; &quot;);&#xA;&lt;%java.lang.String%> _xifexpression = null;&#xA;&lt;%org.eclipse.app4mc.amalthea.model.VoltageUnit%> _unit = this.getUnit();&#xA;boolean _equals = &lt;%com.google.common.base.Objects%>.equal(_unit, &lt;%org.eclipse.app4mc.amalthea.model.VoltageUnit%>._UNDEFINED_);&#xA;if (_equals)&#xA;{&#xA;&#x9;_xifexpression = &quot;&lt;unit>&quot;;&#xA;}&#xA;else&#xA;{&#xA;&#x9;_xifexpression = this.getUnit().getLiteral();&#xA;}&#xA;return (_plus + _xifexpression);"/>
295 </eAnnotations>
296 </eOperations>
Harald Mackamul5df1f1e2019-04-03 15:41:08 +0200297 <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"
Harald Mackamul0ebca062019-01-11 15:37:01 +0100298 defaultValueLiteral="0.0"/>
299 <eStructuralFeatures xsi:type="ecore:EAttribute" name="unit" unique="false" eType="#//VoltageUnit"/>
300 </eClassifiers>
301 <eClassifiers xsi:type="ecore:EEnum" name="DataSizeUnit">
302 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
303 <details key="documentation" value="Data size units (enumeration of available units)"/>
304 </eAnnotations>
305 <eLiterals name="_undefined_"/>
306 <eLiterals name="bit"/>
307 <eLiterals name="kbit"/>
308 <eLiterals name="Mbit"/>
309 <eLiterals name="Gbit"/>
310 <eLiterals name="Tbit"/>
311 <eLiterals name="Kibit"/>
312 <eLiterals name="Mibit"/>
313 <eLiterals name="Gibit"/>
314 <eLiterals name="Tibit"/>
315 <eLiterals name="B"/>
316 <eLiterals name="kB"/>
317 <eLiterals name="MB"/>
318 <eLiterals name="GB"/>
319 <eLiterals name="TB"/>
320 <eLiterals name="KiB"/>
321 <eLiterals name="MiB"/>
322 <eLiterals name="GiB"/>
323 <eLiterals name="TiB"/>
324 </eClassifiers>
325 <eClassifiers xsi:type="ecore:EClass" name="DataSize" eSuperTypes="#//Quantity">
326 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
327 <details key="documentation" value="General data size class to define size (value and unit)"/>
328 </eAnnotations>
Harald Mackamul5df1f1e2019-04-03 15:41:08 +0200329 <eOperations name="toString" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
Harald Mackamul0ebca062019-01-11 15:37:01 +0100330 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
331 <details key="body" value="&lt;%java.math.BigInteger%> _value = this.getValue();&#xA;&lt;%java.lang.String%> _plus = (_value + &quot; &quot;);&#xA;&lt;%java.lang.String%> _xifexpression = null;&#xA;&lt;%org.eclipse.app4mc.amalthea.model.DataSizeUnit%> _unit = this.getUnit();&#xA;boolean _equals = &lt;%com.google.common.base.Objects%>.equal(_unit, &lt;%org.eclipse.app4mc.amalthea.model.DataSizeUnit%>._UNDEFINED_);&#xA;if (_equals)&#xA;{&#xA;&#x9;_xifexpression = &quot;&lt;unit>&quot;;&#xA;}&#xA;else&#xA;{&#xA;&#x9;_xifexpression = this.getUnit().getLiteral();&#xA;}&#xA;return (_plus + _xifexpression);"/>
332 </eAnnotations>
333 </eOperations>
Harald Mackamul5df1f1e2019-04-03 15:41:08 +0200334 <eOperations name="getNumberBits" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//ELong">
Harald Mackamul0ebca062019-01-11 15:37:01 +0100335 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
336 <details key="documentation" value="Convenience methods to retrieve the size in Bits and Bytes"/>
Harald Mackamul5df1f1e2019-04-03 15:41:08 +0200337 <details key="body" value="long _xblockexpression = (long) 0;&#xA;{&#xA;&#x9;&lt;%org.eclipse.app4mc.amalthea.model.DataSizeUnit%> _unit = this.getUnit();&#xA;&#x9;boolean _tripleEquals = (_unit == &lt;%org.eclipse.app4mc.amalthea.model.DataSizeUnit%>.BIT);&#xA;&#x9;if (_tripleEquals)&#xA;&#x9;{&#xA;&#x9;&#x9;return this.getValue().longValue();&#xA;&#x9;}&#xA;&#x9;final &lt;%java.math.BigInteger%> bits = &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaServices%>.convertToBit(this);&#xA;&#x9;long _xifexpression = (long) 0;&#xA;&#x9;if ((bits == null))&#xA;&#x9;{&#xA;&#x9;&#x9;_xifexpression = (-1L);&#xA;&#x9;}&#xA;&#x9;else&#xA;&#x9;{&#xA;&#x9;&#x9;_xifexpression = bits.longValue();&#xA;&#x9;}&#xA;&#x9;_xblockexpression = _xifexpression;&#xA;}&#xA;return _xblockexpression;"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +0100338 </eAnnotations>
339 </eOperations>
Harald Mackamul5df1f1e2019-04-03 15:41:08 +0200340 <eOperations name="getNumberBytes" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//ELong">
Harald Mackamul0ebca062019-01-11 15:37:01 +0100341 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
Harald Mackamul5df1f1e2019-04-03 15:41:08 +0200342 <details key="body" value="long _xblockexpression = (long) 0;&#xA;{&#xA;&#x9;&lt;%org.eclipse.app4mc.amalthea.model.DataSizeUnit%> _unit = this.getUnit();&#xA;&#x9;boolean _tripleEquals = (_unit == &lt;%org.eclipse.app4mc.amalthea.model.DataSizeUnit%>.B);&#xA;&#x9;if (_tripleEquals)&#xA;&#x9;{&#xA;&#x9;&#x9;return this.getValue().longValue();&#xA;&#x9;}&#xA;&#x9;final &lt;%java.math.BigInteger%> bits = &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaServices%>.convertToBit(this);&#xA;&#x9;long _xifexpression = (long) 0;&#xA;&#x9;if ((bits == null))&#xA;&#x9;{&#xA;&#x9;&#x9;_xifexpression = (-1L);&#xA;&#x9;}&#xA;&#x9;else&#xA;&#x9;{&#xA;&#x9;&#x9;long _longValue = bits.longValue();&#xA;&#x9;&#x9;long _divide = (_longValue / 8);&#xA;&#x9;&#x9;_xifexpression = &lt;%java.lang.Double%>.valueOf(&lt;%java.lang.Math%>.ceil(_divide)).longValue();&#xA;&#x9;}&#xA;&#x9;_xblockexpression = _xifexpression;&#xA;}&#xA;return _xblockexpression;"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +0100343 </eAnnotations>
344 </eOperations>
Harald Mackamul5df1f1e2019-04-03 15:41:08 +0200345 <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger"
Harald Mackamul0ebca062019-01-11 15:37:01 +0100346 defaultValueLiteral="0"/>
347 <eStructuralFeatures xsi:type="ecore:EAttribute" name="unit" unique="false" eType="#//DataSizeUnit"/>
348 </eClassifiers>
349 <eClassifiers xsi:type="ecore:EEnum" name="DataRateUnit">
350 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
351 <details key="documentation" value="Data rate units (enumeration of available units)"/>
352 </eAnnotations>
353 <eLiterals name="_undefined_"/>
354 <eLiterals name="bitPerSecond"/>
355 <eLiterals name="kbitPerSecond"/>
356 <eLiterals name="MbitPerSecond"/>
357 <eLiterals name="GbitPerSecond"/>
358 <eLiterals name="TbitPerSecond"/>
359 <eLiterals name="KibitPerSecond"/>
360 <eLiterals name="MibitPerSecond"/>
361 <eLiterals name="GibitPerSecond"/>
362 <eLiterals name="TibitPerSecond"/>
363 <eLiterals name="BPerSecond"/>
364 <eLiterals name="kBPerSecond"/>
365 <eLiterals name="MBPerSecond"/>
366 <eLiterals name="GBPerSecond"/>
367 <eLiterals name="TBPerSecond"/>
368 <eLiterals name="KiBPerSecond"/>
369 <eLiterals name="MiBPerSecond"/>
370 <eLiterals name="GiBPerSecond"/>
371 <eLiterals name="TiBPerSecond"/>
372 </eClassifiers>
373 <eClassifiers xsi:type="ecore:EClass" name="DataRateComparable" instanceTypeName="java.lang.Comparable&lt;org.eclipse.app4mc.amalthea.model.DataRate>"
374 abstract="true" interface="true"/>
375 <eClassifiers xsi:type="ecore:EClass" name="DataRate" eSuperTypes="#//Quantity #//DataRateComparable">
376 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
377 <details key="documentation" value="General data rate class to define rate (value and unit)"/>
378 </eAnnotations>
Harald Mackamul5df1f1e2019-04-03 15:41:08 +0200379 <eOperations name="toString" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
Harald Mackamul0ebca062019-01-11 15:37:01 +0100380 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
381 <details key="body" value="&lt;%java.math.BigInteger%> _value = this.getValue();&#xA;&lt;%java.lang.String%> _plus = (_value + &quot; &quot;);&#xA;&lt;%java.lang.String%> _xifexpression = null;&#xA;&lt;%org.eclipse.app4mc.amalthea.model.DataRateUnit%> _unit = this.getUnit();&#xA;boolean _equals = &lt;%com.google.common.base.Objects%>.equal(_unit, &lt;%org.eclipse.app4mc.amalthea.model.DataRateUnit%>._UNDEFINED_);&#xA;if (_equals)&#xA;{&#xA;&#x9;_xifexpression = &quot;&lt;unit>&quot;;&#xA;}&#xA;else&#xA;{&#xA;&#x9;_xifexpression = this.getUnit().getLiteral().replace(&quot;PerSecond&quot;, &quot;/s&quot;);&#xA;}&#xA;return (_plus + _xifexpression);"/>
382 </eAnnotations>
383 </eOperations>
Harald Mackamul5df1f1e2019-04-03 15:41:08 +0200384 <eOperations name="compareTo" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt">
Harald Mackamul0ebca062019-01-11 15:37:01 +0100385 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
386 <details key="body" value="return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaServices%>.compareDataRates(this, rate);"/>
387 </eAnnotations>
388 <eParameters name="rate" unique="false" eType="#//DataRate"/>
389 </eOperations>
Harald Mackamul5df1f1e2019-04-03 15:41:08 +0200390 <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger"
Harald Mackamul0ebca062019-01-11 15:37:01 +0100391 defaultValueLiteral="0"/>
392 <eStructuralFeatures xsi:type="ecore:EAttribute" name="unit" unique="false" eType="#//DataRateUnit"/>
393 </eClassifiers>
394 <eClassifiers xsi:type="ecore:EClass" name="CustomProperty" instanceClassName="java.util.Map$Entry">
395 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
396 <details key="documentation" value="custom property container for map"/>
397 </eAnnotations>
398 <eStructuralFeatures xsi:type="ecore:EAttribute" name="key" unique="false" lowerBound="1"
Harald Mackamul5df1f1e2019-04-03 15:41:08 +0200399 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +0100400 <eStructuralFeatures xsi:type="ecore:EReference" name="value" eType="#//Value"
401 containment="true" resolveProxies="false"/>
402 </eClassifiers>
403 <eClassifiers xsi:type="ecore:EClass" name="Value" abstract="true">
404 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
405 <details key="documentation" value="Abstract generalization of a value entry."/>
406 </eAnnotations>
407 </eClassifiers>
408 <eClassifiers xsi:type="ecore:EClass" name="ListObject" eSuperTypes="#//Value">
409 <eStructuralFeatures xsi:type="ecore:EReference" name="values" upperBound="-1"
410 eType="#//Value" containment="true" resolveProxies="false"/>
411 </eClassifiers>
412 <eClassifiers xsi:type="ecore:EClass" name="StringObject" eSuperTypes="#//Value">
413 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
414 <details key="documentation" value="Object for using the elementary datatype String as generic parameter"/>
415 </eAnnotations>
416 <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" unique="false" lowerBound="1"
Harald Mackamulf6676ba2019-09-25 09:12:48 +0200417 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
418 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
419 <details key="propertyMultiLine" value="true"/>
420 </eAnnotations>
421 </eStructuralFeatures>
Harald Mackamul0ebca062019-01-11 15:37:01 +0100422 </eClassifiers>
423 <eClassifiers xsi:type="ecore:EClass" name="BigIntegerObject" eSuperTypes="#//Value">
424 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
425 <details key="documentation" value="Object for using the elementary datatype String as generic parameter"/>
426 </eAnnotations>
427 <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" unique="false" lowerBound="1"
Harald Mackamul5df1f1e2019-04-03 15:41:08 +0200428 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger"
Harald Mackamul0ebca062019-01-11 15:37:01 +0100429 defaultValueLiteral="0"/>
430 </eClassifiers>
431 <eClassifiers xsi:type="ecore:EClass" name="ReferenceObject" eSuperTypes="#//Value">
432 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
433 <details key="documentation" value="Object for using object reference as generic parameter"/>
434 </eAnnotations>
435 <eStructuralFeatures xsi:type="ecore:EReference" name="value" eType="#//IReferable"/>
436 </eClassifiers>
437 <eClassifiers xsi:type="ecore:EClass" name="IntegerObject" eSuperTypes="#//Value">
438 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
439 <details key="documentation" value="Object for using the elementary datatype integer as generic parameter"/>
440 </eAnnotations>
441 <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" unique="false" lowerBound="1"
Harald Mackamul5df1f1e2019-04-03 15:41:08 +0200442 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="0"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +0100443 </eClassifiers>
444 <eClassifiers xsi:type="ecore:EClass" name="LongObject" eSuperTypes="#//Value">
445 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
446 <details key="documentation" value="Object for using the elementary datatype long as generic parameter"/>
447 </eAnnotations>
448 <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" unique="false" lowerBound="1"
Harald Mackamul5df1f1e2019-04-03 15:41:08 +0200449 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//ELong" defaultValueLiteral="0"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +0100450 </eClassifiers>
451 <eClassifiers xsi:type="ecore:EClass" name="FloatObject" eSuperTypes="#//Value">
452 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
453 <details key="documentation" value="Object for using the elementary datatype float as generic parameter"/>
454 </eAnnotations>
455 <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" unique="false" lowerBound="1"
Harald Mackamul5df1f1e2019-04-03 15:41:08 +0200456 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFloat" defaultValueLiteral="0.0"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +0100457 </eClassifiers>
458 <eClassifiers xsi:type="ecore:EClass" name="DoubleObject" eSuperTypes="#//Value">
459 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
460 <details key="documentation" value="Object for using the elementary datatype double as generic parameter"/>
461 </eAnnotations>
462 <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" unique="false" lowerBound="1"
Harald Mackamul5df1f1e2019-04-03 15:41:08 +0200463 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble" defaultValueLiteral="0.0"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +0100464 </eClassifiers>
465 <eClassifiers xsi:type="ecore:EClass" name="BooleanObject" eSuperTypes="#//Value">
466 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
467 <details key="documentation" value="Object for using the elementary datatype boolean as generic parameter"/>
468 </eAnnotations>
469 <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" unique="false" lowerBound="1"
Harald Mackamul5df1f1e2019-04-03 15:41:08 +0200470 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +0100471 </eClassifiers>
472 <eClassifiers xsi:type="ecore:EClass" name="NumericStatistic" abstract="true" interface="true"/>
473 <eClassifiers xsi:type="ecore:EClass" name="MinAvgMaxStatistic" eSuperTypes="#//NumericStatistic">
474 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
475 <details key="documentation" value="Statistic to provide capabilities for min, max and avg"/>
476 </eAnnotations>
Harald Mackamul5df1f1e2019-04-03 15:41:08 +0200477 <eOperations name="validateInvariants" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
478 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
479 <details key="body" value="return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaValidations%>.validateInvariants(this, diagnostics, context);"/>
480 </eAnnotations>
481 <eParameters name="diagnostics" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
482 <eParameters name="context" unique="false">
483 <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
484 <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
485 <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
486 </eGenericType>
487 </eParameters>
488 </eOperations>
489 <eStructuralFeatures xsi:type="ecore:EAttribute" name="min" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"
Harald Mackamul0ebca062019-01-11 15:37:01 +0100490 defaultValueLiteral="0"/>
Harald Mackamul5df1f1e2019-04-03 15:41:08 +0200491 <eStructuralFeatures xsi:type="ecore:EAttribute" name="avg" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFloat"
Harald Mackamul0ebca062019-01-11 15:37:01 +0100492 defaultValueLiteral="0f"/>
Harald Mackamul5df1f1e2019-04-03 15:41:08 +0200493 <eStructuralFeatures xsi:type="ecore:EAttribute" name="max" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"
Harald Mackamul0ebca062019-01-11 15:37:01 +0100494 defaultValueLiteral="0"/>
495 </eClassifiers>
496 <eClassifiers xsi:type="ecore:EClass" name="SingleValueStatistic" eSuperTypes="#//NumericStatistic">
Harald Mackamul5df1f1e2019-04-03 15:41:08 +0200497 <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFloat"
Harald Mackamul0ebca062019-01-11 15:37:01 +0100498 defaultValueLiteral="0f"/>
499 </eClassifiers>
500 <eClassifiers xsi:type="ecore:EEnum" name="SamplingType">
501 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
502 <details key="documentation" value="The types of sampling"/>
503 </eAnnotations>
504 <eLiterals name="default"/>
505 <eLiterals name="BestCase"/>
506 <eLiterals name="WorstCase"/>
507 <eLiterals name="AverageCase"/>
508 <eLiterals name="CornerCase"/>
509 <eLiterals name="Uniform"/>
510 </eClassifiers>
511 <eClassifiers xsi:type="ecore:EClass" name="ITimeDeviation" abstract="true" interface="true">
512 <eOperations name="getLowerBound" unique="false" eType="#//Time"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +0100513 <eOperations name="getUpperBound" unique="false" eType="#//Time"/>
Harald Mackamul47dc0e12019-01-25 13:23:19 +0100514 <eOperations name="getAverage" unique="false" eType="#//Time"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +0100515 </eClassifiers>
516 <eClassifiers xsi:type="ecore:EClass" name="TimeInterval" abstract="true">
517 <eOperations name="getAverage" unique="false" eType="#//Time">
518 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
Harald Mackamul78bc3f72019-08-07 18:01:33 +0200519 <details key="body" value="return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaServices2%>.getAverage(this.getLowerBound(), this.getUpperBound());"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +0100520 </eAnnotations>
521 </eOperations>
Harald Mackamul43ee8e22019-07-16 12:47:25 +0200522 <eOperations name="validateInvariants" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
523 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
524 <details key="body" value="return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaValidations%>.validateInvariants(this, diagnostics, context);"/>
525 </eAnnotations>
526 <eParameters name="diagnostics" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
527 <eParameters name="context" unique="false">
528 <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
529 <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
530 <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
531 </eGenericType>
532 </eParameters>
533 </eOperations>
Harald Mackamul0ebca062019-01-11 15:37:01 +0100534 <eStructuralFeatures xsi:type="ecore:EReference" name="lowerBound" lowerBound="1"
535 eType="#//Time" containment="true" resolveProxies="false"/>
536 <eStructuralFeatures xsi:type="ecore:EReference" name="upperBound" lowerBound="1"
537 eType="#//Time" containment="true" resolveProxies="false"/>
538 </eClassifiers>
539 <eClassifiers xsi:type="ecore:EClass" name="TimeConstant" eSuperTypes="#//ITimeDeviation">
540 <eOperations name="getLowerBound" unique="false" eType="#//Time">
541 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
542 <details key="body" value="return this.getValue();"/>
543 </eAnnotations>
544 </eOperations>
Harald Mackamul47dc0e12019-01-25 13:23:19 +0100545 <eOperations name="getUpperBound" unique="false" eType="#//Time">
Harald Mackamul0ebca062019-01-11 15:37:01 +0100546 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
547 <details key="body" value="return this.getValue();"/>
548 </eAnnotations>
549 </eOperations>
Harald Mackamul47dc0e12019-01-25 13:23:19 +0100550 <eOperations name="getAverage" unique="false" eType="#//Time">
Harald Mackamul0ebca062019-01-11 15:37:01 +0100551 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
552 <details key="body" value="return this.getValue();"/>
553 </eAnnotations>
554 </eOperations>
555 <eStructuralFeatures xsi:type="ecore:EReference" name="value" lowerBound="1" eType="#//Time"
556 containment="true" resolveProxies="false"/>
557 </eClassifiers>
558 <eClassifiers xsi:type="ecore:EClass" name="TimeHistogram" eSuperTypes="#//ITimeDeviation">
559 <eOperations name="getLowerBound" unique="false" eType="#//Time">
560 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
Harald Mackamul78bc3f72019-08-07 18:01:33 +0200561 <details key="body" value="return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaServices2%>.getLowerBound_Time(this.getEntries());"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +0100562 </eAnnotations>
563 </eOperations>
564 <eOperations name="getUpperBound" unique="false" eType="#//Time">
565 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
Harald Mackamul78bc3f72019-08-07 18:01:33 +0200566 <details key="body" value="return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaServices2%>.getUpperBound_Time(this.getEntries());"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +0100567 </eAnnotations>
568 </eOperations>
569 <eOperations name="getAverage" unique="false" eType="#//Time">
570 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
Harald Mackamul78bc3f72019-08-07 18:01:33 +0200571 <details key="body" value="return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaServices2%>.getAverage_Time(this.getEntries());"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +0100572 </eAnnotations>
573 </eOperations>
574 <eStructuralFeatures xsi:type="ecore:EReference" name="entries" lowerBound="1"
575 upperBound="-1" eType="#//TimeHistogramEntry" containment="true" resolveProxies="false"/>
576 </eClassifiers>
577 <eClassifiers xsi:type="ecore:EClass" name="TimeHistogramEntry" eSuperTypes="#//TimeInterval">
578 <eStructuralFeatures xsi:type="ecore:EAttribute" name="occurrences" unique="false"
579 lowerBound="1" eType="#//PositiveLong" defaultValueLiteral="1"/>
580 </eClassifiers>
581 <eClassifiers xsi:type="ecore:EClass" name="BoundedTimeDistribution" abstract="true"
582 eSuperTypes="#//TimeInterval #//ITimeDeviation"/>
583 <eClassifiers xsi:type="ecore:EClass" name="TruncatedTimeDistribution" abstract="true"
584 eSuperTypes="#//ITimeDeviation">
Harald Mackamul43ee8e22019-07-16 12:47:25 +0200585 <eOperations name="validateInvariants" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
586 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
587 <details key="body" value="return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaValidations%>.validateInvariants(this, diagnostics, context);"/>
588 </eAnnotations>
589 <eParameters name="diagnostics" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
590 <eParameters name="context" unique="false">
591 <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
592 <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
593 <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
594 </eGenericType>
595 </eParameters>
596 </eOperations>
Harald Mackamul0ebca062019-01-11 15:37:01 +0100597 <eStructuralFeatures xsi:type="ecore:EReference" name="lowerBound" eType="#//Time"
598 containment="true" resolveProxies="false"/>
599 <eStructuralFeatures xsi:type="ecore:EReference" name="upperBound" eType="#//Time"
600 containment="true" resolveProxies="false"/>
601 </eClassifiers>
602 <eClassifiers xsi:type="ecore:EClass" name="TimeBoundaries" eSuperTypes="#//BoundedTimeDistribution">
603 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
604 <details key="documentation" value="Defines the upper and lower bounds of a value interval without defining the distribution"/>
605 </eAnnotations>
606 <eStructuralFeatures xsi:type="ecore:EAttribute" name="samplingType" unique="false"
607 eType="#//SamplingType"/>
608 </eClassifiers>
609 <eClassifiers xsi:type="ecore:EClass" name="TimeStatistics" eSuperTypes="#//BoundedTimeDistribution">
610 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
611 <details key="documentation" value="Defines the upper bound, lower bound and mean of a value interval without defining the distribution"/>
612 </eAnnotations>
613 <eStructuralFeatures xsi:type="ecore:EReference" name="average" lowerBound="1"
614 eType="#//Time" containment="true" resolveProxies="false"/>
615 </eClassifiers>
616 <eClassifiers xsi:type="ecore:EClass" name="TimeUniformDistribution" eSuperTypes="#//BoundedTimeDistribution">
617 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
618 <details key="documentation" value="Uniform distribution"/>
619 </eAnnotations>
620 </eClassifiers>
621 <eClassifiers xsi:type="ecore:EClass" name="TimeGaussDistribution" eSuperTypes="#//TruncatedTimeDistribution">
622 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
623 <details key="documentation" value="Gauss distribution"/>
624 </eAnnotations>
625 <eOperations name="getAverage" unique="false" eType="#//Time">
626 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
Harald Mackamul78bc3f72019-08-07 18:01:33 +0200627 <details key="body" value="return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaServices2%>.getAverageOfTruncatedNormalDistribution(this.getLowerBound(), this.getUpperBound(), this.getMean(), this.getSd());"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +0100628 </eAnnotations>
629 </eOperations>
630 <eStructuralFeatures xsi:type="ecore:EReference" name="mean" lowerBound="1" eType="#//Time"
631 containment="true" resolveProxies="false"/>
632 <eStructuralFeatures xsi:type="ecore:EReference" name="sd" lowerBound="1" eType="#//Time"
633 containment="true" resolveProxies="false"/>
634 </eClassifiers>
635 <eClassifiers xsi:type="ecore:EClass" name="TimeWeibullEstimatorsDistribution" eSuperTypes="#//BoundedTimeDistribution">
636 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
637 <details key="documentation" value="Weibull Distribution&#xA;The parameter of a Weibull distribution (kappa, lambda...) are calculated from the estimators minimum, maximum and average."/>
638 </eAnnotations>
639 <eStructuralFeatures xsi:type="ecore:EReference" name="average" lowerBound="1"
640 eType="#//Time" containment="true" resolveProxies="false"/>
641 <eStructuralFeatures xsi:type="ecore:EAttribute" name="pRemainPromille" unique="false"
642 lowerBound="1" eType="#//PositiveDouble" defaultValueLiteral="1.0"/>
643 </eClassifiers>
644 <eClassifiers xsi:type="ecore:EClass" name="TimeBetaDistribution" eSuperTypes="#//BoundedTimeDistribution">
645 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
646 <details key="documentation" value="Beta distribution"/>
647 </eAnnotations>
648 <eOperations name="getAverage" unique="false" eType="#//Time">
649 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
Harald Mackamul78bc3f72019-08-07 18:01:33 +0200650 <details key="body" value="return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaServices2%>.getAverageOfBetaDistribution(this.getLowerBound(), this.getUpperBound(), &lt;%java.lang.Double%>.valueOf(this.getAlpha()), &lt;%java.lang.Double%>.valueOf(this.getBeta()));"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +0100651 </eAnnotations>
652 </eOperations>
653 <eStructuralFeatures xsi:type="ecore:EAttribute" name="alpha" unique="false" lowerBound="1"
654 eType="#//PositiveDouble" defaultValueLiteral="1.0"/>
655 <eStructuralFeatures xsi:type="ecore:EAttribute" name="beta" unique="false" lowerBound="1"
656 eType="#//PositiveDouble" defaultValueLiteral="1.0"/>
657 </eClassifiers>
658 <eClassifiers xsi:type="ecore:EClass" name="IDiscreteValueDeviation" abstract="true"
659 interface="true">
Harald Mackamul5df1f1e2019-04-03 15:41:08 +0200660 <eOperations name="getLowerBound" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//ELongObject"/>
661 <eOperations name="getUpperBound" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//ELongObject"/>
Harald Mackamul78bc3f72019-08-07 18:01:33 +0200662 <eOperations name="getAverage" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDoubleObject"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +0100663 </eClassifiers>
664 <eClassifiers xsi:type="ecore:EClass" name="DiscreteValueInterval" abstract="true">
Harald Mackamul78bc3f72019-08-07 18:01:33 +0200665 <eOperations name="getAverage" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDoubleObject">
Harald Mackamul0ebca062019-01-11 15:37:01 +0100666 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
Harald Mackamul78bc3f72019-08-07 18:01:33 +0200667 <details key="body" value="return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaServices2%>.getAverage(this.getLowerBound(), this.getUpperBound());"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +0100668 </eAnnotations>
669 </eOperations>
Harald Mackamul43ee8e22019-07-16 12:47:25 +0200670 <eOperations name="validateInvariants" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
671 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
672 <details key="body" value="return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaValidations%>.validateInvariants(this, diagnostics, context);"/>
673 </eAnnotations>
674 <eParameters name="diagnostics" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
675 <eParameters name="context" unique="false">
676 <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
677 <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
678 <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
679 </eGenericType>
680 </eParameters>
681 </eOperations>
Harald Mackamul0ebca062019-01-11 15:37:01 +0100682 <eStructuralFeatures xsi:type="ecore:EAttribute" name="lowerBound" unique="false"
Harald Mackamul5df1f1e2019-04-03 15:41:08 +0200683 lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//ELongObject"
Harald Mackamul0ebca062019-01-11 15:37:01 +0100684 defaultValueLiteral="0"/>
685 <eStructuralFeatures xsi:type="ecore:EAttribute" name="upperBound" unique="false"
Harald Mackamul5df1f1e2019-04-03 15:41:08 +0200686 lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//ELongObject"
Harald Mackamul0ebca062019-01-11 15:37:01 +0100687 defaultValueLiteral="0"/>
688 </eClassifiers>
689 <eClassifiers xsi:type="ecore:EClass" name="DiscreteValueConstant" eSuperTypes="#//IDiscreteValueDeviation">
Harald Mackamul5df1f1e2019-04-03 15:41:08 +0200690 <eOperations name="getLowerBound" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//ELongObject">
Harald Mackamul0ebca062019-01-11 15:37:01 +0100691 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
Harald Mackamul47dc0e12019-01-25 13:23:19 +0100692 <details key="body" value="return &lt;%java.lang.Long%>.valueOf(this.getValue());"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +0100693 </eAnnotations>
694 </eOperations>
Harald Mackamul5df1f1e2019-04-03 15:41:08 +0200695 <eOperations name="getUpperBound" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//ELongObject">
Harald Mackamul0ebca062019-01-11 15:37:01 +0100696 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
Harald Mackamul47dc0e12019-01-25 13:23:19 +0100697 <details key="body" value="return &lt;%java.lang.Long%>.valueOf(this.getValue());"/>
698 </eAnnotations>
699 </eOperations>
Harald Mackamul78bc3f72019-08-07 18:01:33 +0200700 <eOperations name="getAverage" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDoubleObject">
Harald Mackamul47dc0e12019-01-25 13:23:19 +0100701 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
Harald Mackamul78bc3f72019-08-07 18:01:33 +0200702 <details key="body" value="return &lt;%java.lang.Double%>.valueOf(&lt;%java.lang.Long%>.valueOf(this.getValue()).doubleValue());"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +0100703 </eAnnotations>
704 </eOperations>
705 <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" unique="false" lowerBound="1"
Harald Mackamul5df1f1e2019-04-03 15:41:08 +0200706 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//ELong" defaultValueLiteral="0"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +0100707 </eClassifiers>
708 <eClassifiers xsi:type="ecore:EClass" name="DiscreteValueHistogram" eSuperTypes="#//IDiscreteValueDeviation">
Harald Mackamul5df1f1e2019-04-03 15:41:08 +0200709 <eOperations name="getLowerBound" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//ELongObject">
Harald Mackamul0ebca062019-01-11 15:37:01 +0100710 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
Harald Mackamul78bc3f72019-08-07 18:01:33 +0200711 <details key="body" value="return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaServices2%>.getLowerBound_DV(this.getEntries());"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +0100712 </eAnnotations>
713 </eOperations>
Harald Mackamul5df1f1e2019-04-03 15:41:08 +0200714 <eOperations name="getUpperBound" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//ELongObject">
Harald Mackamul0ebca062019-01-11 15:37:01 +0100715 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
Harald Mackamul78bc3f72019-08-07 18:01:33 +0200716 <details key="body" value="return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaServices2%>.getUpperBound_DV(this.getEntries());"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +0100717 </eAnnotations>
718 </eOperations>
Harald Mackamul78bc3f72019-08-07 18:01:33 +0200719 <eOperations name="getAverage" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDoubleObject">
Harald Mackamul0ebca062019-01-11 15:37:01 +0100720 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
Harald Mackamul78bc3f72019-08-07 18:01:33 +0200721 <details key="body" value="return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaServices2%>.getAverage_DV(this.getEntries());"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +0100722 </eAnnotations>
723 </eOperations>
724 <eStructuralFeatures xsi:type="ecore:EReference" name="entries" lowerBound="1"
725 upperBound="-1" eType="#//DiscreteValueHistogramEntry" containment="true"
726 resolveProxies="false"/>
727 </eClassifiers>
728 <eClassifiers xsi:type="ecore:EClass" name="DiscreteValueHistogramEntry" eSuperTypes="#//DiscreteValueInterval">
729 <eStructuralFeatures xsi:type="ecore:EAttribute" name="occurrences" unique="false"
730 lowerBound="1" eType="#//PositiveLong" defaultValueLiteral="1"/>
731 </eClassifiers>
732 <eClassifiers xsi:type="ecore:EClass" name="BoundedDiscreteValueDistribution" abstract="true"
733 eSuperTypes="#//DiscreteValueInterval #//IDiscreteValueDeviation"/>
734 <eClassifiers xsi:type="ecore:EClass" name="TruncatedDiscreteValueDistribution"
735 abstract="true" eSuperTypes="#//IDiscreteValueDeviation">
Harald Mackamul43ee8e22019-07-16 12:47:25 +0200736 <eOperations name="validateInvariants" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
737 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
738 <details key="body" value="return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaValidations%>.validateInvariants(this, diagnostics, context);"/>
739 </eAnnotations>
740 <eParameters name="diagnostics" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
741 <eParameters name="context" unique="false">
742 <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
743 <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
744 <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
745 </eGenericType>
746 </eParameters>
747 </eOperations>
Harald Mackamul0ebca062019-01-11 15:37:01 +0100748 <eStructuralFeatures xsi:type="ecore:EAttribute" name="lowerBound" unique="false"
Harald Mackamul5df1f1e2019-04-03 15:41:08 +0200749 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//ELongObject"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +0100750 <eStructuralFeatures xsi:type="ecore:EAttribute" name="upperBound" unique="false"
Harald Mackamul5df1f1e2019-04-03 15:41:08 +0200751 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//ELongObject"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +0100752 </eClassifiers>
753 <eClassifiers xsi:type="ecore:EClass" name="DiscreteValueBoundaries" eSuperTypes="#//BoundedDiscreteValueDistribution">
754 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
755 <details key="documentation" value="Defines the upper and lower bounds of a value interval without defining the distribution"/>
756 </eAnnotations>
757 <eStructuralFeatures xsi:type="ecore:EAttribute" name="samplingType" unique="false"
758 eType="#//SamplingType"/>
759 </eClassifiers>
760 <eClassifiers xsi:type="ecore:EClass" name="DiscreteValueStatistics" eSuperTypes="#//BoundedDiscreteValueDistribution">
761 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
762 <details key="documentation" value="Defines the upper bound, lower bound and mean of a value interval without defining the distribution"/>
763 </eAnnotations>
764 <eStructuralFeatures xsi:type="ecore:EAttribute" name="average" unique="false"
Harald Mackamul78bc3f72019-08-07 18:01:33 +0200765 lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDoubleObject"
Harald Mackamul0ebca062019-01-11 15:37:01 +0100766 defaultValueLiteral="0.0"/>
767 </eClassifiers>
768 <eClassifiers xsi:type="ecore:EClass" name="DiscreteValueUniformDistribution" eSuperTypes="#//BoundedDiscreteValueDistribution">
769 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
770 <details key="documentation" value="Uniform distribution"/>
771 </eAnnotations>
772 </eClassifiers>
773 <eClassifiers xsi:type="ecore:EClass" name="DiscreteValueGaussDistribution" eSuperTypes="#//TruncatedDiscreteValueDistribution">
774 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
775 <details key="documentation" value="Gauss distribution"/>
776 </eAnnotations>
Harald Mackamul78bc3f72019-08-07 18:01:33 +0200777 <eOperations name="getAverage" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDoubleObject">
Harald Mackamul0ebca062019-01-11 15:37:01 +0100778 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
Harald Mackamul78bc3f72019-08-07 18:01:33 +0200779 <details key="body" value="return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaServices2%>.getAverageOfTruncatedNormalDistribution(this.getLowerBound(), this.getUpperBound(), &lt;%java.lang.Double%>.valueOf(this.getMean()), &lt;%java.lang.Double%>.valueOf(this.getSd()));"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +0100780 </eAnnotations>
781 </eOperations>
782 <eStructuralFeatures xsi:type="ecore:EAttribute" name="mean" unique="false" lowerBound="1"
Harald Mackamul5df1f1e2019-04-03 15:41:08 +0200783 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble" defaultValueLiteral="0.0"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +0100784 <eStructuralFeatures xsi:type="ecore:EAttribute" name="sd" unique="false" lowerBound="1"
785 eType="#//PositiveDouble" defaultValueLiteral="1.0"/>
786 </eClassifiers>
787 <eClassifiers xsi:type="ecore:EClass" name="DiscreteValueWeibullEstimatorsDistribution"
788 eSuperTypes="#//BoundedDiscreteValueDistribution">
789 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
790 <details key="documentation" value="Weibull Distribution&#xA;The parameter of a Weibull distribution (kappa, lambda...) are calculated from the estimators minimum, maximum and average."/>
791 </eAnnotations>
792 <eStructuralFeatures xsi:type="ecore:EAttribute" name="average" unique="false"
Harald Mackamul78bc3f72019-08-07 18:01:33 +0200793 lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDoubleObject"
Harald Mackamul0ebca062019-01-11 15:37:01 +0100794 defaultValueLiteral="0.0"/>
795 <eStructuralFeatures xsi:type="ecore:EAttribute" name="pRemainPromille" unique="false"
796 lowerBound="1" eType="#//PositiveDouble" defaultValueLiteral="1.0"/>
797 </eClassifiers>
798 <eClassifiers xsi:type="ecore:EClass" name="DiscreteValueBetaDistribution" eSuperTypes="#//BoundedDiscreteValueDistribution">
799 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
800 <details key="documentation" value="Beta distribution"/>
801 </eAnnotations>
Harald Mackamul78bc3f72019-08-07 18:01:33 +0200802 <eOperations name="getAverage" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDoubleObject">
Harald Mackamul0ebca062019-01-11 15:37:01 +0100803 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
Harald Mackamul78bc3f72019-08-07 18:01:33 +0200804 <details key="body" value="return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaServices2%>.getAverageOfBetaDistribution(this.getLowerBound(), this.getUpperBound(), &lt;%java.lang.Double%>.valueOf(this.getAlpha()), &lt;%java.lang.Double%>.valueOf(this.getBeta()));"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +0100805 </eAnnotations>
806 </eOperations>
807 <eStructuralFeatures xsi:type="ecore:EAttribute" name="alpha" unique="false" lowerBound="1"
808 eType="#//PositiveDouble" defaultValueLiteral="1.0"/>
809 <eStructuralFeatures xsi:type="ecore:EAttribute" name="beta" unique="false" lowerBound="1"
810 eType="#//PositiveDouble" defaultValueLiteral="1.0"/>
811 </eClassifiers>
812 <eClassifiers xsi:type="ecore:EClass" name="IContinuousValueDeviation" abstract="true"
813 interface="true">
Harald Mackamul5df1f1e2019-04-03 15:41:08 +0200814 <eOperations name="getLowerBound" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDoubleObject"/>
815 <eOperations name="getUpperBound" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDoubleObject"/>
Harald Mackamul78bc3f72019-08-07 18:01:33 +0200816 <eOperations name="getAverage" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDoubleObject"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +0100817 </eClassifiers>
818 <eClassifiers xsi:type="ecore:EClass" name="ContinuousValueInterval" abstract="true">
Harald Mackamul78bc3f72019-08-07 18:01:33 +0200819 <eOperations name="getAverage" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDoubleObject">
Harald Mackamul0ebca062019-01-11 15:37:01 +0100820 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
Harald Mackamul78bc3f72019-08-07 18:01:33 +0200821 <details key="body" value="return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaServices2%>.getAverage(this.getLowerBound(), this.getUpperBound());"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +0100822 </eAnnotations>
823 </eOperations>
Harald Mackamul43ee8e22019-07-16 12:47:25 +0200824 <eOperations name="validateInvariants" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
825 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
826 <details key="body" value="return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaValidations%>.validateInvariants(this, diagnostics, context);"/>
827 </eAnnotations>
828 <eParameters name="diagnostics" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
829 <eParameters name="context" unique="false">
830 <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
831 <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
832 <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
833 </eGenericType>
834 </eParameters>
835 </eOperations>
Harald Mackamul0ebca062019-01-11 15:37:01 +0100836 <eStructuralFeatures xsi:type="ecore:EAttribute" name="lowerBound" unique="false"
Harald Mackamul5df1f1e2019-04-03 15:41:08 +0200837 lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDoubleObject"
Harald Mackamul0ebca062019-01-11 15:37:01 +0100838 defaultValueLiteral="0.0"/>
839 <eStructuralFeatures xsi:type="ecore:EAttribute" name="upperBound" unique="false"
Harald Mackamul5df1f1e2019-04-03 15:41:08 +0200840 lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDoubleObject"
Harald Mackamul0ebca062019-01-11 15:37:01 +0100841 defaultValueLiteral="0.0"/>
842 </eClassifiers>
843 <eClassifiers xsi:type="ecore:EClass" name="ContinuousValueConstant" eSuperTypes="#//IContinuousValueDeviation">
Harald Mackamul5df1f1e2019-04-03 15:41:08 +0200844 <eOperations name="getLowerBound" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDoubleObject">
Harald Mackamul0ebca062019-01-11 15:37:01 +0100845 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
Harald Mackamul47dc0e12019-01-25 13:23:19 +0100846 <details key="body" value="return &lt;%java.lang.Double%>.valueOf(this.getValue());"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +0100847 </eAnnotations>
848 </eOperations>
Harald Mackamul5df1f1e2019-04-03 15:41:08 +0200849 <eOperations name="getUpperBound" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDoubleObject">
Harald Mackamul0ebca062019-01-11 15:37:01 +0100850 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
Harald Mackamul47dc0e12019-01-25 13:23:19 +0100851 <details key="body" value="return &lt;%java.lang.Double%>.valueOf(this.getValue());"/>
852 </eAnnotations>
853 </eOperations>
Harald Mackamul78bc3f72019-08-07 18:01:33 +0200854 <eOperations name="getAverage" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDoubleObject">
Harald Mackamul47dc0e12019-01-25 13:23:19 +0100855 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
Harald Mackamul78bc3f72019-08-07 18:01:33 +0200856 <details key="body" value="return &lt;%java.lang.Double%>.valueOf(this.getValue());"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +0100857 </eAnnotations>
858 </eOperations>
859 <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" unique="false" lowerBound="1"
Harald Mackamul5df1f1e2019-04-03 15:41:08 +0200860 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble" defaultValueLiteral="0.0"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +0100861 </eClassifiers>
862 <eClassifiers xsi:type="ecore:EClass" name="ContinuousValueHistogram" eSuperTypes="#//IContinuousValueDeviation">
Harald Mackamul5df1f1e2019-04-03 15:41:08 +0200863 <eOperations name="getLowerBound" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDoubleObject">
Harald Mackamul0ebca062019-01-11 15:37:01 +0100864 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
Harald Mackamul78bc3f72019-08-07 18:01:33 +0200865 <details key="body" value="return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaServices2%>.getLowerBound_CV(this.getEntries());"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +0100866 </eAnnotations>
867 </eOperations>
Harald Mackamul5df1f1e2019-04-03 15:41:08 +0200868 <eOperations name="getUpperBound" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDoubleObject">
Harald Mackamul0ebca062019-01-11 15:37:01 +0100869 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
Harald Mackamul78bc3f72019-08-07 18:01:33 +0200870 <details key="body" value="return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaServices2%>.getUpperBound_CV(this.getEntries());"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +0100871 </eAnnotations>
872 </eOperations>
Harald Mackamul78bc3f72019-08-07 18:01:33 +0200873 <eOperations name="getAverage" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDoubleObject">
Harald Mackamul0ebca062019-01-11 15:37:01 +0100874 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
Harald Mackamul78bc3f72019-08-07 18:01:33 +0200875 <details key="body" value="return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaServices2%>.getAverage_CV(this.getEntries());"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +0100876 </eAnnotations>
877 </eOperations>
878 <eStructuralFeatures xsi:type="ecore:EReference" name="entries" lowerBound="1"
879 upperBound="-1" eType="#//ContinuousValueHistogramEntry" containment="true"
880 resolveProxies="false"/>
881 </eClassifiers>
882 <eClassifiers xsi:type="ecore:EClass" name="ContinuousValueHistogramEntry" eSuperTypes="#//ContinuousValueInterval">
883 <eStructuralFeatures xsi:type="ecore:EAttribute" name="occurrences" unique="false"
884 lowerBound="1" eType="#//PositiveLong" defaultValueLiteral="1"/>
885 </eClassifiers>
886 <eClassifiers xsi:type="ecore:EClass" name="BoundedContinuousValueDistribution"
887 abstract="true" eSuperTypes="#//ContinuousValueInterval #//IContinuousValueDeviation"/>
888 <eClassifiers xsi:type="ecore:EClass" name="TruncatedContinuousValueDistribution"
889 abstract="true" eSuperTypes="#//IContinuousValueDeviation">
Harald Mackamul43ee8e22019-07-16 12:47:25 +0200890 <eOperations name="validateInvariants" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
891 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
892 <details key="body" value="return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaValidations%>.validateInvariants(this, diagnostics, context);"/>
893 </eAnnotations>
894 <eParameters name="diagnostics" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
895 <eParameters name="context" unique="false">
896 <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
897 <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
898 <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
899 </eGenericType>
900 </eParameters>
901 </eOperations>
Harald Mackamul0ebca062019-01-11 15:37:01 +0100902 <eStructuralFeatures xsi:type="ecore:EAttribute" name="lowerBound" unique="false"
Harald Mackamul5df1f1e2019-04-03 15:41:08 +0200903 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDoubleObject"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +0100904 <eStructuralFeatures xsi:type="ecore:EAttribute" name="upperBound" unique="false"
Harald Mackamul5df1f1e2019-04-03 15:41:08 +0200905 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDoubleObject"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +0100906 </eClassifiers>
907 <eClassifiers xsi:type="ecore:EClass" name="ContinuousValueBoundaries" eSuperTypes="#//BoundedContinuousValueDistribution">
908 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
909 <details key="documentation" value="Defines the upper and lower bounds of a value interval without defining the distribution"/>
910 </eAnnotations>
911 <eStructuralFeatures xsi:type="ecore:EAttribute" name="samplingType" unique="false"
912 eType="#//SamplingType"/>
913 </eClassifiers>
914 <eClassifiers xsi:type="ecore:EClass" name="ContinuousValueStatistics" eSuperTypes="#//BoundedContinuousValueDistribution">
915 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
916 <details key="documentation" value="Defines the upper bound, lower bound and mean of a value interval without defining the distribution"/>
917 </eAnnotations>
918 <eStructuralFeatures xsi:type="ecore:EAttribute" name="average" unique="false"
Harald Mackamul78bc3f72019-08-07 18:01:33 +0200919 lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDoubleObject"
Harald Mackamul0ebca062019-01-11 15:37:01 +0100920 defaultValueLiteral="0.0"/>
921 </eClassifiers>
922 <eClassifiers xsi:type="ecore:EClass" name="ContinuousValueUniformDistribution"
923 eSuperTypes="#//BoundedContinuousValueDistribution">
924 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
925 <details key="documentation" value="Uniform distribution"/>
926 </eAnnotations>
927 </eClassifiers>
928 <eClassifiers xsi:type="ecore:EClass" name="ContinuousValueGaussDistribution" eSuperTypes="#//TruncatedContinuousValueDistribution">
929 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
930 <details key="documentation" value="Gauss distribution"/>
931 </eAnnotations>
Harald Mackamul78bc3f72019-08-07 18:01:33 +0200932 <eOperations name="getAverage" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDoubleObject">
Harald Mackamul0ebca062019-01-11 15:37:01 +0100933 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
Harald Mackamul78bc3f72019-08-07 18:01:33 +0200934 <details key="body" value="return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaServices2%>.getAverageOfTruncatedNormalDistribution(this.getLowerBound(), this.getUpperBound(), &lt;%java.lang.Double%>.valueOf(this.getMean()), &lt;%java.lang.Double%>.valueOf(this.getSd()));"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +0100935 </eAnnotations>
936 </eOperations>
937 <eStructuralFeatures xsi:type="ecore:EAttribute" name="mean" unique="false" lowerBound="1"
Harald Mackamul5df1f1e2019-04-03 15:41:08 +0200938 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble" defaultValueLiteral="0.0"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +0100939 <eStructuralFeatures xsi:type="ecore:EAttribute" name="sd" unique="false" lowerBound="1"
940 eType="#//PositiveDouble" defaultValueLiteral="1.0"/>
941 </eClassifiers>
942 <eClassifiers xsi:type="ecore:EClass" name="ContinuousValueWeibullEstimatorsDistribution"
943 eSuperTypes="#//BoundedContinuousValueDistribution">
944 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
945 <details key="documentation" value="Weibull Distribution&#xA;The parameter of a Weibull distribution (kappa, lambda...) are calculated from the estimators minimum, maximum and average."/>
946 </eAnnotations>
947 <eStructuralFeatures xsi:type="ecore:EAttribute" name="average" unique="false"
Harald Mackamul78bc3f72019-08-07 18:01:33 +0200948 lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDoubleObject"
Harald Mackamul0ebca062019-01-11 15:37:01 +0100949 defaultValueLiteral="0.0"/>
950 <eStructuralFeatures xsi:type="ecore:EAttribute" name="pRemainPromille" unique="false"
951 lowerBound="1" eType="#//PositiveDouble" defaultValueLiteral="1.0"/>
952 </eClassifiers>
953 <eClassifiers xsi:type="ecore:EClass" name="ContinuousValueBetaDistribution" eSuperTypes="#//BoundedContinuousValueDistribution">
954 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
955 <details key="documentation" value="Beta distribution"/>
956 </eAnnotations>
Harald Mackamul78bc3f72019-08-07 18:01:33 +0200957 <eOperations name="getAverage" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDoubleObject">
Harald Mackamul0ebca062019-01-11 15:37:01 +0100958 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
Harald Mackamul78bc3f72019-08-07 18:01:33 +0200959 <details key="body" value="return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaServices2%>.getAverageOfBetaDistribution(this.getLowerBound(), this.getUpperBound(), &lt;%java.lang.Double%>.valueOf(this.getAlpha()), &lt;%java.lang.Double%>.valueOf(this.getBeta()));"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +0100960 </eAnnotations>
961 </eOperations>
962 <eStructuralFeatures xsi:type="ecore:EAttribute" name="alpha" unique="false" lowerBound="1"
963 eType="#//PositiveDouble" defaultValueLiteral="1.0"/>
964 <eStructuralFeatures xsi:type="ecore:EAttribute" name="beta" unique="false" lowerBound="1"
965 eType="#//PositiveDouble" defaultValueLiteral="1.0"/>
966 </eClassifiers>
Harald Mackamul5df1f1e2019-04-03 15:41:08 +0200967 <eClassifiers xsi:type="ecore:EClass" name="Mode" abstract="true" eSuperTypes="#//ReferableBaseObject"/>
968 <eClassifiers xsi:type="ecore:EClass" name="NumericMode" eSuperTypes="#//Mode"/>
969 <eClassifiers xsi:type="ecore:EClass" name="EnumMode" eSuperTypes="#//Mode">
970 <eOperations name="getLiteral" unique="false" eType="#//ModeLiteral">
971 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
972 <details key="body" value="final &lt;%org.eclipse.xtext.xbase.lib.Functions.Function1%>&lt;&lt;%org.eclipse.app4mc.amalthea.model.ModeLiteral%>, &lt;%java.lang.Boolean%>> _function = new &lt;%org.eclipse.xtext.xbase.lib.Functions.Function1%>&lt;&lt;%org.eclipse.app4mc.amalthea.model.ModeLiteral%>, &lt;%java.lang.Boolean%>>()&#xA;{&#xA;&#x9;public &lt;%java.lang.Boolean%> apply(final &lt;%org.eclipse.app4mc.amalthea.model.ModeLiteral%> it)&#xA;&#x9;{&#xA;&#x9;&#x9;&lt;%java.lang.String%> _name = it.getName();&#xA;&#x9;&#x9;return &lt;%java.lang.Boolean%>.valueOf(&lt;%com.google.common.base.Objects%>.equal(_name, literal));&#xA;&#x9;}&#xA;};&#xA;return &lt;%org.eclipse.xtext.xbase.lib.IterableExtensions%>.&lt;&lt;%org.eclipse.app4mc.amalthea.model.ModeLiteral%>>findFirst(this.getLiterals(), _function);"/>
973 </eAnnotations>
974 <eParameters name="literal" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
975 </eOperations>
Harald Mackamul0ebca062019-01-11 15:37:01 +0100976 <eStructuralFeatures xsi:type="ecore:EReference" name="literals" upperBound="-1"
977 eType="#//ModeLiteral" containment="true" resolveProxies="false" eOpposite="#//ModeLiteral/containingMode"/>
978 </eClassifiers>
979 <eClassifiers xsi:type="ecore:EClass" name="ModeLiteral" eSuperTypes="#//ReferableBaseObject">
Harald Mackamul37f14f52019-04-12 12:56:25 +0200980 <eOperations name="getNamePrefix" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
Harald Mackamul0ebca062019-01-11 15:37:01 +0100981 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
Harald Mackamul37f14f52019-04-12 12:56:25 +0200982 <details key="body" value="&lt;%org.eclipse.app4mc.amalthea.model.EnumMode%> _containingMode = this.getContainingMode();&#xA;&lt;%java.lang.String%> _name = null;&#xA;if (_containingMode!=null)&#xA;{&#xA;&#x9;_name=_containingMode.getName();&#xA;}&#xA;return _name;"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +0100983 </eAnnotations>
984 </eOperations>
Harald Mackamul5df1f1e2019-04-03 15:41:08 +0200985 <eOperations name="toString" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
Harald Mackamul0ebca062019-01-11 15:37:01 +0100986 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
Harald Mackamul5df1f1e2019-04-03 15:41:08 +0200987 <details key="body" value="&lt;%java.lang.String%> _xifexpression = null;&#xA;boolean _isNullOrEmpty = &lt;%org.eclipse.xtext.xbase.lib.StringExtensions%>.isNullOrEmpty(this.getName());&#xA;if (_isNullOrEmpty)&#xA;{&#xA;&#x9;_xifexpression = &quot;&lt;literal>&quot;;&#xA;}&#xA;else&#xA;{&#xA;&#x9;_xifexpression = this.getName();&#xA;}&#xA;return _xifexpression;"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +0100988 </eAnnotations>
989 </eOperations>
Harald Mackamul5df1f1e2019-04-03 15:41:08 +0200990 <eStructuralFeatures xsi:type="ecore:EReference" name="containingMode" eType="#//EnumMode"
991 changeable="false" eOpposite="#//EnumMode/literals">
Harald Mackamul0ebca062019-01-11 15:37:01 +0100992 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
993 <details key="propertyCategory" value="Read only"/>
994 </eAnnotations>
995 </eStructuralFeatures>
996 </eClassifiers>
997 <eClassifiers xsi:type="ecore:EDataType" name="Address" instanceClassName="long">
998 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
999 <details key="documentation" value="Hardware Address (long; specified as hexadecimal value)"/>
1000 <details key="create" value="&lt;%java.lang.Long%> _xifexpression = null;&#xA;if ((it != null))&#xA;{&#xA;&#x9;&lt;%java.lang.Long%> _xifexpression_1 = null;&#xA;&#x9;if ((it.startsWith(&quot;-&quot;) || it.startsWith(&quot;+&quot;)))&#xA;&#x9;{&#xA;&#x9;&#x9;throw new &lt;%java.lang.NumberFormatException%>(&quot;Sign character&quot;);&#xA;&#x9;}&#xA;&#x9;else&#xA;&#x9;{&#xA;&#x9;&#x9;_xifexpression_1 = &lt;%java.lang.Long%>.decode(it);&#xA;&#x9;}&#xA;&#x9;_xifexpression = _xifexpression_1;&#xA;}&#xA;return (_xifexpression).longValue();"/>
1001 <details key="convert" value="&lt;%java.lang.String%> _hexString = &lt;%java.lang.Long%>.toHexString(it);&#xA;return (&quot;0x&quot; + _hexString);"/>
1002 </eAnnotations>
1003 <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
1004 <details key="minInclusive" value="0"/>
1005 </eAnnotations>
1006 </eClassifiers>
1007 <eClassifiers xsi:type="ecore:EDataType" name="PositiveInt" instanceClassName="int">
Harald Mackamul0ebca062019-01-11 15:37:01 +01001008 <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
Harald Mackamul47dc0e12019-01-25 13:23:19 +01001009 <details key="minExclusive" value="0"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +01001010 </eAnnotations>
1011 </eClassifiers>
1012 <eClassifiers xsi:type="ecore:EDataType" name="PositiveLong" instanceClassName="long">
Harald Mackamul0ebca062019-01-11 15:37:01 +01001013 <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
Harald Mackamul47dc0e12019-01-25 13:23:19 +01001014 <details key="minExclusive" value="0"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +01001015 </eAnnotations>
1016 </eClassifiers>
1017 <eClassifiers xsi:type="ecore:EDataType" name="PositiveDouble" instanceClassName="double">
Harald Mackamul0ebca062019-01-11 15:37:01 +01001018 <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
1019 <details key="minExclusive" value="0"/>
1020 </eAnnotations>
1021 </eClassifiers>
Harald Mackamulaa64db02019-07-26 14:03:01 +02001022 <eClassifiers xsi:type="ecore:EDataType" name="NonNegativeInt" instanceClassName="int">
1023 <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
1024 <details key="minInclusive" value="0"/>
Harald Mackamul02e0ee42019-07-15 17:10:21 +02001025 </eAnnotations>
Harald Mackamulaa64db02019-07-26 14:03:01 +02001026 </eClassifiers>
1027 <eClassifiers xsi:type="ecore:EDataType" name="NonNegativeLong" instanceClassName="long">
1028 <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
1029 <details key="minInclusive" value="0"/>
1030 </eAnnotations>
1031 </eClassifiers>
1032 <eClassifiers xsi:type="ecore:EDataType" name="NonNegativeDouble" instanceClassName="double">
Harald Mackamul02e0ee42019-07-15 17:10:21 +02001033 <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
1034 <details key="minInclusive" value="0"/>
1035 </eAnnotations>
1036 </eClassifiers>
Harald Mackamul0ebca062019-01-11 15:37:01 +01001037 <eClassifiers xsi:type="ecore:EClass" name="ComponentsModel" eSuperTypes="#//BaseObject">
1038 <eStructuralFeatures xsi:type="ecore:EReference" name="components" upperBound="-1"
1039 eType="#//Component" containment="true" resolveProxies="false"/>
1040 <eStructuralFeatures xsi:type="ecore:EReference" name="systems" upperBound="-1"
1041 eType="#//System" containment="true" resolveProxies="false"/>
1042 </eClassifiers>
1043 <eClassifiers xsi:type="ecore:EClass" name="ISystem" abstract="true" interface="true">
1044 <eStructuralFeatures xsi:type="ecore:EReference" name="componentInstances" upperBound="-1"
1045 eType="#//ComponentInstance" containment="true" resolveProxies="false"/>
1046 <eStructuralFeatures xsi:type="ecore:EReference" name="connectors" upperBound="-1"
1047 eType="#//Connector" containment="true" resolveProxies="false"/>
1048 <eStructuralFeatures xsi:type="ecore:EReference" name="groundedPorts" upperBound="-1"
1049 eType="#//QualifiedPort" containment="true" resolveProxies="false"/>
1050 <eStructuralFeatures xsi:type="ecore:EReference" name="innerPorts" upperBound="-1"
1051 eType="#//QualifiedPort" changeable="false" volatile="true" transient="true"
1052 derived="true">
1053 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
1054 <details key="propertyCategory" value="Read only"/>
1055 <details key="propertyFilterFlags" value="org.eclipse.ui.views.properties.expert"/>
1056 <details key="get" value="return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaServices%>.getInnerPorts(this);"/>
1057 </eAnnotations>
1058 </eStructuralFeatures>
1059 </eClassifiers>
1060 <eClassifiers xsi:type="ecore:EClass" name="Port" abstract="true" eSuperTypes="#//ReferableBaseObject #//ITaggable">
Harald Mackamul37f14f52019-04-12 12:56:25 +02001061 <eOperations name="getNamePrefix" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
Harald Mackamul0ebca062019-01-11 15:37:01 +01001062 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
Harald Mackamul37f14f52019-04-12 12:56:25 +02001063 <details key="body" value="&lt;%org.eclipse.app4mc.amalthea.model.Component%> _containingComponent = this.getContainingComponent();&#xA;&lt;%java.lang.String%> _name = null;&#xA;if (_containingComponent!=null)&#xA;{&#xA;&#x9;_name=_containingComponent.getName();&#xA;}&#xA;return _name;"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +01001064 </eAnnotations>
1065 </eOperations>
1066 <eStructuralFeatures xsi:type="ecore:EReference" name="containingComponent" eType="#//Component"
1067 changeable="false" eOpposite="#//Component/ports">
1068 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
1069 <details key="propertyCategory" value="Read only"/>
1070 </eAnnotations>
1071 </eStructuralFeatures>
1072 </eClassifiers>
1073 <eClassifiers xsi:type="ecore:EClass" name="Component" eSuperTypes="#//ReferableBaseObject #//ITaggable">
1074 <eStructuralFeatures xsi:type="ecore:EReference" name="ports" upperBound="-1"
1075 eType="#//Port" containment="true" resolveProxies="false" eOpposite="#//Port/containingComponent"/>
1076 <eStructuralFeatures xsi:type="ecore:EReference" name="tasks" upperBound="-1"
1077 eType="#//AbstractProcess"/>
1078 <eStructuralFeatures xsi:type="ecore:EReference" name="runnables" upperBound="-1"
1079 eType="#//Runnable"/>
1080 <eStructuralFeatures xsi:type="ecore:EReference" name="labels" upperBound="-1"
1081 eType="#//Label"/>
1082 <eStructuralFeatures xsi:type="ecore:EReference" name="semaphores" upperBound="-1"
1083 eType="#//Semaphore"/>
1084 <eStructuralFeatures xsi:type="ecore:EReference" name="osEvents" upperBound="-1"
1085 eType="#//OsEvent"/>
1086 </eClassifiers>
1087 <eClassifiers xsi:type="ecore:EClass" name="Composite" eSuperTypes="#//Component #//ISystem"/>
1088 <eClassifiers xsi:type="ecore:EClass" name="System" eSuperTypes="#//ReferableBaseObject #//ITaggable #//ISystem"/>
1089 <eClassifiers xsi:type="ecore:EClass" name="ComponentInstance" eSuperTypes="#//ReferableBaseObject #//ITaggable">
1090 <eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="#//Component"/>
1091 </eClassifiers>
1092 <eClassifiers xsi:type="ecore:EClass" name="Connector" eSuperTypes="#//BaseObject #//INamed #//ITaggable">
1093 <eStructuralFeatures xsi:type="ecore:EReference" name="sourcePort" eType="#//QualifiedPort"
1094 containment="true" resolveProxies="false"/>
1095 <eStructuralFeatures xsi:type="ecore:EReference" name="targetPort" eType="#//QualifiedPort"
1096 containment="true" resolveProxies="false"/>
1097 </eClassifiers>
1098 <eClassifiers xsi:type="ecore:EClass" name="QualifiedPort" eSuperTypes="#//BaseObject">
1099 <eStructuralFeatures xsi:type="ecore:EReference" name="instance" eType="#//ComponentInstance"/>
1100 <eStructuralFeatures xsi:type="ecore:EReference" name="port" eType="#//Port"/>
1101 </eClassifiers>
1102 <eClassifiers xsi:type="ecore:EClass" name="InterfacePort" eSuperTypes="#//Port">
1103 <eStructuralFeatures xsi:type="ecore:EAttribute" name="interfaceName" unique="false"
Harald Mackamul5df1f1e2019-04-03 15:41:08 +02001104 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +01001105 <eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" unique="false" eType="#//InterfaceKind"/>
1106 </eClassifiers>
1107 <eClassifiers xsi:type="ecore:EEnum" name="InterfaceKind">
1108 <eLiterals name="_undefined_"/>
1109 <eLiterals name="provides"/>
1110 <eLiterals name="requires"/>
1111 <eLiterals name="provides_requires"/>
1112 </eClassifiers>
1113 <eClassifiers xsi:type="ecore:EClass" name="ConfigModel" eSuperTypes="#//BaseObject">
1114 <eStructuralFeatures xsi:type="ecore:EReference" name="eventsToTrace" upperBound="-1"
1115 eType="#//EventConfig" containment="true" resolveProxies="false"/>
1116 </eClassifiers>
1117 <eClassifiers xsi:type="ecore:EClass" name="EventConfig" eSuperTypes="#//BaseObject #//INamed">
1118 <eStructuralFeatures xsi:type="ecore:EReference" name="event" lowerBound="1" eType="#//EntityEvent"/>
1119 </eClassifiers>
1120 <eClassifiers xsi:type="ecore:EClass" name="ConstraintsModel" eSuperTypes="#//BaseObject">
1121 <eStructuralFeatures xsi:type="ecore:EReference" name="eventChains" upperBound="-1"
1122 eType="#//EventChain" containment="true" resolveProxies="false"/>
1123 <eStructuralFeatures xsi:type="ecore:EReference" name="timingConstraints" upperBound="-1"
1124 eType="#//TimingConstraint" containment="true" resolveProxies="false"/>
1125 <eStructuralFeatures xsi:type="ecore:EReference" name="affinityConstraints" upperBound="-1"
1126 eType="#//AffinityConstraint" containment="true" resolveProxies="false"/>
1127 <eStructuralFeatures xsi:type="ecore:EReference" name="runnableSequencingConstraints"
1128 upperBound="-1" eType="#//RunnableSequencingConstraint" containment="true"
1129 resolveProxies="false"/>
1130 <eStructuralFeatures xsi:type="ecore:EReference" name="dataAgeConstraints" upperBound="-1"
1131 eType="#//DataAgeConstraint" containment="true" resolveProxies="false"/>
1132 <eStructuralFeatures xsi:type="ecore:EReference" name="requirements" upperBound="-1"
1133 eType="#//Requirement" containment="true" resolveProxies="false"/>
1134 <eStructuralFeatures xsi:type="ecore:EReference" name="dataCoherencyGroups" upperBound="-1"
1135 eType="#//DataCoherencyGroup" containment="true" resolveProxies="false"/>
1136 <eStructuralFeatures xsi:type="ecore:EReference" name="dataStabilityGroups" upperBound="-1"
1137 eType="#//DataStabilityGroup" containment="true" resolveProxies="false"/>
1138 <eStructuralFeatures xsi:type="ecore:EReference" name="physicalSectionConstraints"
1139 upperBound="-1" eType="#//PhysicalSectionConstraint" containment="true" resolveProxies="false"/>
1140 </eClassifiers>
1141 <eClassifiers xsi:type="ecore:EEnum" name="RunnableOrderType">
1142 <eLiterals name="_undefined_"/>
1143 <eLiterals name="successor"/>
1144 <eLiterals name="immediateSuccessorStartSequence"/>
1145 <eLiterals name="immediateSuccessorAnySequence"/>
1146 <eLiterals name="immediateSuccessorEndSequence"/>
1147 </eClassifiers>
1148 <eClassifiers xsi:type="ecore:EClass" name="RunnableSequencingConstraint" eSuperTypes="#//ReferableBaseObject">
1149 <eStructuralFeatures xsi:type="ecore:EAttribute" name="orderType" unique="false"
1150 eType="#//RunnableOrderType"/>
1151 <eStructuralFeatures xsi:type="ecore:EReference" name="runnableGroups" lowerBound="2"
1152 upperBound="-1" eType="#//RunnableEntityGroup" containment="true" resolveProxies="false"/>
1153 <eStructuralFeatures xsi:type="ecore:EReference" name="processScope" upperBound="-1"
1154 eType="#//AbstractProcess"/>
1155 </eClassifiers>
1156 <eClassifiers xsi:type="ecore:EClass" name="AffinityConstraint" abstract="true"
1157 eSuperTypes="#//ReferableBaseObject"/>
1158 <eClassifiers xsi:type="ecore:EClass" name="SeparationConstraint" abstract="true"
1159 eSuperTypes="#//AffinityConstraint">
1160 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
1161 <details key="documentation" value="An abstract superclass for all separation constraints"/>
1162 </eAnnotations>
1163 </eClassifiers>
1164 <eClassifiers xsi:type="ecore:EClass" name="PairingConstraint" abstract="true" eSuperTypes="#//AffinityConstraint">
1165 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
1166 <details key="documentation" value="An abstract superclass for all pairing constraints"/>
1167 </eAnnotations>
1168 </eClassifiers>
1169 <eClassifiers xsi:type="ecore:EClass" name="ProcessConstraint" abstract="true">
1170 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
1171 <details key="documentation" value="An abstract superclass for all process related constraint&#xA;The target describes the entity on which the processes can be mapped"/>
1172 </eAnnotations>
1173 <eStructuralFeatures xsi:type="ecore:EReference" name="target" eType="#//ProcessConstraintTarget"
1174 containment="true" resolveProxies="false"/>
1175 </eClassifiers>
1176 <eClassifiers xsi:type="ecore:EClass" name="RunnableConstraint" abstract="true">
1177 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
1178 <details key="documentation" value="An abstract superclass for all runnable related constraint&#xA;The target describes the entity on which the runnables can be mapped"/>
1179 </eAnnotations>
1180 <eStructuralFeatures xsi:type="ecore:EReference" name="target" eType="#//RunnableConstraintTarget"
1181 containment="true" resolveProxies="false"/>
1182 </eClassifiers>
1183 <eClassifiers xsi:type="ecore:EClass" name="DataConstraint" abstract="true">
1184 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
1185 <details key="documentation" value="An abstract superclass for all data related constraint&#xA;The target describes the entity on which the data can be mapped"/>
1186 </eAnnotations>
1187 <eStructuralFeatures xsi:type="ecore:EReference" name="target" eType="#//DataConstraintTarget"
1188 containment="true" resolveProxies="false"/>
1189 </eClassifiers>
1190 <eClassifiers xsi:type="ecore:EClass" name="RunnableSeparationConstraint" eSuperTypes="#//SeparationConstraint #//RunnableConstraint #//BaseObject">
1191 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
1192 <details key="documentation" value="A runnable-separation-constraint&#xA;groups describes the runnable-groups that should be separated from each other on the target&#xA;if there is only one group then this means that the runnables of this group are not allowed to be executed on the target"/>
1193 </eAnnotations>
1194 <eStructuralFeatures xsi:type="ecore:EReference" name="groups" lowerBound="1"
1195 upperBound="2" eType="#//RunnableGroup" containment="true" resolveProxies="false"/>
1196 </eClassifiers>
1197 <eClassifiers xsi:type="ecore:EClass" name="ProcessSeparationConstraint" eSuperTypes="#//SeparationConstraint #//ProcessConstraint #//BaseObject">
1198 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
1199 <details key="documentation" value="A process-separation-constraint&#xA;groups describes the process-groups that should be separated from each other on the target&#xA;if there is only one group then this means that the processes of this group are not allowed to be executed on the target"/>
1200 </eAnnotations>
1201 <eStructuralFeatures xsi:type="ecore:EReference" name="groups" lowerBound="1"
1202 upperBound="2" eType="#//ProcessGroup" containment="true" resolveProxies="false"/>
1203 </eClassifiers>
1204 <eClassifiers xsi:type="ecore:EClass" name="DataSeparationConstraint" eSuperTypes="#//SeparationConstraint #//DataConstraint #//BaseObject">
1205 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
1206 <details key="documentation" value="A data-separation-constraint&#xA;groups describes the label-groups that should be separated from each other on the target&#xA;if there is only one group then this means that the label of this group is not allowed to be executed on the target"/>
1207 </eAnnotations>
1208 <eStructuralFeatures xsi:type="ecore:EReference" name="groups" lowerBound="1"
1209 upperBound="2" eType="#//LabelEntityGroup" containment="true" resolveProxies="false"/>
1210 </eClassifiers>
1211 <eClassifiers xsi:type="ecore:EClass" name="RunnablePairingConstraint" eSuperTypes="#//PairingConstraint #//RunnableConstraint #//BaseObject">
1212 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
1213 <details key="documentation" value="A runnable-pairing-constraint&#xA;runnables describes the group of runnables that should be paired on the target"/>
1214 </eAnnotations>
1215 <eStructuralFeatures xsi:type="ecore:EReference" name="group" lowerBound="1" eType="#//RunnableGroup"
1216 containment="true" resolveProxies="false"/>
1217 </eClassifiers>
1218 <eClassifiers xsi:type="ecore:EClass" name="ProcessPairingConstraint" eSuperTypes="#//PairingConstraint #//ProcessConstraint #//BaseObject">
1219 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
1220 <details key="documentation" value="A process-pairing-constraint&#xA;processes describes the group of processes that should be paired on the target"/>
1221 </eAnnotations>
1222 <eStructuralFeatures xsi:type="ecore:EReference" name="group" lowerBound="1" eType="#//ProcessGroup"
1223 containment="true" resolveProxies="false"/>
1224 </eClassifiers>
1225 <eClassifiers xsi:type="ecore:EClass" name="DataPairingConstraint" eSuperTypes="#//PairingConstraint #//DataConstraint #//BaseObject">
1226 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
1227 <details key="documentation" value="A data-pairing-constraint&#xA;labels describes the group of labels that should be paired on the target"/>
1228 </eAnnotations>
1229 <eStructuralFeatures xsi:type="ecore:EReference" name="group" lowerBound="1" eType="#//LabelGroup"
1230 containment="true" resolveProxies="false"/>
1231 </eClassifiers>
1232 <eClassifiers xsi:type="ecore:EClass" name="RunnableConstraintTarget" abstract="true">
1233 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
1234 <details key="documentation" value="An abstract superclass for all possible targets for runnable-constraints"/>
1235 </eAnnotations>
1236 </eClassifiers>
1237 <eClassifiers xsi:type="ecore:EClass" name="ProcessConstraintTarget" abstract="true">
1238 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
1239 <details key="documentation" value="An abstract superclass for all possible targets for process-constraints"/>
1240 </eAnnotations>
1241 </eClassifiers>
1242 <eClassifiers xsi:type="ecore:EClass" name="DataConstraintTarget" abstract="true">
1243 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
1244 <details key="documentation" value="An abstract superclass for all possible targets for data-constraints"/>
1245 </eAnnotations>
1246 </eClassifiers>
1247 <eClassifiers xsi:type="ecore:EClass" name="TargetMemory" eSuperTypes="#//DataConstraintTarget #//BaseObject">
1248 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
1249 <details key="documentation" value="A memory target description&#xA;A memory can be a target for data-constraints&#xA;memories: the reference to zero or more Memories. If this list is empty, the target stands for all memories!"/>
1250 </eAnnotations>
1251 <eStructuralFeatures xsi:type="ecore:EReference" name="memories" upperBound="-1"
1252 eType="#//Memory"/>
1253 </eClassifiers>
1254 <eClassifiers xsi:type="ecore:EClass" name="TargetCore" eSuperTypes="#//RunnableConstraintTarget #//ProcessConstraintTarget #//BaseObject">
1255 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
1256 <details key="documentation" value="A core target description&#xA;A core can be a target for runnable-constraints, process-constraints and scheduler-constraints&#xA;cores: the reference to zero or more Cores. If this list is empty, the target stands for all cores!"/>
1257 </eAnnotations>
1258 <eStructuralFeatures xsi:type="ecore:EReference" name="cores" upperBound="-1"
1259 eType="#//ProcessingUnit"/>
1260 </eClassifiers>
1261 <eClassifiers xsi:type="ecore:EClass" name="TargetScheduler" eSuperTypes="#//RunnableConstraintTarget #//ProcessConstraintTarget #//BaseObject">
1262 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
1263 <details key="documentation" value="A scheduler target description&#xA;A scheduler can be a target for runnable-constraints and process-constraints&#xA;schedulers: the reference to zero or more Schedulers. If this list is empty, the target stands for all schedulers!"/>
1264 </eAnnotations>
1265 <eStructuralFeatures xsi:type="ecore:EReference" name="schedulers" upperBound="-1"
1266 eType="#//Scheduler"/>
1267 </eClassifiers>
1268 <eClassifiers xsi:type="ecore:EClass" name="LabelGroup" abstract="true">
1269 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
1270 <details key="documentation" value="An abstract description for a group of labels that can be paired or separated by a runnable-constraint"/>
1271 </eAnnotations>
1272 </eClassifiers>
1273 <eClassifiers xsi:type="ecore:EClass" name="RunnableGroup" abstract="true">
1274 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
1275 <details key="documentation" value="An abstract description for a group of runnables that can be paired or separated by a runnable-constraint"/>
1276 </eAnnotations>
1277 </eClassifiers>
1278 <eClassifiers xsi:type="ecore:EClass" name="ProcessGroup" abstract="true">
1279 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
1280 <details key="documentation" value="An abstract description for a group of processes that can be paired or separated by a process-constraint"/>
1281 </eAnnotations>
1282 </eClassifiers>
1283 <eClassifiers xsi:type="ecore:EClass" name="LabelEntityGroup" eSuperTypes="#//LabelGroup #//BaseObject">
1284 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
1285 <details key="documentation" value="A group of labels that can be paired or separated by a data-constraint"/>
1286 </eAnnotations>
1287 <eStructuralFeatures xsi:type="ecore:EReference" name="labels" lowerBound="1"
1288 upperBound="-1" eType="#//Label"/>
1289 </eClassifiers>
1290 <eClassifiers xsi:type="ecore:EClass" name="RunnableEntityGroup" eSuperTypes="#//RunnableGroup #//BaseObject">
1291 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
1292 <details key="documentation" value="A group of runnables that can be paired or separated by a runnable-constraint"/>
1293 </eAnnotations>
1294 <eStructuralFeatures xsi:type="ecore:EReference" name="runnables" lowerBound="1"
1295 upperBound="-1" eType="#//Runnable"/>
1296 </eClassifiers>
1297 <eClassifiers xsi:type="ecore:EClass" name="ProcessEntityGroup" eSuperTypes="#//ProcessGroup #//BaseObject">
1298 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
1299 <details key="documentation" value="A group of processes that can be paired or separated by a process-constraint"/>
1300 </eAnnotations>
1301 <eStructuralFeatures xsi:type="ecore:EReference" name="processes" lowerBound="1"
1302 upperBound="-1" eType="#//Process"/>
1303 </eClassifiers>
1304 <eClassifiers xsi:type="ecore:EClass" name="TagGroup" eSuperTypes="#//RunnableGroup #//ProcessGroup #//BaseObject">
1305 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
1306 <details key="documentation" value="A group that contains only a tag and groups all objects that are marked with this tag&#xA;This can be runnables or processes"/>
1307 </eAnnotations>
1308 <eStructuralFeatures xsi:type="ecore:EReference" name="tag" lowerBound="1" eType="#//Tag"/>
1309 </eClassifiers>
1310 <eClassifiers xsi:type="ecore:EClass" name="AbstractEventChain" abstract="true"
1311 eSuperTypes="#//BaseObject #//INamed">
1312 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
1313 <details key="documentation" value="Describes an event chain which must have a minimum of two events (stimulus and response)&#xA;If there are more events the event chain have to be divided into segments. Each segment is another event chain.&#xA;Alternative event paths are contained in strands.&#xA;stimulus: Beginning of chain&#xA;response: End of chain&#xA;segments: Sub event chains&#xA;strands: alternative event paths"/>
1314 </eAnnotations>
Harald Mackamulaa64db02019-07-26 14:03:01 +02001315 <eStructuralFeatures xsi:type="ecore:EReference" name="stimulus" lowerBound="1"
1316 eType="#//Event"/>
1317 <eStructuralFeatures xsi:type="ecore:EReference" name="response" lowerBound="1"
1318 eType="#//Event"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +01001319 <eStructuralFeatures xsi:type="ecore:EReference" name="segments" upperBound="-1"
1320 eType="#//EventChainItem" containment="true" resolveProxies="false"/>
1321 <eStructuralFeatures xsi:type="ecore:EReference" name="strands" upperBound="-1"
1322 eType="#//EventChainItem" containment="true" resolveProxies="false"/>
1323 </eClassifiers>
1324 <eClassifiers xsi:type="ecore:EClass" name="EventChain" eSuperTypes="#//AbstractEventChain #//IReferable"/>
1325 <eClassifiers xsi:type="ecore:EClass" name="SubEventChain" eSuperTypes="#//AbstractEventChain"/>
1326 <eClassifiers xsi:type="ecore:EClass" name="EventChainItem" abstract="true" interface="true">
1327 <eOperations name="getEventChain" unique="false" eType="#//AbstractEventChain"/>
1328 </eClassifiers>
1329 <eClassifiers xsi:type="ecore:EClass" name="EventChainReference" eSuperTypes="#//BaseObject #//EventChainItem">
1330 <eStructuralFeatures xsi:type="ecore:EReference" name="eventChain" lowerBound="1"
1331 eType="#//EventChain"/>
1332 </eClassifiers>
1333 <eClassifiers xsi:type="ecore:EClass" name="EventChainContainer" eSuperTypes="#//BaseObject #//EventChainItem">
1334 <eStructuralFeatures xsi:type="ecore:EReference" name="eventChain" lowerBound="1"
1335 eType="#//SubEventChain" containment="true" resolveProxies="false"/>
1336 </eClassifiers>
1337 <eClassifiers xsi:type="ecore:EClass" name="TimingConstraint" abstract="true" eSuperTypes="#//ReferableBaseObject"/>
1338 <eClassifiers xsi:type="ecore:EClass" name="PhysicalSectionConstraint" eSuperTypes="#//ReferableBaseObject">
1339 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
1340 <details key="documentation" value="This contraints is used to limit a section in Memories"/>
1341 </eAnnotations>
1342 <eStructuralFeatures xsi:type="ecore:EReference" name="section" lowerBound="1"
1343 eType="#//Section"/>
1344 <eStructuralFeatures xsi:type="ecore:EReference" name="memories" lowerBound="1"
1345 upperBound="-1" eType="#//Memory"/>
1346 </eClassifiers>
1347 <eClassifiers xsi:type="ecore:EClass" name="SynchronizationConstraint" abstract="true"
1348 eSuperTypes="#//TimingConstraint">
1349 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
1350 <details key="documentation" value="Base class for synchronization constraints, which limit the distance between events&#xA;multipleOccurrencesAllowed: Defines whether multiple event occurrences are allowed for analysis&#xA;tolerance: Maximum allowed tolerance"/>
1351 </eAnnotations>
1352 <eStructuralFeatures xsi:type="ecore:EAttribute" name="multipleOccurrencesAllowed"
Harald Mackamul5df1f1e2019-04-03 15:41:08 +02001353 unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
Harald Mackamul0ebca062019-01-11 15:37:01 +01001354 defaultValueLiteral="false"/>
1355 <eStructuralFeatures xsi:type="ecore:EReference" name="tolerance" lowerBound="1"
1356 eType="#//Time" containment="true" resolveProxies="false"/>
1357 </eClassifiers>
1358 <eClassifiers xsi:type="ecore:EClass" name="EventSynchronizationConstraint" eSuperTypes="#//SynchronizationConstraint">
1359 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
1360 <details key="documentation" value="The synchronization constraint considers a group of events and limits the distance of the events within this group."/>
1361 </eAnnotations>
1362 <eStructuralFeatures xsi:type="ecore:EReference" name="events" lowerBound="1"
1363 upperBound="-1" eType="#//EntityEvent"/>
1364 </eClassifiers>
1365 <eClassifiers xsi:type="ecore:EEnum" name="SynchronizationType">
1366 <eLiterals name="_undefined_"/>
1367 <eLiterals name="Stimulus"/>
1368 <eLiterals name="Response"/>
1369 </eClassifiers>
1370 <eClassifiers xsi:type="ecore:EClass" name="EventChainSynchronizationConstraint"
1371 eSuperTypes="#//SynchronizationConstraint">
1372 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
1373 <details key="documentation" value="A synchronization constraint describes the allowed tolerance in synchronization between two event chains&#xA;scope: Considered event chains that have to by in sync&#xA;type: Defines which parts of the event chains have to be in sync"/>
1374 </eAnnotations>
1375 <eStructuralFeatures xsi:type="ecore:EReference" name="scope" lowerBound="2" upperBound="2"
1376 eType="#//EventChain"/>
1377 <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" unique="false" eType="#//SynchronizationType"/>
1378 </eClassifiers>
1379 <eClassifiers xsi:type="ecore:EEnum" name="MappingType">
1380 <eLiterals name="_undefined_"/>
1381 <eLiterals name="OneToOne"/>
1382 <eLiterals name="Reaction"/>
1383 <eLiterals name="UniqueReaction"/>
1384 </eClassifiers>
1385 <eClassifiers xsi:type="ecore:EClass" name="DelayConstraint" eSuperTypes="#//TimingConstraint">
1386 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
1387 <details key="documentation" value="This constraint describes how a source and a target event are placed relative to each other"/>
1388 </eAnnotations>
1389 <eStructuralFeatures xsi:type="ecore:EAttribute" name="mappingType" unique="false"
1390 eType="#//MappingType"/>
1391 <eStructuralFeatures xsi:type="ecore:EReference" name="source" lowerBound="1"
1392 eType="#//EntityEvent"/>
1393 <eStructuralFeatures xsi:type="ecore:EReference" name="target" lowerBound="1"
1394 eType="#//EntityEvent"/>
1395 <eStructuralFeatures xsi:type="ecore:EReference" name="upper" eType="#//Time"
1396 containment="true" resolveProxies="false"/>
1397 <eStructuralFeatures xsi:type="ecore:EReference" name="lower" eType="#//Time"
1398 containment="true" resolveProxies="false"/>
1399 </eClassifiers>
1400 <eClassifiers xsi:type="ecore:EEnum" name="LatencyType">
1401 <eLiterals name="_undefined_"/>
1402 <eLiterals name="Age"/>
1403 <eLiterals name="Reaction"/>
1404 </eClassifiers>
1405 <eClassifiers xsi:type="ecore:EClass" name="EventChainLatencyConstraint" eSuperTypes="#//TimingConstraint">
1406 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
1407 <details key="documentation" value="A latency constraint describes the allowed range in latency between a stimulus and its response.&#xA;scope: Considered event chain that defines the stimulus and response relation&#xA;type: Defines the point of view (forward or backward)&#xA;minimum: Minimum allowed latency&#xA;maximum: Maximum allowed latency"/>
1408 </eAnnotations>
1409 <eStructuralFeatures xsi:type="ecore:EReference" name="scope" lowerBound="1" eType="#//EventChain"/>
1410 <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" unique="false" eType="#//LatencyType"/>
1411 <eStructuralFeatures xsi:type="ecore:EReference" name="minimum" eType="#//Time"
1412 containment="true" resolveProxies="false"/>
1413 <eStructuralFeatures xsi:type="ecore:EReference" name="maximum" eType="#//Time"
1414 containment="true" resolveProxies="false"/>
1415 </eClassifiers>
1416 <eClassifiers xsi:type="ecore:EClass" name="RepetitionConstraint" eSuperTypes="#//TimingConstraint">
1417 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
1418 <details key="documentation" value="A repetition constraint prescribes the distribution of a single event during runtime."/>
1419 </eAnnotations>
1420 <eStructuralFeatures xsi:type="ecore:EReference" name="event" lowerBound="1" eType="#//EntityEvent"/>
Harald Mackamul5df1f1e2019-04-03 15:41:08 +02001421 <eStructuralFeatures xsi:type="ecore:EAttribute" name="span" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"
Harald Mackamul0ebca062019-01-11 15:37:01 +01001422 defaultValueLiteral="0"/>
1423 <eStructuralFeatures xsi:type="ecore:EReference" name="lower" eType="#//Time"
1424 containment="true" resolveProxies="false"/>
1425 <eStructuralFeatures xsi:type="ecore:EReference" name="upper" eType="#//Time"
1426 containment="true" resolveProxies="false"/>
1427 <eStructuralFeatures xsi:type="ecore:EReference" name="jitter" eType="#//Time"
1428 containment="true" resolveProxies="false"/>
1429 <eStructuralFeatures xsi:type="ecore:EReference" name="period" eType="#//Time"
1430 containment="true" resolveProxies="false"/>
1431 </eClassifiers>
1432 <eClassifiers xsi:type="ecore:EClass" name="DataAgeConstraint" eSuperTypes="#//ReferableBaseObject">
1433 <eStructuralFeatures xsi:type="ecore:EReference" name="runnable" lowerBound="1"
1434 eType="#//Runnable"/>
1435 <eStructuralFeatures xsi:type="ecore:EReference" name="label" lowerBound="1" eType="#//Label"/>
1436 <eStructuralFeatures xsi:type="ecore:EReference" name="dataAge" lowerBound="1"
1437 eType="#//DataAge" containment="true" resolveProxies="false"/>
1438 </eClassifiers>
1439 <eClassifiers xsi:type="ecore:EClass" name="DataAge" abstract="true"/>
1440 <eClassifiers xsi:type="ecore:EClass" name="DataAgeCycle" eSuperTypes="#//DataAge">
1441 <eStructuralFeatures xsi:type="ecore:EAttribute" name="minimumCycle" unique="false"
Harald Mackamul5df1f1e2019-04-03 15:41:08 +02001442 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="0"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +01001443 <eStructuralFeatures xsi:type="ecore:EAttribute" name="maximumCycle" unique="false"
Harald Mackamul5df1f1e2019-04-03 15:41:08 +02001444 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="0"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +01001445 </eClassifiers>
1446 <eClassifiers xsi:type="ecore:EClass" name="DataAgeTime" eSuperTypes="#//DataAge">
1447 <eStructuralFeatures xsi:type="ecore:EReference" name="minimumTime" eType="#//Time"
1448 containment="true" resolveProxies="false"/>
1449 <eStructuralFeatures xsi:type="ecore:EReference" name="maximumTime" eType="#//Time"
1450 containment="true" resolveProxies="false"/>
1451 </eClassifiers>
1452 <eClassifiers xsi:type="ecore:EClass" name="Requirement" abstract="true" eSuperTypes="#//BaseObject #//INamed">
1453 <eStructuralFeatures xsi:type="ecore:EAttribute" name="severity" unique="false"
1454 eType="#//Severity"/>
1455 <eStructuralFeatures xsi:type="ecore:EReference" name="limit" lowerBound="1" eType="#//RequirementLimit"
1456 containment="true" resolveProxies="false"/>
1457 </eClassifiers>
1458 <eClassifiers xsi:type="ecore:EClass" name="ProcessRequirement" eSuperTypes="#//Requirement">
1459 <eStructuralFeatures xsi:type="ecore:EReference" name="process" lowerBound="1"
1460 eType="#//AbstractProcess"/>
1461 </eClassifiers>
1462 <eClassifiers xsi:type="ecore:EClass" name="RunnableRequirement" eSuperTypes="#//Requirement">
1463 <eStructuralFeatures xsi:type="ecore:EReference" name="runnable" lowerBound="1"
1464 eType="#//Runnable"/>
1465 </eClassifiers>
1466 <eClassifiers xsi:type="ecore:EClass" name="ArchitectureRequirement" eSuperTypes="#//Requirement">
1467 <eStructuralFeatures xsi:type="ecore:EReference" name="component" lowerBound="1"
1468 eType="#//Component"/>
1469 </eClassifiers>
1470 <eClassifiers xsi:type="ecore:EClass" name="ProcessChainRequirement" eSuperTypes="#//Requirement">
1471 <eStructuralFeatures xsi:type="ecore:EReference" name="processChain" lowerBound="1"
1472 eType="#//ProcessChain"/>
1473 </eClassifiers>
1474 <eClassifiers xsi:type="ecore:EClass" name="RequirementLimit" abstract="true">
1475 <eStructuralFeatures xsi:type="ecore:EAttribute" name="limitType" unique="false"
1476 eType="#//LimitType"/>
1477 </eClassifiers>
1478 <eClassifiers xsi:type="ecore:EClass" name="CPUPercentageRequirementLimit" eSuperTypes="#//RequirementLimit">
1479 <eStructuralFeatures xsi:type="ecore:EAttribute" name="metric" unique="false"
1480 eType="#//CPUPercentageMetric"/>
1481 <eStructuralFeatures xsi:type="ecore:EAttribute" name="limitValue" unique="false"
Harald Mackamul5df1f1e2019-04-03 15:41:08 +02001482 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble" defaultValueLiteral="0.0"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +01001483 <eStructuralFeatures xsi:type="ecore:EReference" name="hardwareContext" eType="#//ProcessingUnit"/>
1484 </eClassifiers>
1485 <eClassifiers xsi:type="ecore:EClass" name="FrequencyRequirementLimit" eSuperTypes="#//RequirementLimit">
1486 <eStructuralFeatures xsi:type="ecore:EAttribute" name="metric" unique="false"
1487 eType="#//FrequencyMetric"/>
1488 <eStructuralFeatures xsi:type="ecore:EReference" name="limitValue" lowerBound="1"
1489 eType="#//Frequency" containment="true" resolveProxies="false"/>
1490 </eClassifiers>
1491 <eClassifiers xsi:type="ecore:EClass" name="PercentageRequirementLimit" eSuperTypes="#//RequirementLimit">
1492 <eStructuralFeatures xsi:type="ecore:EAttribute" name="metric" unique="false"
1493 eType="#//PercentageMetric"/>
1494 <eStructuralFeatures xsi:type="ecore:EAttribute" name="limitValue" unique="false"
Harald Mackamul5df1f1e2019-04-03 15:41:08 +02001495 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble" defaultValueLiteral="0.0"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +01001496 </eClassifiers>
1497 <eClassifiers xsi:type="ecore:EClass" name="CountRequirementLimit" eSuperTypes="#//RequirementLimit">
1498 <eStructuralFeatures xsi:type="ecore:EAttribute" name="metric" unique="false"
1499 eType="#//CountMetric"/>
1500 <eStructuralFeatures xsi:type="ecore:EAttribute" name="limitValue" unique="false"
Harald Mackamul5df1f1e2019-04-03 15:41:08 +02001501 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="0"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +01001502 </eClassifiers>
1503 <eClassifiers xsi:type="ecore:EClass" name="TimeRequirementLimit" eSuperTypes="#//RequirementLimit">
1504 <eStructuralFeatures xsi:type="ecore:EAttribute" name="metric" unique="false"
1505 eType="#//TimeMetric"/>
1506 <eStructuralFeatures xsi:type="ecore:EReference" name="limitValue" lowerBound="1"
1507 eType="#//Time" containment="true" resolveProxies="false"/>
1508 </eClassifiers>
1509 <eClassifiers xsi:type="ecore:EEnum" name="Severity">
1510 <eLiterals name="_undefined_"/>
1511 <eLiterals name="Cosmetic"/>
1512 <eLiterals name="Minor"/>
1513 <eLiterals name="Major"/>
1514 <eLiterals name="Critical"/>
1515 </eClassifiers>
1516 <eClassifiers xsi:type="ecore:EEnum" name="LimitType">
1517 <eLiterals name="_undefined_"/>
1518 <eLiterals name="UpperLimit"/>
1519 <eLiterals name="LowerLimit"/>
1520 </eClassifiers>
1521 <eClassifiers xsi:type="ecore:EEnum" name="TimeMetric">
1522 <eLiterals name="_undefined_"/>
1523 <eLiterals name="ActivateToActivate"/>
1524 <eLiterals name="CoreExecutionTime"/>
1525 <eLiterals name="EndToEnd"/>
1526 <eLiterals name="EndToStart"/>
1527 <eLiterals name="GrossExecutionTime"/>
1528 <eLiterals name="Lateness"/>
1529 <eLiterals name="MemoryAccessTime"/>
1530 <eLiterals name="NetExecutionTime"/>
1531 <eLiterals name="OsOverhead"/>
1532 <eLiterals name="ParkingTime"/>
1533 <eLiterals name="PollingTime"/>
1534 <eLiterals name="ReadyTime"/>
1535 <eLiterals name="ResponseTime"/>
1536 <eLiterals name="RunningTime"/>
1537 <eLiterals name="StartDelay"/>
1538 <eLiterals name="StartToStart"/>
1539 <eLiterals name="WaitingTime"/>
1540 </eClassifiers>
1541 <eClassifiers xsi:type="ecore:EEnum" name="CountMetric">
1542 <eLiterals name="_undefined_"/>
1543 <eLiterals name="Activations"/>
1544 <eLiterals name="BoundedMigrations"/>
1545 <eLiterals name="CacheHit"/>
1546 <eLiterals name="CacheMiss"/>
1547 <eLiterals name="FullMigrations"/>
1548 <eLiterals name="MtaLimitExceeding"/>
1549 <eLiterals name="Preemptions"/>
1550 </eClassifiers>
1551 <eClassifiers xsi:type="ecore:EEnum" name="PercentageMetric">
1552 <eLiterals name="_undefined_"/>
1553 <eLiterals name="CacheHitRatio"/>
1554 <eLiterals name="CacheMissRatio"/>
1555 <eLiterals name="CoreExecutionTimeRelative"/>
1556 <eLiterals name="MemoryAccessTimeRelative"/>
1557 <eLiterals name="NormalizedLateness"/>
1558 <eLiterals name="NormalizedResponseTime"/>
1559 <eLiterals name="OsOverheadRelative"/>
1560 </eClassifiers>
1561 <eClassifiers xsi:type="ecore:EEnum" name="CPUPercentageMetric">
1562 <eLiterals name="_undefined_"/>
1563 <eLiterals name="CPUBuffering"/>
1564 <eLiterals name="CPULoad"/>
1565 <eLiterals name="CPUParking"/>
1566 <eLiterals name="CPUPolling"/>
1567 <eLiterals name="CPUReady"/>
1568 <eLiterals name="CPURunning"/>
1569 <eLiterals name="CPUWaiting"/>
1570 </eClassifiers>
1571 <eClassifiers xsi:type="ecore:EEnum" name="FrequencyMetric">
1572 <eLiterals name="_undefined_"/>
1573 <eLiterals name="CacheHitFrequency"/>
1574 <eLiterals name="CacheMissFrequency"/>
1575 </eClassifiers>
1576 <eClassifiers xsi:type="ecore:EClass" name="DataCoherencyGroup" eSuperTypes="#//ReferableBaseObject">
1577 <eStructuralFeatures xsi:type="ecore:EReference" name="labels" lowerBound="1"
1578 upperBound="-1" eType="#//Label"/>
1579 <eStructuralFeatures xsi:type="ecore:EReference" name="scope" eType="#//DataGroupScope"
1580 containment="true" resolveProxies="false"/>
1581 <eStructuralFeatures xsi:type="ecore:EAttribute" name="direction" unique="false"
1582 eType="#//CoherencyDirection"/>
1583 </eClassifiers>
1584 <eClassifiers xsi:type="ecore:EEnum" name="CoherencyDirection">
1585 <eLiterals name="_undefined_"/>
1586 <eLiterals name="input"/>
1587 <eLiterals name="output"/>
1588 </eClassifiers>
1589 <eClassifiers xsi:type="ecore:EClass" name="DataStabilityGroup" eSuperTypes="#//ReferableBaseObject">
1590 <eStructuralFeatures xsi:type="ecore:EReference" name="labels" lowerBound="1"
1591 upperBound="-1" eType="#//Label"/>
1592 <eStructuralFeatures xsi:type="ecore:EReference" name="scope" eType="#//DataGroupScope"
1593 containment="true" resolveProxies="false"/>
1594 </eClassifiers>
1595 <eClassifiers xsi:type="ecore:EClass" name="DataGroupScope" abstract="true"/>
1596 <eClassifiers xsi:type="ecore:EClass" name="ProcessScope" eSuperTypes="#//DataGroupScope">
1597 <eStructuralFeatures xsi:type="ecore:EReference" name="process" eType="#//AbstractProcess"/>
1598 </eClassifiers>
1599 <eClassifiers xsi:type="ecore:EClass" name="RunnableScope" eSuperTypes="#//DataGroupScope">
1600 <eStructuralFeatures xsi:type="ecore:EReference" name="runnable" eType="#//Runnable"/>
1601 </eClassifiers>
1602 <eClassifiers xsi:type="ecore:EClass" name="ComponentScope" eSuperTypes="#//DataGroupScope">
1603 <eStructuralFeatures xsi:type="ecore:EReference" name="component" eType="#//Component"/>
1604 </eClassifiers>
1605 <eClassifiers xsi:type="ecore:EClass" name="EventModel" eSuperTypes="#//BaseObject">
1606 <eStructuralFeatures xsi:type="ecore:EReference" name="events" upperBound="-1"
1607 eType="#//Event" containment="true" resolveProxies="false"/>
1608 </eClassifiers>
1609 <eClassifiers xsi:type="ecore:EClass" name="Event" abstract="true" eSuperTypes="#//ReferableBaseObject #//ITaggable">
1610 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
1611 <details key="documentation" value="An abstract event"/>
1612 </eAnnotations>
1613 <eStructuralFeatures xsi:type="ecore:EAttribute" name="description" unique="false"
Harald Mackamul5df1f1e2019-04-03 15:41:08 +02001614 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +01001615 </eClassifiers>
1616 <eClassifiers xsi:type="ecore:EClass" name="EventSet" eSuperTypes="#//Event">
1617 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
1618 <details key="documentation" value="A set of entity-events"/>
1619 </eAnnotations>
1620 <eStructuralFeatures xsi:type="ecore:EReference" name="events" lowerBound="1"
1621 upperBound="-1" eType="#//EntityEvent"/>
1622 </eClassifiers>
1623 <eClassifiers xsi:type="ecore:EClass" name="EntityEvent" abstract="true" eSuperTypes="#//Event">
1624 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
1625 <details key="documentation" value="An abstract event that describes the notification of a changed state of an entity"/>
1626 </eAnnotations>
1627 </eClassifiers>
1628 <eClassifiers xsi:type="ecore:EClass" name="TriggerEvent" abstract="true" eSuperTypes="#//EntityEvent">
1629 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
1630 <details key="documentation" value="Defines Events to be used in Stimuli as trigger."/>
1631 </eAnnotations>
1632 </eClassifiers>
1633 <eClassifiers xsi:type="ecore:EClass" name="CustomEvent" eSuperTypes="#//TriggerEvent">
1634 <eStructuralFeatures xsi:type="ecore:EAttribute" name="eventType" unique="false"
Harald Mackamul5df1f1e2019-04-03 15:41:08 +02001635 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +01001636 <eStructuralFeatures xsi:type="ecore:EReference" name="explicitTriggers" upperBound="-1"
1637 eType="#//CustomEventTrigger" changeable="false" volatile="true" transient="true"
1638 derived="true">
1639 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
1640 <details key="documentation" value="&lt;p>&lt;b>Returns an &lt;em>immutable&lt;/em> list of triggers (CustomEventTrigger).&lt;/b>&lt;/p>"/>
1641 <details key="propertyCategory" value="Read only"/>
1642 <details key="propertyFilterFlags" value="org.eclipse.ui.views.properties.expert"/>
1643 <details key="get" value="&lt;%org.eclipse.emf.ecore.EReference%> _customEventTrigger_Event = &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaPackage%>.eINSTANCE.getCustomEventTrigger_Event();&#xA;return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaIndex%>.&lt;&lt;%org.eclipse.app4mc.amalthea.model.CustomEventTrigger%>>getInverseReferences(this, &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaPackage%>.eINSTANCE.getCustomEvent_ExplicitTriggers(), &#xA;&#x9;java.util.Collections.&lt;&lt;%org.eclipse.emf.ecore.EReference%>>unmodifiableSet(org.eclipse.xtext.xbase.lib.CollectionLiterals.&lt;&lt;%org.eclipse.emf.ecore.EReference%>>newHashSet(_customEventTrigger_Event)));"/>
1644 </eAnnotations>
1645 </eStructuralFeatures>
1646 </eClassifiers>
1647 <eClassifiers xsi:type="ecore:EClass" name="StimulusEvent" eSuperTypes="#//EntityEvent">
1648 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
1649 <details key="documentation" value="Describes the event of a stimulus.&#xA;It contains only the stimulus but no event type because a stimulus has only one event type."/>
1650 </eAnnotations>
1651 <eStructuralFeatures xsi:type="ecore:EReference" name="entity" eType="#//Stimulus"/>
1652 </eClassifiers>
1653 <eClassifiers xsi:type="ecore:EClass" name="ProcessEvent" eSuperTypes="#//EntityEvent">
1654 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
1655 <details key="documentation" value="Describes the event of a process&#xA;eventType: The type of the Event&#xA;entity: The process that fires the event (optional)&#xA;processingUnit: The processing unit that executes the process when the event is fired (optional)"/>
1656 </eAnnotations>
1657 <eStructuralFeatures xsi:type="ecore:EAttribute" name="eventType" unique="false"
1658 eType="#//ProcessEventType"/>
1659 <eStructuralFeatures xsi:type="ecore:EReference" name="entity" eType="#//Process"/>
1660 <eStructuralFeatures xsi:type="ecore:EReference" name="processingUnit" eType="#//ProcessingUnit"/>
1661 </eClassifiers>
1662 <eClassifiers xsi:type="ecore:EClass" name="ProcessChainEvent" eSuperTypes="#//EntityEvent">
1663 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
1664 <details key="documentation" value="Describes the event of some process within a process chain&#xA;eventType: The type of the Event&#xA;entity: The process that fires the event (optional)&#xA;processingUnit: The processing unit that executes the process when the event is fired (optional)"/>
1665 </eAnnotations>
1666 <eStructuralFeatures xsi:type="ecore:EAttribute" name="eventType" unique="false"
1667 eType="#//ProcessEventType"/>
1668 <eStructuralFeatures xsi:type="ecore:EReference" name="entity" eType="#//ProcessChain"/>
1669 <eStructuralFeatures xsi:type="ecore:EReference" name="processingUnit" eType="#//ProcessingUnit"/>
1670 </eClassifiers>
1671 <eClassifiers xsi:type="ecore:EClass" name="RunnableEvent" eSuperTypes="#//TriggerEvent">
1672 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
1673 <details key="documentation" value="Describes the event of a runnable&#xA;eventType: The type of event&#xA;entity: The runnable that fires the event (optional)&#xA;process: The process that executes the runnable (optional)&#xA;processingUnit: The processing unit that executes the runnable (executes the process that calls the runnable) (optional)"/>
1674 </eAnnotations>
1675 <eStructuralFeatures xsi:type="ecore:EAttribute" name="eventType" unique="false"
1676 eType="#//RunnableEventType"/>
1677 <eStructuralFeatures xsi:type="ecore:EReference" name="entity" eType="#//Runnable"/>
1678 <eStructuralFeatures xsi:type="ecore:EReference" name="process" eType="#//Process"/>
1679 <eStructuralFeatures xsi:type="ecore:EReference" name="processingUnit" eType="#//ProcessingUnit"/>
1680 </eClassifiers>
1681 <eClassifiers xsi:type="ecore:EClass" name="LabelEvent" eSuperTypes="#//TriggerEvent">
1682 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
1683 <details key="documentation" value="Describes the event of a label access&#xA;eventType: The type of event&#xA;entity: The accessed label that fires the event (optional)&#xA;runnable: The runnable that accesses the label (optional)&#xA;process: The process that accesses the label (optional)"/>
1684 </eAnnotations>
1685 <eStructuralFeatures xsi:type="ecore:EAttribute" name="eventType" unique="false"
1686 eType="#//LabelEventType"/>
1687 <eStructuralFeatures xsi:type="ecore:EReference" name="entity" eType="#//Label"/>
1688 <eStructuralFeatures xsi:type="ecore:EReference" name="runnable" eType="#//Runnable"/>
1689 <eStructuralFeatures xsi:type="ecore:EReference" name="process" eType="#//Process"/>
1690 </eClassifiers>
1691 <eClassifiers xsi:type="ecore:EClass" name="ChannelEvent" eSuperTypes="#//TriggerEvent">
1692 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
1693 <details key="documentation" value="Describes the event of a channel access&#xA;eventType: The type of event&#xA;entity: The accessed channel that fires the event (optional)&#xA;runnable: The runnable that accesses the label (optional)&#xA;process: The process that accesses the label (optional)"/>
1694 </eAnnotations>
1695 <eStructuralFeatures xsi:type="ecore:EAttribute" name="eventType" unique="false"
1696 eType="#//ChannelEventType"/>
1697 <eStructuralFeatures xsi:type="ecore:EReference" name="entity" eType="#//Channel"/>
1698 <eStructuralFeatures xsi:type="ecore:EReference" name="runnable" eType="#//Runnable"/>
1699 <eStructuralFeatures xsi:type="ecore:EReference" name="process" eType="#//Process"/>
1700 </eClassifiers>
1701 <eClassifiers xsi:type="ecore:EClass" name="SemaphoreEvent" eSuperTypes="#//EntityEvent">
1702 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
1703 <details key="documentation" value="Describes the event of a semaphore access&#xA;eventType: The type of event&#xA;entity: The accessed semaphore that fires the event (optional)&#xA;runnable: The runnable that accesses the semaphore (optional)&#xA;process: The process that accesses the semaphore (optional)&#xA;processingUnit: The processing unit that executes the process/runnable that accesses the semaphore (optional)"/>
1704 </eAnnotations>
1705 <eStructuralFeatures xsi:type="ecore:EAttribute" name="eventType" unique="false"
1706 eType="#//SemaphoreEventType"/>
1707 <eStructuralFeatures xsi:type="ecore:EReference" name="entity" eType="#//Semaphore"/>
1708 <eStructuralFeatures xsi:type="ecore:EReference" name="runnable" eType="#//Runnable"/>
1709 <eStructuralFeatures xsi:type="ecore:EReference" name="process" eType="#//Process"/>
1710 <eStructuralFeatures xsi:type="ecore:EReference" name="processingUnit" eType="#//ProcessingUnit"/>
1711 </eClassifiers>
1712 <eClassifiers xsi:type="ecore:EClass" name="ComponentEvent" eSuperTypes="#//EntityEvent">
1713 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
1714 <details key="documentation" value="Describes the event of a component&#xA;eventType: The type of event&#xA;entity: The component that fires the event (optional)"/>
1715 </eAnnotations>
1716 <eStructuralFeatures xsi:type="ecore:EAttribute" name="eventType" unique="false"
1717 eType="#//ComponentEventType"/>
1718 <eStructuralFeatures xsi:type="ecore:EReference" name="entity" eType="#//Component"/>
1719 </eClassifiers>
1720 <eClassifiers xsi:type="ecore:EEnum" name="ProcessEventType">
1721 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
1722 <details key="documentation" value="The types of a process event"/>
1723 </eAnnotations>
1724 <eLiterals name="_all_"/>
1725 <eLiterals name="activate"/>
1726 <eLiterals name="deadline"/>
1727 <eLiterals name="start"/>
1728 <eLiterals name="resume"/>
1729 <eLiterals name="preempt"/>
1730 <eLiterals name="poll"/>
1731 <eLiterals name="run"/>
1732 <eLiterals name="wait"/>
1733 <eLiterals name="poll_parking"/>
1734 <eLiterals name="park"/>
1735 <eLiterals name="release_parking"/>
1736 <eLiterals name="release"/>
1737 <eLiterals name="terminate"/>
1738 </eClassifiers>
1739 <eClassifiers xsi:type="ecore:EEnum" name="RunnableEventType">
1740 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
1741 <details key="documentation" value="The types of a runnable event"/>
1742 </eAnnotations>
1743 <eLiterals name="_all_"/>
1744 <eLiterals name="start"/>
1745 <eLiterals name="suspend"/>
1746 <eLiterals name="resume"/>
1747 <eLiterals name="terminate"/>
1748 </eClassifiers>
1749 <eClassifiers xsi:type="ecore:EEnum" name="LabelEventType">
1750 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
1751 <details key="documentation" value="The types of a label event"/>
1752 </eAnnotations>
1753 <eLiterals name="_all_"/>
1754 <eLiterals name="read"/>
1755 <eLiterals name="write"/>
1756 </eClassifiers>
1757 <eClassifiers xsi:type="ecore:EEnum" name="ChannelEventType">
1758 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
1759 <details key="documentation" value="The types of a label event"/>
1760 </eAnnotations>
1761 <eLiterals name="_all_"/>
1762 <eLiterals name="send"/>
1763 <eLiterals name="receive"/>
1764 </eClassifiers>
1765 <eClassifiers xsi:type="ecore:EEnum" name="SemaphoreEventType">
1766 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
1767 <details key="documentation" value="The types of a semaphore event"/>
1768 </eAnnotations>
1769 <eLiterals name="_all_"/>
1770 <eLiterals name="lock"/>
1771 <eLiterals name="unlock"/>
1772 </eClassifiers>
1773 <eClassifiers xsi:type="ecore:EEnum" name="ComponentEventType">
1774 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
1775 <details key="documentation" value="The types of a component event"/>
1776 </eAnnotations>
1777 <eLiterals name="_all_"/>
1778 <eLiterals name="start"/>
1779 <eLiterals name="end"/>
1780 </eClassifiers>
1781 <eClassifiers xsi:type="ecore:EClass" name="HWModel" eSuperTypes="#//BaseObject">
1782 <eStructuralFeatures xsi:type="ecore:EReference" name="definitions" upperBound="-1"
1783 eType="#//HwDefinition" containment="true" resolveProxies="false"/>
1784 <eStructuralFeatures xsi:type="ecore:EReference" name="featureCategories" upperBound="-1"
1785 eType="#//HwFeatureCategory" containment="true" resolveProxies="false"/>
1786 <eStructuralFeatures xsi:type="ecore:EReference" name="structures" upperBound="-1"
1787 eType="#//HwStructure" containment="true" resolveProxies="false"/>
1788 <eStructuralFeatures xsi:type="ecore:EReference" name="domains" upperBound="-1"
1789 eType="#//HwDomain" containment="true" resolveProxies="false"/>
1790 </eClassifiers>
1791 <eClassifiers xsi:type="ecore:EClass" name="HwStructure" eSuperTypes="#//ReferableBaseObject #//ITaggable">
1792 <eStructuralFeatures xsi:type="ecore:EAttribute" name="structureType" unique="false"
1793 eType="#//StructureType"/>
1794 <eStructuralFeatures xsi:type="ecore:EReference" name="ports" upperBound="-1"
1795 eType="#//HwPort" containment="true" resolveProxies="false"/>
1796 <eStructuralFeatures xsi:type="ecore:EReference" name="structures" upperBound="-1"
1797 eType="#//HwStructure" containment="true" resolveProxies="false"/>
1798 <eStructuralFeatures xsi:type="ecore:EReference" name="modules" upperBound="-1"
1799 eType="#//HwModule" containment="true" resolveProxies="false"/>
1800 <eStructuralFeatures xsi:type="ecore:EReference" name="connections" upperBound="-1"
1801 eType="#//HwConnection" containment="true" resolveProxies="false"/>
1802 <eStructuralFeatures xsi:type="ecore:EReference" name="innerPorts" upperBound="-1"
1803 eType="#//HwPort" changeable="false" volatile="true" transient="true" derived="true">
1804 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
1805 <details key="propertyCategory" value="Read only"/>
1806 <details key="propertyFilterFlags" value="org.eclipse.ui.views.properties.expert"/>
1807 <details key="get" value="return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaServices%>.getInnerPorts(this);"/>
1808 </eAnnotations>
1809 </eStructuralFeatures>
1810 </eClassifiers>
1811 <eClassifiers xsi:type="ecore:EClass" name="HwModule" abstract="true" eSuperTypes="#//ReferableBaseObject #//ITaggable">
1812 <eStructuralFeatures xsi:type="ecore:EReference" name="ports" upperBound="-1"
1813 eType="#//HwPort" containment="true" resolveProxies="false"/>
1814 <eStructuralFeatures xsi:type="ecore:EReference" name="powerDomain" eType="#//PowerDomain"/>
1815 <eStructuralFeatures xsi:type="ecore:EReference" name="frequencyDomain" eType="#//FrequencyDomain"/>
1816 </eClassifiers>
1817 <eClassifiers xsi:type="ecore:EClass" name="HwDomain" abstract="true" eSuperTypes="#//ReferableBaseObject #//ITaggable"/>
1818 <eClassifiers xsi:type="ecore:EClass" name="FrequencyDomain" eSuperTypes="#//HwDomain">
1819 <eStructuralFeatures xsi:type="ecore:EReference" name="defaultValue" eType="#//Frequency"
1820 containment="true" resolveProxies="false"/>
1821 <eStructuralFeatures xsi:type="ecore:EAttribute" name="clockGating" unique="false"
Harald Mackamul5df1f1e2019-04-03 15:41:08 +02001822 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +01001823 </eClassifiers>
1824 <eClassifiers xsi:type="ecore:EClass" name="PowerDomain" eSuperTypes="#//HwDomain">
1825 <eStructuralFeatures xsi:type="ecore:EReference" name="defaultValue" eType="#//Voltage"
1826 containment="true" resolveProxies="false"/>
1827 <eStructuralFeatures xsi:type="ecore:EAttribute" name="powerGating" unique="false"
Harald Mackamul5df1f1e2019-04-03 15:41:08 +02001828 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +01001829 </eClassifiers>
1830 <eClassifiers xsi:type="ecore:EClass" name="ProcessingUnit" eSuperTypes="#//HwModule #//HwDestination #//HwPathElement">
1831 <eStructuralFeatures xsi:type="ecore:EReference" name="definition" eType="#//ProcessingUnitDefinition"/>
1832 <eStructuralFeatures xsi:type="ecore:EReference" name="accessElements" upperBound="-1"
1833 eType="#//HwAccessElement" containment="true" resolveProxies="false" eOpposite="#//HwAccessElement/source"/>
1834 <eStructuralFeatures xsi:type="ecore:EReference" name="caches" upperBound="-1"
1835 eType="#//Cache" containment="true" resolveProxies="false"/>
1836 </eClassifiers>
1837 <eClassifiers xsi:type="ecore:EClass" name="Memory" eSuperTypes="#//HwModule #//HwDestination">
1838 <eStructuralFeatures xsi:type="ecore:EReference" name="definition" eType="#//MemoryDefinition"/>
1839 <eStructuralFeatures xsi:type="ecore:EReference" name="mappings" upperBound="-1"
1840 eType="#//MemoryMapping" changeable="false" volatile="true" transient="true"
1841 derived="true">
1842 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
1843 <details key="documentation" value="&lt;p>&lt;b>Returns an &lt;em>immutable&lt;/em> list of mappings (MemoryMapping).&lt;/b>&lt;/p>"/>
1844 <details key="propertyCategory" value="Read only"/>
1845 <details key="propertyFilterFlags" value="org.eclipse.ui.views.properties.expert"/>
1846 <details key="get" value="&lt;%org.eclipse.emf.ecore.EReference%> _memoryMapping_Memory = &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaPackage%>.eINSTANCE.getMemoryMapping_Memory();&#xA;return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaIndex%>.&lt;&lt;%org.eclipse.app4mc.amalthea.model.MemoryMapping%>>getInverseReferences(this, &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaPackage%>.eINSTANCE.getMemory_Mappings(), &#xA;&#x9;java.util.Collections.&lt;&lt;%org.eclipse.emf.ecore.EReference%>>unmodifiableSet(org.eclipse.xtext.xbase.lib.CollectionLiterals.&lt;&lt;%org.eclipse.emf.ecore.EReference%>>newHashSet(_memoryMapping_Memory)));"/>
1847 </eAnnotations>
1848 </eStructuralFeatures>
1849 </eClassifiers>
1850 <eClassifiers xsi:type="ecore:EEnum" name="MemoryType">
1851 <eLiterals name="_undefined_"/>
1852 <eLiterals name="DRAM"/>
1853 <eLiterals name="SRAM"/>
1854 <eLiterals name="FLASH"/>
1855 <eLiterals name="PCM"/>
1856 </eClassifiers>
1857 <eClassifiers xsi:type="ecore:EClass" name="Cache" eSuperTypes="#//HwModule #//HwPathElement">
1858 <eStructuralFeatures xsi:type="ecore:EReference" name="definition" eType="#//CacheDefinition"/>
1859 </eClassifiers>
1860 <eClassifiers xsi:type="ecore:EClass" name="HwFeatureCategory" eSuperTypes="#//ReferableBaseObject">
1861 <eStructuralFeatures xsi:type="ecore:EAttribute" name="featureType" unique="false"
1862 eType="#//HwFeatureType"/>
1863 <eStructuralFeatures xsi:type="ecore:EAttribute" name="description" unique="false"
Harald Mackamul5df1f1e2019-04-03 15:41:08 +02001864 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +01001865 <eStructuralFeatures xsi:type="ecore:EReference" name="features" upperBound="-1"
1866 eType="#//HwFeature" containment="true" resolveProxies="false" eOpposite="#//HwFeature/containingCategory"/>
1867 </eClassifiers>
1868 <eClassifiers xsi:type="ecore:EClass" name="HwFeature" eSuperTypes="#//ReferableBaseObject">
Harald Mackamul37f14f52019-04-12 12:56:25 +02001869 <eOperations name="getNamePrefix" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
Harald Mackamul0ebca062019-01-11 15:37:01 +01001870 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
Harald Mackamul37f14f52019-04-12 12:56:25 +02001871 <details key="body" value="&lt;%org.eclipse.app4mc.amalthea.model.HwFeatureCategory%> _containingCategory = this.getContainingCategory();&#xA;&lt;%java.lang.String%> _name = null;&#xA;if (_containingCategory!=null)&#xA;{&#xA;&#x9;_name=_containingCategory.getName();&#xA;}&#xA;return _name;"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +01001872 </eAnnotations>
1873 </eOperations>
Harald Mackamul5df1f1e2019-04-03 15:41:08 +02001874 <eOperations name="toString" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
Harald Mackamul0ebca062019-01-11 15:37:01 +01001875 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
1876 <details key="body" value="&lt;%org.eclipse.app4mc.amalthea.model.HwFeatureCategory%> _containingCategory = this.getContainingCategory();&#xA;&lt;%java.lang.String%> _name = null;&#xA;if (_containingCategory!=null)&#xA;{&#xA;&#x9;_name=_containingCategory.getName();&#xA;}&#xA;final &lt;%java.lang.String%> featureName = _name;&#xA;&lt;%java.lang.String%> _xifexpression = null;&#xA;boolean _isNullOrEmpty = &lt;%org.eclipse.xtext.xbase.lib.StringExtensions%>.isNullOrEmpty(featureName);&#xA;if (_isNullOrEmpty)&#xA;{&#xA;&#x9;_xifexpression = &quot;&lt;category>&quot;;&#xA;}&#xA;else&#xA;{&#xA;&#x9;_xifexpression = featureName;&#xA;}&#xA;&lt;%java.lang.String%> _plus = (_xifexpression + &quot;::&quot;);&#xA;&lt;%java.lang.String%> _xifexpression_1 = null;&#xA;boolean _isNullOrEmpty_1 = &lt;%org.eclipse.xtext.xbase.lib.StringExtensions%>.isNullOrEmpty(this.getName());&#xA;if (_isNullOrEmpty_1)&#xA;{&#xA;&#x9;_xifexpression_1 = &quot;&lt;feature>&quot;;&#xA;}&#xA;else&#xA;{&#xA;&#x9;_xifexpression_1 = this.getName();&#xA;}&#xA;return (_plus + _xifexpression_1);"/>
1877 </eAnnotations>
1878 </eOperations>
1879 <eStructuralFeatures xsi:type="ecore:EReference" name="containingCategory" eType="#//HwFeatureCategory"
1880 changeable="false" eOpposite="#//HwFeatureCategory/features">
1881 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
1882 <details key="propertyCategory" value="Read only"/>
1883 </eAnnotations>
1884 </eStructuralFeatures>
Harald Mackamul5df1f1e2019-04-03 15:41:08 +02001885 <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"
Harald Mackamul0ebca062019-01-11 15:37:01 +01001886 defaultValueLiteral="0.0"/>
1887 </eClassifiers>
1888 <eClassifiers xsi:type="ecore:EClass" name="HwPort" eSuperTypes="#//ReferableBaseObject #//ITaggable">
Harald Mackamul37f14f52019-04-12 12:56:25 +02001889 <eOperations name="getNamePrefix" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
Harald Mackamul0ebca062019-01-11 15:37:01 +01001890 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
Harald Mackamul37f14f52019-04-12 12:56:25 +02001891 <details key="body" value="&lt;%org.eclipse.emf.ecore.EObject%> _eContainer = this.eContainer();&#xA;&lt;%java.lang.String%> _name = null;&#xA;if (((&lt;%org.eclipse.app4mc.amalthea.model.INamed%>) _eContainer)!=null)&#xA;{&#xA;&#x9;_name=((&lt;%org.eclipse.app4mc.amalthea.model.INamed%>) _eContainer).getName();&#xA;}&#xA;return _name;"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +01001892 </eAnnotations>
1893 </eOperations>
1894 <eStructuralFeatures xsi:type="ecore:EAttribute" name="bitWidth" unique="false"
Harald Mackamul5df1f1e2019-04-03 15:41:08 +02001895 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="0"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +01001896 <eStructuralFeatures xsi:type="ecore:EAttribute" name="priority" unique="false"
Harald Mackamul5df1f1e2019-04-03 15:41:08 +02001897 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="0"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +01001898 <eStructuralFeatures xsi:type="ecore:EAttribute" name="portType" unique="false"
1899 eType="#//PortType"/>
1900 <eStructuralFeatures xsi:type="ecore:EAttribute" name="portInterface" unique="false"
1901 eType="#//PortInterface"/>
1902 <eStructuralFeatures xsi:type="ecore:EAttribute" name="delegated" unique="false"
Harald Mackamul5df1f1e2019-04-03 15:41:08 +02001903 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" changeable="false"
1904 volatile="true" transient="true" derived="true">
Harald Mackamul0ebca062019-01-11 15:37:01 +01001905 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
1906 <details key="propertyCategory" value="Read only"/>
1907 <details key="get" value="&lt;%org.eclipse.emf.ecore.EObject%> _eContainer = this.eContainer();&#xA;return (_eContainer instanceof &lt;%org.eclipse.app4mc.amalthea.model.HwStructure%>);"/>
1908 </eAnnotations>
1909 </eStructuralFeatures>
1910 <eStructuralFeatures xsi:type="ecore:EReference" name="connections" upperBound="-1"
1911 eType="#//HwConnection" changeable="false" volatile="true" transient="true"
1912 derived="true">
1913 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
1914 <details key="documentation" value="&lt;p>&lt;b>Returns an &lt;em>immutable&lt;/em> list of connections (HwConnection).&lt;/b>&lt;/p>"/>
1915 <details key="propertyCategory" value="Read only"/>
1916 <details key="propertyFilterFlags" value="org.eclipse.ui.views.properties.expert"/>
1917 <details key="get" value="&lt;%org.eclipse.emf.ecore.EReference%> _hwConnection_Port1 = &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaPackage%>.eINSTANCE.getHwConnection_Port1();&#xA;&lt;%org.eclipse.emf.ecore.EReference%> _hwConnection_Port2 = &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaPackage%>.eINSTANCE.getHwConnection_Port2();&#xA;return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaIndex%>.&lt;&lt;%org.eclipse.app4mc.amalthea.model.HwConnection%>>getInverseReferences(this, &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaPackage%>.eINSTANCE.getHwPort_Connections(), &#xA;&#x9;java.util.Collections.&lt;&lt;%org.eclipse.emf.ecore.EReference%>>unmodifiableSet(org.eclipse.xtext.xbase.lib.CollectionLiterals.&lt;&lt;%org.eclipse.emf.ecore.EReference%>>newHashSet(_hwConnection_Port1, _hwConnection_Port2)));"/>
1918 </eAnnotations>
1919 </eStructuralFeatures>
1920 </eClassifiers>
1921 <eClassifiers xsi:type="ecore:EClass" name="ConnectionHandler" eSuperTypes="#//HwModule #//HwPathElement">
1922 <eStructuralFeatures xsi:type="ecore:EReference" name="definition" eType="#//ConnectionHandlerDefinition"/>
1923 <eStructuralFeatures xsi:type="ecore:EReference" name="internalConnections" upperBound="-1"
1924 eType="#//HwConnection" containment="true" resolveProxies="false"/>
1925 </eClassifiers>
1926 <eClassifiers xsi:type="ecore:EClass" name="HwConnection" eSuperTypes="#//ReferableBaseObject #//HwPathElement #//ITaggable">
Harald Mackamul37f14f52019-04-12 12:56:25 +02001927 <eOperations name="getNamePrefix" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
Harald Mackamul0ebca062019-01-11 15:37:01 +01001928 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
Harald Mackamul37f14f52019-04-12 12:56:25 +02001929 <details key="body" value="&lt;%org.eclipse.emf.ecore.EObject%> _eContainer = this.eContainer();&#xA;&lt;%java.lang.String%> _name = null;&#xA;if (((&lt;%org.eclipse.app4mc.amalthea.model.INamed%>) _eContainer)!=null)&#xA;{&#xA;&#x9;_name=((&lt;%org.eclipse.app4mc.amalthea.model.INamed%>) _eContainer).getName();&#xA;}&#xA;return _name;"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +01001930 </eAnnotations>
1931 </eOperations>
1932 <eOperations name="getPorts" unique="false" upperBound="-1" eType="#//HwPort">
1933 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
1934 <details key="body" value="return &lt;%org.eclipse.emf.common.util.ECollections%>.&lt;&lt;%org.eclipse.app4mc.amalthea.model.HwPort%>>unmodifiableEList(&lt;%org.eclipse.emf.common.util.ECollections%>.&lt;&lt;%org.eclipse.app4mc.amalthea.model.HwPort%>>toEList(&lt;%org.eclipse.xtext.xbase.lib.IterableExtensions%>.&lt;&lt;%org.eclipse.app4mc.amalthea.model.HwPort%>>filterNull(&lt;%org.eclipse.xtext.xbase.lib.CollectionLiterals%>.&lt;&lt;%org.eclipse.app4mc.amalthea.model.HwPort%>>newArrayList(this.getPort1(), this.getPort2()))));"/>
1935 </eAnnotations>
1936 </eOperations>
1937 <eStructuralFeatures xsi:type="ecore:EReference" name="readLatency" eType="#//IDiscreteValueDeviation"
1938 containment="true" resolveProxies="false">
1939 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
1940 <details key="documentation" value="&lt;p>&lt;b>Read latency [cycles]&lt;/b>&lt;/p>"/>
1941 </eAnnotations>
1942 </eStructuralFeatures>
1943 <eStructuralFeatures xsi:type="ecore:EReference" name="writeLatency" eType="#//IDiscreteValueDeviation"
1944 containment="true" resolveProxies="false">
1945 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
1946 <details key="documentation" value="&lt;p>&lt;b>Write latency [cycles]&lt;/b>&lt;/p>"/>
1947 </eAnnotations>
1948 </eStructuralFeatures>
1949 <eStructuralFeatures xsi:type="ecore:EReference" name="dataRate" eType="#//DataRate"
1950 containment="true" resolveProxies="false"/>
1951 <eStructuralFeatures xsi:type="ecore:EReference" name="port1" eType="#//HwPort"/>
1952 <eStructuralFeatures xsi:type="ecore:EReference" name="port2" eType="#//HwPort"/>
1953 <eStructuralFeatures xsi:type="ecore:EAttribute" name="internal" unique="false"
Harald Mackamul5df1f1e2019-04-03 15:41:08 +02001954 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" changeable="false"
1955 volatile="true" transient="true" derived="true">
Harald Mackamul0ebca062019-01-11 15:37:01 +01001956 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
1957 <details key="propertyCategory" value="Read only"/>
1958 <details key="get" value="&lt;%org.eclipse.emf.ecore.EObject%> _eContainer = this.eContainer();&#xA;return (_eContainer instanceof &lt;%org.eclipse.app4mc.amalthea.model.ConnectionHandler%>);"/>
1959 </eAnnotations>
1960 </eStructuralFeatures>
1961 </eClassifiers>
1962 <eClassifiers xsi:type="ecore:EClass" name="HwAccessElement" eSuperTypes="#//ITaggable #//INamed">
1963 <eStructuralFeatures xsi:type="ecore:EReference" name="source" eType="#//ProcessingUnit"
1964 changeable="false" eOpposite="#//ProcessingUnit/accessElements">
1965 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
1966 <details key="propertyCategory" value="Read only"/>
1967 </eAnnotations>
1968 </eStructuralFeatures>
1969 <eStructuralFeatures xsi:type="ecore:EReference" name="destination" lowerBound="1"
1970 eType="#//HwDestination"/>
1971 <eStructuralFeatures xsi:type="ecore:EReference" name="accessPath" eType="#//HwAccessPath"
1972 containment="true" resolveProxies="false" eOpposite="#//HwAccessPath/containingAccessElement"/>
1973 <eStructuralFeatures xsi:type="ecore:EReference" name="readLatency" eType="#//IDiscreteValueDeviation"
1974 containment="true" resolveProxies="false">
1975 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
1976 <details key="documentation" value="&lt;p>&lt;b>Read latency [cycles]&lt;/b>&lt;/p>"/>
1977 </eAnnotations>
1978 </eStructuralFeatures>
1979 <eStructuralFeatures xsi:type="ecore:EReference" name="writeLatency" eType="#//IDiscreteValueDeviation"
1980 containment="true" resolveProxies="false">
1981 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
1982 <details key="documentation" value="&lt;p>&lt;b>Write latency [cycles]&lt;/b>&lt;/p>"/>
1983 </eAnnotations>
1984 </eStructuralFeatures>
1985 <eStructuralFeatures xsi:type="ecore:EReference" name="dataRate" eType="#//DataRate"
1986 containment="true" resolveProxies="false"/>
1987 </eClassifiers>
1988 <eClassifiers xsi:type="ecore:EEnum" name="StructureType">
1989 <eLiterals name="_undefined_"/>
1990 <eLiterals name="System"/>
1991 <eLiterals name="ECU"/>
1992 <eLiterals name="Microcontroller"/>
1993 <eLiterals name="SoC"/>
1994 <eLiterals name="Cluster"/>
1995 <eLiterals name="Group"/>
1996 <eLiterals name="Array"/>
1997 <eLiterals name="Area"/>
1998 <eLiterals name="Region"/>
1999 </eClassifiers>
2000 <eClassifiers xsi:type="ecore:EEnum" name="CacheType">
2001 <eLiterals name="_undefined_"/>
2002 <eLiterals name="instruction"/>
2003 <eLiterals name="data"/>
2004 <eLiterals name="unified"/>
2005 </eClassifiers>
2006 <eClassifiers xsi:type="ecore:EEnum" name="PortType">
2007 <eLiterals name="_undefined_"/>
2008 <eLiterals name="initiator"/>
2009 <eLiterals name="responder"/>
2010 </eClassifiers>
2011 <eClassifiers xsi:type="ecore:EEnum" name="SchedPolicy">
2012 <eLiterals name="_undefined_"/>
2013 <eLiterals name="RoundRobin"/>
2014 <eLiterals name="FCFS"/>
2015 <eLiterals name="PriorityBased"/>
2016 </eClassifiers>
2017 <eClassifiers xsi:type="ecore:EEnum" name="WriteStrategy">
2018 <eLiterals name="_undefined_"/>
2019 <eLiterals name="none"/>
2020 <eLiterals name="writeback"/>
2021 <eLiterals name="writethrough"/>
2022 </eClassifiers>
2023 <eClassifiers xsi:type="ecore:EClass" name="HwDefinition" abstract="true" eSuperTypes="#//ReferableBaseObject #//ITaggable"/>
2024 <eClassifiers xsi:type="ecore:EClass" name="ProcessingUnitDefinition" eSuperTypes="#//HwDefinition">
2025 <eStructuralFeatures xsi:type="ecore:EAttribute" name="puType" unique="false"
2026 eType="#//PuType"/>
2027 <eStructuralFeatures xsi:type="ecore:EReference" name="features" upperBound="-1"
2028 eType="#//HwFeature"/>
2029 <eStructuralFeatures xsi:type="ecore:EReference" name="classifiers" upperBound="-1"
2030 eType="#//CoreClassifier"/>
2031 </eClassifiers>
2032 <eClassifiers xsi:type="ecore:EClass" name="ConnectionHandlerDefinition" eSuperTypes="#//HwDefinition">
2033 <eStructuralFeatures xsi:type="ecore:EAttribute" name="policy" unique="false"
2034 eType="#//SchedPolicy"/>
2035 <eStructuralFeatures xsi:type="ecore:EReference" name="readLatency" eType="#//IDiscreteValueDeviation"
2036 containment="true" resolveProxies="false">
2037 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
2038 <details key="documentation" value="&lt;p>&lt;b>Read latency [cycles]&lt;/b>&lt;/p>"/>
2039 </eAnnotations>
2040 </eStructuralFeatures>
2041 <eStructuralFeatures xsi:type="ecore:EReference" name="writeLatency" eType="#//IDiscreteValueDeviation"
2042 containment="true" resolveProxies="false">
2043 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
2044 <details key="documentation" value="&lt;p>&lt;b>Write latency [cycles]&lt;/b>&lt;/p>"/>
2045 </eAnnotations>
2046 </eStructuralFeatures>
2047 <eStructuralFeatures xsi:type="ecore:EReference" name="dataRate" eType="#//DataRate"
2048 containment="true" resolveProxies="false"/>
2049 <eStructuralFeatures xsi:type="ecore:EAttribute" name="maxBurstSize" unique="false"
2050 eType="#//PositiveInt" defaultValueLiteral="1"/>
2051 <eStructuralFeatures xsi:type="ecore:EAttribute" name="maxConcurrentTransfers"
2052 unique="false" eType="#//PositiveInt" defaultValueLiteral="1"/>
2053 </eClassifiers>
2054 <eClassifiers xsi:type="ecore:EClass" name="MemoryDefinition" eSuperTypes="#//HwDefinition">
2055 <eStructuralFeatures xsi:type="ecore:EReference" name="size" eType="#//DataSize"
2056 containment="true" resolveProxies="false"/>
2057 <eStructuralFeatures xsi:type="ecore:EReference" name="accessLatency" eType="#//IDiscreteValueDeviation"
2058 containment="true" resolveProxies="false">
2059 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
2060 <details key="documentation" value="&lt;p>&lt;b>Access latency [cycles]&lt;/b>&lt;/p>"/>
2061 </eAnnotations>
2062 </eStructuralFeatures>
2063 <eStructuralFeatures xsi:type="ecore:EReference" name="dataRate" eType="#//DataRate"
2064 containment="true" resolveProxies="false"/>
2065 <eStructuralFeatures xsi:type="ecore:EAttribute" name="memoryType" unique="false"
2066 eType="#//MemoryType"/>
2067 <eStructuralFeatures xsi:type="ecore:EReference" name="classifiers" upperBound="-1"
2068 eType="#//MemoryClassifier"/>
2069 </eClassifiers>
2070 <eClassifiers xsi:type="ecore:EClass" name="CacheDefinition" eSuperTypes="#//HwDefinition">
2071 <eStructuralFeatures xsi:type="ecore:EReference" name="size" eType="#//DataSize"
2072 containment="true" resolveProxies="false"/>
2073 <eStructuralFeatures xsi:type="ecore:EReference" name="lineSize" eType="#//DataSize"
2074 containment="true" resolveProxies="false"/>
2075 <eStructuralFeatures xsi:type="ecore:EReference" name="accessLatency" eType="#//IDiscreteValueDeviation"
2076 containment="true" resolveProxies="false">
2077 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
2078 <details key="documentation" value="&lt;p>&lt;b>Access latency [cycles]&lt;/b>&lt;/p>"/>
2079 </eAnnotations>
2080 </eStructuralFeatures>
2081 <eStructuralFeatures xsi:type="ecore:EAttribute" name="cacheType" unique="false"
2082 eType="#//CacheType"/>
2083 <eStructuralFeatures xsi:type="ecore:EAttribute" name="writeStrategy" unique="false"
2084 eType="#//WriteStrategy"/>
Harald Mackamul5df1f1e2019-04-03 15:41:08 +02002085 <eStructuralFeatures xsi:type="ecore:EAttribute" name="nWays" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"
Harald Mackamul0ebca062019-01-11 15:37:01 +01002086 defaultValueLiteral="0"/>
2087 <eStructuralFeatures xsi:type="ecore:EAttribute" name="coherency" unique="false"
Harald Mackamul5df1f1e2019-04-03 15:41:08 +02002088 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +01002089 <eStructuralFeatures xsi:type="ecore:EAttribute" name="exclusive" unique="false"
Harald Mackamul5df1f1e2019-04-03 15:41:08 +02002090 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +01002091 <eStructuralFeatures xsi:type="ecore:EAttribute" name="hitRate" unique="false"
Harald Mackamul5df1f1e2019-04-03 15:41:08 +02002092 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble" defaultValueLiteral="0.0"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +01002093 </eClassifiers>
2094 <eClassifiers xsi:type="ecore:EClass" name="HwPath" abstract="true">
2095 <eOperations name="getContainingAccessElement" unique="false" eType="#//HwAccessElement">
2096 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
2097 <details key="body" value="return null;"/>
2098 </eAnnotations>
2099 </eOperations>
2100 <eStructuralFeatures xsi:type="ecore:EReference" name="source" eType="#//ProcessingUnit"
2101 changeable="false" volatile="true" transient="true" derived="true">
2102 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
2103 <details key="propertyCategory" value="Read only"/>
2104 <details key="get" value="return this.getContainingAccessElement().getSource();"/>
2105 </eAnnotations>
2106 </eStructuralFeatures>
2107 <eStructuralFeatures xsi:type="ecore:EReference" name="destination" eType="#//HwDestination"
2108 changeable="false" volatile="true" transient="true" derived="true">
2109 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
2110 <details key="propertyCategory" value="Read only"/>
2111 <details key="get" value="return this.getContainingAccessElement().getDestination();"/>
2112 </eAnnotations>
2113 </eStructuralFeatures>
2114 </eClassifiers>
2115 <eClassifiers xsi:type="ecore:EClass" name="HwAccessPath" eSuperTypes="#//HwPath #//INamed">
2116 <eStructuralFeatures xsi:type="ecore:EReference" name="containingAccessElement"
2117 eType="#//HwAccessElement" changeable="false" eOpposite="#//HwAccessElement/accessPath">
2118 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
2119 <details key="propertyCategory" value="Read only"/>
2120 </eAnnotations>
2121 </eStructuralFeatures>
2122 <eStructuralFeatures xsi:type="ecore:EReference" name="pathElements" lowerBound="1"
2123 upperBound="-1" eType="#//HwPathElement"/>
2124 <eStructuralFeatures xsi:type="ecore:EAttribute" name="startAddress" unique="false"
2125 eType="#//Address" defaultValueLiteral="0"/>
2126 <eStructuralFeatures xsi:type="ecore:EAttribute" name="endAddress" unique="false"
2127 eType="#//Address" defaultValueLiteral="0"/>
2128 <eStructuralFeatures xsi:type="ecore:EAttribute" name="memOffset" unique="false"
2129 eType="#//Address" defaultValueLiteral="0"/>
2130 </eClassifiers>
2131 <eClassifiers xsi:type="ecore:EClass" name="HwPathElement" abstract="true" interface="true"
2132 eSuperTypes="#//IReferable">
2133 <eOperations name="getPorts" unique="false" upperBound="-1" eType="#//HwPort"/>
2134 </eClassifiers>
2135 <eClassifiers xsi:type="ecore:EClass" name="HwDestination" abstract="true" interface="true"
2136 eSuperTypes="#//IReferable">
2137 <eOperations name="getPorts" unique="false" upperBound="-1" eType="#//HwPort"/>
2138 </eClassifiers>
2139 <eClassifiers xsi:type="ecore:EEnum" name="PuType">
2140 <eLiterals name="_undefined_"/>
2141 <eLiterals name="GPU"/>
2142 <eLiterals name="CPU"/>
2143 <eLiterals name="Accelerator"/>
2144 </eClassifiers>
2145 <eClassifiers xsi:type="ecore:EEnum" name="PortInterface">
2146 <eLiterals name="_undefined_"/>
2147 <eLiterals name="custom"/>
2148 <eLiterals name="CAN"/>
2149 <eLiterals name="Flexray"/>
2150 <eLiterals name="LIN"/>
2151 <eLiterals name="MOST"/>
2152 <eLiterals name="Ethernet"/>
2153 <eLiterals name="SPI"/>
2154 <eLiterals name="I2C"/>
2155 <eLiterals name="AXI"/>
Harald Mackamul5df1f1e2019-04-03 15:41:08 +02002156 <eLiterals name="AHB"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +01002157 <eLiterals name="APB"/>
2158 <eLiterals name="SWR"/>
2159 </eClassifiers>
2160 <eClassifiers xsi:type="ecore:EEnum" name="HwFeatureType">
2161 <eLiterals name="_undefined_"/>
2162 <eLiterals name="performance"/>
2163 <eLiterals name="power"/>
2164 <eLiterals name="performance_and_power"/>
2165 </eClassifiers>
2166 <eClassifiers xsi:type="ecore:EClass" name="MappingModel" eSuperTypes="#//BaseObject">
2167 <eStructuralFeatures xsi:type="ecore:EReference" name="schedulerAllocation" upperBound="-1"
2168 eType="#//SchedulerAllocation" containment="true" resolveProxies="false"/>
2169 <eStructuralFeatures xsi:type="ecore:EReference" name="runnableAllocation" upperBound="-1"
2170 eType="#//RunnableAllocation" containment="true" resolveProxies="false"/>
2171 <eStructuralFeatures xsi:type="ecore:EReference" name="taskAllocation" upperBound="-1"
2172 eType="#//TaskAllocation" containment="true" resolveProxies="false"/>
2173 <eStructuralFeatures xsi:type="ecore:EReference" name="isrAllocation" upperBound="-1"
2174 eType="#//ISRAllocation" containment="true" resolveProxies="false"/>
2175 <eStructuralFeatures xsi:type="ecore:EReference" name="memoryMapping" upperBound="-1"
2176 eType="#//MemoryMapping" containment="true" resolveProxies="false"/>
2177 <eStructuralFeatures xsi:type="ecore:EReference" name="physicalSectionMapping"
2178 upperBound="-1" eType="#//PhysicalSectionMapping" containment="true" resolveProxies="false"/>
2179 <eStructuralFeatures xsi:type="ecore:EAttribute" name="addressMappingType" unique="false"
2180 eType="#//MemoryAddressMappingType"/>
2181 </eClassifiers>
2182 <eClassifiers xsi:type="ecore:EEnum" name="MemoryAddressMappingType">
2183 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
2184 <details key="documentation" value="Defines how to interpret the memory addresses in this mapping model"/>
2185 </eAnnotations>
2186 <eLiterals name="_undefined_"/>
2187 <eLiterals name="none"/>
2188 <eLiterals name="address"/>
2189 <eLiterals name="offset"/>
2190 </eClassifiers>
2191 <eClassifiers xsi:type="ecore:EClass" name="SchedulerAllocation" eSuperTypes="#//BaseObject">
2192 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
2193 <details key="documentation" value="Allocation of Schedulers"/>
2194 </eAnnotations>
2195 <eStructuralFeatures xsi:type="ecore:EReference" name="scheduler" lowerBound="1"
2196 eType="#//Scheduler"/>
2197 <eStructuralFeatures xsi:type="ecore:EReference" name="responsibility" lowerBound="1"
2198 upperBound="-1" eType="#//ProcessingUnit"/>
2199 <eStructuralFeatures xsi:type="ecore:EReference" name="executingPU" eType="#//ProcessingUnit"/>
2200 </eClassifiers>
2201 <eClassifiers xsi:type="ecore:EClass" name="TaskAllocation" eSuperTypes="#//BaseObject">
2202 <eStructuralFeatures xsi:type="ecore:EReference" name="task" lowerBound="1" eType="#//Task"/>
2203 <eStructuralFeatures xsi:type="ecore:EReference" name="scheduler" lowerBound="1"
2204 eType="#//TaskScheduler"/>
2205 <eStructuralFeatures xsi:type="ecore:EReference" name="affinity" upperBound="-1"
2206 eType="#//ProcessingUnit"/>
2207 <eStructuralFeatures xsi:type="ecore:EReference" name="schedulingParameters" eType="#//SchedulingParameters"
2208 containment="true" resolveProxies="false"/>
2209 <eStructuralFeatures xsi:type="ecore:EReference" name="parameterExtensions" upperBound="-1"
2210 eType="#//ParameterExtension" containment="true" resolveProxies="false"/>
2211 </eClassifiers>
2212 <eClassifiers xsi:type="ecore:EClass" name="ISRAllocation" eSuperTypes="#//BaseObject">
2213 <eStructuralFeatures xsi:type="ecore:EReference" name="isr" lowerBound="1" eType="#//ISR"/>
2214 <eStructuralFeatures xsi:type="ecore:EReference" name="controller" lowerBound="1"
2215 eType="#//InterruptController"/>
2216 <eStructuralFeatures xsi:type="ecore:EAttribute" name="priority" unique="false"
Harald Mackamul5df1f1e2019-04-03 15:41:08 +02002217 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EIntegerObject"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +01002218 </eClassifiers>
2219 <eClassifiers xsi:type="ecore:EClass" name="RunnableAllocation" eSuperTypes="#//BaseObject">
2220 <eStructuralFeatures xsi:type="ecore:EReference" name="scheduler" lowerBound="1"
2221 eType="#//Scheduler"/>
2222 <eStructuralFeatures xsi:type="ecore:EReference" name="entity" lowerBound="1"
2223 eType="#//Runnable"/>
2224 </eClassifiers>
2225 <eClassifiers xsi:type="ecore:EClass" name="MemoryMapping" eSuperTypes="#//BaseObject">
2226 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
2227 <details key="documentation" value="Mapping of AbstractMemoryElement (Label, Runnable, ISR, Task, ...)&#xA;to a specific memory."/>
2228 </eAnnotations>
2229 <eStructuralFeatures xsi:type="ecore:EReference" name="abstractElement" lowerBound="1"
2230 eType="#//AbstractMemoryElement"/>
2231 <eStructuralFeatures xsi:type="ecore:EReference" name="memory" eType="#//Memory"/>
2232 <eStructuralFeatures xsi:type="ecore:EAttribute" name="memoryPositionAddress"
2233 unique="false" eType="#//Address" defaultValueLiteral="0">
2234 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
2235 <details key="documentation" value="The position of the element in the mapped memory"/>
2236 </eAnnotations>
2237 </eStructuralFeatures>
2238 </eClassifiers>
2239 <eClassifiers xsi:type="ecore:EClass" name="PhysicalSectionMapping" eSuperTypes="#//ReferableBaseObject">
2240 <eStructuralFeatures xsi:type="ecore:EReference" name="origin" lowerBound="1"
2241 upperBound="-1" eType="#//Section">
2242 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
2243 <details key="propertyCategory" value="Main"/>
2244 </eAnnotations>
2245 </eStructuralFeatures>
2246 <eStructuralFeatures xsi:type="ecore:EReference" name="memory" lowerBound="1"
2247 eType="#//Memory">
2248 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
2249 <details key="propertyCategory" value="Memory"/>
2250 </eAnnotations>
2251 </eStructuralFeatures>
2252 <eStructuralFeatures xsi:type="ecore:EAttribute" name="startAddress" unique="false"
2253 eType="#//Address" defaultValueLiteral="0">
2254 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
2255 <details key="propertyCategory" value="Memory"/>
2256 </eAnnotations>
2257 </eStructuralFeatures>
2258 <eStructuralFeatures xsi:type="ecore:EAttribute" name="endAddress" unique="false"
2259 eType="#//Address" defaultValueLiteral="0">
2260 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
2261 <details key="propertyCategory" value="Memory"/>
2262 </eAnnotations>
2263 </eStructuralFeatures>
2264 <eStructuralFeatures xsi:type="ecore:EReference" name="labels" upperBound="-1"
2265 eType="#//Label"/>
2266 <eStructuralFeatures xsi:type="ecore:EReference" name="runEntities" upperBound="-1"
2267 eType="#//Runnable"/>
2268 </eClassifiers>
2269 <eClassifiers xsi:type="ecore:EClass" name="OSModel" eSuperTypes="#//BaseObject">
2270 <eStructuralFeatures xsi:type="ecore:EReference" name="semaphores" upperBound="-1"
2271 eType="#//Semaphore" containment="true" resolveProxies="false"/>
2272 <eStructuralFeatures xsi:type="ecore:EReference" name="operatingSystems" upperBound="-1"
2273 eType="#//OperatingSystem" containment="true" resolveProxies="false"/>
2274 <eStructuralFeatures xsi:type="ecore:EReference" name="osOverheads" upperBound="-1"
2275 eType="#//OsOverhead" containment="true" resolveProxies="false"/>
2276 </eClassifiers>
2277 <eClassifiers xsi:type="ecore:EClass" name="OsDataConsistency" eSuperTypes="#//BaseObject">
2278 <eStructuralFeatures xsi:type="ecore:EAttribute" name="mode" unique="false" eType="#//OsDataConsistencyMode"/>
2279 <eStructuralFeatures xsi:type="ecore:EReference" name="dataStability" eType="#//DataStability"
2280 containment="true" resolveProxies="false"/>
2281 <eStructuralFeatures xsi:type="ecore:EReference" name="nonAtomicDataCoherency"
2282 eType="#//NonAtomicDataCoherency" containment="true" resolveProxies="false"/>
2283 </eClassifiers>
2284 <eClassifiers xsi:type="ecore:EClass" name="DataStability">
2285 <eStructuralFeatures xsi:type="ecore:EAttribute" name="enabled" unique="false"
Harald Mackamul5df1f1e2019-04-03 15:41:08 +02002286 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +01002287 <eStructuralFeatures xsi:type="ecore:EAttribute" name="algorithm" unique="false"
Harald Mackamul5df1f1e2019-04-03 15:41:08 +02002288 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +01002289 <eStructuralFeatures xsi:type="ecore:EAttribute" name="accessMultiplicity" unique="false"
2290 eType="#//AccessMultiplicity"/>
2291 <eStructuralFeatures xsi:type="ecore:EAttribute" name="level" unique="false" eType="#//DataStabilityLevel"/>
2292 </eClassifiers>
2293 <eClassifiers xsi:type="ecore:EClass" name="NonAtomicDataCoherency">
2294 <eStructuralFeatures xsi:type="ecore:EAttribute" name="enabled" unique="false"
Harald Mackamul5df1f1e2019-04-03 15:41:08 +02002295 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +01002296 <eStructuralFeatures xsi:type="ecore:EAttribute" name="algorithm" unique="false"
Harald Mackamul5df1f1e2019-04-03 15:41:08 +02002297 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +01002298 <eStructuralFeatures xsi:type="ecore:EAttribute" name="accessMultiplicity" unique="false"
2299 eType="#//AccessMultiplicity"/>
2300 </eClassifiers>
2301 <eClassifiers xsi:type="ecore:EEnum" name="OsDataConsistencyMode">
2302 <eLiterals name="_undefined_"/>
2303 <eLiterals name="noProtection"/>
2304 <eLiterals name="automaticProtection"/>
2305 <eLiterals name="customProtection"/>
2306 <eLiterals name="handledByModelElements"/>
2307 </eClassifiers>
2308 <eClassifiers xsi:type="ecore:EEnum" name="AccessMultiplicity">
2309 <eLiterals name="_undefined_"/>
2310 <eLiterals name="singleAccess"/>
2311 <eLiterals name="multipleAccesses"/>
2312 </eClassifiers>
2313 <eClassifiers xsi:type="ecore:EEnum" name="DataStabilityLevel">
2314 <eLiterals name="_undefined_"/>
2315 <eLiterals name="period"/>
2316 <eLiterals name="process"/>
2317 <eLiterals name="scheduleSection"/>
2318 <eLiterals name="runnable"/>
2319 </eClassifiers>
2320 <eClassifiers xsi:type="ecore:EClass" name="Semaphore" eSuperTypes="#//ReferableBaseObject">
2321 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
2322 <details key="documentation" value="name: Name of semaphore&#xA;maxValue: maximum number of users which can access the semaphore simultaneously&#xA;initialValue: number of users which access semaphore at system startup&#xA;priorityCeilingProtocol: enables priority ceiling for this resource"/>
2323 </eAnnotations>
2324 <eStructuralFeatures xsi:type="ecore:EAttribute" name="semaphoreType" unique="false"
2325 eType="#//SemaphoreType"/>
2326 <eStructuralFeatures xsi:type="ecore:EAttribute" name="initialValue" unique="false"
Harald Mackamul5df1f1e2019-04-03 15:41:08 +02002327 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="0"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +01002328 <eStructuralFeatures xsi:type="ecore:EAttribute" name="maxValue" unique="false"
Harald Mackamul5df1f1e2019-04-03 15:41:08 +02002329 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="0"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +01002330 <eStructuralFeatures xsi:type="ecore:EAttribute" name="priorityCeilingProtocol"
Harald Mackamul5df1f1e2019-04-03 15:41:08 +02002331 unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
Harald Mackamul0ebca062019-01-11 15:37:01 +01002332 defaultValueLiteral="false"/>
2333 <eStructuralFeatures xsi:type="ecore:EReference" name="semaphoreAccesses" upperBound="-1"
2334 eType="#//SemaphoreAccess" changeable="false" volatile="true" transient="true"
2335 derived="true">
2336 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
2337 <details key="documentation" value="&lt;p>&lt;b>Returns an &lt;em>immutable&lt;/em> list of accesses (SemaphoreAccess).&lt;/b>&lt;/p>"/>
2338 <details key="propertyCategory" value="Read only"/>
2339 <details key="propertyFilterFlags" value="org.eclipse.ui.views.properties.expert"/>
2340 <details key="get" value="&lt;%org.eclipse.emf.ecore.EReference%> _semaphoreAccess_Semaphore = &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaPackage%>.eINSTANCE.getSemaphoreAccess_Semaphore();&#xA;return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaIndex%>.&lt;&lt;%org.eclipse.app4mc.amalthea.model.SemaphoreAccess%>>getInverseReferences(this, &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaPackage%>.eINSTANCE.getSemaphore_SemaphoreAccesses(), &#xA;&#x9;java.util.Collections.&lt;&lt;%org.eclipse.emf.ecore.EReference%>>unmodifiableSet(org.eclipse.xtext.xbase.lib.CollectionLiterals.&lt;&lt;%org.eclipse.emf.ecore.EReference%>>newHashSet(_semaphoreAccess_Semaphore)));"/>
2341 </eAnnotations>
2342 </eStructuralFeatures>
2343 <eStructuralFeatures xsi:type="ecore:EReference" name="referringComponents" upperBound="-1"
2344 eType="#//Component" changeable="false" volatile="true" transient="true" derived="true">
2345 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
2346 <details key="documentation" value="&lt;p>&lt;b>Returns an &lt;em>immutable&lt;/em> list of components the semaphore belongs to.&lt;/b>&lt;/p>"/>
2347 <details key="propertyCategory" value="Read only"/>
2348 <details key="propertyFilterFlags" value="org.eclipse.ui.views.properties.expert"/>
2349 <details key="get" value="&lt;%org.eclipse.emf.ecore.EReference%> _component_Semaphores = &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaPackage%>.eINSTANCE.getComponent_Semaphores();&#xA;return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaIndex%>.&lt;&lt;%org.eclipse.app4mc.amalthea.model.Component%>>getInverseReferences(this, &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaPackage%>.eINSTANCE.getSemaphore_ReferringComponents(), &#xA;&#x9;java.util.Collections.&lt;&lt;%org.eclipse.emf.ecore.EReference%>>unmodifiableSet(org.eclipse.xtext.xbase.lib.CollectionLiterals.&lt;&lt;%org.eclipse.emf.ecore.EReference%>>newHashSet(_component_Semaphores)));"/>
2350 </eAnnotations>
2351 </eStructuralFeatures>
2352 </eClassifiers>
2353 <eClassifiers xsi:type="ecore:EEnum" name="SemaphoreType">
2354 <eLiterals name="_undefined_"/>
2355 <eLiterals name="CountingSemaphore"/>
2356 <eLiterals name="Resource"/>
2357 <eLiterals name="Spinlock"/>
2358 </eClassifiers>
2359 <eClassifiers xsi:type="ecore:EClass" name="Scheduler" abstract="true" eSuperTypes="#//ReferableBaseObject">
2360 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
2361 <details key="documentation" value="scheduling algorithm: The used algorithm for scheduling&#xA;computation items: steps to perform the scheduling algorithm"/>
2362 </eAnnotations>
2363 <eOperations name="getSchedulingAlgorithm" unique="false" eType="#//Algorithm">
2364 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
2365 <details key="body" value="return null;"/>
2366 </eAnnotations>
2367 </eOperations>
2368 <eStructuralFeatures xsi:type="ecore:EReference" name="computationItems" upperBound="-1"
2369 eType="#//ComputationItem" containment="true" resolveProxies="false"/>
2370 <eStructuralFeatures xsi:type="ecore:EReference" name="schedulerAllocations" upperBound="-1"
2371 eType="#//SchedulerAllocation" changeable="false" volatile="true" transient="true"
2372 derived="true">
2373 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
2374 <details key="documentation" value="&lt;p>&lt;b>Returns an &lt;em>immutable&lt;/em> list of scheduler allocations (SchedulerAllocation).&lt;/b>&lt;/p>"/>
2375 <details key="propertyCategory" value="Read only"/>
2376 <details key="propertyFilterFlags" value="org.eclipse.ui.views.properties.expert"/>
2377 <details key="get" value="&lt;%org.eclipse.emf.ecore.EReference%> _schedulerAllocation_Scheduler = &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaPackage%>.eINSTANCE.getSchedulerAllocation_Scheduler();&#xA;return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaIndex%>.&lt;&lt;%org.eclipse.app4mc.amalthea.model.SchedulerAllocation%>>getInverseReferences(this, &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaPackage%>.eINSTANCE.getScheduler_SchedulerAllocations(), &#xA;&#x9;java.util.Collections.&lt;&lt;%org.eclipse.emf.ecore.EReference%>>unmodifiableSet(org.eclipse.xtext.xbase.lib.CollectionLiterals.&lt;&lt;%org.eclipse.emf.ecore.EReference%>>newHashSet(_schedulerAllocation_Scheduler)));"/>
2378 </eAnnotations>
2379 </eStructuralFeatures>
2380 <eStructuralFeatures xsi:type="ecore:EReference" name="runnableAllocations" upperBound="-1"
2381 eType="#//RunnableAllocation" changeable="false" volatile="true" transient="true"
2382 derived="true">
2383 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
2384 <details key="documentation" value="&lt;p>&lt;b>Returns an &lt;em>immutable&lt;/em> list of runnable allocations (RunnableAllocation).&lt;/b>&lt;/p>"/>
2385 <details key="propertyCategory" value="Read only"/>
2386 <details key="propertyFilterFlags" value="org.eclipse.ui.views.properties.expert"/>
2387 <details key="get" value="&lt;%org.eclipse.emf.ecore.EReference%> _runnableAllocation_Scheduler = &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaPackage%>.eINSTANCE.getRunnableAllocation_Scheduler();&#xA;return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaIndex%>.&lt;&lt;%org.eclipse.app4mc.amalthea.model.RunnableAllocation%>>getInverseReferences(this, &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaPackage%>.eINSTANCE.getScheduler_RunnableAllocations(), &#xA;&#x9;java.util.Collections.&lt;&lt;%org.eclipse.emf.ecore.EReference%>>unmodifiableSet(org.eclipse.xtext.xbase.lib.CollectionLiterals.&lt;&lt;%org.eclipse.emf.ecore.EReference%>>newHashSet(_runnableAllocation_Scheduler)));"/>
2388 </eAnnotations>
2389 </eStructuralFeatures>
2390 </eClassifiers>
2391 <eClassifiers xsi:type="ecore:EClass" name="TaskScheduler" eSuperTypes="#//Scheduler">
2392 <eStructuralFeatures xsi:type="ecore:EReference" name="schedulingAlgorithm" eType="#//TaskSchedulingAlgorithm"
2393 containment="true" resolveProxies="false"/>
2394 <eStructuralFeatures xsi:type="ecore:EReference" name="parentAssociation" eType="#//SchedulerAssociation"
2395 containment="true" resolveProxies="false" eOpposite="#//SchedulerAssociation/child"/>
2396 <eStructuralFeatures xsi:type="ecore:EReference" name="childAssociations" upperBound="-1"
2397 eType="#//SchedulerAssociation" changeable="false" volatile="true" transient="true"
2398 derived="true">
2399 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
2400 <details key="documentation" value="&lt;p>&lt;b>Returns an &lt;em>immutable&lt;/em> list of child associations (SchedulerAssociation).&lt;/b>&lt;/p>"/>
2401 <details key="propertyCategory" value="Read only"/>
2402 <details key="propertyFilterFlags" value="org.eclipse.ui.views.properties.expert"/>
2403 <details key="get" value="&lt;%org.eclipse.emf.ecore.EReference%> _schedulerAssociation_Parent = &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaPackage%>.eINSTANCE.getSchedulerAssociation_Parent();&#xA;return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaIndex%>.&lt;&lt;%org.eclipse.app4mc.amalthea.model.SchedulerAssociation%>>getInverseReferences(this, &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaPackage%>.eINSTANCE.getTaskScheduler_ChildAssociations(), &#xA;&#x9;java.util.Collections.&lt;&lt;%org.eclipse.emf.ecore.EReference%>>unmodifiableSet(org.eclipse.xtext.xbase.lib.CollectionLiterals.&lt;&lt;%org.eclipse.emf.ecore.EReference%>>newHashSet(_schedulerAssociation_Parent)));"/>
2404 </eAnnotations>
2405 </eStructuralFeatures>
2406 <eStructuralFeatures xsi:type="ecore:EReference" name="taskAllocations" upperBound="-1"
2407 eType="#//TaskAllocation" changeable="false" volatile="true" transient="true"
2408 derived="true">
2409 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
2410 <details key="documentation" value="&lt;p>&lt;b>Returns an &lt;em>immutable&lt;/em> list of task allocations (TaskAllocation).&lt;/b>&lt;/p>"/>
2411 <details key="propertyCategory" value="Read only"/>
2412 <details key="propertyFilterFlags" value="org.eclipse.ui.views.properties.expert"/>
2413 <details key="get" value="&lt;%org.eclipse.emf.ecore.EReference%> _taskAllocation_Scheduler = &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaPackage%>.eINSTANCE.getTaskAllocation_Scheduler();&#xA;return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaIndex%>.&lt;&lt;%org.eclipse.app4mc.amalthea.model.TaskAllocation%>>getInverseReferences(this, &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaPackage%>.eINSTANCE.getTaskScheduler_TaskAllocations(), &#xA;&#x9;java.util.Collections.&lt;&lt;%org.eclipse.emf.ecore.EReference%>>unmodifiableSet(org.eclipse.xtext.xbase.lib.CollectionLiterals.&lt;&lt;%org.eclipse.emf.ecore.EReference%>>newHashSet(_taskAllocation_Scheduler)));"/>
2414 </eAnnotations>
2415 </eStructuralFeatures>
2416 <eStructuralFeatures xsi:type="ecore:EReference" name="parentScheduler" eType="#//TaskScheduler"
2417 changeable="false" volatile="true" transient="true" derived="true">
2418 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
2419 <details key="propertyCategory" value="Read only"/>
2420 <details key="get" value="&lt;%org.eclipse.app4mc.amalthea.model.SchedulerAssociation%> _parentAssociation = this.getParentAssociation();&#xA;&lt;%org.eclipse.app4mc.amalthea.model.TaskScheduler%> _parent = null;&#xA;if (_parentAssociation!=null)&#xA;{&#xA;&#x9;_parent=_parentAssociation.getParent();&#xA;}&#xA;return _parent;"/>
2421 </eAnnotations>
2422 </eStructuralFeatures>
2423 <eStructuralFeatures xsi:type="ecore:EReference" name="childSchedulers" upperBound="-1"
2424 eType="#//TaskScheduler" changeable="false" volatile="true" transient="true"
2425 derived="true">
2426 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
2427 <details key="propertyCategory" value="Read only"/>
2428 <details key="get" value="final &lt;%org.eclipse.xtext.xbase.lib.Functions.Function1%>&lt;&lt;%org.eclipse.app4mc.amalthea.model.SchedulerAssociation%>, &lt;%org.eclipse.app4mc.amalthea.model.TaskScheduler%>> _function = new &lt;%org.eclipse.xtext.xbase.lib.Functions.Function1%>&lt;&lt;%org.eclipse.app4mc.amalthea.model.SchedulerAssociation%>, &lt;%org.eclipse.app4mc.amalthea.model.TaskScheduler%>>()&#xA;{&#xA;&#x9;public &lt;%org.eclipse.app4mc.amalthea.model.TaskScheduler%> apply(final &lt;%org.eclipse.app4mc.amalthea.model.SchedulerAssociation%> it)&#xA;&#x9;{&#xA;&#x9;&#x9;return it.getChild();&#xA;&#x9;}&#xA;};&#xA;final &lt;%java.lang.Iterable%>&lt;&lt;%org.eclipse.app4mc.amalthea.model.TaskScheduler%>> result = &lt;%org.eclipse.xtext.xbase.lib.IterableExtensions%>.&lt;&lt;%org.eclipse.app4mc.amalthea.model.TaskScheduler%>>filterNull(&lt;%org.eclipse.emf.ecore.xcore.lib.XcoreEListExtensions%>.&lt;&lt;%org.eclipse.app4mc.amalthea.model.SchedulerAssociation%>, &lt;%org.eclipse.app4mc.amalthea.model.TaskScheduler%>>map(this.getChildAssociations(), _function));&#xA;&lt;%org.eclipse.emf.ecore.EReference%> _taskScheduler_ChildSchedulers = &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaPackage%>.eINSTANCE.getTaskScheduler_ChildSchedulers();&#xA;int _size = &lt;%org.eclipse.xtext.xbase.lib.IterableExtensions%>.size(result);&#xA;&lt;%java.lang.Object%>[] _array = &lt;%org.eclipse.xtext.xbase.lib.IterableExtensions%>.&lt;&lt;%org.eclipse.app4mc.amalthea.model.TaskScheduler%>>toList(result).toArray();&#xA;return new &lt;%org.eclipse.emf.ecore.util.EcoreEList.UnmodifiableEList%>&lt;&lt;%org.eclipse.app4mc.amalthea.model.TaskScheduler%>>(((&lt;%org.eclipse.emf.ecore.InternalEObject%>) this), _taskScheduler_ChildSchedulers, _size, _array);"/>
2429 </eAnnotations>
2430 </eStructuralFeatures>
2431 </eClassifiers>
2432 <eClassifiers xsi:type="ecore:EClass" name="SchedulerAssociation">
2433 <eStructuralFeatures xsi:type="ecore:EReference" name="child" eType="#//TaskScheduler"
2434 changeable="false" eOpposite="#//TaskScheduler/parentAssociation">
2435 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
2436 <details key="propertyCategory" value="Read only"/>
2437 </eAnnotations>
2438 </eStructuralFeatures>
2439 <eStructuralFeatures xsi:type="ecore:EReference" name="parent" eType="#//TaskScheduler"/>
2440 <eStructuralFeatures xsi:type="ecore:EReference" name="schedulingParameters" eType="#//SchedulingParameters"
2441 containment="true" resolveProxies="false"/>
2442 <eStructuralFeatures xsi:type="ecore:EReference" name="parameterExtensions" upperBound="-1"
2443 eType="#//ParameterExtension" containment="true" resolveProxies="false"/>
2444 </eClassifiers>
2445 <eClassifiers xsi:type="ecore:EClass" name="InterruptController" eSuperTypes="#//Scheduler">
2446 <eStructuralFeatures xsi:type="ecore:EReference" name="schedulingAlgorithm" eType="#//InterruptSchedulingAlgorithm"
2447 containment="true" resolveProxies="false"/>
2448 <eStructuralFeatures xsi:type="ecore:EReference" name="isrAllocations" upperBound="-1"
2449 eType="#//ISRAllocation" changeable="false" volatile="true" transient="true"
2450 derived="true">
2451 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
2452 <details key="documentation" value="&lt;p>&lt;b>Returns an &lt;em>immutable&lt;/em> list of ISR allocations (ISRAllocation).&lt;/b>&lt;/p>"/>
2453 <details key="propertyCategory" value="Read only"/>
2454 <details key="propertyFilterFlags" value="org.eclipse.ui.views.properties.expert"/>
2455 <details key="get" value="&lt;%org.eclipse.emf.ecore.EReference%> _iSRAllocation_Controller = &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaPackage%>.eINSTANCE.getISRAllocation_Controller();&#xA;return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaIndex%>.&lt;&lt;%org.eclipse.app4mc.amalthea.model.ISRAllocation%>>getInverseReferences(this, &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaPackage%>.eINSTANCE.getInterruptController_IsrAllocations(), &#xA;&#x9;java.util.Collections.&lt;&lt;%org.eclipse.emf.ecore.EReference%>>unmodifiableSet(org.eclipse.xtext.xbase.lib.CollectionLiterals.&lt;&lt;%org.eclipse.emf.ecore.EReference%>>newHashSet(_iSRAllocation_Controller)));"/>
2456 </eAnnotations>
2457 </eStructuralFeatures>
2458 </eClassifiers>
2459 <eClassifiers xsi:type="ecore:EClass" name="SchedulingParameters">
2460 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
2461 <details key="documentation" value="Common scheduling parameters"/>
2462 </eAnnotations>
2463 <eStructuralFeatures xsi:type="ecore:EAttribute" name="priority" unique="false"
Harald Mackamul5df1f1e2019-04-03 15:41:08 +02002464 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EIntegerObject"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +01002465 <eStructuralFeatures xsi:type="ecore:EReference" name="minBudget" eType="#//Time"
2466 containment="true" resolveProxies="false"/>
2467 <eStructuralFeatures xsi:type="ecore:EReference" name="maxBudget" eType="#//Time"
2468 containment="true" resolveProxies="false"/>
2469 <eStructuralFeatures xsi:type="ecore:EReference" name="replenishment" eType="#//Time"
2470 containment="true" resolveProxies="false"/>
2471 </eClassifiers>
2472 <eClassifiers xsi:type="ecore:EClass" name="ParameterExtension" instanceClassName="java.util.Map$Entry">
2473 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
2474 <details key="documentation" value="Parameter extensions (used for scheduling algorithms)"/>
2475 </eAnnotations>
2476 <eStructuralFeatures xsi:type="ecore:EAttribute" name="key" unique="false" lowerBound="1"
Harald Mackamul5df1f1e2019-04-03 15:41:08 +02002477 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +01002478 <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" unique="false" lowerBound="1"
Harald Mackamul5df1f1e2019-04-03 15:41:08 +02002479 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +01002480 </eClassifiers>
2481 <eClassifiers xsi:type="ecore:EClass" name="Algorithm" abstract="true" eSuperTypes="#//BaseObject"/>
2482 <eClassifiers xsi:type="ecore:EClass" name="InterruptSchedulingAlgorithm" abstract="true"
2483 eSuperTypes="#//Algorithm">
2484 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
2485 <details key="documentation" value="Interrupt Scheduling Algorithm"/>
2486 </eAnnotations>
2487 </eClassifiers>
2488 <eClassifiers xsi:type="ecore:EClass" name="TaskSchedulingAlgorithm" abstract="true"
2489 eSuperTypes="#//Algorithm">
2490 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
2491 <details key="documentation" value="Task Scheduling Algorithm"/>
2492 </eAnnotations>
2493 </eClassifiers>
2494 <eClassifiers xsi:type="ecore:EClass" name="FixedPriority" abstract="true" eSuperTypes="#//TaskSchedulingAlgorithm">
2495 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
2496 <details key="documentation" value="Fixed Priority Scheduling"/>
2497 </eAnnotations>
2498 </eClassifiers>
2499 <eClassifiers xsi:type="ecore:EClass" name="FixedPriorityPreemptive" eSuperTypes="#//FixedPriority">
2500 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
2501 <details key="documentation" value="Fixed Priority Preemptive scheduling algorithm"/>
2502 </eAnnotations>
2503 </eClassifiers>
2504 <eClassifiers xsi:type="ecore:EClass" name="FixedPriorityPreemptiveWithBudgetEnforcement"
2505 eSuperTypes="#//FixedPriority">
2506 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
2507 <details key="documentation" value="Fixed Priority Preemptive scheduling algorithm (with budget enforcement)"/>
2508 </eAnnotations>
2509 </eClassifiers>
2510 <eClassifiers xsi:type="ecore:EClass" name="OSEK" eSuperTypes="#//FixedPriority">
2511 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
2512 <details key="documentation" value="OSEK scheduling algorithm"/>
2513 </eAnnotations>
2514 </eClassifiers>
2515 <eClassifiers xsi:type="ecore:EClass" name="DeadlineMonotonic" eSuperTypes="#//FixedPriority">
2516 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
2517 <details key="documentation" value="task with shortest deadline has highest priority"/>
2518 </eAnnotations>
2519 </eClassifiers>
2520 <eClassifiers xsi:type="ecore:EClass" name="RateMonotonic" eSuperTypes="#//FixedPriority">
2521 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
2522 <details key="documentation" value="task with shortest recurrence (i.e. period) has highest priority"/>
2523 </eAnnotations>
2524 </eClassifiers>
2525 <eClassifiers xsi:type="ecore:EClass" name="Pfair" abstract="true" eSuperTypes="#//TaskSchedulingAlgorithm">
2526 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
2527 <details key="documentation" value="Proportionate Fair (Pfair) Scheduling&#xA;(global scheduling algorithm)"/>
2528 </eAnnotations>
2529 <eStructuralFeatures xsi:type="ecore:EAttribute" name="quantSizeNs" unique="false"
Harald Mackamul5df1f1e2019-04-03 15:41:08 +02002530 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="0"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +01002531 </eClassifiers>
2532 <eClassifiers xsi:type="ecore:EClass" name="PfairPD2" eSuperTypes="#//Pfair">
2533 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
2534 <details key="documentation" value="Proportionate Fair PD2 Scheduling&#xA;(global scheduling algorithm)"/>
2535 </eAnnotations>
2536 </eClassifiers>
2537 <eClassifiers xsi:type="ecore:EClass" name="PartlyPFairPD2" eSuperTypes="#//Pfair">
2538 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
2539 <details key="documentation" value="Partly Proportionate Fair PD2 Scheduling&#xA;(global scheduling algorithm)"/>
2540 </eAnnotations>
2541 </eClassifiers>
2542 <eClassifiers xsi:type="ecore:EClass" name="EarlyReleaseFairPD2" eSuperTypes="#//Pfair">
2543 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
2544 <details key="documentation" value="Early Release Fair PD2 Scheduling&#xA;(global scheduling algorithm)"/>
2545 </eAnnotations>
2546 </eClassifiers>
2547 <eClassifiers xsi:type="ecore:EClass" name="PartlyEarlyReleaseFairPD2" eSuperTypes="#//Pfair">
2548 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
2549 <details key="documentation" value="Partly Early Release Fair PD2 Scheduling&#xA;(global scheduling algorithm)"/>
2550 </eAnnotations>
2551 </eClassifiers>
2552 <eClassifiers xsi:type="ecore:EClass" name="DynamicPriority" abstract="true" eSuperTypes="#//TaskSchedulingAlgorithm">
2553 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
2554 <details key="documentation" value="Dynamic Priority Scheduling"/>
2555 </eAnnotations>
2556 </eClassifiers>
2557 <eClassifiers xsi:type="ecore:EClass" name="LeastLocalRemainingExecutionTimeFirst"
2558 eSuperTypes="#//DynamicPriority">
2559 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
2560 <details key="documentation" value="global scheduling algorithm"/>
2561 </eAnnotations>
2562 </eClassifiers>
2563 <eClassifiers xsi:type="ecore:EClass" name="EarliestDeadlineFirst" eSuperTypes="#//DynamicPriority">
2564 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
2565 <details key="documentation" value="earliest absolute deadline first"/>
2566 </eAnnotations>
2567 </eClassifiers>
2568 <eClassifiers xsi:type="ecore:EClass" name="PriorityBasedRoundRobin" eSuperTypes="#//DynamicPriority">
2569 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
2570 <details key="documentation" value="all tasks with equal priority executed for certain time slice"/>
2571 </eAnnotations>
2572 </eClassifiers>
2573 <eClassifiers xsi:type="ecore:EClass" name="ReservationBasedServer" abstract="true"
2574 eSuperTypes="#//TaskSchedulingAlgorithm">
2575 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
2576 <details key="documentation" value="Reservation Based Server"/>
2577 </eAnnotations>
2578 </eClassifiers>
2579 <eClassifiers xsi:type="ecore:EClass" name="DeferrableServer" eSuperTypes="#//ReservationBasedServer">
2580 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
2581 <details key="documentation" value="Deferrable Server"/>
2582 </eAnnotations>
2583 </eClassifiers>
2584 <eClassifiers xsi:type="ecore:EClass" name="PollingPeriodicServer" eSuperTypes="#//ReservationBasedServer">
2585 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
2586 <details key="documentation" value="Polling Periodic Server"/>
2587 </eAnnotations>
2588 </eClassifiers>
2589 <eClassifiers xsi:type="ecore:EClass" name="SporadicServer" eSuperTypes="#//ReservationBasedServer">
2590 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
2591 <details key="documentation" value="Sporadic Server"/>
2592 </eAnnotations>
2593 </eClassifiers>
2594 <eClassifiers xsi:type="ecore:EClass" name="ConstantBandwidthServer" eSuperTypes="#//ReservationBasedServer">
2595 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
2596 <details key="documentation" value="Constant Bandwidth Server"/>
2597 </eAnnotations>
2598 </eClassifiers>
2599 <eClassifiers xsi:type="ecore:EClass" name="ConstantBandwidthServerWithCASH" eSuperTypes="#//ReservationBasedServer">
2600 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
2601 <details key="documentation" value="Constant Bandwidth Server With CASH"/>
2602 </eAnnotations>
2603 </eClassifiers>
2604 <eClassifiers xsi:type="ecore:EClass" name="Grouping" eSuperTypes="#//TaskSchedulingAlgorithm">
2605 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
2606 <details key="documentation" value="logical grouping of tasks/child-schedulers"/>
2607 </eAnnotations>
2608 </eClassifiers>
2609 <eClassifiers xsi:type="ecore:EClass" name="UserSpecificSchedulingAlgorithm" eSuperTypes="#//TaskSchedulingAlgorithm #//InterruptSchedulingAlgorithm">
2610 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
2611 <details key="documentation" value="allows the user to define own scheduling algorithm (TA-Toolsuite feature)"/>
2612 </eAnnotations>
2613 <eStructuralFeatures xsi:type="ecore:EReference" name="parameterExtensions" upperBound="-1"
2614 eType="#//ParameterExtension" containment="true" resolveProxies="false"/>
2615 </eClassifiers>
2616 <eClassifiers xsi:type="ecore:EClass" name="PriorityBased" eSuperTypes="#//InterruptSchedulingAlgorithm">
2617 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
2618 <details key="documentation" value="Priority based Scheduling Algorithm for Interrupts"/>
2619 </eAnnotations>
2620 </eClassifiers>
2621 <eClassifiers xsi:type="ecore:EClass" name="OperatingSystem" eSuperTypes="#//BaseObject #//INamed">
2622 <eStructuralFeatures xsi:type="ecore:EReference" name="overhead" eType="#//OsOverhead"/>
2623 <eStructuralFeatures xsi:type="ecore:EReference" name="taskSchedulers" upperBound="-1"
2624 eType="#//TaskScheduler" containment="true" resolveProxies="false"/>
2625 <eStructuralFeatures xsi:type="ecore:EReference" name="interruptControllers" upperBound="-1"
2626 eType="#//InterruptController" containment="true" resolveProxies="false"/>
2627 <eStructuralFeatures xsi:type="ecore:EReference" name="osDataConsistency" eType="#//OsDataConsistency"
2628 containment="true" resolveProxies="false"/>
2629 </eClassifiers>
2630 <eClassifiers xsi:type="ecore:EClass" name="VendorOperatingSystem" eSuperTypes="#//OperatingSystem">
2631 <eStructuralFeatures xsi:type="ecore:EAttribute" name="osName" unique="false"
Harald Mackamul5df1f1e2019-04-03 15:41:08 +02002632 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +01002633 <eStructuralFeatures xsi:type="ecore:EAttribute" name="vendor" unique="false"
Harald Mackamul5df1f1e2019-04-03 15:41:08 +02002634 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +01002635 <eStructuralFeatures xsi:type="ecore:EAttribute" name="version" unique="false"
Harald Mackamul5df1f1e2019-04-03 15:41:08 +02002636 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +01002637 </eClassifiers>
2638 <eClassifiers xsi:type="ecore:EClass" name="OsOverhead" eSuperTypes="#//ReferableBaseObject">
2639 <eStructuralFeatures xsi:type="ecore:EReference" name="apiOverhead" eType="#//OsAPIOverhead"
2640 containment="true" resolveProxies="false"/>
2641 <eStructuralFeatures xsi:type="ecore:EReference" name="isrCategory1Overhead" eType="#//OsISROverhead"
2642 containment="true" resolveProxies="false"/>
2643 <eStructuralFeatures xsi:type="ecore:EReference" name="isrCategory2Overhead" eType="#//OsISROverhead"
2644 containment="true" resolveProxies="false"/>
2645 </eClassifiers>
2646 <eClassifiers xsi:type="ecore:EClass" name="OsAPIOverhead" eSuperTypes="#//BaseObject">
2647 <eStructuralFeatures xsi:type="ecore:EReference" name="apiSendMessage" eType="#//Ticks"
2648 containment="true" resolveProxies="false"/>
2649 <eStructuralFeatures xsi:type="ecore:EReference" name="apiTerminateTask" eType="#//Ticks"
2650 containment="true" resolveProxies="false"/>
2651 <eStructuralFeatures xsi:type="ecore:EReference" name="apiSchedule" eType="#//Ticks"
2652 containment="true" resolveProxies="false"/>
2653 <eStructuralFeatures xsi:type="ecore:EReference" name="apiRequestResource" eType="#//Ticks"
2654 containment="true" resolveProxies="false"/>
2655 <eStructuralFeatures xsi:type="ecore:EReference" name="apiReleaseResource" eType="#//Ticks"
2656 containment="true" resolveProxies="false"/>
2657 <eStructuralFeatures xsi:type="ecore:EReference" name="apiSetEvent" eType="#//Ticks"
2658 containment="true" resolveProxies="false"/>
2659 <eStructuralFeatures xsi:type="ecore:EReference" name="apiWaitEvent" eType="#//Ticks"
2660 containment="true" resolveProxies="false"/>
2661 <eStructuralFeatures xsi:type="ecore:EReference" name="apiClearEvent" eType="#//Ticks"
2662 containment="true" resolveProxies="false"/>
2663 <eStructuralFeatures xsi:type="ecore:EReference" name="apiActivateTask" eType="#//Ticks"
2664 containment="true" resolveProxies="false"/>
2665 <eStructuralFeatures xsi:type="ecore:EReference" name="apiEnforcedMigration" eType="#//Ticks"
2666 containment="true" resolveProxies="false"/>
2667 <eStructuralFeatures xsi:type="ecore:EReference" name="apiSuspendOsInterrupts"
2668 eType="#//Ticks" containment="true" resolveProxies="false"/>
2669 <eStructuralFeatures xsi:type="ecore:EReference" name="apiResumeOsInterrupts"
2670 eType="#//Ticks" containment="true" resolveProxies="false"/>
2671 <eStructuralFeatures xsi:type="ecore:EReference" name="apiRequestSpinlock" eType="#//Ticks"
2672 containment="true" resolveProxies="false"/>
2673 <eStructuralFeatures xsi:type="ecore:EReference" name="apiReleaseSpinlock" eType="#//Ticks"
2674 containment="true" resolveProxies="false"/>
2675 <eStructuralFeatures xsi:type="ecore:EReference" name="apiSenderReceiverRead"
2676 eType="#//Ticks" containment="true" resolveProxies="false"/>
2677 <eStructuralFeatures xsi:type="ecore:EReference" name="apiSenderReceiverWrite"
2678 eType="#//Ticks" containment="true" resolveProxies="false"/>
2679 <eStructuralFeatures xsi:type="ecore:EReference" name="apiSynchronousServerCallPoint"
2680 eType="#//Ticks" containment="true" resolveProxies="false"/>
2681 <eStructuralFeatures xsi:type="ecore:EReference" name="apiIocRead" eType="#//Ticks"
2682 containment="true" resolveProxies="false"/>
2683 <eStructuralFeatures xsi:type="ecore:EReference" name="apiIocWrite" eType="#//Ticks"
2684 containment="true" resolveProxies="false"/>
2685 </eClassifiers>
2686 <eClassifiers xsi:type="ecore:EClass" name="OsISROverhead" eSuperTypes="#//BaseObject">
2687 <eStructuralFeatures xsi:type="ecore:EReference" name="preExecutionOverhead" eType="#//Ticks"
2688 containment="true" resolveProxies="false"/>
2689 <eStructuralFeatures xsi:type="ecore:EReference" name="postExecutionOverhead"
2690 eType="#//Ticks" containment="true" resolveProxies="false"/>
2691 </eClassifiers>
2692 <eClassifiers xsi:type="ecore:EClass" name="PropertyConstraintsModel" eSuperTypes="#//BaseObject">
2693 <eStructuralFeatures xsi:type="ecore:EReference" name="allocationConstraints"
2694 upperBound="-1" eType="#//CoreAllocationConstraint" containment="true" resolveProxies="false"/>
2695 <eStructuralFeatures xsi:type="ecore:EReference" name="mappingConstraints" upperBound="-1"
2696 eType="#//MemoryMappingConstraint" containment="true" resolveProxies="false"/>
2697 </eClassifiers>
2698 <eClassifiers xsi:type="ecore:EClass" name="CoreAllocationConstraint" abstract="true"
2699 eSuperTypes="#//BaseObject">
2700 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
2701 <details key="documentation" value="Abstract Class, used to describe Constraints for Allocations&#xA;(these usually target Cores and their features/attributes)"/>
2702 </eAnnotations>
2703 <eStructuralFeatures xsi:type="ecore:EReference" name="coreClassification" eType="#//CoreClassification"
2704 containment="true" resolveProxies="false"/>
2705 </eClassifiers>
2706 <eClassifiers xsi:type="ecore:EClass" name="MemoryMappingConstraint" abstract="true"
2707 eSuperTypes="#//BaseObject">
2708 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
2709 <details key="documentation" value="Abstract Class, used to describe Constraints for Mapping&#xA;(these usually target Memories and their features/attributes)"/>
2710 </eAnnotations>
2711 <eStructuralFeatures xsi:type="ecore:EReference" name="memoryClassification" eType="#//MemoryClassification"
2712 containment="true" resolveProxies="false"/>
2713 </eClassifiers>
2714 <eClassifiers xsi:type="ecore:EClass" name="ProcessAllocationConstraint" eSuperTypes="#//CoreAllocationConstraint">
2715 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
2716 <details key="documentation" value="ProcessAllocationConstraints describe the constraints for&#xA;Process-to-Core allocations"/>
2717 </eAnnotations>
2718 <eStructuralFeatures xsi:type="ecore:EReference" name="process" eType="#//Process"/>
2719 </eClassifiers>
2720 <eClassifiers xsi:type="ecore:EClass" name="ProcessPrototypeAllocationConstraint"
2721 eSuperTypes="#//CoreAllocationConstraint">
2722 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
2723 <details key="documentation" value="ProcessPrototypeAllocationConstraints describe the constraints for&#xA;ProcessPrototype-to-Core allocations"/>
2724 </eAnnotations>
2725 <eStructuralFeatures xsi:type="ecore:EReference" name="processPrototype" eType="#//ProcessPrototype"/>
2726 </eClassifiers>
2727 <eClassifiers xsi:type="ecore:EClass" name="RunnableAllocationConstraint" eSuperTypes="#//CoreAllocationConstraint">
2728 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
2729 <details key="documentation" value="RunnableAllocationConstraints describe the constraints for&#xA;Runnable-to-Core allocations"/>
2730 </eAnnotations>
2731 <eStructuralFeatures xsi:type="ecore:EReference" name="runnable" eType="#//Runnable"/>
2732 </eClassifiers>
2733 <eClassifiers xsi:type="ecore:EClass" name="AbstractElementMappingConstraint" eSuperTypes="#//MemoryMappingConstraint">
2734 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
2735 <details key="documentation" value="AbstractElementMappingConstraints describe the constraints for&#xA;AbstractMemoryElement-to-Memory Mapping"/>
2736 </eAnnotations>
2737 <eStructuralFeatures xsi:type="ecore:EReference" name="abstractElement" eType="#//AbstractMemoryElement"/>
2738 </eClassifiers>
2739 <eClassifiers xsi:type="ecore:EClass" name="Classification" abstract="true" eSuperTypes="#//BaseObject">
2740 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
2741 <details key="documentation" value="Generalization for all Hardware related constraints"/>
2742 </eAnnotations>
2743 <eStructuralFeatures xsi:type="ecore:EAttribute" name="condition" unique="false"
2744 eType="#//Condition"/>
2745 <eStructuralFeatures xsi:type="ecore:EAttribute" name="grouping" unique="false"
2746 eType="#//GroupingType"/>
2747 </eClassifiers>
2748 <eClassifiers xsi:type="ecore:EEnum" name="Condition">
2749 <eLiterals name="_undefined_"/>
2750 <eLiterals name="requires"/>
2751 <eLiterals name="excludes"/>
2752 </eClassifiers>
2753 <eClassifiers xsi:type="ecore:EEnum" name="GroupingType">
2754 <eLiterals name="_undefined_"/>
2755 <eLiterals name="allOfThem"/>
2756 <eLiterals name="atLeastOneOfThem"/>
2757 </eClassifiers>
2758 <eClassifiers xsi:type="ecore:EClass" name="CoreClassification" eSuperTypes="#//Classification">
2759 <eStructuralFeatures xsi:type="ecore:EReference" name="classifiers" upperBound="-1"
2760 eType="#//CoreClassifier"/>
2761 </eClassifiers>
2762 <eClassifiers xsi:type="ecore:EClass" name="MemoryClassification" eSuperTypes="#//Classification">
2763 <eStructuralFeatures xsi:type="ecore:EReference" name="classifiers" upperBound="-1"
2764 eType="#//MemoryClassifier"/>
2765 </eClassifiers>
2766 <eClassifiers xsi:type="ecore:EClass" name="StimuliModel" eSuperTypes="#//BaseObject">
2767 <eStructuralFeatures xsi:type="ecore:EReference" name="stimuli" upperBound="-1"
2768 eType="#//Stimulus" containment="true" resolveProxies="false"/>
2769 <eStructuralFeatures xsi:type="ecore:EReference" name="clocks" upperBound="-1"
2770 eType="#//Clock" containment="true" resolveProxies="false"/>
2771 </eClassifiers>
2772 <eClassifiers xsi:type="ecore:EClass" name="Stimulus" abstract="true" eSuperTypes="#//ReferableBaseObject #//ITaggable">
2773 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
Harald Mackamuld7bc8222019-07-01 12:53:50 +02002774 <details key="documentation" value="Every process/task can have one or more stimuli.&#xA;A stimulus activates the process"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +01002775 </eAnnotations>
2776 <eStructuralFeatures xsi:type="ecore:EReference" name="setModeValueList" eType="#//ModeValueList"
2777 containment="true" resolveProxies="false"/>
Harald Mackamul5df1f1e2019-04-03 15:41:08 +02002778 <eStructuralFeatures xsi:type="ecore:EReference" name="executionCondition" eType="#//ModeConditionDisjunction"
2779 containment="true" resolveProxies="false"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +01002780 <eStructuralFeatures xsi:type="ecore:EReference" name="affectedProcesses" upperBound="-1"
2781 eType="#//Process" changeable="false" volatile="true" transient="true" derived="true">
2782 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
2783 <details key="documentation" value="&lt;p>&lt;b>Returns an &lt;em>immutable&lt;/em> list of affected processes (Process).&lt;/b>&lt;/p>"/>
2784 <details key="propertyCategory" value="Read only"/>
2785 <details key="propertyFilterFlags" value="org.eclipse.ui.views.properties.expert"/>
2786 <details key="get" value="&lt;%org.eclipse.emf.ecore.EReference%> _process_Stimuli = &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaPackage%>.eINSTANCE.getProcess_Stimuli();&#xA;return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaIndex%>.&lt;&lt;%org.eclipse.app4mc.amalthea.model.Process%>>getInverseReferences(this, &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaPackage%>.eINSTANCE.getStimulus_AffectedProcesses(), &#xA;&#x9;java.util.Collections.&lt;&lt;%org.eclipse.emf.ecore.EReference%>>unmodifiableSet(org.eclipse.xtext.xbase.lib.CollectionLiterals.&lt;&lt;%org.eclipse.emf.ecore.EReference%>>newHashSet(_process_Stimuli)));"/>
2787 </eAnnotations>
2788 </eStructuralFeatures>
2789 </eClassifiers>
2790 <eClassifiers xsi:type="ecore:EClass" name="ModeValueList" eSuperTypes="#//BaseObject">
2791 <eStructuralFeatures xsi:type="ecore:EReference" name="entries" upperBound="-1"
Harald Mackamul5df1f1e2019-04-03 15:41:08 +02002792 eType="#//ModeAssignment" containment="true" resolveProxies="false"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +01002793 </eClassifiers>
2794 <eClassifiers xsi:type="ecore:EClass" name="ModeValueMapEntry" instanceClassName="java.util.Map$Entry">
2795 <eStructuralFeatures xsi:type="ecore:EReference" name="key" lowerBound="1" eType="#//ModeLabel"/>
Harald Mackamul5df1f1e2019-04-03 15:41:08 +02002796 <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" unique="false" lowerBound="1"
2797 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +01002798 </eClassifiers>
Harald Mackamul5df1f1e2019-04-03 15:41:08 +02002799 <eClassifiers xsi:type="ecore:EClass" name="ModeValue" abstract="true" eSuperTypes="#//BaseObject">
2800 <eOperations name="validateInvariants" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
Harald Mackamul0ebca062019-01-11 15:37:01 +01002801 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
Harald Mackamul5df1f1e2019-04-03 15:41:08 +02002802 <details key="body" value="return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaValidations%>.validateInvariants(this, diagnostics, context);"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +01002803 </eAnnotations>
Harald Mackamul5df1f1e2019-04-03 15:41:08 +02002804 <eParameters name="diagnostics" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
2805 <eParameters name="context" unique="false">
2806 <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
2807 <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
2808 <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
2809 </eGenericType>
2810 </eParameters>
2811 </eOperations>
2812 <eOperations name="getLiteral" unique="false" eType="#//ModeLiteral">
2813 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
2814 <details key="body" value="&lt;%org.eclipse.app4mc.amalthea.model.ModeLiteral%> _xblockexpression = null;&#xA;{&#xA;&#x9;&lt;%java.lang.String%> _value = this.getValue();&#xA;&#x9;boolean _tripleEquals = (_value == null);&#xA;&#x9;if (_tripleEquals)&#xA;&#x9;{&#xA;&#x9;&#x9;return null;&#xA;&#x9;}&#xA;&#x9;&lt;%org.eclipse.app4mc.amalthea.model.ModeLabel%> _label = this.getLabel();&#xA;&#x9;&lt;%org.eclipse.app4mc.amalthea.model.Mode%> _mode = null;&#xA;&#x9;if (_label!=null)&#xA;&#x9;{&#xA;&#x9;&#x9;_mode=_label.getMode();&#xA;&#x9;}&#xA;&#x9;final &lt;%org.eclipse.app4mc.amalthea.model.Mode%> mode = _mode;&#xA;&#x9;&lt;%org.eclipse.app4mc.amalthea.model.ModeLiteral%> _xifexpression = null;&#xA;&#x9;if ((mode instanceof &lt;%org.eclipse.app4mc.amalthea.model.EnumMode%>))&#xA;&#x9;{&#xA;&#x9;&#x9;final &lt;%org.eclipse.xtext.xbase.lib.Functions.Function1%>&lt;&lt;%org.eclipse.app4mc.amalthea.model.ModeLiteral%>, &lt;%java.lang.Boolean%>> _function = new &lt;%org.eclipse.xtext.xbase.lib.Functions.Function1%>&lt;&lt;%org.eclipse.app4mc.amalthea.model.ModeLiteral%>, &lt;%java.lang.Boolean%>>()&#xA;&#x9;&#x9;{&#xA;&#x9;&#x9;&#x9;public &lt;%java.lang.Boolean%> apply(final &lt;%org.eclipse.app4mc.amalthea.model.ModeLiteral%> it)&#xA;&#x9;&#x9;&#x9;{&#xA;&#x9;&#x9;&#x9;&#x9;&lt;%java.lang.String%> _name = it.getName();&#xA;&#x9;&#x9;&#x9;&#x9;&lt;%java.lang.String%> _value = &lt;%this%>.getValue();&#xA;&#x9;&#x9;&#x9;&#x9;return &lt;%java.lang.Boolean%>.valueOf(&lt;%com.google.common.base.Objects%>.equal(_name, _value));&#xA;&#x9;&#x9;&#x9;}&#xA;&#x9;&#x9;};&#xA;&#x9;&#x9;_xifexpression = &lt;%org.eclipse.xtext.xbase.lib.IterableExtensions%>.&lt;&lt;%org.eclipse.app4mc.amalthea.model.ModeLiteral%>>findFirst(((&lt;%org.eclipse.app4mc.amalthea.model.EnumMode%>)mode).getLiterals(), _function);&#xA;&#x9;}&#xA;&#x9;else&#xA;&#x9;{&#xA;&#x9;&#x9;_xifexpression = null;&#xA;&#x9;}&#xA;&#x9;_xblockexpression = _xifexpression;&#xA;}&#xA;return _xblockexpression;"/>
2815 </eAnnotations>
2816 </eOperations>
2817 <eOperations name="getInteger" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EIntegerObject">
2818 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
2819 <details key="body" value="&lt;%java.lang.Integer%> _xblockexpression = null;&#xA;{&#xA;&#x9;&lt;%java.lang.String%> _value = this.getValue();&#xA;&#x9;boolean _tripleEquals = (_value == null);&#xA;&#x9;if (_tripleEquals)&#xA;&#x9;{&#xA;&#x9;&#x9;return null;&#xA;&#x9;}&#xA;&#x9;&lt;%org.eclipse.app4mc.amalthea.model.ModeLabel%> _label = this.getLabel();&#xA;&#x9;&lt;%org.eclipse.app4mc.amalthea.model.Mode%> _mode = null;&#xA;&#x9;if (_label!=null)&#xA;&#x9;{&#xA;&#x9;&#x9;_mode=_label.getMode();&#xA;&#x9;}&#xA;&#x9;final &lt;%org.eclipse.app4mc.amalthea.model.Mode%> mode = _mode;&#xA;&#x9;&lt;%java.lang.Integer%> _xifexpression = null;&#xA;&#x9;if (((mode instanceof &lt;%org.eclipse.app4mc.amalthea.model.NumericMode%>) &amp;&amp; this.getValue().matches(&quot;-?\\d+&quot;)))&#xA;&#x9;{&#xA;&#x9;&#x9;_xifexpression = &lt;%java.lang.Integer%>.valueOf(&lt;%java.lang.Integer%>.parseInt(this.getValue()));&#xA;&#x9;}&#xA;&#x9;else&#xA;&#x9;{&#xA;&#x9;&#x9;_xifexpression = null;&#xA;&#x9;}&#xA;&#x9;_xblockexpression = _xifexpression;&#xA;}&#xA;return _xblockexpression;"/>
2820 </eAnnotations>
2821 </eOperations>
2822 <eStructuralFeatures xsi:type="ecore:EReference" name="label" lowerBound="1" eType="#//ModeLabel"/>
2823 <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" unique="false" lowerBound="1"
2824 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
2825 </eClassifiers>
2826 <eClassifiers xsi:type="ecore:EClass" name="ModeAssignment" eSuperTypes="#//ModeValue"/>
2827 <eClassifiers xsi:type="ecore:EClass" name="ModeConditionDisjunction" eSuperTypes="#//BaseObject">
2828 <eOperations name="isSatisfiedBy" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
2829 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
2830 <details key="body" value="&lt;%org.eclipse.emf.common.util.EList%>&lt;&lt;%org.eclipse.app4mc.amalthea.model.ModeConditionDisjunctionEntry%>> _entries = this.getEntries();&#xA;for (final &lt;%org.eclipse.app4mc.amalthea.model.ModeConditionDisjunctionEntry%> entry : _entries)&#xA;{&#xA;&#x9;boolean _isSatisfiedBy = entry.isSatisfiedBy(context);&#xA;&#x9;if (_isSatisfiedBy)&#xA;&#x9;{&#xA;&#x9;&#x9;return true;&#xA;&#x9;}&#xA;}&#xA;return false;"/>
2831 </eAnnotations>
2832 <eParameters name="context" unique="false" upperBound="-1" eType="#//ModeValueMapEntry"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +01002833 </eOperations>
2834 <eStructuralFeatures xsi:type="ecore:EReference" name="entries" lowerBound="1"
Harald Mackamul5df1f1e2019-04-03 15:41:08 +02002835 upperBound="-1" eType="#//ModeConditionDisjunctionEntry" containment="true"
2836 resolveProxies="false"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +01002837 </eClassifiers>
Harald Mackamul5df1f1e2019-04-03 15:41:08 +02002838 <eClassifiers xsi:type="ecore:EClass" name="ModeConditionDisjunctionEntry" abstract="true"
2839 interface="true" eSuperTypes="#//BaseObject">
2840 <eOperations name="isSatisfiedBy" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
Harald Mackamul0ebca062019-01-11 15:37:01 +01002841 <eParameters name="assignment" unique="false" upperBound="-1" eType="#//ModeValueMapEntry"/>
2842 </eOperations>
2843 </eClassifiers>
Harald Mackamul5df1f1e2019-04-03 15:41:08 +02002844 <eClassifiers xsi:type="ecore:EClass" name="ModeCondition" eSuperTypes="#//ModeValue #//ModeConditionDisjunctionEntry">
2845 <eOperations name="isSatisfiedBy" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
Harald Mackamul0ebca062019-01-11 15:37:01 +01002846 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
Harald Mackamul5df1f1e2019-04-03 15:41:08 +02002847 <details key="body" value="&lt;%java.lang.String%> _get = null;&#xA;if (context!=null)&#xA;{&#xA;&#x9;_get=context.get(this.getLabel());&#xA;}&#xA;final &lt;%java.lang.String%> labelValue = _get;&#xA;return ((labelValue == null) || &lt;%com.google.common.base.Objects%>.equal(labelValue, this.getValue()));"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +01002848 </eAnnotations>
Harald Mackamul5df1f1e2019-04-03 15:41:08 +02002849 <eParameters name="context" unique="false" upperBound="-1" eType="#//ModeValueMapEntry"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +01002850 </eOperations>
Harald Mackamul5df1f1e2019-04-03 15:41:08 +02002851 <eStructuralFeatures xsi:type="ecore:EAttribute" name="relation" unique="false"
2852 eType="#//RelationalOperator"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +01002853 </eClassifiers>
Harald Mackamul5df1f1e2019-04-03 15:41:08 +02002854 <eClassifiers xsi:type="ecore:EClass" name="ModeConditionConjunction" eSuperTypes="#//ModeConditionDisjunctionEntry">
2855 <eOperations name="isSatisfiedBy" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
Harald Mackamul0ebca062019-01-11 15:37:01 +01002856 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
Harald Mackamul5df1f1e2019-04-03 15:41:08 +02002857 <details key="body" value="&lt;%org.eclipse.emf.common.util.EList%>&lt;&lt;%org.eclipse.app4mc.amalthea.model.ModeCondition%>> _entries = this.getEntries();&#xA;for (final &lt;%org.eclipse.app4mc.amalthea.model.ModeCondition%> entry : _entries)&#xA;{&#xA;&#x9;boolean _isSatisfiedBy = entry.isSatisfiedBy(context);&#xA;&#x9;boolean _not = (!_isSatisfiedBy);&#xA;&#x9;if (_not)&#xA;&#x9;{&#xA;&#x9;&#x9;return false;&#xA;&#x9;}&#xA;}&#xA;return true;"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +01002858 </eAnnotations>
Harald Mackamul5df1f1e2019-04-03 15:41:08 +02002859 <eParameters name="context" unique="false" upperBound="-1" eType="#//ModeValueMapEntry"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +01002860 </eOperations>
2861 <eStructuralFeatures xsi:type="ecore:EReference" name="entries" lowerBound="1"
Harald Mackamul5df1f1e2019-04-03 15:41:08 +02002862 upperBound="-1" eType="#//ModeCondition" containment="true" resolveProxies="false"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +01002863 </eClassifiers>
2864 <eClassifiers xsi:type="ecore:EClass" name="FixedPeriodic" abstract="true" interface="true">
2865 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
2866 <details key="documentation" value="Stimulus that is triggered periodically.&#xA;offset: Time of first occurrence&#xA;recurrence: Time between following occurrences"/>
2867 </eAnnotations>
2868 <eStructuralFeatures xsi:type="ecore:EReference" name="offset" eType="#//Time"
2869 containment="true" resolveProxies="false"/>
2870 <eStructuralFeatures xsi:type="ecore:EReference" name="recurrence" eType="#//Time"
2871 containment="true" resolveProxies="false"/>
2872 </eClassifiers>
2873 <eClassifiers xsi:type="ecore:EClass" name="PeriodicStimulus" eSuperTypes="#//Stimulus #//FixedPeriodic">
2874 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
2875 <details key="documentation" value="Stimulus that is triggered periodically.&#xA;jitter: Deviation from true periodicity to real occurrence&#xA;minDistance: Minimal time between occurrences"/>
2876 </eAnnotations>
2877 <eStructuralFeatures xsi:type="ecore:EReference" name="jitter" eType="#//ITimeDeviation"
2878 containment="true" resolveProxies="false"/>
2879 <eStructuralFeatures xsi:type="ecore:EReference" name="minDistance" eType="#//Time"
2880 containment="true" resolveProxies="false"/>
2881 </eClassifiers>
2882 <eClassifiers xsi:type="ecore:EClass" name="RelativePeriodicStimulus" eSuperTypes="#//Stimulus">
2883 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
2884 <details key="documentation" value="Stimulus that is triggered relative to the previous occurrence.&#xA;offset: Time of first occurrence&#xA;step: Time (Deviation) between successive occurrences"/>
2885 </eAnnotations>
2886 <eStructuralFeatures xsi:type="ecore:EReference" name="offset" eType="#//Time"
2887 containment="true" resolveProxies="false"/>
2888 <eStructuralFeatures xsi:type="ecore:EReference" name="nextOccurrence" eType="#//ITimeDeviation"
2889 containment="true" resolveProxies="false"/>
2890 </eClassifiers>
2891 <eClassifiers xsi:type="ecore:EClass" name="VariableRateStimulus" eSuperTypes="#//Stimulus">
2892 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
2893 <details key="documentation" value="Periodic stimulus based on other events, like rotation speed&#xA;clock: Time base which defines deviation of time, multiple stimuli can have the same time base"/>
2894 </eAnnotations>
2895 <eStructuralFeatures xsi:type="ecore:EReference" name="step" lowerBound="1" eType="#//Time"
2896 containment="true" resolveProxies="false"/>
2897 <eStructuralFeatures xsi:type="ecore:EReference" name="occurrencesPerStep" eType="#//IContinuousValueDeviation"
2898 containment="true" resolveProxies="false"/>
2899 <eStructuralFeatures xsi:type="ecore:EAttribute" name="maxIncreasePerStep" unique="false"
Harald Mackamul5df1f1e2019-04-03 15:41:08 +02002900 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDoubleObject"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +01002901 <eStructuralFeatures xsi:type="ecore:EAttribute" name="maxDecreasePerStep" unique="false"
Harald Mackamul5df1f1e2019-04-03 15:41:08 +02002902 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDoubleObject"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +01002903 <eStructuralFeatures xsi:type="ecore:EReference" name="scenario" eType="#//Scenario"
2904 containment="true" resolveProxies="false"/>
2905 </eClassifiers>
2906 <eClassifiers xsi:type="ecore:EClass" name="Scenario" eSuperTypes="#//BaseObject">
Harald Mackamul866c1e92019-07-30 09:31:14 +02002907 <eStructuralFeatures xsi:type="ecore:EReference" name="clock" lowerBound="1" eType="#//Clock"/>
Harald Mackamul81910272019-07-31 11:25:19 +02002908 <eStructuralFeatures xsi:type="ecore:EAttribute" name="samplingOffset" unique="false"
2909 eType="#//NonNegativeDouble" defaultValueLiteral="0.0"/>
2910 <eStructuralFeatures xsi:type="ecore:EAttribute" name="samplingRecurrence" unique="false"
2911 eType="#//NonNegativeDouble" defaultValueLiteral="1.0"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +01002912 </eClassifiers>
2913 <eClassifiers xsi:type="ecore:EClass" name="PeriodicSyntheticStimulus" eSuperTypes="#//Stimulus #//FixedPeriodic">
2914 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
2915 <details key="documentation" value="Stimulus (repeated periodically) with a defined list of occurrences.&#xA;occurrenceTimes: List of all occurrences"/>
2916 </eAnnotations>
2917 <eStructuralFeatures xsi:type="ecore:EReference" name="occurrenceTimes" lowerBound="1"
2918 upperBound="-1" eType="#//Time" containment="true" resolveProxies="false"/>
2919 </eClassifiers>
2920 <eClassifiers xsi:type="ecore:EClass" name="CustomStimulus" eSuperTypes="#//Stimulus">
2921 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
2922 <details key="documentation" value="Stimulus to describe own custom types, including properties."/>
2923 </eAnnotations>
2924 <eStructuralFeatures xsi:type="ecore:EAttribute" name="description" unique="false"
Harald Mackamul5df1f1e2019-04-03 15:41:08 +02002925 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +01002926 </eClassifiers>
2927 <eClassifiers xsi:type="ecore:EClass" name="SingleStimulus" eSuperTypes="#//Stimulus">
2928 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
2929 <details key="documentation" value="Single occurrence at a defined time."/>
2930 </eAnnotations>
2931 <eStructuralFeatures xsi:type="ecore:EReference" name="occurrence" lowerBound="1"
2932 eType="#//Time" containment="true" resolveProxies="false"/>
2933 </eClassifiers>
2934 <eClassifiers xsi:type="ecore:EClass" name="InterProcessStimulus" eSuperTypes="#//Stimulus">
2935 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
2936 <details key="documentation" value="Stimulus based on a explicit inter process trigger."/>
2937 </eAnnotations>
2938 <eStructuralFeatures xsi:type="ecore:EReference" name="counter" eType="#//Counter"
2939 containment="true" resolveProxies="false"/>
2940 <eStructuralFeatures xsi:type="ecore:EReference" name="explicitTriggers" upperBound="-1"
2941 eType="#//InterProcessTrigger" changeable="false" volatile="true" transient="true"
2942 derived="true">
2943 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
2944 <details key="documentation" value="&lt;p>&lt;b>Returns an &lt;em>immutable&lt;/em> list of triggers (InterProcessTrigger).&lt;/b>&lt;/p>"/>
2945 <details key="propertyCategory" value="Read only"/>
2946 <details key="propertyFilterFlags" value="org.eclipse.ui.views.properties.expert"/>
2947 <details key="get" value="&lt;%org.eclipse.emf.ecore.EReference%> _interProcessTrigger_Stimulus = &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaPackage%>.eINSTANCE.getInterProcessTrigger_Stimulus();&#xA;return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaIndex%>.&lt;&lt;%org.eclipse.app4mc.amalthea.model.InterProcessTrigger%>>getInverseReferences(this, &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaPackage%>.eINSTANCE.getInterProcessStimulus_ExplicitTriggers(), &#xA;&#x9;java.util.Collections.&lt;&lt;%org.eclipse.emf.ecore.EReference%>>unmodifiableSet(org.eclipse.xtext.xbase.lib.CollectionLiterals.&lt;&lt;%org.eclipse.emf.ecore.EReference%>>newHashSet(_interProcessTrigger_Stimulus)));"/>
2948 </eAnnotations>
2949 </eStructuralFeatures>
2950 </eClassifiers>
2951 <eClassifiers xsi:type="ecore:EClass" name="PeriodicBurstStimulus" eSuperTypes="#//Stimulus #//FixedPeriodic">
2952 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
2953 <details key="documentation" value="Stimulus (repeated periodically) for burst occurrences&#xA;burstLength: Time frame for the burst (occurrences after the length are clipped)"/>
2954 </eAnnotations>
2955 <eStructuralFeatures xsi:type="ecore:EReference" name="burstLength" lowerBound="1"
2956 eType="#//Time" containment="true" resolveProxies="false"/>
2957 <eStructuralFeatures xsi:type="ecore:EReference" name="occurrenceMinDistance"
2958 eType="#//Time" containment="true" resolveProxies="false"/>
2959 <eStructuralFeatures xsi:type="ecore:EAttribute" name="occurrenceCount" unique="false"
Harald Mackamul5df1f1e2019-04-03 15:41:08 +02002960 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="0"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +01002961 </eClassifiers>
2962 <eClassifiers xsi:type="ecore:EClass" name="EventStimulus" eSuperTypes="#//Stimulus">
2963 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
2964 <details key="documentation" value="Stimulus which is activated by an event."/>
2965 </eAnnotations>
2966 <eStructuralFeatures xsi:type="ecore:EReference" name="triggeringEvents" lowerBound="1"
2967 upperBound="-1" eType="#//TriggerEvent"/>
2968 <eStructuralFeatures xsi:type="ecore:EReference" name="counter" eType="#//Counter"
2969 containment="true" resolveProxies="false"/>
2970 </eClassifiers>
2971 <eClassifiers xsi:type="ecore:EClass" name="ArrivalCurveStimulus" eSuperTypes="#//Stimulus">
2972 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
2973 <details key="documentation" value="Arrival Curve Stimulus"/>
2974 </eAnnotations>
2975 <eStructuralFeatures xsi:type="ecore:EReference" name="entries" lowerBound="1"
2976 upperBound="-1" eType="#//ArrivalCurveEntry" containment="true" resolveProxies="false"/>
2977 </eClassifiers>
2978 <eClassifiers xsi:type="ecore:EClass" name="ArrivalCurveEntry" eSuperTypes="#//BaseObject">
2979 <eStructuralFeatures xsi:type="ecore:EAttribute" name="numberOfOccurrences" unique="false"
Harald Mackamul5df1f1e2019-04-03 15:41:08 +02002980 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="0"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +01002981 <eStructuralFeatures xsi:type="ecore:EReference" name="lowerTimeBorder" eType="#//Time"
2982 containment="true" resolveProxies="false"/>
2983 <eStructuralFeatures xsi:type="ecore:EReference" name="upperTimeBorder" eType="#//Time"
2984 containment="true" resolveProxies="false"/>
2985 </eClassifiers>
2986 <eClassifiers xsi:type="ecore:EClass" name="Clock" abstract="true" eSuperTypes="#//ReferableBaseObject">
2987 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
Harald Mackamul5fc25a12019-07-17 10:43:13 +02002988 <details key="documentation" value="Within a Scenario a Clock defines the predefined curve progression in a simulation"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +01002989 </eAnnotations>
2990 </eClassifiers>
Harald Mackamul5fc25a12019-07-17 10:43:13 +02002991 <eClassifiers xsi:type="ecore:EClass" name="ClockFunction" eSuperTypes="#//Clock">
2992 <eStructuralFeatures xsi:type="ecore:EAttribute" name="curveType" unique="false"
2993 eType="#//CurveType"/>
2994 <eStructuralFeatures xsi:type="ecore:EReference" name="period" lowerBound="1"
2995 eType="#//Time" containment="true" resolveProxies="false"/>
2996 <eStructuralFeatures xsi:type="ecore:EReference" name="peakToPeak" lowerBound="1"
2997 eType="#//Frequency" containment="true" resolveProxies="false"/>
2998 <eStructuralFeatures xsi:type="ecore:EReference" name="xOffset" eType="#//Time"
Harald Mackamul0ebca062019-01-11 15:37:01 +01002999 containment="true" resolveProxies="false"/>
Harald Mackamul5fc25a12019-07-17 10:43:13 +02003000 <eStructuralFeatures xsi:type="ecore:EReference" name="yOffset" eType="#//Frequency"
3001 containment="true" resolveProxies="false"/>
3002 </eClassifiers>
3003 <eClassifiers xsi:type="ecore:EEnum" name="CurveType">
3004 <eLiterals name="_undefined_"/>
Harald Mackamul8a145012019-07-19 14:44:05 +02003005 <eLiterals name="sine"/>
Harald Mackamul5fc25a12019-07-17 10:43:13 +02003006 <eLiterals name="triangle"/>
3007 </eClassifiers>
3008 <eClassifiers xsi:type="ecore:EClass" name="ClockStepList" eSuperTypes="#//Clock">
3009 <eStructuralFeatures xsi:type="ecore:EReference" name="entries" lowerBound="1"
3010 upperBound="-1" eType="#//ClockStep" containment="true" resolveProxies="false"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +01003011 <eStructuralFeatures xsi:type="ecore:EReference" name="period" eType="#//Time"
3012 containment="true" resolveProxies="false"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +01003013 </eClassifiers>
Harald Mackamul5fc25a12019-07-17 10:43:13 +02003014 <eClassifiers xsi:type="ecore:EClass" name="ClockStep" eSuperTypes="#//BaseObject">
3015 <eStructuralFeatures xsi:type="ecore:EReference" name="frequency" lowerBound="1"
3016 eType="#//Frequency" containment="true" resolveProxies="false"/>
3017 <eStructuralFeatures xsi:type="ecore:EReference" name="time" lowerBound="1" eType="#//Time"
Harald Mackamul0ebca062019-01-11 15:37:01 +01003018 containment="true" resolveProxies="false"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +01003019 </eClassifiers>
3020 <eClassifiers xsi:type="ecore:EClass" name="SWModel" eSuperTypes="#//BaseObject">
3021 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
3022 <details key="documentation" value="Central instance to provide central access."/>
3023 </eAnnotations>
3024 <eOperations name="modeLiteral" unique="false" eType="#//ModeLiteral">
3025 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
Harald Mackamul5df1f1e2019-04-03 15:41:08 +02003026 <details key="body" value="if ((&lt;%org.eclipse.xtext.xbase.lib.StringExtensions%>.isNullOrEmpty(mode) || &lt;%org.eclipse.xtext.xbase.lib.StringExtensions%>.isNullOrEmpty(literal)))&#xA;{&#xA;&#x9;return null;&#xA;}&#xA;&lt;%org.eclipse.emf.common.util.EList%>&lt;&lt;%org.eclipse.app4mc.amalthea.model.Mode%>> _modes = this.getModes();&#xA;&lt;%org.eclipse.app4mc.amalthea.model.Mode%> _findFirst = null;&#xA;if (_modes!=null)&#xA;{&#xA;&#x9;final &lt;%org.eclipse.xtext.xbase.lib.Functions.Function1%>&lt;&lt;%org.eclipse.app4mc.amalthea.model.Mode%>, &lt;%java.lang.Boolean%>> _function = new &lt;%org.eclipse.xtext.xbase.lib.Functions.Function1%>&lt;&lt;%org.eclipse.app4mc.amalthea.model.Mode%>, &lt;%java.lang.Boolean%>>()&#xA;&#x9;{&#xA;&#x9;&#x9;public &lt;%java.lang.Boolean%> apply(final &lt;%org.eclipse.app4mc.amalthea.model.Mode%> it)&#xA;&#x9;&#x9;{&#xA;&#x9;&#x9;&#x9;return &lt;%java.lang.Boolean%>.valueOf(((it instanceof &lt;%org.eclipse.app4mc.amalthea.model.EnumMode%>) &amp;&amp; &lt;%com.google.common.base.Objects%>.equal(it.getName(), mode)));&#xA;&#x9;&#x9;}&#xA;&#x9;};&#xA;&#x9;_findFirst=&lt;%org.eclipse.xtext.xbase.lib.IterableExtensions%>.&lt;&lt;%org.eclipse.app4mc.amalthea.model.Mode%>>findFirst(_modes, _function);&#xA;}&#xA;&lt;%org.eclipse.emf.common.util.EList%>&lt;&lt;%org.eclipse.app4mc.amalthea.model.ModeLiteral%>> _literals = null;&#xA;if (((&lt;%org.eclipse.app4mc.amalthea.model.EnumMode%>) _findFirst)!=null)&#xA;{&#xA;&#x9;_literals=((&lt;%org.eclipse.app4mc.amalthea.model.EnumMode%>) _findFirst).getLiterals();&#xA;}&#xA;&lt;%org.eclipse.app4mc.amalthea.model.ModeLiteral%> _findFirst_1 = null;&#xA;if (_literals!=null)&#xA;{&#xA;&#x9;final &lt;%org.eclipse.xtext.xbase.lib.Functions.Function1%>&lt;&lt;%org.eclipse.app4mc.amalthea.model.ModeLiteral%>, &lt;%java.lang.Boolean%>> _function_1 = new &lt;%org.eclipse.xtext.xbase.lib.Functions.Function1%>&lt;&lt;%org.eclipse.app4mc.amalthea.model.ModeLiteral%>, &lt;%java.lang.Boolean%>>()&#xA;&#x9;{&#xA;&#x9;&#x9;public &lt;%java.lang.Boolean%> apply(final &lt;%org.eclipse.app4mc.amalthea.model.ModeLiteral%> it)&#xA;&#x9;&#x9;{&#xA;&#x9;&#x9;&#x9;&lt;%java.lang.String%> _name = it.getName();&#xA;&#x9;&#x9;&#x9;return &lt;%java.lang.Boolean%>.valueOf(&lt;%com.google.common.base.Objects%>.equal(_name, literal));&#xA;&#x9;&#x9;}&#xA;&#x9;};&#xA;&#x9;_findFirst_1=&lt;%org.eclipse.xtext.xbase.lib.IterableExtensions%>.&lt;&lt;%org.eclipse.app4mc.amalthea.model.ModeLiteral%>>findFirst(_literals, _function_1);&#xA;}&#xA;return _findFirst_1;"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +01003027 </eAnnotations>
Harald Mackamul5df1f1e2019-04-03 15:41:08 +02003028 <eParameters name="mode" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
3029 <eParameters name="literal" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +01003030 </eOperations>
3031 <eStructuralFeatures xsi:type="ecore:EReference" name="isrs" upperBound="-1" eType="#//ISR"
3032 containment="true" resolveProxies="false"/>
3033 <eStructuralFeatures xsi:type="ecore:EReference" name="tasks" upperBound="-1"
3034 eType="#//Task" containment="true" resolveProxies="false"/>
3035 <eStructuralFeatures xsi:type="ecore:EReference" name="runnables" upperBound="-1"
3036 eType="#//Runnable" containment="true" resolveProxies="false"/>
3037 <eStructuralFeatures xsi:type="ecore:EReference" name="labels" upperBound="-1"
3038 eType="#//Label" containment="true" resolveProxies="false"/>
3039 <eStructuralFeatures xsi:type="ecore:EReference" name="channels" upperBound="-1"
3040 eType="#//Channel" containment="true" resolveProxies="false"/>
3041 <eStructuralFeatures xsi:type="ecore:EReference" name="processPrototypes" upperBound="-1"
3042 eType="#//ProcessPrototype" containment="true" resolveProxies="false"/>
3043 <eStructuralFeatures xsi:type="ecore:EReference" name="sections" upperBound="-1"
3044 eType="#//Section" containment="true" resolveProxies="false"/>
3045 <eStructuralFeatures xsi:type="ecore:EReference" name="activations" upperBound="-1"
3046 eType="#//Activation" containment="true" resolveProxies="false"/>
3047 <eStructuralFeatures xsi:type="ecore:EReference" name="events" upperBound="-1"
3048 eType="#//OsEvent" containment="true" resolveProxies="false"/>
3049 <eStructuralFeatures xsi:type="ecore:EReference" name="typeDefinitions" upperBound="-1"
3050 eType="#//TypeDefinition" containment="true" resolveProxies="false"/>
3051 <eStructuralFeatures xsi:type="ecore:EReference" name="customEntities" upperBound="-1"
3052 eType="#//CustomEntity" containment="true" resolveProxies="false"/>
3053 <eStructuralFeatures xsi:type="ecore:EReference" name="processChains" upperBound="-1"
3054 eType="#//ProcessChain" containment="true" resolveProxies="false"/>
3055 <eStructuralFeatures xsi:type="ecore:EReference" name="modes" upperBound="-1"
3056 eType="#//Mode" containment="true" resolveProxies="false"/>
3057 <eStructuralFeatures xsi:type="ecore:EReference" name="modeLabels" upperBound="-1"
3058 eType="#//ModeLabel" containment="true" resolveProxies="false"/>
3059 </eClassifiers>
3060 <eClassifiers xsi:type="ecore:EClass" name="AbstractMemoryElement" abstract="true"
3061 eSuperTypes="#//ReferableBaseObject #//ITaggable">
3062 <eStructuralFeatures xsi:type="ecore:EReference" name="size" eType="#//DataSize"
3063 containment="true" resolveProxies="false">
3064 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
3065 <details key="documentation" value="Specifying the size of the element corresponding to the needed memory allocation"/>
3066 </eAnnotations>
3067 </eStructuralFeatures>
3068 <eStructuralFeatures xsi:type="ecore:EReference" name="mappings" upperBound="-1"
3069 eType="#//MemoryMapping" changeable="false" volatile="true" transient="true"
3070 derived="true">
3071 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
3072 <details key="documentation" value="&lt;p>&lt;b>Returns an &lt;em>immutable&lt;/em> list of mappings (MemoryMapping).&lt;/b>&lt;/p>"/>
3073 <details key="propertyCategory" value="Read only"/>
3074 <details key="propertyFilterFlags" value="org.eclipse.ui.views.properties.expert"/>
3075 <details key="get" value="&lt;%org.eclipse.emf.ecore.EReference%> _memoryMapping_AbstractElement = &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaPackage%>.eINSTANCE.getMemoryMapping_AbstractElement();&#xA;return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaIndex%>.&lt;&lt;%org.eclipse.app4mc.amalthea.model.MemoryMapping%>>getInverseReferences(this, &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaPackage%>.eINSTANCE.getAbstractMemoryElement_Mappings(), &#xA;&#x9;java.util.Collections.&lt;&lt;%org.eclipse.emf.ecore.EReference%>>unmodifiableSet(org.eclipse.xtext.xbase.lib.CollectionLiterals.&lt;&lt;%org.eclipse.emf.ecore.EReference%>>newHashSet(_memoryMapping_AbstractElement)));"/>
3076 </eAnnotations>
3077 </eStructuralFeatures>
3078 </eClassifiers>
3079 <eClassifiers xsi:type="ecore:EClass" name="AbstractProcess" abstract="true" eSuperTypes="#//AbstractMemoryElement">
3080 <eStructuralFeatures xsi:type="ecore:EReference" name="referringComponents" upperBound="-1"
3081 eType="#//Component" changeable="false" volatile="true" transient="true" derived="true">
3082 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
3083 <details key="documentation" value="&lt;p>&lt;b>Returns an &lt;em>immutable&lt;/em> list of components the abstract process belongs to.&lt;/b>&lt;/p>"/>
3084 <details key="propertyCategory" value="Read only"/>
3085 <details key="propertyFilterFlags" value="org.eclipse.ui.views.properties.expert"/>
3086 <details key="get" value="&lt;%org.eclipse.emf.ecore.EReference%> _component_Tasks = &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaPackage%>.eINSTANCE.getComponent_Tasks();&#xA;return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaIndex%>.&lt;&lt;%org.eclipse.app4mc.amalthea.model.Component%>>getInverseReferences(this, &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaPackage%>.eINSTANCE.getAbstractProcess_ReferringComponents(), &#xA;&#x9;java.util.Collections.&lt;&lt;%org.eclipse.emf.ecore.EReference%>>unmodifiableSet(org.eclipse.xtext.xbase.lib.CollectionLiterals.&lt;&lt;%org.eclipse.emf.ecore.EReference%>>newHashSet(_component_Tasks)));"/>
3087 </eAnnotations>
3088 </eStructuralFeatures>
3089 </eClassifiers>
3090 <eClassifiers xsi:type="ecore:EClass" name="CustomEntity" eSuperTypes="#//AbstractMemoryElement">
3091 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
3092 <details key="documentation" value="Possibility to define general custom elements"/>
3093 </eAnnotations>
3094 <eStructuralFeatures xsi:type="ecore:EAttribute" name="typeName" unique="false"
Harald Mackamul5df1f1e2019-04-03 15:41:08 +02003095 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +01003096 </eClassifiers>
3097 <eClassifiers xsi:type="ecore:EClass" name="ProcessChain" eSuperTypes="#//ReferableBaseObject">
3098 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
Harald Mackamul569b5522019-07-10 13:34:51 +02003099 <details key="documentation" value="Groups a list of processes to a process chain.&#xA;This does not define how the processes are chained, like being executed by one parent or like they trigger each other&#xA;This just defines that the processes should be chained."/>
Harald Mackamul0ebca062019-01-11 15:37:01 +01003100 </eAnnotations>
3101 <eStructuralFeatures xsi:type="ecore:EReference" name="processes" upperBound="-1"
3102 eType="#//Process"/>
3103 </eClassifiers>
3104 <eClassifiers xsi:type="ecore:EClass" name="Process" abstract="true" eSuperTypes="#//AbstractProcess">
3105 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
3106 <details key="documentation" value="Generalizes interrupt service routines and tasks"/>
3107 </eAnnotations>
3108 <eStructuralFeatures xsi:type="ecore:EReference" name="callGraph" eType="#//CallGraph"
3109 containment="true" resolveProxies="false"/>
3110 <eStructuralFeatures xsi:type="ecore:EReference" name="stimuli" upperBound="-1"
3111 eType="#//Stimulus"/>
3112 </eClassifiers>
Harald Mackamul569b5522019-07-10 13:34:51 +02003113 <eClassifiers xsi:type="ecore:EClass" name="ICallGraphItemContainer" abstract="true"
3114 interface="true">
3115 <eStructuralFeatures xsi:type="ecore:EReference" name="items" upperBound="-1"
3116 eType="#//CallGraphItem" containment="true" resolveProxies="false"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +01003117 </eClassifiers>
Harald Mackamul569b5522019-07-10 13:34:51 +02003118 <eClassifiers xsi:type="ecore:EClass" name="CallGraph" eSuperTypes="#//BaseObject #//ICallGraphItemContainer">
Harald Mackamul0ebca062019-01-11 15:37:01 +01003119 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
Harald Mackamul569b5522019-07-10 13:34:51 +02003120 <details key="documentation" value="Describes the different execution paths of a process or runnable"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +01003121 </eAnnotations>
3122 </eClassifiers>
Harald Mackamul569b5522019-07-10 13:34:51 +02003123 <eClassifiers xsi:type="ecore:EClass" name="CallGraphItem" abstract="true" eSuperTypes="#//BaseObject">
Harald Mackamul0ebca062019-01-11 15:37:01 +01003124 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
Harald Mackamul569b5522019-07-10 13:34:51 +02003125 <details key="documentation" value="An abstract item of a call graph"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +01003126 </eAnnotations>
Harald Mackamul569b5522019-07-10 13:34:51 +02003127 <eStructuralFeatures xsi:type="ecore:EReference" name="containingProcess" eType="#//Process"
3128 changeable="false" volatile="true" transient="true" derived="true" resolveProxies="false">
3129 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
3130 <details key="propertyCategory" value="Read only"/>
3131 <details key="propertyFilterFlags" value="org.eclipse.ui.views.properties.expert"/>
3132 <details key="get" value="return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaServices%>.&lt;&lt;%org.eclipse.app4mc.amalthea.model.Process%>>getContainerOfType(this, &lt;%org.eclipse.app4mc.amalthea.model.Process%>.class);"/>
3133 </eAnnotations>
3134 </eStructuralFeatures>
3135 <eStructuralFeatures xsi:type="ecore:EReference" name="containingRunnable" eType="#//Runnable"
3136 changeable="false" volatile="true" transient="true" derived="true" resolveProxies="false">
3137 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
3138 <details key="propertyCategory" value="Read only"/>
3139 <details key="propertyFilterFlags" value="org.eclipse.ui.views.properties.expert"/>
3140 <details key="get" value="return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaServices%>.&lt;&lt;%org.eclipse.app4mc.amalthea.model.Runnable%>>getContainerOfType(this, &lt;%org.eclipse.app4mc.amalthea.model.Runnable%>.class);"/>
3141 </eAnnotations>
3142 </eStructuralFeatures>
Harald Mackamul0ebca062019-01-11 15:37:01 +01003143 </eClassifiers>
Harald Mackamul569b5522019-07-10 13:34:51 +02003144 <eClassifiers xsi:type="ecore:EClass" name="ModeSwitch" eSuperTypes="#//CallGraphItem">
Harald Mackamul0ebca062019-01-11 15:37:01 +01003145 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
Harald Mackamul569b5522019-07-10 13:34:51 +02003146 <details key="documentation" value="A switch in the call graph, the selected path depends on the value of the provided mode conditions"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +01003147 </eAnnotations>
3148 <eStructuralFeatures xsi:type="ecore:EReference" name="entries" upperBound="-1"
Harald Mackamul569b5522019-07-10 13:34:51 +02003149 eType="#//ModeSwitchEntry" containment="true" resolveProxies="false"/>
3150 <eStructuralFeatures xsi:type="ecore:EReference" name="defaultEntry" eType="#//ModeSwitchDefault"
3151 containment="true" resolveProxies="false"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +01003152 </eClassifiers>
Harald Mackamul569b5522019-07-10 13:34:51 +02003153 <eClassifiers xsi:type="ecore:EClass" name="ModeSwitchEntry" eSuperTypes="#//BaseObject #//INamed #//ICallGraphItemContainer">
Harald Mackamul0ebca062019-01-11 15:37:01 +01003154 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
3155 <details key="documentation" value="A switch entry for a ModeSwitch.&#xA;It describes a path of the switch and the required mode condition to use this path"/>
3156 </eAnnotations>
Harald Mackamul0ebca062019-01-11 15:37:01 +01003157 <eStructuralFeatures xsi:type="ecore:EReference" name="condition" lowerBound="1"
Harald Mackamul5df1f1e2019-04-03 15:41:08 +02003158 eType="#//ModeConditionDisjunction" containment="true" resolveProxies="false"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +01003159 </eClassifiers>
Harald Mackamul569b5522019-07-10 13:34:51 +02003160 <eClassifiers xsi:type="ecore:EClass" name="ModeSwitchDefault" eSuperTypes="#//BaseObject #//ICallGraphItemContainer"/>
3161 <eClassifiers xsi:type="ecore:EClass" name="ProbabilitySwitch" eSuperTypes="#//CallGraphItem">
Harald Mackamul0ebca062019-01-11 15:37:01 +01003162 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
3163 <details key="documentation" value="A switch in the call graph, each path has a probability"/>
3164 </eAnnotations>
3165 <eStructuralFeatures xsi:type="ecore:EReference" name="entries" upperBound="-1"
Harald Mackamul569b5522019-07-10 13:34:51 +02003166 eType="#//ProbabilitySwitchEntry" containment="true" resolveProxies="false"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +01003167 </eClassifiers>
Harald Mackamul569b5522019-07-10 13:34:51 +02003168 <eClassifiers xsi:type="ecore:EClass" name="ProbabilitySwitchEntry" eSuperTypes="#//BaseObject #//ICallGraphItemContainer">
Harald Mackamul0ebca062019-01-11 15:37:01 +01003169 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
3170 <details key="documentation" value="A switch entry for a ProbabilitySwitch&#xA;It describes a path of the switch and it's probability"/>
3171 </eAnnotations>
Harald Mackamul0ebca062019-01-11 15:37:01 +01003172 <eStructuralFeatures xsi:type="ecore:EAttribute" name="probability" unique="false"
Harald Mackamul5df1f1e2019-04-03 15:41:08 +02003173 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble" defaultValueLiteral="0.0"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +01003174 </eClassifiers>
3175 <eClassifiers xsi:type="ecore:EClass" name="Counter" eSuperTypes="#//BaseObject">
3176 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
3177 <details key="documentation" value="A counter for the call sequence items"/>
3178 </eAnnotations>
3179 <eStructuralFeatures xsi:type="ecore:EAttribute" name="prescaler" unique="false"
Harald Mackamula1f87232019-04-29 16:19:30 +02003180 eType="#//PositiveLong" defaultValueLiteral="1"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +01003181 <eStructuralFeatures xsi:type="ecore:EAttribute" name="offset" unique="false"
Harald Mackamul866c1e92019-07-30 09:31:14 +02003182 eType="#//NonNegativeLong" defaultValueLiteral="0"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +01003183 </eClassifiers>
Harald Mackamul569b5522019-07-10 13:34:51 +02003184 <eClassifiers xsi:type="ecore:EClass" name="WaitEvent" eSuperTypes="#//CallGraphItem">
Harald Mackamul0ebca062019-01-11 15:37:01 +01003185 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
3186 <details key="documentation" value="Let the process wait for a combination of events defined by eventMask&#xA;maskType defines if the events in eventMask are linked by a AND or OR"/>
3187 </eAnnotations>
3188 <eStructuralFeatures xsi:type="ecore:EReference" name="eventMask" eType="#//EventMask"
3189 containment="true" resolveProxies="false"/>
3190 <eStructuralFeatures xsi:type="ecore:EAttribute" name="maskType" unique="false"
3191 eType="#//WaitEventType"/>
3192 <eStructuralFeatures xsi:type="ecore:EAttribute" name="waitingBehaviour" unique="false"
3193 eType="#//WaitingBehaviour"/>
Harald Mackamul569b5522019-07-10 13:34:51 +02003194 <eStructuralFeatures xsi:type="ecore:EReference" name="counter" eType="#//Counter"
3195 containment="true" resolveProxies="false"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +01003196 </eClassifiers>
3197 <eClassifiers xsi:type="ecore:EEnum" name="WaitEventType">
3198 <eLiterals name="_undefined_"/>
3199 <eLiterals name="AND"/>
3200 <eLiterals name="OR"/>
3201 </eClassifiers>
3202 <eClassifiers xsi:type="ecore:EEnum" name="WaitingBehaviour">
3203 <eLiterals name="_undefined_"/>
3204 <eLiterals name="active"/>
3205 <eLiterals name="passive"/>
3206 </eClassifiers>
Harald Mackamul569b5522019-07-10 13:34:51 +02003207 <eClassifiers xsi:type="ecore:EClass" name="SetEvent" eSuperTypes="#//CallGraphItem">
Harald Mackamul0ebca062019-01-11 15:37:01 +01003208 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
3209 <details key="documentation" value="Sets the events of eventMask&#xA;These events can be set for a specific process, if there is no process, is is global (for all processes)&#xA;If there is a process, it is possible to set the event for a specific process instance that is currently activated"/>
3210 </eAnnotations>
3211 <eStructuralFeatures xsi:type="ecore:EReference" name="eventMask" eType="#//EventMask"
3212 containment="true" resolveProxies="false"/>
3213 <eStructuralFeatures xsi:type="ecore:EReference" name="process" eType="#//Process"/>
Harald Mackamul569b5522019-07-10 13:34:51 +02003214 <eStructuralFeatures xsi:type="ecore:EReference" name="counter" eType="#//Counter"
3215 containment="true" resolveProxies="false"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +01003216 </eClassifiers>
Harald Mackamul569b5522019-07-10 13:34:51 +02003217 <eClassifiers xsi:type="ecore:EClass" name="ClearEvent" eSuperTypes="#//CallGraphItem">
Harald Mackamul0ebca062019-01-11 15:37:01 +01003218 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
3219 <details key="documentation" value="Clears the events of eventMask"/>
3220 </eAnnotations>
3221 <eStructuralFeatures xsi:type="ecore:EReference" name="eventMask" eType="#//EventMask"
3222 containment="true" resolveProxies="false"/>
Harald Mackamul569b5522019-07-10 13:34:51 +02003223 <eStructuralFeatures xsi:type="ecore:EReference" name="counter" eType="#//Counter"
3224 containment="true" resolveProxies="false"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +01003225 </eClassifiers>
3226 <eClassifiers xsi:type="ecore:EClass" name="EventMask" eSuperTypes="#//BaseObject">
3227 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
3228 <details key="documentation" value="A event mask"/>
3229 </eAnnotations>
3230 <eStructuralFeatures xsi:type="ecore:EReference" name="events" upperBound="-1"
3231 eType="#//OsEvent"/>
3232 </eClassifiers>
3233 <eClassifiers xsi:type="ecore:EClass" name="OsEvent" eSuperTypes="#//ReferableBaseObject #//ITaggable">
3234 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
3235 <details key="documentation" value="A event that can be set, cleared and waited for by a process"/>
3236 </eAnnotations>
3237 <eStructuralFeatures xsi:type="ecore:EAttribute" name="communicationOverheadInBit"
Harald Mackamul5df1f1e2019-04-03 15:41:08 +02003238 unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"
Harald Mackamul0ebca062019-01-11 15:37:01 +01003239 defaultValueLiteral="0"/>
3240 <eStructuralFeatures xsi:type="ecore:EReference" name="referringComponents" upperBound="-1"
3241 eType="#//Component" changeable="false" volatile="true" transient="true" derived="true">
3242 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
3243 <details key="documentation" value="&lt;p>&lt;b>Returns an &lt;em>immutable&lt;/em> list of components the OS event belongs to.&lt;/b>&lt;/p>"/>
3244 <details key="propertyCategory" value="Read only"/>
3245 <details key="propertyFilterFlags" value="org.eclipse.ui.views.properties.expert"/>
3246 <details key="get" value="&lt;%org.eclipse.emf.ecore.EReference%> _component_OsEvents = &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaPackage%>.eINSTANCE.getComponent_OsEvents();&#xA;return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaIndex%>.&lt;&lt;%org.eclipse.app4mc.amalthea.model.Component%>>getInverseReferences(this, &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaPackage%>.eINSTANCE.getOsEvent_ReferringComponents(), &#xA;&#x9;java.util.Collections.&lt;&lt;%org.eclipse.emf.ecore.EReference%>>unmodifiableSet(org.eclipse.xtext.xbase.lib.CollectionLiterals.&lt;&lt;%org.eclipse.emf.ecore.EReference%>>newHashSet(_component_OsEvents)));"/>
3247 </eAnnotations>
3248 </eStructuralFeatures>
3249 </eClassifiers>
Harald Mackamul569b5522019-07-10 13:34:51 +02003250 <eClassifiers xsi:type="ecore:EClass" name="InterProcessTrigger" eSuperTypes="#//CallGraphItem">
Harald Mackamul0ebca062019-01-11 15:37:01 +01003251 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
3252 <details key="documentation" value="Triggers a stimulus to activate its processes"/>
3253 </eAnnotations>
3254 <eStructuralFeatures xsi:type="ecore:EReference" name="stimulus" lowerBound="1"
3255 eType="#//InterProcessStimulus"/>
Harald Mackamul569b5522019-07-10 13:34:51 +02003256 <eStructuralFeatures xsi:type="ecore:EReference" name="counter" eType="#//Counter"
3257 containment="true" resolveProxies="false"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +01003258 </eClassifiers>
Harald Mackamul569b5522019-07-10 13:34:51 +02003259 <eClassifiers xsi:type="ecore:EClass" name="EnforcedMigration" eSuperTypes="#//CallGraphItem">
Harald Mackamul0ebca062019-01-11 15:37:01 +01003260 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
3261 <details key="documentation" value="Migrates task to core of resource owner"/>
3262 </eAnnotations>
Harald Mackamul02e0ee42019-07-15 17:10:21 +02003263 <eStructuralFeatures xsi:type="ecore:EReference" name="resourceOwner" lowerBound="1"
3264 eType="#//TaskScheduler"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +01003265 </eClassifiers>
Harald Mackamul569b5522019-07-10 13:34:51 +02003266 <eClassifiers xsi:type="ecore:EClass" name="SchedulePoint" eSuperTypes="#//CallGraphItem">
Harald Mackamul0ebca062019-01-11 15:37:01 +01003267 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
3268 <details key="documentation" value="Triggers scheduler"/>
3269 </eAnnotations>
3270 </eClassifiers>
Harald Mackamul569b5522019-07-10 13:34:51 +02003271 <eClassifiers xsi:type="ecore:EClass" name="TerminateProcess" eSuperTypes="#//CallGraphItem">
Harald Mackamul0ebca062019-01-11 15:37:01 +01003272 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
3273 <details key="documentation" value="Terminates the process"/>
3274 </eAnnotations>
Harald Mackamul569b5522019-07-10 13:34:51 +02003275 <eStructuralFeatures xsi:type="ecore:EReference" name="counter" eType="#//Counter"
3276 containment="true" resolveProxies="false"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +01003277 </eClassifiers>
3278 <eClassifiers xsi:type="ecore:EClass" name="Task" eSuperTypes="#//Process">
3279 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
3280 <details key="documentation" value="Schedulable entity, which is managed by the OS. An instance of a Task is mapped to exactly one core&#xA;and includes the direct representation of all abstractions."/>
3281 </eAnnotations>
3282 <eStructuralFeatures xsi:type="ecore:EAttribute" name="preemption" unique="false"
3283 eType="#//Preemption"/>
3284 <eStructuralFeatures xsi:type="ecore:EAttribute" name="multipleTaskActivationLimit"
Harald Mackamul5df1f1e2019-04-03 15:41:08 +02003285 unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"
Harald Mackamul0ebca062019-01-11 15:37:01 +01003286 defaultValueLiteral="0"/>
3287 </eClassifiers>
3288 <eClassifiers xsi:type="ecore:EClass" name="ISR" eSuperTypes="#//Process">
3289 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
3290 <details key="documentation" value="Interrupt service routine"/>
3291 </eAnnotations>
3292 <eStructuralFeatures xsi:type="ecore:EAttribute" name="category" unique="false"
3293 eType="#//ISRCategory"/>
3294 </eClassifiers>
3295 <eClassifiers xsi:type="ecore:EEnum" name="ISRCategory">
3296 <eLiterals name="_undefined_"/>
3297 <eLiterals name="CATEGORY_1"/>
3298 <eLiterals name="CATEGORY_2"/>
3299 </eClassifiers>
3300 <eClassifiers xsi:type="ecore:EClass" name="ProcessPrototype" eSuperTypes="#//AbstractProcess">
3301 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
3302 <details key="documentation" value="Prototype class for Process.&#xA;It does contain meta information of potential processes, which does not represent the final state.&#xA;The final state can be several Tasks, which can be computed using provided information of this prototype."/>
3303 </eAnnotations>
3304 <eStructuralFeatures xsi:type="ecore:EAttribute" name="preemption" unique="false"
3305 eType="#//Preemption"/>
3306 <eStructuralFeatures xsi:type="ecore:EReference" name="firstRunnable" eType="#//Runnable"/>
3307 <eStructuralFeatures xsi:type="ecore:EReference" name="lastRunnable" eType="#//Runnable"/>
3308 <eStructuralFeatures xsi:type="ecore:EReference" name="accessPrecedenceSpec" upperBound="-1"
3309 eType="#//AccessPrecedenceSpec" containment="true" resolveProxies="false">
3310 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
3311 <details key="documentation" value="Defines the general label accesses"/>
3312 </eAnnotations>
3313 </eStructuralFeatures>
3314 <eStructuralFeatures xsi:type="ecore:EReference" name="orderPrecedenceSpec" upperBound="-1"
3315 eType="#//OrderPrecedenceSpec" containment="true" resolveProxies="false">
3316 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
3317 <details key="documentation" value="Defines the general order of runnables"/>
3318 </eAnnotations>
3319 </eStructuralFeatures>
3320 <eStructuralFeatures xsi:type="ecore:EReference" name="chainedPrototypes" upperBound="-1"
3321 eType="#//ChainedProcessPrototype" containment="true" resolveProxies="false"/>
3322 <eStructuralFeatures xsi:type="ecore:EReference" name="activation" eType="#//Activation"/>
3323 <eStructuralFeatures xsi:type="ecore:EReference" name="runnableCalls" upperBound="-1"
Harald Mackamul569b5522019-07-10 13:34:51 +02003324 eType="#//RunnableCall" containment="true" resolveProxies="false"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +01003325 </eClassifiers>
3326 <eClassifiers xsi:type="ecore:EClass" name="ChainedProcessPrototype" eSuperTypes="#//BaseObject">
3327 <eStructuralFeatures xsi:type="ecore:EReference" name="prototype" lowerBound="1"
3328 eType="#//ProcessPrototype"/>
Harald Mackamul5df1f1e2019-04-03 15:41:08 +02003329 <eStructuralFeatures xsi:type="ecore:EAttribute" name="apply" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"
Harald Mackamul0ebca062019-01-11 15:37:01 +01003330 defaultValueLiteral="0"/>
3331 <eStructuralFeatures xsi:type="ecore:EAttribute" name="offset" unique="false"
Harald Mackamul5df1f1e2019-04-03 15:41:08 +02003332 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="0"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +01003333 </eClassifiers>
3334 <eClassifiers xsi:type="ecore:EClass" name="GeneralPrecedence" abstract="true" eSuperTypes="#//BaseObject">
3335 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
3336 <details key="documentation" value="General abstraction for precedence"/>
3337 </eAnnotations>
3338 <eStructuralFeatures xsi:type="ecore:EReference" name="origin" eType="#//Runnable"/>
3339 <eStructuralFeatures xsi:type="ecore:EReference" name="target" eType="#//Runnable"/>
3340 </eClassifiers>
3341 <eClassifiers xsi:type="ecore:EClass" name="AccessPrecedenceSpec" eSuperTypes="#//GeneralPrecedence">
3342 <eStructuralFeatures xsi:type="ecore:EReference" name="label" lowerBound="1" eType="#//Label"/>
3343 <eStructuralFeatures xsi:type="ecore:EAttribute" name="orderType" unique="false"
3344 eType="#//AccessPrecedenceType"/>
3345 </eClassifiers>
3346 <eClassifiers xsi:type="ecore:EEnum" name="AccessPrecedenceType">
3347 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
3348 <details key="documentation" value="Defines the access precedence at the time of one task period."/>
3349 </eAnnotations>
3350 <eLiterals name="_undefined_"/>
3351 <eLiterals name="defaultWR">
3352 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
3353 <details key="documentation" value="Writer of label has to be performed before the reader."/>
3354 </eAnnotations>
3355 </eLiterals>
3356 <eLiterals name="ignoreWR">
3357 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
3358 <details key="documentation" value="Dependency between writer and reader can be ignored."/>
3359 </eAnnotations>
3360 </eLiterals>
3361 <eLiterals name="enforceRW">
3362 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
3363 <details key="documentation" value="Reader of label has to be performed before the writer (delay unit of controller)."/>
3364 </eAnnotations>
3365 </eLiterals>
3366 </eClassifiers>
3367 <eClassifiers xsi:type="ecore:EClass" name="OrderPrecedenceSpec" eSuperTypes="#//GeneralPrecedence">
3368 <eStructuralFeatures xsi:type="ecore:EAttribute" name="orderType" unique="false"
3369 eType="#//OrderType"/>
3370 </eClassifiers>
3371 <eClassifiers xsi:type="ecore:EEnum" name="OrderType">
3372 <eLiterals name="_undefined_"/>
3373 <eLiterals name="order">
3374 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
3375 <details key="documentation" value="Defines a general order, the included elements must not follow directly"/>
3376 </eAnnotations>
3377 </eLiterals>
3378 <eLiterals name="directOrder">
3379 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
3380 <details key="documentation" value="The defined elements must follow directly"/>
3381 </eAnnotations>
3382 </eLiterals>
3383 <eLiterals name="startSequence"/>
3384 <eLiterals name="endSequence"/>
3385 </eClassifiers>
3386 <eClassifiers xsi:type="ecore:EEnum" name="DirectionType">
3387 <eLiterals name="_undefined_"/>
3388 <eLiterals name="in"/>
3389 <eLiterals name="out"/>
3390 <eLiterals name="inout"/>
3391 </eClassifiers>
3392 <eClassifiers xsi:type="ecore:EClass" name="DataDependency" eSuperTypes="#//BaseObject">
3393 <eStructuralFeatures xsi:type="ecore:EReference" name="labels" upperBound="-1"
3394 eType="#//Label"/>
3395 <eStructuralFeatures xsi:type="ecore:EReference" name="parameters" upperBound="-1"
3396 eType="#//RunnableParameter"/>
3397 <eStructuralFeatures xsi:type="ecore:EReference" name="callArguments" upperBound="-1"
3398 eType="#//CallArgument"/>
3399 <eStructuralFeatures xsi:type="ecore:EReference" name="containingRunnable" eType="#//Runnable"
3400 changeable="false" volatile="true" transient="true" derived="true" resolveProxies="false">
3401 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
3402 <details key="propertyCategory" value="Read only"/>
3403 <details key="propertyFilterFlags" value="org.eclipse.ui.views.properties.expert"/>
3404 <details key="get" value="return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaServices%>.&lt;&lt;%org.eclipse.app4mc.amalthea.model.Runnable%>>getContainerOfType(this, &lt;%org.eclipse.app4mc.amalthea.model.Runnable%>.class);"/>
3405 </eAnnotations>
3406 </eStructuralFeatures>
3407 </eClassifiers>
3408 <eClassifiers xsi:type="ecore:EClass" name="RunnableParameter" eSuperTypes="#//ReferableBaseObject">
Harald Mackamul37f14f52019-04-12 12:56:25 +02003409 <eOperations name="getNamePrefix" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
Harald Mackamul0ebca062019-01-11 15:37:01 +01003410 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
Harald Mackamul37f14f52019-04-12 12:56:25 +02003411 <details key="body" value="&lt;%org.eclipse.app4mc.amalthea.model.Runnable%> _containingRunnable = this.getContainingRunnable();&#xA;&lt;%java.lang.String%> _name = null;&#xA;if (_containingRunnable!=null)&#xA;{&#xA;&#x9;_name=_containingRunnable.getName();&#xA;}&#xA;return _name;"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +01003412 </eAnnotations>
3413 </eOperations>
Harald Mackamul5df1f1e2019-04-03 15:41:08 +02003414 <eOperations name="toString" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
Harald Mackamul0ebca062019-01-11 15:37:01 +01003415 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
3416 <details key="body" value="&lt;%org.eclipse.app4mc.amalthea.model.Runnable%> _containingRunnable = this.getContainingRunnable();&#xA;&lt;%java.lang.String%> _name = null;&#xA;if (_containingRunnable!=null)&#xA;{&#xA;&#x9;_name=_containingRunnable.getName();&#xA;}&#xA;final &lt;%java.lang.String%> runName = _name;&#xA;&lt;%java.lang.String%> _xifexpression = null;&#xA;boolean _isNullOrEmpty = &lt;%org.eclipse.xtext.xbase.lib.StringExtensions%>.isNullOrEmpty(runName);&#xA;if (_isNullOrEmpty)&#xA;{&#xA;&#x9;_xifexpression = &quot;&lt;runnable>&quot;;&#xA;}&#xA;else&#xA;{&#xA;&#x9;_xifexpression = runName;&#xA;}&#xA;&lt;%java.lang.String%> _plus = (_xifexpression + &quot;::&quot;);&#xA;&lt;%java.lang.String%> _xifexpression_1 = null;&#xA;boolean _isNullOrEmpty_1 = &lt;%org.eclipse.xtext.xbase.lib.StringExtensions%>.isNullOrEmpty(this.getName());&#xA;if (_isNullOrEmpty_1)&#xA;{&#xA;&#x9;_xifexpression_1 = &quot;&lt;parameter>&quot;;&#xA;}&#xA;else&#xA;{&#xA;&#x9;_xifexpression_1 = this.getName();&#xA;}&#xA;return (_plus + _xifexpression_1);"/>
3417 </eAnnotations>
3418 </eOperations>
3419 <eStructuralFeatures xsi:type="ecore:EReference" name="containingRunnable" eType="#//Runnable"
3420 changeable="false" eOpposite="#//Runnable/parameters">
3421 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
3422 <details key="propertyCategory" value="Read only"/>
3423 </eAnnotations>
3424 </eStructuralFeatures>
3425 <eStructuralFeatures xsi:type="ecore:EAttribute" name="direction" unique="false"
3426 eType="#//DirectionType"/>
3427 <eStructuralFeatures xsi:type="ecore:EReference" name="dataType" eType="#//TypeDefinition"/>
3428 <eStructuralFeatures xsi:type="ecore:EReference" name="dependsOn" eType="#//DataDependency"
3429 containment="true" resolveProxies="false"/>
3430 </eClassifiers>
3431 <eClassifiers xsi:type="ecore:EClass" name="Runnable" eSuperTypes="#//AbstractMemoryElement">
3432 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
3433 <details key="documentation" value="Smallest allocatable unit, which provides additional (optional) attributes for allocation algorithms."/>
3434 </eAnnotations>
Harald Mackamul569b5522019-07-10 13:34:51 +02003435 <eOperations name="getRunnableItems" unique="false" upperBound="-1" eType="#//CallGraphItem">
3436 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
3437 <details key="body" value="&lt;%org.eclipse.emf.common.util.EList%>&lt;&lt;%org.eclipse.app4mc.amalthea.model.CallGraphItem%>> _xblockexpression = null;&#xA;{&#xA;&#x9;&lt;%org.eclipse.app4mc.amalthea.model.CallGraph%> _callGraph = this.getCallGraph();&#xA;&#x9;boolean _tripleEquals = (_callGraph == null);&#xA;&#x9;if (_tripleEquals)&#xA;&#x9;{&#xA;&#x9;&#x9;this.setCallGraph(&lt;%org.eclipse.app4mc.amalthea.model.AmaltheaFactory%>.eINSTANCE.createCallGraph());&#xA;&#x9;}&#xA;&#x9;_xblockexpression = this.getCallGraph().getItems();&#xA;}&#xA;return _xblockexpression;"/>
3438 </eAnnotations>
3439 </eOperations>
Harald Mackamul0ebca062019-01-11 15:37:01 +01003440 <eOperations name="getFirstActivation" unique="false" eType="#//Activation">
3441 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
3442 <details key="body" value="return &lt;%org.eclipse.xtext.xbase.lib.IterableExtensions%>.&lt;&lt;%org.eclipse.app4mc.amalthea.model.Activation%>>head(this.getActivations());"/>
3443 </eAnnotations>
3444 </eOperations>
Harald Mackamul5df1f1e2019-04-03 15:41:08 +02003445 <eStructuralFeatures xsi:type="ecore:EReference" name="executionCondition" eType="#//ModeConditionDisjunction"
3446 containment="true" resolveProxies="false"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +01003447 <eStructuralFeatures xsi:type="ecore:EReference" name="parameters" upperBound="-1"
3448 eType="#//RunnableParameter" containment="true" resolveProxies="false" eOpposite="#//RunnableParameter/containingRunnable"/>
Harald Mackamul569b5522019-07-10 13:34:51 +02003449 <eStructuralFeatures xsi:type="ecore:EReference" name="callGraph" eType="#//CallGraph"
3450 containment="true" resolveProxies="false"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +01003451 <eStructuralFeatures xsi:type="ecore:EReference" name="activations" upperBound="-1"
3452 eType="#//Activation"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +01003453 <eStructuralFeatures xsi:type="ecore:EAttribute" name="callback" unique="false"
Harald Mackamul5df1f1e2019-04-03 15:41:08 +02003454 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false">
Harald Mackamul0ebca062019-01-11 15:37:01 +01003455 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
3456 <details key="documentation" value="Marker if runnable is used as callback."/>
3457 </eAnnotations>
3458 </eStructuralFeatures>
3459 <eStructuralFeatures xsi:type="ecore:EAttribute" name="service" unique="false"
Harald Mackamul5df1f1e2019-04-03 15:41:08 +02003460 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false">
Harald Mackamul0ebca062019-01-11 15:37:01 +01003461 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
3462 <details key="documentation" value="Marker if runnable is used as a service."/>
3463 </eAnnotations>
3464 </eStructuralFeatures>
3465 <eStructuralFeatures xsi:type="ecore:EAttribute" name="asilLevel" unique="false"
3466 eType="#//ASILType">
3467 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
3468 <details key="documentation" value="ASIL level for the runnable entity"/>
3469 </eAnnotations>
3470 </eStructuralFeatures>
3471 <eStructuralFeatures xsi:type="ecore:EReference" name="section" eType="#//Section"/>
3472 <eStructuralFeatures xsi:type="ecore:EReference" name="runnableCalls" upperBound="-1"
3473 eType="#//RunnableCall" changeable="false" volatile="true" transient="true"
3474 derived="true">
3475 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
3476 <details key="documentation" value="&lt;p>&lt;b>Returns an &lt;em>immutable&lt;/em> list of callers (RunnableCalls).&lt;/b>&lt;/p>"/>
3477 <details key="propertyCategory" value="Read only"/>
3478 <details key="propertyFilterFlags" value="org.eclipse.ui.views.properties.expert"/>
3479 <details key="get" value="&lt;%org.eclipse.emf.ecore.EReference%> _runnableCall_Runnable = &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaPackage%>.eINSTANCE.getRunnableCall_Runnable();&#xA;return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaIndex%>.&lt;&lt;%org.eclipse.app4mc.amalthea.model.RunnableCall%>>getInverseReferences(this, &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaPackage%>.eINSTANCE.getRunnable_RunnableCalls(), &#xA;&#x9;java.util.Collections.&lt;&lt;%org.eclipse.emf.ecore.EReference%>>unmodifiableSet(org.eclipse.xtext.xbase.lib.CollectionLiterals.&lt;&lt;%org.eclipse.emf.ecore.EReference%>>newHashSet(_runnableCall_Runnable)));"/>
3480 </eAnnotations>
3481 </eStructuralFeatures>
Harald Mackamul0ebca062019-01-11 15:37:01 +01003482 <eStructuralFeatures xsi:type="ecore:EReference" name="referringComponents" upperBound="-1"
3483 eType="#//Component" changeable="false" volatile="true" transient="true" derived="true">
3484 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
3485 <details key="documentation" value="&lt;p>&lt;b>Returns an &lt;em>immutable&lt;/em> list of components the runnable belongs to.&lt;/b>&lt;/p>"/>
3486 <details key="propertyCategory" value="Read only"/>
3487 <details key="propertyFilterFlags" value="org.eclipse.ui.views.properties.expert"/>
3488 <details key="get" value="&lt;%org.eclipse.emf.ecore.EReference%> _component_Runnables = &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaPackage%>.eINSTANCE.getComponent_Runnables();&#xA;return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaIndex%>.&lt;&lt;%org.eclipse.app4mc.amalthea.model.Component%>>getInverseReferences(this, &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaPackage%>.eINSTANCE.getRunnable_ReferringComponents(), &#xA;&#x9;java.util.Collections.&lt;&lt;%org.eclipse.emf.ecore.EReference%>>unmodifiableSet(org.eclipse.xtext.xbase.lib.CollectionLiterals.&lt;&lt;%org.eclipse.emf.ecore.EReference%>>newHashSet(_component_Runnables)));"/>
3489 </eAnnotations>
3490 </eStructuralFeatures>
3491 </eClassifiers>
3492 <eClassifiers xsi:type="ecore:EClass" name="Label" eSuperTypes="#//AbstractMemoryElement #//IDisplayName">
3493 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
3494 <details key="documentation" value="Data representation, which can be accessed by run entities."/>
3495 </eAnnotations>
3496 <eStructuralFeatures xsi:type="ecore:EReference" name="dataType" eType="#//DataType"
3497 containment="true" resolveProxies="false"/>
3498 <eStructuralFeatures xsi:type="ecore:EAttribute" name="constant" unique="false"
Harald Mackamul5df1f1e2019-04-03 15:41:08 +02003499 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false">
Harald Mackamul0ebca062019-01-11 15:37:01 +01003500 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
3501 <details key="documentation" value="Defines the label as a constant, not modifiable entity"/>
3502 </eAnnotations>
3503 </eStructuralFeatures>
3504 <eStructuralFeatures xsi:type="ecore:EAttribute" name="bVolatile" unique="false"
Harald Mackamul5df1f1e2019-04-03 15:41:08 +02003505 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false">
Harald Mackamul0ebca062019-01-11 15:37:01 +01003506 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
3507 <details key="documentation" value="Defines if the label value is volatile or persistent to survive shutdown and start of system"/>
3508 </eAnnotations>
3509 </eStructuralFeatures>
3510 <eStructuralFeatures xsi:type="ecore:EAttribute" name="dataStability" unique="false"
3511 eType="#//LabelDataStability">
3512 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
3513 <details key="documentation" value="Defines the data stability needs of the label"/>
3514 </eAnnotations>
3515 </eStructuralFeatures>
3516 <eStructuralFeatures xsi:type="ecore:EAttribute" name="stabilityLevel" unique="false"
3517 eType="#//DataStabilityLevel"/>
3518 <eStructuralFeatures xsi:type="ecore:EReference" name="section" eType="#//Section"/>
3519 <eStructuralFeatures xsi:type="ecore:EReference" name="labelAccesses" upperBound="-1"
3520 eType="#//LabelAccess" changeable="false" volatile="true" transient="true"
3521 derived="true">
3522 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
3523 <details key="documentation" value="&lt;p>&lt;b>Returns an &lt;em>immutable&lt;/em> list of accesses (LabelAccess).&lt;/b>&lt;/p>"/>
3524 <details key="propertyCategory" value="Read only"/>
3525 <details key="propertyFilterFlags" value="org.eclipse.ui.views.properties.expert"/>
3526 <details key="get" value="&lt;%org.eclipse.emf.ecore.EReference%> _labelAccess_Data = &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaPackage%>.eINSTANCE.getLabelAccess_Data();&#xA;return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaIndex%>.&lt;&lt;%org.eclipse.app4mc.amalthea.model.LabelAccess%>>getInverseReferences(this, &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaPackage%>.eINSTANCE.getLabel_LabelAccesses(), &#xA;&#x9;java.util.Collections.&lt;&lt;%org.eclipse.emf.ecore.EReference%>>unmodifiableSet(org.eclipse.xtext.xbase.lib.CollectionLiterals.&lt;&lt;%org.eclipse.emf.ecore.EReference%>>newHashSet(_labelAccess_Data)));"/>
3527 </eAnnotations>
3528 </eStructuralFeatures>
3529 <eStructuralFeatures xsi:type="ecore:EReference" name="referringComponents" upperBound="-1"
3530 eType="#//Component" changeable="false" volatile="true" transient="true" derived="true">
3531 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
3532 <details key="documentation" value="&lt;p>&lt;b>Returns an &lt;em>immutable&lt;/em> list of components the label belongs to.&lt;/b>&lt;/p>"/>
3533 <details key="propertyCategory" value="Read only"/>
3534 <details key="propertyFilterFlags" value="org.eclipse.ui.views.properties.expert"/>
3535 <details key="get" value="&lt;%org.eclipse.emf.ecore.EReference%> _component_Labels = &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaPackage%>.eINSTANCE.getComponent_Labels();&#xA;return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaIndex%>.&lt;&lt;%org.eclipse.app4mc.amalthea.model.Component%>>getInverseReferences(this, &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaPackage%>.eINSTANCE.getLabel_ReferringComponents(), &#xA;&#x9;java.util.Collections.&lt;&lt;%org.eclipse.emf.ecore.EReference%>>unmodifiableSet(org.eclipse.xtext.xbase.lib.CollectionLiterals.&lt;&lt;%org.eclipse.emf.ecore.EReference%>>newHashSet(_component_Labels)));"/>
3536 </eAnnotations>
3537 </eStructuralFeatures>
3538 </eClassifiers>
3539 <eClassifiers xsi:type="ecore:EClass" name="Channel" eSuperTypes="#//AbstractMemoryElement #//IDisplayName">
3540 <eStructuralFeatures xsi:type="ecore:EReference" name="elementType" eType="#//DataType"
3541 containment="true" resolveProxies="false"/>
3542 <eStructuralFeatures xsi:type="ecore:EAttribute" name="defaultElements" unique="false"
Harald Mackamul5df1f1e2019-04-03 15:41:08 +02003543 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="0"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +01003544 <eStructuralFeatures xsi:type="ecore:EAttribute" name="maxElements" unique="false"
Harald Mackamul5df1f1e2019-04-03 15:41:08 +02003545 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="0"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +01003546 <eStructuralFeatures xsi:type="ecore:EReference" name="channelAccesses" upperBound="-1"
3547 eType="#//ChannelAccess" changeable="false" volatile="true" transient="true"
3548 derived="true">
3549 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
3550 <details key="documentation" value="&lt;p>&lt;b>Returns an &lt;em>immutable&lt;/em> list of accesses (ChannelAccess).&lt;/b>&lt;/p>"/>
3551 <details key="propertyCategory" value="Read only"/>
3552 <details key="propertyFilterFlags" value="org.eclipse.ui.views.properties.expert"/>
3553 <details key="get" value="&lt;%org.eclipse.emf.ecore.EReference%> _channelAccess_Data = &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaPackage%>.eINSTANCE.getChannelAccess_Data();&#xA;return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaIndex%>.&lt;&lt;%org.eclipse.app4mc.amalthea.model.ChannelAccess%>>getInverseReferences(this, &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaPackage%>.eINSTANCE.getChannel_ChannelAccesses(), &#xA;&#x9;java.util.Collections.&lt;&lt;%org.eclipse.emf.ecore.EReference%>>unmodifiableSet(org.eclipse.xtext.xbase.lib.CollectionLiterals.&lt;&lt;%org.eclipse.emf.ecore.EReference%>>newHashSet(_channelAccess_Data)));"/>
3554 </eAnnotations>
3555 </eStructuralFeatures>
3556 </eClassifiers>
3557 <eClassifiers xsi:type="ecore:EClass" name="ModeLabel" eSuperTypes="#//AbstractMemoryElement #//IDisplayName">
Harald Mackamul5df1f1e2019-04-03 15:41:08 +02003558 <eOperations name="validateInvariants" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
Harald Mackamul0ebca062019-01-11 15:37:01 +01003559 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
Harald Mackamul5df1f1e2019-04-03 15:41:08 +02003560 <details key="body" value="return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaValidations%>.validateInvariants(this, diagnostics, context);"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +01003561 </eAnnotations>
Harald Mackamul5df1f1e2019-04-03 15:41:08 +02003562 <eParameters name="diagnostics" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
3563 <eParameters name="context" unique="false">
3564 <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
3565 <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
3566 <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
3567 </eGenericType>
3568 </eParameters>
3569 </eOperations>
3570 <eOperations name="isEnum" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
3571 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
3572 <details key="body" value="&lt;%org.eclipse.app4mc.amalthea.model.Mode%> _mode = this.getMode();&#xA;return (_mode instanceof &lt;%org.eclipse.app4mc.amalthea.model.EnumMode%>);"/>
3573 </eAnnotations>
3574 </eOperations>
3575 <eOperations name="isNumeric" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
3576 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
3577 <details key="body" value="&lt;%org.eclipse.app4mc.amalthea.model.Mode%> _mode = this.getMode();&#xA;return (_mode instanceof &lt;%org.eclipse.app4mc.amalthea.model.NumericMode%>);"/>
3578 </eAnnotations>
3579 </eOperations>
3580 <eStructuralFeatures xsi:type="ecore:EReference" name="mode" lowerBound="1" eType="#//Mode"/>
3581 <eStructuralFeatures xsi:type="ecore:EAttribute" name="initialValue" unique="false"
3582 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +01003583 </eClassifiers>
3584 <eClassifiers xsi:type="ecore:EEnum" name="LabelDataStability">
3585 <eLiterals name="_undefined_"/>
3586 <eLiterals name="noProtection"/>
3587 <eLiterals name="automaticProtection"/>
3588 <eLiterals name="customProtection"/>
3589 <eLiterals name="handledByModelElements"/>
3590 </eClassifiers>
3591 <eClassifiers xsi:type="ecore:EClass" name="Section" eSuperTypes="#//ReferableBaseObject">
3592 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
3593 <details key="documentation" value="A section is a logical structure, which contains labels and abstract run entities.&#xA;It is used to provide an easy mechanism to distribute objects to memory,&#xA;which are belonging together."/>
3594 </eAnnotations>
3595 <eStructuralFeatures xsi:type="ecore:EAttribute" name="asilLevel" unique="false"
3596 eType="#//ASILType">
3597 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
3598 <details key="documentation" value="for specifying the ASIL level for the &quot;virtual memory sections&quot;"/>
3599 </eAnnotations>
3600 </eStructuralFeatures>
3601 <eStructuralFeatures xsi:type="ecore:EReference" name="labels" upperBound="-1"
3602 eType="#//Label" changeable="false" volatile="true" transient="true" derived="true">
3603 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
3604 <details key="documentation" value="&lt;p>&lt;b>Returns an &lt;em>immutable&lt;/em> list of labels (Label).&lt;/b>&lt;/p>"/>
3605 <details key="propertyCategory" value="Read only"/>
3606 <details key="propertyFilterFlags" value="org.eclipse.ui.views.properties.expert"/>
3607 <details key="get" value="&lt;%org.eclipse.emf.ecore.EReference%> _label_Section = &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaPackage%>.eINSTANCE.getLabel_Section();&#xA;return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaIndex%>.&lt;&lt;%org.eclipse.app4mc.amalthea.model.Label%>>getInverseReferences(this, &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaPackage%>.eINSTANCE.getSection_Labels(), &#xA;&#x9;java.util.Collections.&lt;&lt;%org.eclipse.emf.ecore.EReference%>>unmodifiableSet(org.eclipse.xtext.xbase.lib.CollectionLiterals.&lt;&lt;%org.eclipse.emf.ecore.EReference%>>newHashSet(_label_Section)));"/>
3608 </eAnnotations>
3609 </eStructuralFeatures>
3610 <eStructuralFeatures xsi:type="ecore:EReference" name="runnables" upperBound="-1"
3611 eType="#//Runnable" changeable="false" volatile="true" transient="true" derived="true">
3612 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
3613 <details key="documentation" value="&lt;p>&lt;b>Returns an &lt;em>immutable&lt;/em> list of runnables (Runnable).&lt;/b>&lt;/p>"/>
3614 <details key="propertyCategory" value="Read only"/>
3615 <details key="propertyFilterFlags" value="org.eclipse.ui.views.properties.expert"/>
3616 <details key="get" value="&lt;%org.eclipse.emf.ecore.EReference%> _runnable_Section = &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaPackage%>.eINSTANCE.getRunnable_Section();&#xA;return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaIndex%>.&lt;&lt;%org.eclipse.app4mc.amalthea.model.Runnable%>>getInverseReferences(this, &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaPackage%>.eINSTANCE.getSection_Runnables(), &#xA;&#x9;java.util.Collections.&lt;&lt;%org.eclipse.emf.ecore.EReference%>>unmodifiableSet(org.eclipse.xtext.xbase.lib.CollectionLiterals.&lt;&lt;%org.eclipse.emf.ecore.EReference%>>newHashSet(_runnable_Section)));"/>
3617 </eAnnotations>
3618 </eStructuralFeatures>
3619 </eClassifiers>
Harald Mackamul569b5522019-07-10 13:34:51 +02003620 <eClassifiers xsi:type="ecore:EClass" name="ComputationItem" abstract="true" eSuperTypes="#//CallGraphItem">
Harald Mackamul0ebca062019-01-11 15:37:01 +01003621 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
3622 <details key="documentation" value="Representation of a object that describes computation"/>
3623 </eAnnotations>
3624 </eClassifiers>
Harald Mackamul569b5522019-07-10 13:34:51 +02003625 <eClassifiers xsi:type="ecore:EClass" name="ExecutionNeed" eSuperTypes="#//CallGraphItem">
Harald Mackamul0ebca062019-01-11 15:37:01 +01003626 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
3627 <details key="documentation" value="Representation of the execution needs of a Runnable (default and core-specific)"/>
3628 </eAnnotations>
3629 <eStructuralFeatures xsi:type="ecore:EReference" name="needs" upperBound="-1"
3630 eType="#//NeedEntry" containment="true" resolveProxies="false"/>
3631 </eClassifiers>
3632 <eClassifiers xsi:type="ecore:EClass" name="NeedEntry" instanceClassName="java.util.Map$Entry">
3633 <eStructuralFeatures xsi:type="ecore:EAttribute" name="key" unique="false" lowerBound="1"
Harald Mackamul5df1f1e2019-04-03 15:41:08 +02003634 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +01003635 <eStructuralFeatures xsi:type="ecore:EReference" name="value" lowerBound="1" eType="#//IDiscreteValueDeviation"
3636 containment="true" resolveProxies="false"/>
3637 </eClassifiers>
3638 <eClassifiers xsi:type="ecore:EClass" name="Ticks" eSuperTypes="#//ComputationItem">
3639 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
3640 <details key="documentation" value="Representation of the execution IDiscreteValueDeviation of a Runnable (default and core-specific)"/>
3641 </eAnnotations>
3642 <eStructuralFeatures xsi:type="ecore:EReference" name="default" eType="#//IDiscreteValueDeviation"
3643 containment="true" resolveProxies="false"/>
3644 <eStructuralFeatures xsi:type="ecore:EReference" name="extended" upperBound="-1"
3645 eType="#//TicksEntry" containment="true" resolveProxies="false"/>
3646 </eClassifiers>
3647 <eClassifiers xsi:type="ecore:EClass" name="TicksEntry" instanceClassName="java.util.Map$Entry">
3648 <eStructuralFeatures xsi:type="ecore:EReference" name="key" lowerBound="1" eType="#//ProcessingUnitDefinition"/>
3649 <eStructuralFeatures xsi:type="ecore:EReference" name="value" lowerBound="1" eType="#//IDiscreteValueDeviation"
3650 containment="true" resolveProxies="false"/>
3651 </eClassifiers>
Harald Mackamul5df1f1e2019-04-03 15:41:08 +02003652 <eClassifiers xsi:type="ecore:EEnum" name="ModeLabelAccessEnum">
3653 <eLiterals name="_undefined_"/>
3654 <eLiterals name="read"/>
3655 <eLiterals name="set"/>
3656 <eLiterals name="increment"/>
3657 <eLiterals name="decrement"/>
3658 </eClassifiers>
Harald Mackamul569b5522019-07-10 13:34:51 +02003659 <eClassifiers xsi:type="ecore:EClass" name="ModeLabelAccess" eSuperTypes="#//CallGraphItem">
Harald Mackamul0ebca062019-01-11 15:37:01 +01003660 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
3661 <details key="documentation" value="Representation of a mode label access of a run entity."/>
3662 </eAnnotations>
Harald Mackamul5df1f1e2019-04-03 15:41:08 +02003663 <eOperations name="validateInvariants" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
3664 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
3665 <details key="body" value="return &lt;%org.eclipse.app4mc.amalthea.model.AmaltheaValidations%>.validateInvariants(this, diagnostics, context);"/>
3666 </eAnnotations>
3667 <eParameters name="diagnostics" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
3668 <eParameters name="context" unique="false">
3669 <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
3670 <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
3671 <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
3672 </eGenericType>
3673 </eParameters>
3674 </eOperations>
Harald Mackamul0ebca062019-01-11 15:37:01 +01003675 <eStructuralFeatures xsi:type="ecore:EReference" name="data" lowerBound="1" eType="#//ModeLabel"/>
3676 <eStructuralFeatures xsi:type="ecore:EAttribute" name="access" unique="false"
Harald Mackamul5df1f1e2019-04-03 15:41:08 +02003677 eType="#//ModeLabelAccessEnum"/>
3678 <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
Harald Mackamul0ebca062019-01-11 15:37:01 +01003679 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
3680 <details key="documentation" value="Just used in case that this access writes a value to a Mode-Label.&#xA;It can be used to define which mode value is written to the label."/>
3681 </eAnnotations>
3682 </eStructuralFeatures>
Harald Mackamul5df1f1e2019-04-03 15:41:08 +02003683 <eStructuralFeatures xsi:type="ecore:EAttribute" name="step" unique="false" eType="#//PositiveInt"
3684 defaultValueLiteral="1">
3685 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
3686 <details key="documentation" value="Just used in case of increment or decrement.&#xA;It can be used to define a step other than 1."/>
3687 </eAnnotations>
3688 </eStructuralFeatures>
Harald Mackamul0ebca062019-01-11 15:37:01 +01003689 </eClassifiers>
Harald Mackamul0ebca062019-01-11 15:37:01 +01003690 <eClassifiers xsi:type="ecore:EClass" name="LabelAccess" eSuperTypes="#//ComputationItem #//ITaggable">
3691 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
3692 <details key="documentation" value="Representation of a label access of a run entity."/>
3693 </eAnnotations>
3694 <eStructuralFeatures xsi:type="ecore:EReference" name="data" lowerBound="1" eType="#//Label"/>
3695 <eStructuralFeatures xsi:type="ecore:EAttribute" name="access" unique="false"
3696 eType="#//LabelAccessEnum"/>
3697 <eStructuralFeatures xsi:type="ecore:EReference" name="statistic" eType="#//LabelAccessStatistic"
3698 containment="true" resolveProxies="false">
3699 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
3700 <details key="documentation" value="Optional parameter for statistic values"/>
3701 </eAnnotations>
3702 </eStructuralFeatures>
3703 <eStructuralFeatures xsi:type="ecore:EReference" name="transmissionPolicy" eType="#//TransmissionPolicy"
3704 containment="true" resolveProxies="false">
3705 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
3706 <details key="documentation" value="Optional parameter for transmission policy of larger data"/>
3707 </eAnnotations>
3708 </eStructuralFeatures>
3709 <eStructuralFeatures xsi:type="ecore:EAttribute" name="dataStability" unique="false"
3710 eType="#//LabelAccessDataStability">
3711 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
3712 <details key="documentation" value="Defines the data stability needs of the label access"/>
3713 </eAnnotations>
3714 </eStructuralFeatures>
3715 <eStructuralFeatures xsi:type="ecore:EAttribute" name="implementation" unique="false"
3716 eType="#//LabelAccessImplementation"/>
3717 <eStructuralFeatures xsi:type="ecore:EReference" name="dependsOn" eType="#//DataDependency"
3718 containment="true" resolveProxies="false"/>
3719 </eClassifiers>
Harald Mackamul569b5522019-07-10 13:34:51 +02003720 <eClassifiers xsi:type="ecore:EClass" name="ChannelAccess" abstract="true" eSuperTypes="#//CallGraphItem">
Harald Mackamul0ebca062019-01-11 15:37:01 +01003721 <eStructuralFeatures xsi:type="ecore:EReference" name="data" lowerBound="1" eType="#//Channel"/>
3722 <eStructuralFeatures xsi:type="ecore:EAttribute" name="elements" unique="false"
Harald Mackamul5df1f1e2019-04-03 15:41:08 +02003723 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="0"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +01003724 <eStructuralFeatures xsi:type="ecore:EReference" name="transmissionPolicy" eType="#//TransmissionPolicy"
3725 containment="true" resolveProxies="false"/>
3726 </eClassifiers>
3727 <eClassifiers xsi:type="ecore:EClass" name="ChannelSend" eSuperTypes="#//ChannelAccess"/>
3728 <eClassifiers xsi:type="ecore:EClass" name="ChannelReceive" eSuperTypes="#//ChannelAccess">
3729 <eStructuralFeatures xsi:type="ecore:EAttribute" name="receiveOperation" unique="false"
3730 eType="#//ReceiveOperation"/>
3731 <eStructuralFeatures xsi:type="ecore:EAttribute" name="dataMustBeNew" unique="false"
Harald Mackamul5df1f1e2019-04-03 15:41:08 +02003732 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +01003733 <eStructuralFeatures xsi:type="ecore:EAttribute" name="elementIndex" unique="false"
Harald Mackamul5df1f1e2019-04-03 15:41:08 +02003734 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="0"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +01003735 <eStructuralFeatures xsi:type="ecore:EAttribute" name="lowerBound" unique="false"
Harald Mackamul5df1f1e2019-04-03 15:41:08 +02003736 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="0"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +01003737 </eClassifiers>
3738 <eClassifiers xsi:type="ecore:EEnum" name="ReceiveOperation">
3739 <eLiterals name="_undefined_"/>
3740 <eLiterals name="FIFO_Read"/>
3741 <eLiterals name="FIFO_Take"/>
3742 <eLiterals name="LIFO_Read"/>
3743 <eLiterals name="LIFO_Take"/>
3744 </eClassifiers>
3745 <eClassifiers xsi:type="ecore:EEnum" name="LabelAccessDataStability">
3746 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
3747 <details key="documentation" value="Defines the data stability needs of a label access.&#xA;Inherited means that the setting of the Label is used"/>
3748 </eAnnotations>
3749 <eLiterals name="_undefined_"/>
3750 <eLiterals name="inherited"/>
3751 <eLiterals name="noProtection"/>
3752 <eLiterals name="automaticProtection"/>
3753 <eLiterals name="customProtection"/>
3754 <eLiterals name="handledByModelElements"/>
3755 </eClassifiers>
3756 <eClassifiers xsi:type="ecore:EEnum" name="LabelAccessEnum">
3757 <eLiterals name="_undefined_"/>
3758 <eLiterals name="read"/>
3759 <eLiterals name="write"/>
3760 </eClassifiers>
3761 <eClassifiers xsi:type="ecore:EEnum" name="LabelAccessImplementation">
3762 <eLiterals name="_undefined_"/>
3763 <eLiterals name="explicit"/>
3764 <eLiterals name="implicit"/>
3765 <eLiterals name="timed"/>
3766 </eClassifiers>
Harald Mackamul569b5522019-07-10 13:34:51 +02003767 <eClassifiers xsi:type="ecore:EClass" name="SemaphoreAccess" eSuperTypes="#//CallGraphItem">
Harald Mackamul0ebca062019-01-11 15:37:01 +01003768 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
3769 <details key="documentation" value="Describes an semaphore access"/>
3770 </eAnnotations>
3771 <eStructuralFeatures xsi:type="ecore:EReference" name="semaphore" lowerBound="1"
3772 eType="#//Semaphore"/>
3773 <eStructuralFeatures xsi:type="ecore:EAttribute" name="access" unique="false"
3774 eType="#//SemaphoreAccessEnum"/>
3775 <eStructuralFeatures xsi:type="ecore:EAttribute" name="waitingBehaviour" unique="false"
3776 eType="#//WaitingBehaviour"/>
3777 </eClassifiers>
3778 <eClassifiers xsi:type="ecore:EEnum" name="SemaphoreAccessEnum">
3779 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
3780 <details key="documentation" value="request: requests access to semaphore&#xA;release: release accessed semaphore&#xA;exclusive: gets access to requested semaphore only when there is no other user accessing it"/>
3781 </eAnnotations>
3782 <eLiterals name="_undefined_"/>
3783 <eLiterals name="request"/>
3784 <eLiterals name="exclusive"/>
3785 <eLiterals name="release"/>
3786 </eClassifiers>
3787 <eClassifiers xsi:type="ecore:EClass" name="SenderReceiverCommunication" abstract="true"
Harald Mackamul569b5522019-07-10 13:34:51 +02003788 eSuperTypes="#//CallGraphItem">
Harald Mackamul0ebca062019-01-11 15:37:01 +01003789 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
3790 <details key="documentation" value="An abstract description for sender-receiver-communication (it can be read or write)"/>
3791 </eAnnotations>
3792 <eStructuralFeatures xsi:type="ecore:EAttribute" name="buffered" unique="false"
Harald Mackamul5df1f1e2019-04-03 15:41:08 +02003793 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +01003794 <eStructuralFeatures xsi:type="ecore:EReference" name="label" lowerBound="1" eType="#//Label"/>
3795 <eStructuralFeatures xsi:type="ecore:EReference" name="port" eType="#//Port"/>
3796 </eClassifiers>
3797 <eClassifiers xsi:type="ecore:EClass" name="SenderReceiverRead" eSuperTypes="#//SenderReceiverCommunication">
3798 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
3799 <details key="documentation" value="The read operation of the receiver of the sender-receiver-communication"/>
3800 </eAnnotations>
3801 </eClassifiers>
3802 <eClassifiers xsi:type="ecore:EClass" name="SenderReceiverWrite" eSuperTypes="#//SenderReceiverCommunication">
3803 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
3804 <details key="documentation" value="The write operation of the sender of the sender-receiver-communication&#xA;It contains the runnables that have the corresponding SenderReceiverRead"/>
3805 </eAnnotations>
3806 <eStructuralFeatures xsi:type="ecore:EReference" name="notifiedRunnables" upperBound="-1"
3807 eType="#//Runnable"/>
3808 </eClassifiers>
Harald Mackamul569b5522019-07-10 13:34:51 +02003809 <eClassifiers xsi:type="ecore:EClass" name="ServerCall" abstract="true" eSuperTypes="#//CallGraphItem">
Harald Mackamul0ebca062019-01-11 15:37:01 +01003810 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
3811 <details key="documentation" value="An abstract description for client/server communication&#xA;It refers to a required runnable that describes the called server operation"/>
3812 </eAnnotations>
3813 <eStructuralFeatures xsi:type="ecore:EReference" name="serverRunnable" lowerBound="1"
3814 eType="#//Runnable"/>
3815 <eStructuralFeatures xsi:type="ecore:EReference" name="port" eType="#//Port"/>
3816 </eClassifiers>
3817 <eClassifiers xsi:type="ecore:EClass" name="SynchronousServerCall" eSuperTypes="#//ServerCall">
3818 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
3819 <details key="documentation" value="A synchronous server call"/>
3820 </eAnnotations>
3821 <eStructuralFeatures xsi:type="ecore:EAttribute" name="waitingBehaviour" unique="false"
3822 eType="#//WaitingBehaviour"/>
3823 </eClassifiers>
3824 <eClassifiers xsi:type="ecore:EClass" name="AsynchronousServerCall" eSuperTypes="#//ServerCall">
3825 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
3826 <details key="documentation" value="A asynchronous server call&#xA;It refers to a optional runnable that exploits the results produced by the server"/>
3827 </eAnnotations>
3828 <eStructuralFeatures xsi:type="ecore:EReference" name="resultRunnable" eType="#//Runnable"/>
3829 </eClassifiers>
3830 <eClassifiers xsi:type="ecore:EClass" name="GetResultServerCall" eSuperTypes="#//ServerCall">
3831 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
3832 <details key="documentation" value="Get the result of a previous asynchronous server call"/>
3833 </eAnnotations>
3834 <eStructuralFeatures xsi:type="ecore:EAttribute" name="blockingType" unique="false"
3835 eType="#//BlockingType"/>
3836 </eClassifiers>
3837 <eClassifiers xsi:type="ecore:EEnum" name="BlockingType">
3838 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
3839 <details key="documentation" value="Blocking type"/>
3840 </eAnnotations>
3841 <eLiterals name="_undefined_"/>
3842 <eLiterals name="active_wait"/>
3843 <eLiterals name="passive_wait"/>
3844 <eLiterals name="non_blocking"/>
3845 </eClassifiers>
Harald Mackamul569b5522019-07-10 13:34:51 +02003846 <eClassifiers xsi:type="ecore:EClass" name="Group" eSuperTypes="#//CallGraphItem #//INamed #//ICallGraphItemContainer">
Harald Mackamul0ebca062019-01-11 15:37:01 +01003847 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
Harald Mackamuld7bc8222019-07-01 12:53:50 +02003848 <details key="documentation" value="Describes a group of deviation runnable items"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +01003849 </eAnnotations>
3850 <eStructuralFeatures xsi:type="ecore:EAttribute" name="ordered" unique="false"
Harald Mackamul5df1f1e2019-04-03 15:41:08 +02003851 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="true"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +01003852 </eClassifiers>
3853 <eClassifiers xsi:type="ecore:EClass" name="CallArgument" eSuperTypes="#//ReferableObject">
Harald Mackamul5df1f1e2019-04-03 15:41:08 +02003854 <eOperations name="getName" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
Harald Mackamul0ebca062019-01-11 15:37:01 +01003855 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
3856 <details key="body" value="&lt;%java.lang.String%> _xifexpression = null;&#xA;boolean _isNullOrEmpty = &lt;%org.eclipse.xtext.xbase.lib.StringExtensions%>.isNullOrEmpty(super.getName());&#xA;if (_isNullOrEmpty)&#xA;{&#xA;&#x9;_xifexpression = &quot;access.1&quot;;&#xA;}&#xA;else&#xA;{&#xA;&#x9;_xifexpression = super.getName();&#xA;}&#xA;return _xifexpression;"/>
3857 </eAnnotations>
3858 </eOperations>
Harald Mackamul5df1f1e2019-04-03 15:41:08 +02003859 <eOperations name="computeUniqueName" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
Harald Mackamul0ebca062019-01-11 15:37:01 +01003860 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
3861 <details key="body" value="&lt;%org.eclipse.app4mc.amalthea.model.RunnableCall%> _containingCall = this.getContainingCall();&#xA;&lt;%org.eclipse.app4mc.amalthea.model.Runnable%> _containingRunnable = null;&#xA;if (_containingCall!=null)&#xA;{&#xA;&#x9;_containingRunnable=_containingCall.getContainingRunnable();&#xA;}&#xA;&lt;%java.lang.String%> _name = null;&#xA;if (_containingRunnable!=null)&#xA;{&#xA;&#x9;_name=_containingRunnable.getName();&#xA;}&#xA;&lt;%java.lang.String%> _encode = this.encode(_name);&#xA;&lt;%java.lang.String%> _plus = (_encode + &quot;/calls/&quot;);&#xA;&lt;%org.eclipse.app4mc.amalthea.model.RunnableCall%> _containingCall_1 = this.getContainingCall();&#xA;&lt;%org.eclipse.app4mc.amalthea.model.Runnable%> _runnable = null;&#xA;if (_containingCall_1!=null)&#xA;{&#xA;&#x9;_runnable=_containingCall_1.getRunnable();&#xA;}&#xA;&lt;%java.lang.String%> _name_1 = null;&#xA;if (_runnable!=null)&#xA;{&#xA;&#x9;_name_1=_runnable.getName();&#xA;}&#xA;&lt;%java.lang.String%> _encode_1 = this.encode(_name_1);&#xA;&lt;%java.lang.String%> _plus_1 = (_plus + _encode_1);&#xA;&lt;%java.lang.String%> _plus_2 = (_plus_1 + &quot;/param/&quot;);&#xA;&lt;%org.eclipse.app4mc.amalthea.model.RunnableParameter%> _parameter = this.getParameter();&#xA;&lt;%java.lang.String%> _name_2 = null;&#xA;if (_parameter!=null)&#xA;{&#xA;&#x9;_name_2=_parameter.getName();&#xA;}&#xA;&lt;%java.lang.String%> _encode_2 = this.encode(_name_2);&#xA;&lt;%java.lang.String%> _plus_3 = (_plus_2 + _encode_2);&#xA;&lt;%java.lang.String%> _plus_4 = (_plus_3 + &quot;/&quot;);&#xA;&lt;%java.lang.String%> _encode_3 = this.encode(this.getName());&#xA;&lt;%java.lang.String%> _plus_5 = (_plus_4 + _encode_3);&#xA;&lt;%java.lang.String%> _plus_6 = (_plus_5 + &quot;?type=&quot;);&#xA;&lt;%java.lang.String%> _name_3 = this.eClass().getName();&#xA;return (_plus_6 + _name_3);"/>
3862 </eAnnotations>
3863 </eOperations>
3864 <eStructuralFeatures xsi:type="ecore:EReference" name="containingCall" eType="#//RunnableCall"
3865 changeable="false" eOpposite="#//RunnableCall/arguments">
3866 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
3867 <details key="propertyCategory" value="Read only"/>
3868 </eAnnotations>
3869 </eStructuralFeatures>
3870 <eStructuralFeatures xsi:type="ecore:EReference" name="parameter" eType="#//RunnableParameter">
3871 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
3872 <details key="propertyCategory" value="Main"/>
3873 </eAnnotations>
3874 </eStructuralFeatures>
3875 <eStructuralFeatures xsi:type="ecore:EReference" name="dependsOn" eType="#//DataDependency"
3876 containment="true" resolveProxies="false"/>
3877 </eClassifiers>
Harald Mackamul569b5522019-07-10 13:34:51 +02003878 <eClassifiers xsi:type="ecore:EClass" name="RunnableCall" eSuperTypes="#//CallGraphItem #//ITaggable">
Harald Mackamul0ebca062019-01-11 15:37:01 +01003879 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
3880 <details key="documentation" value="Representation of a runnable call of a run entity."/>
3881 </eAnnotations>
3882 <eStructuralFeatures xsi:type="ecore:EReference" name="runnable" lowerBound="1"
3883 eType="#//Runnable"/>
3884 <eStructuralFeatures xsi:type="ecore:EReference" name="arguments" upperBound="-1"
3885 eType="#//CallArgument" containment="true" resolveProxies="false" eOpposite="#//CallArgument/containingCall"/>
3886 <eStructuralFeatures xsi:type="ecore:EReference" name="statistic" eType="#//RunEntityCallStatistic"
3887 containment="true" resolveProxies="false"/>
3888 </eClassifiers>
3889 <eClassifiers xsi:type="ecore:EEnum" name="Preemption">
3890 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
3891 <details key="documentation" value="Preemption type for scheduling"/>
3892 </eAnnotations>
3893 <eLiterals name="_undefined_"/>
3894 <eLiterals name="preemptive"/>
3895 <eLiterals name="cooperative"/>
3896 <eLiterals name="non_preemptive"/>
3897 </eClassifiers>
3898 <eClassifiers xsi:type="ecore:EEnum" name="ConcurrencyType">
3899 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
3900 <details key="documentation" value="Concurrency type of an entity"/>
3901 </eAnnotations>
3902 <eLiterals name="_undefined_"/>
3903 <eLiterals name="SingleCoreSafe">
3904 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
3905 <details key="documentation" value="Safe for access inside of the same core"/>
3906 </eAnnotations>
3907 </eLiterals>
3908 <eLiterals name="MultiCoreSafe">
3909 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
3910 <details key="documentation" value="Safe for access from another core"/>
3911 </eAnnotations>
3912 </eLiterals>
3913 <eLiterals name="SingleCorePrioSafe"/>
3914 </eClassifiers>
Harald Mackamul569b5522019-07-10 13:34:51 +02003915 <eClassifiers xsi:type="ecore:EClass" name="CustomEventTrigger" eSuperTypes="#//CallGraphItem">
Harald Mackamul0ebca062019-01-11 15:37:01 +01003916 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
3917 <details key="documentation" value="Explicitly trigger a custom event from a runnable."/>
3918 </eAnnotations>
3919 <eStructuralFeatures xsi:type="ecore:EReference" name="event" lowerBound="1" eType="#//CustomEvent"/>
3920 </eClassifiers>
3921 <eClassifiers xsi:type="ecore:EClass" name="DataType" abstract="true" interface="true">
3922 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
3923 <details key="documentation" value="Central access point for different data type definitions"/>
3924 </eAnnotations>
3925 </eClassifiers>
Harald Mackamul5df1f1e2019-04-03 15:41:08 +02003926 <eClassifiers xsi:type="ecore:EClass" name="CompoundType" abstract="true" eSuperTypes="#//BaseObject #//DataType">
Harald Mackamul0ebca062019-01-11 15:37:01 +01003927 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
3928 <details key="documentation" value="Couple of compound data types"/>
3929 </eAnnotations>
3930 </eClassifiers>
Harald Mackamul5df1f1e2019-04-03 15:41:08 +02003931 <eClassifiers xsi:type="ecore:EClass" name="Struct" eSuperTypes="#//CompoundType">
Harald Mackamul0ebca062019-01-11 15:37:01 +01003932 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
3933 <details key="documentation" value="Representing a struct definition, containing different entries"/>
3934 </eAnnotations>
3935 <eStructuralFeatures xsi:type="ecore:EReference" name="entries" upperBound="-1"
3936 eType="#//StructEntry" containment="true" resolveProxies="false"/>
3937 </eClassifiers>
3938 <eClassifiers xsi:type="ecore:EClass" name="StructEntry" eSuperTypes="#//BaseObject #//INamed">
3939 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
3940 <details key="documentation" value="Representation of one struct entry"/>
3941 </eAnnotations>
3942 <eStructuralFeatures xsi:type="ecore:EReference" name="dataType" eType="#//DataType"
3943 containment="true" resolveProxies="false"/>
3944 </eClassifiers>
Harald Mackamul5df1f1e2019-04-03 15:41:08 +02003945 <eClassifiers xsi:type="ecore:EClass" name="Array" eSuperTypes="#//CompoundType">
Harald Mackamul0ebca062019-01-11 15:37:01 +01003946 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
3947 <details key="documentation" value="Representation of an array data type"/>
3948 </eAnnotations>
3949 <eStructuralFeatures xsi:type="ecore:EAttribute" name="numberElements" unique="false"
Harald Mackamul5df1f1e2019-04-03 15:41:08 +02003950 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="0"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +01003951 <eStructuralFeatures xsi:type="ecore:EReference" name="dataType" eType="#//DataType"
3952 containment="true" resolveProxies="false"/>
3953 </eClassifiers>
Harald Mackamul5df1f1e2019-04-03 15:41:08 +02003954 <eClassifiers xsi:type="ecore:EClass" name="Pointer" eSuperTypes="#//CompoundType">
Harald Mackamul0ebca062019-01-11 15:37:01 +01003955 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
3956 <details key="documentation" value="Representing a pointer"/>
3957 </eAnnotations>
3958 <eStructuralFeatures xsi:type="ecore:EReference" name="dataType" eType="#//DataType"
3959 containment="true" resolveProxies="false"/>
3960 </eClassifiers>
Harald Mackamul5df1f1e2019-04-03 15:41:08 +02003961 <eClassifiers xsi:type="ecore:EClass" name="TypeRef" eSuperTypes="#//BaseObject #//DataType">
Harald Mackamul0ebca062019-01-11 15:37:01 +01003962 <eStructuralFeatures xsi:type="ecore:EReference" name="typeDef" eType="#//TypeDefinition"/>
3963 </eClassifiers>
Harald Mackamul5df1f1e2019-04-03 15:41:08 +02003964 <eClassifiers xsi:type="ecore:EClass" name="Alias" eSuperTypes="#//BaseObject">
3965 <eStructuralFeatures xsi:type="ecore:EAttribute" name="target" unique="false"
3966 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
Harald Mackamul0ebca062019-01-11 15:37:01 +01003967 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
Harald Mackamul5df1f1e2019-04-03 15:41:08 +02003968 <details key="documentation" value="Name of the target environment"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +01003969 </eAnnotations>
3970 </eStructuralFeatures>
Harald Mackamul5df1f1e2019-04-03 15:41:08 +02003971 <eStructuralFeatures xsi:type="ecore:EAttribute" name="alias" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
Harald Mackamul0ebca062019-01-11 15:37:01 +01003972 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
Harald Mackamul5df1f1e2019-04-03 15:41:08 +02003973 <details key="documentation" value="Corresponding name in the target environment"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +01003974 </eAnnotations>
3975 </eStructuralFeatures>
3976 </eClassifiers>
Harald Mackamul5df1f1e2019-04-03 15:41:08 +02003977 <eClassifiers xsi:type="ecore:EClass" name="TypeDefinition" abstract="true" eSuperTypes="#//ReferableBaseObject">
3978 <eStructuralFeatures xsi:type="ecore:EReference" name="size" eType="#//DataSize"
3979 containment="true" resolveProxies="false">
3980 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
3981 <details key="documentation" value="Size of the defined data type"/>
3982 </eAnnotations>
3983 </eStructuralFeatures>
3984 </eClassifiers>
Harald Mackamul0ebca062019-01-11 15:37:01 +01003985 <eClassifiers xsi:type="ecore:EClass" name="DataTypeDefinition" eSuperTypes="#//TypeDefinition">
3986 <eStructuralFeatures xsi:type="ecore:EReference" name="dataType" eType="#//DataType"
3987 containment="true" resolveProxies="false"/>
3988 </eClassifiers>
3989 <eClassifiers xsi:type="ecore:EClass" name="BaseTypeDefinition" eSuperTypes="#//TypeDefinition">
3990 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
Harald Mackamul5df1f1e2019-04-03 15:41:08 +02003991 <details key="documentation" value="Basic data type definition, including naming (alias) in target environments"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +01003992 </eAnnotations>
Harald Mackamul5df1f1e2019-04-03 15:41:08 +02003993 <eStructuralFeatures xsi:type="ecore:EReference" name="aliases" upperBound="-1"
3994 eType="#//Alias" containment="true" resolveProxies="false">
Harald Mackamul0ebca062019-01-11 15:37:01 +01003995 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
Harald Mackamul5df1f1e2019-04-03 15:41:08 +02003996 <details key="documentation" value="Naming in different target environments"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +01003997 </eAnnotations>
3998 </eStructuralFeatures>
3999 </eClassifiers>
4000 <eClassifiers xsi:type="ecore:EClass" name="Activation" abstract="true" eSuperTypes="#//ReferableBaseObject #//ITaggable">
4001 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
4002 <details key="documentation" value="General abstraction for activation source.&#xA;Used for first definition of an activation rate, which is later refined by stimulus."/>
4003 </eAnnotations>
4004 </eClassifiers>
4005 <eClassifiers xsi:type="ecore:EClass" name="PeriodicActivation" eSuperTypes="#//Activation">
4006 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
4007 <details key="documentation" value="Min and Max execution frequency within a task or timeslice"/>
4008 </eAnnotations>
4009 <eStructuralFeatures xsi:type="ecore:EReference" name="min" eType="#//Time" containment="true"
4010 resolveProxies="false"/>
4011 <eStructuralFeatures xsi:type="ecore:EReference" name="max" eType="#//Time" containment="true"
4012 resolveProxies="false"/>
4013 <eStructuralFeatures xsi:type="ecore:EReference" name="recurrence" lowerBound="1"
4014 eType="#//Time" containment="true" resolveProxies="false"/>
4015 <eStructuralFeatures xsi:type="ecore:EReference" name="offset" lowerBound="1"
4016 eType="#//Time" containment="true" resolveProxies="false"/>
4017 </eClassifiers>
4018 <eClassifiers xsi:type="ecore:EClass" name="VariableRateActivation" eSuperTypes="#//Activation">
4019 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
4020 <details key="documentation" value="Periodic activation based on other events, like rotation speed"/>
4021 </eAnnotations>
4022 <eStructuralFeatures xsi:type="ecore:EAttribute" name="description" unique="false"
Harald Mackamul5df1f1e2019-04-03 15:41:08 +02004023 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +01004024 <eStructuralFeatures xsi:type="ecore:EReference" name="step" lowerBound="1" eType="#//Time"
4025 containment="true" resolveProxies="false"/>
4026 <eStructuralFeatures xsi:type="ecore:EReference" name="occurrencesPerStep" lowerBound="1"
4027 eType="#//IContinuousValueDeviation" containment="true" resolveProxies="false"/>
4028 </eClassifiers>
4029 <eClassifiers xsi:type="ecore:EClass" name="SporadicActivation" eSuperTypes="#//Activation">
4030 <eStructuralFeatures xsi:type="ecore:EAttribute" name="description" unique="false"
Harald Mackamul5df1f1e2019-04-03 15:41:08 +02004031 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
Harald Mackamul061ad352019-01-18 12:13:13 +01004032 <eStructuralFeatures xsi:type="ecore:EReference" name="occurrence" lowerBound="1"
Harald Mackamul0ebca062019-01-11 15:37:01 +01004033 eType="#//ITimeDeviation" containment="true" resolveProxies="false"/>
4034 </eClassifiers>
4035 <eClassifiers xsi:type="ecore:EClass" name="SingleActivation" eSuperTypes="#//Activation">
4036 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
4037 <details key="documentation" value="A single activation between time min and max"/>
4038 </eAnnotations>
4039 <eStructuralFeatures xsi:type="ecore:EReference" name="min" eType="#//Time" containment="true"
4040 resolveProxies="false"/>
4041 <eStructuralFeatures xsi:type="ecore:EReference" name="max" eType="#//Time" containment="true"
4042 resolveProxies="false"/>
4043 </eClassifiers>
4044 <eClassifiers xsi:type="ecore:EClass" name="EventActivation" eSuperTypes="#//Activation">
4045 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
4046 <details key="documentation" value="Activation which is triggered by an event."/>
4047 </eAnnotations>
4048 <eStructuralFeatures xsi:type="ecore:EReference" name="triggeringEvents" lowerBound="1"
4049 upperBound="-1" eType="#//TriggerEvent"/>
4050 <eStructuralFeatures xsi:type="ecore:EReference" name="counter" eType="#//Counter"
4051 containment="true" resolveProxies="false"/>
4052 </eClassifiers>
4053 <eClassifiers xsi:type="ecore:EClass" name="CustomActivation" eSuperTypes="#//Activation">
4054 <eStructuralFeatures xsi:type="ecore:EAttribute" name="description" unique="false"
Harald Mackamul5df1f1e2019-04-03 15:41:08 +02004055 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
Harald Mackamul0ebca062019-01-11 15:37:01 +01004056 </eClassifiers>
4057 <eClassifiers xsi:type="ecore:EClass" name="LabelAccessStatistic" eSuperTypes="#//BaseObject">
4058 <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
4059 <details key="documentation" value="Contains information about access statistic values"/>
4060 </eAnnotations>
4061 <eStructuralFeatures xsi:type="ecore:EReference" name="value" eType="#//NumericStatistic"
4062 containment="true" resolveProxies="false"/>
4063 <eStructuralFeatures xsi:type="ecore:EReference" name="cacheMisses" eType="#//NumericStatistic"
4064 containment="true" resolveProxies="false"/>
4065 </eClassifiers>
4066 <eClassifiers xsi:type="ecore:EClass" name="RunEntityCallStatistic" eSuperTypes="#//BaseObject">
4067 <eStructuralFeatures xsi:type="ecore:EReference" name="statistic" eType="#//NumericStatistic"
4068 containment="true" resolveProxies="false"/>
4069 </eClassifiers>
4070 <eClassifiers xsi:type="ecore:EEnum" name="ASILType">
4071 <eLiterals name="_undefined_"/>
4072 <eLiterals name="D"/>
4073 <eLiterals name="C"/>
4074 <eLiterals name="B"/>
4075 <eLiterals name="A"/>
4076 <eLiterals name="QM"/>
4077 </eClassifiers>
4078 <eClassifiers xsi:type="ecore:EClass" name="MeasurementModel" eSuperTypes="#//BaseObject">
4079 <eStructuralFeatures xsi:type="ecore:EReference" name="measurements" upperBound="-1"
4080 eType="#//Measurement" containment="true" resolveProxies="false"/>
4081 </eClassifiers>
4082 <eClassifiers xsi:type="ecore:EClass" name="Measurement" abstract="true" eSuperTypes="#//BaseObject">
4083 <eStructuralFeatures xsi:type="ecore:EReference" name="runtimes" upperBound="-1"
4084 eType="#//Time" containment="true" resolveProxies="false"/>
4085 <eStructuralFeatures xsi:type="ecore:EReference" name="runtimeDeviation" eType="#//ITimeDeviation"
4086 containment="true" resolveProxies="false"/>
4087 </eClassifiers>
4088 <eClassifiers xsi:type="ecore:EClass" name="EventChainMeasurement" eSuperTypes="#//Measurement">
4089 <eStructuralFeatures xsi:type="ecore:EReference" name="eventChain" lowerBound="1"
4090 eType="#//EventChain"/>
4091 </eClassifiers>
4092 <eClassifiers xsi:type="ecore:EClass" name="TaskMeasurement" eSuperTypes="#//Measurement">
4093 <eStructuralFeatures xsi:type="ecore:EReference" name="task" lowerBound="1" eType="#//Task"/>
4094 </eClassifiers>
4095 <eClassifiers xsi:type="ecore:EClass" name="RunnableMeasurement" eSuperTypes="#//Measurement">
4096 <eStructuralFeatures xsi:type="ecore:EReference" name="runnable" lowerBound="1"
4097 eType="#//Runnable"/>
4098 </eClassifiers>
4099</ecore:EPackage>