timing.ecore 26.9 KB
Newer Older
Alexander Diewald's avatar
Alexander Diewald committed
1
2
3
<?xml version="1.0" encoding="UTF-8"?>
<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="model" nsURI="http://www.fortiss.org/af3/timing" nsPrefix="org-fortiss-af3-timing">
4
  <eClassifiers xsi:type="ecore:EDataType" name="Time" instanceClassName="java.math.BigDecimal">
5
6
7
8
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="Data type used to represent temporal values. The interpretation of the value (i.e., the unit), must be defined for each of the attributes using this data type. It is recommeded to indicate the unit using Hungarian notation, e.g. by appending a &quot;_s&quot; prefix to the attribute name if the unit is seconds."/>
    </eAnnotations>
  </eClassifiers>
9
  <eClassifiers xsi:type="ecore:EClass" name="TimingSpecification" eSuperTypes="platform:/resource/org.fortiss.tooling.kernel/model/kernel.ecore#//IProjectRootElement">
10
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
11
      <details key="documentation" value="Root element of timing model (collection of events, event chains, and constraints imposed onto them)"/>
12
    </eAnnotations>
13
14
15
16
17
18
19
20
21
    <eOperations name="getEvents">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Returns the {@link Event}s contained by this {@code TimingSpecification}'s {@link EventsContainer}."/>
        <details key="body" value="return TimingSpecificationStaticImpl.getEvents(this);"/>
      </eAnnotations>
      <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">
        <eTypeArguments eClassifier="#//Event"/>
      </eGenericType>
    </eOperations>
22
    <eOperations name="getEvent">
23
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
24
25
        <details key="documentation" value="For the given {@link IModelElement}, returns the {@link EntityEvent} of the given {@code type}."/>
        <details key="body" value="return TimingSpecificationStaticImpl.getEvent(this, element, type);"/>
26
      </eAnnotations>
27
      <eGenericType eTypeParameter="#//TimingSpecification/getEvent/T"/>
28
29
30
31
32
33
      <eTypeParameters name="T">
        <eBounds eClassifier="#//EntityEvent"/>
      </eTypeParameters>
      <eParameters name="element" eType="ecore:EClass platform:/resource/org.fortiss.tooling.base/model/base.ecore#//element/IModelElement"/>
      <eParameters name="type">
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaClass">
34
          <eTypeArguments eTypeParameter="#//TimingSpecification/getEvent/T"/>
35
36
37
38
39
40
41
42
43
44
45
46
47
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="getEvents">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="For the given {@link IModelElement}, returns the corresponding {@link EntityEvent}s."/>
        <details key="body" value="return TimingSpecificationStaticImpl.getEvents(this, element);"/>
      </eAnnotations>
      <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">
        <eTypeArguments eClassifier="#//EntityEvent"/>
      </eGenericType>
      <eParameters name="element" eType="ecore:EClass platform:/resource/org.fortiss.tooling.base/model/base.ecore#//element/IModelElement"/>
    </eOperations>
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
    <eOperations name="getEvents">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="For the given {@link EntityEvent} type, returns the corresponding {@link EntityEvent}s."/>
        <details key="body" value="return TimingSpecificationStaticImpl.getEvents(this, type);"/>
      </eAnnotations>
      <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">
        <eTypeArguments eTypeParameter="#//TimingSpecification/getEvents.2/T"/>
      </eGenericType>
      <eTypeParameters name="T">
        <eBounds eClassifier="#//EntityEvent"/>
      </eTypeParameters>
      <eParameters name="type">
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaClass">
          <eTypeArguments eTypeParameter="#//TimingSpecification/getEvents.2/T"/>
        </eGenericType>
      </eParameters>
    </eOperations>
65
66
67
68
69
70
71
72
73
    <eOperations name="getEventChains">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Returns the {@link EventChains}s contained by this {@code TimingSpecification}'s {@link EventChainsContainer}."/>
        <details key="body" value="return TimingSpecificationStaticImpl.getEventChains(this);"/>
      </eAnnotations>
      <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">
        <eTypeArguments eClassifier="#//EventChain"/>
      </eGenericType>
    </eOperations>
Simon Barner's avatar
Simon Barner committed
74
75
76
77
78
79
80
    <eOperations name="addEvent">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Adds the given {@link Event} to this {@link TimingSpecification}."/>
        <details key="body" value="TimingSpecificationStaticImpl.addEvent(this, event);"/>
      </eAnnotations>
      <eParameters name="event" eType="#//Event"/>
    </eOperations>
Simon Barner's avatar
Simon Barner committed
81
82
83
84
85
86
87
88
89
90
    <eOperations name="getEventChains">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Returns all {@link EventChain}s that are associated to the given {@link Event}."/>
        <details key="body" value="return TimingSpecificationStaticImpl.getEventChains(this, event);"/>
      </eAnnotations>
      <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">
        <eTypeArguments eClassifier="#//EventChain"/>
      </eGenericType>
      <eParameters name="event" eType="#//Event"/>
    </eOperations>
91
92
    <eOperations name="getConstraints">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
93
        <details key="documentation" value="Returns the {@link EventConstraint}s contained by this {@code TimingSpecification}'s {@link EventConstraintsContainer}."/>
94
95
96
        <details key="body" value="return TimingSpecificationStaticImpl.getConstraints(this);"/>
      </eAnnotations>
      <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">
97
        <eTypeArguments eClassifier="#//EventConstraint"/>
98
99
      </eGenericType>
    </eOperations>
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
    <eOperations name="getConstraints">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Returns all {@link EventConstraint}s that are associated to the given {@link Event}."/>
        <details key="body" value="return TimingSpecificationStaticImpl.getConstraints(this, event);"/>
      </eAnnotations>
      <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">
        <eTypeArguments eClassifier="#//EventConstraint"/>
      </eGenericType>
      <eParameters name="event" eType="#//Event"/>
    </eOperations>
    <eOperations name="getConstraint">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Returns the (unique!) {@link EventConstraint} of the given {@code type} that is associated to the given {@link Event} (or {@code null} in case it does not exist)."/>
        <details key="body" value="return TimingSpecificationStaticImpl.getConstraint(this, event, type);"/>
      </eAnnotations>
      <eGenericType eTypeParameter="#//TimingSpecification/getConstraint/T"/>
      <eTypeParameters name="T">
        <eBounds eClassifier="#//EventConstraint"/>
      </eTypeParameters>
      <eParameters name="event" eType="#//Event"/>
      <eParameters name="type">
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaClass">
          <eTypeArguments eTypeParameter="#//TimingSpecification/getConstraint/T"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="getConstraints">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Returns all {@link EventConstraint}s that are associated to the given {@link IModelElement}."/>
        <details key="body" value="return TimingSpecificationStaticImpl.getConstraints(this, element);"/>
      </eAnnotations>
      <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">
        <eTypeArguments eClassifier="#//EventConstraint"/>
      </eGenericType>
      <eParameters name="element" eType="ecore:EClass platform:/resource/org.fortiss.tooling.base/model/base.ecore#//element/IModelElement"/>
    </eOperations>
    <eOperations name="getConstraint">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Returns the (unique!) {@link EventConstraint} of the given {@code constraintType} that is associated to the given {@link IModelElement} via the given {@code eventType}) (or {@code null} in case it does not exist)."/>
        <details key="body" value="return TimingSpecificationStaticImpl.getConstraint(this, element, constraintType, eventType);"/>
      </eAnnotations>
      <eGenericType eTypeParameter="#//TimingSpecification/getConstraint.1/C"/>
      <eTypeParameters name="C">
        <eBounds eClassifier="#//EventConstraint"/>
      </eTypeParameters>
      <eTypeParameters name="E">
        <eBounds eClassifier="#//EntityEvent"/>
      </eTypeParameters>
      <eParameters name="element" eType="ecore:EClass platform:/resource/org.fortiss.tooling.base/model/base.ecore#//element/IModelElement"/>
      <eParameters name="constraintType">
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaClass">
          <eTypeArguments eTypeParameter="#//TimingSpecification/getConstraint.1/C"/>
        </eGenericType>
      </eParameters>
      <eParameters name="eventType">
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaClass">
          <eTypeArguments eTypeParameter="#//TimingSpecification/getConstraint.1/E"/>
        </eGenericType>
      </eParameters>
    </eOperations>
160
161
162
163
164
165
    <eStructuralFeatures xsi:type="ecore:EReference" name="rootElements" upperBound="-1"
        eType="ecore:EClass platform:/resource/org.fortiss.tooling.kernel/model/kernel.ecore#//IProjectRootElement">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="{@link IProjectRootElement}s linked to this {@link TimingSpecification}."/>
      </eAnnotations>
    </eStructuralFeatures>
166
167
168
169
170
    <eStructuralFeatures xsi:type="ecore:EReference" name="eventsContainer" lowerBound="1"
        eType="#//EventsContainer" containment="true"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="eventChainsContainer" lowerBound="1"
        eType="#//EventChainsContainer" containment="true"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="constraintsContainer" lowerBound="1"
171
        eType="#//EventConstraintsContainer" containment="true"/>
172
  </eClassifiers>
173
  <eClassifiers xsi:type="ecore:EClass" name="EventsContainer" eSuperTypes="platform:/resource/org.fortiss.tooling.kernel/model/kernel.ecore#//IIdLabeled">
174
175
176
177
178
179
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="Container for {@link Event}s."/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="events" upperBound="-1"
        eType="#//Event" containment="true"/>
  </eClassifiers>
180
  <eClassifiers xsi:type="ecore:EClass" name="EventChainsContainer" eSuperTypes="platform:/resource/org.fortiss.tooling.kernel/model/kernel.ecore#//IIdLabeled">
181
182
183
184
185
186
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="Container for {@link EventChain}s."/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="eventChains" upperBound="-1"
        eType="#//EventChain" containment="true"/>
  </eClassifiers>
187
  <eClassifiers xsi:type="ecore:EClass" name="EventConstraintsContainer" eSuperTypes="platform:/resource/org.fortiss.tooling.kernel/model/kernel.ecore#//IIdLabeled">
188
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
189
      <details key="documentation" value="Container for {@link EventConstraint}s."/>
190
191
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="constraints" upperBound="-1"
192
        eType="#//EventConstraint" containment="true"/>
193
  </eClassifiers>
194
  <eClassifiers xsi:type="ecore:EClass" name="Event" abstract="true" eSuperTypes="platform:/resource/org.fortiss.tooling.kernel/model/kernel.ecore#//IIdLabeled">
195
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
196
      <details key="documentation" value="Distinct form of state change in a running system. Events take place at distinct points in time (&quot;occurrence&quot; of the event)."/>
197
    </eAnnotations>
198
199
200
201
202
203
    <eOperations name="getEntity" eType="ecore:EClass platform:/resource/org.fortiss.tooling.base/model/base.ecore#//element/IModelElement">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="In case this {@link Event} is an {@link EntityEvent}, the referenced entity is returned. Otherwise, the method returns {@code null}."/>
        <details key="body" value="return EventStaticImpl.getEntity(this);"/>
      </eAnnotations>
    </eOperations>
204
  </eClassifiers>
205
  <eClassifiers xsi:type="ecore:EClass" name="EntityEvent" abstract="true" eSuperTypes="#//Event platform:/resource/org.fortiss.tooling.base/model/base.ecore#//element/IModelElementReference">
206
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
207
      <details key="documentation" value="{@link Event} specialization related to a specific entity of the system."/>
208
209
    </eAnnotations>
  </eClassifiers>
210
  <eClassifiers xsi:type="ecore:EClass" name="EventReference" abstract="true" eSuperTypes="platform:/resource/org.fortiss.tooling.kernel/model/kernel.ecore#//IIdLabeled">
Simon Barner's avatar
Simon Barner committed
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="{@link TimingSpecification} element that references an {@link Event}."/>
    </eAnnotations>
    <eOperations name="setEvent">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Assigns the given {@link Event} to the given {@code eventRef}. In case the arity of {@code eventRef} is > 1, the {@link Event} is appended to the list."/>
        <details key="body" value="EventReferenceStaticImpl.setEvent(this, event, ref);"/>
      </eAnnotations>
      <eTypeParameters name="T">
        <eBounds eClassifier="#//Event"/>
      </eTypeParameters>
      <eParameters name="event">
        <eGenericType eTypeParameter="#//EventReference/setEvent/T"/>
      </eParameters>
      <eParameters name="ref" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EReference"/>
    </eOperations>
  </eClassifiers>
228
  <eClassifiers xsi:type="ecore:EClass" name="EventChain" eSuperTypes="#//EventReference">
229
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
230
      <details key="documentation" value="{@link Event} flow chain (typically between different entities)."/>
231
    </eAnnotations>
232
233
234
235
236
237
    <eOperations name="getParentChain" eType="#//EventChain">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Returns the {@link EventChain} that contains this {@link EventChain}, or {@code null} in case this is the root {@link EventChain}."/>
        <details key="body" value="return EventChainStaticImpl.getParentChain(this);"/>
      </eAnnotations>
    </eOperations>
238
239
240
241
242
243
    <eOperations name="getRootChain" eType="#//EventChain">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Returns the root {@link EventChain} owns this {@link EventChain} (identity function in case this is the root {@link EventChain})."/>
        <details key="body" value="return EventChainStaticImpl.getRootChain(this);"/>
      </eAnnotations>
    </eOperations>
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
    <eOperations name="getStimulus" eType="#//Event">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Returns the {@link #stimulus} {@link Event} of this {@code EventChain}. In case this is not the root {@link EventChain}, but the first sub-{@link EventChain}, the methods returns the {@link #stimulus} of its parent {@link EventChain}."/>
        <details key="body" value="return EventChainStaticImpl.getStimulus(this);"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="setStimulus">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Sets the {@link #stimulus} {@link Event} of this {@code EventChain}. In case this is not the root {@link EventChain}, but the first sub-{@link EventChain}, the methods sets the {@link #stimulus} of its parent {@link EventChain}."/>
        <details key="body" value="EventChainStaticImpl.setStimulus(this, event);"/>
      </eAnnotations>
      <eParameters name="event" eType="#//Event"/>
    </eOperations>
    <eOperations name="getResponse" eType="#//Event">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Returns the {@link #response} {@link Event} of this {@code EventChain}. In case this is not the root {@link EventChain}, but the last sub-{@link EventChain}, the methods returns the {@link #response} of its parent {@link EventChain}."/>
        <details key="body" value="return EventChainStaticImpl.getResponse(this);"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="setResponse">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Sets the {@link #response} {@link Event} of this {@code EventChain}. In case this is not the root {@link EventChain}, but the last sub-{@link EventChain}, the methods sets the {@link #response} of its parent {@link EventChain}."/>
        <details key="body" value="EventChainStaticImpl.setResponse(this, event);"/>
      </eAnnotations>
      <eParameters name="event" eType="#//Event"/>
    </eOperations>
    <eOperations name="isFirstSubChain" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value=" Predicate whether this {@link EventChain} is the first sub-chain of its parent."/>
        <details key="body" value="return EventChainStaticImpl.isFirstSubChain(this);"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="isLastSubChain" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value=" Predicate whether this {@link EventChain} is the last sub-chain of its parent."/>
        <details key="body" value="return EventChainStaticImpl.isLastSubChain(this);"/>
      </eAnnotations>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="stimulus" eType="#//Event">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="suppressedGetVisibility" value="true"/>
        <details key="suppressedSetVisibility" value="true"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="response" eType="#//Event">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="suppressedGetVisibility" value="true"/>
        <details key="suppressedSetVisibility" value="true"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="subchains" upperBound="-1"
295
        eType="#//EventChain" containment="true"/>
296
297
    <eStructuralFeatures xsi:type="ecore:EReference" name="constraints" upperBound="-1"
        eType="#//EventChainConstraint" containment="true"/>
298
  </eClassifiers>
299
  <eClassifiers xsi:type="ecore:EClass" name="TimingConstraint" abstract="true">
300
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
301
      <details key="documentation" value="Base class for constraint imposed onto {@link Event}s or {@link EventChain}s."/>
302
303
    </eAnnotations>
  </eClassifiers>
304
  <eClassifiers xsi:type="ecore:EClass" name="EventConstraint" abstract="true" eSuperTypes="#//TimingConstraint #//EventReference">
305
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
306
      <details key="documentation" value="Constraint imposed onto {@link Event}s."/>
307
308
    </eAnnotations>
  </eClassifiers>
309
310
311
312
313
314
  <eClassifiers xsi:type="ecore:EClass" name="PeriodicConstraint" eSuperTypes="#//EventConstraint">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="{@link EventConstraint} that describes an {@link Event} occurs periodically."/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="event" lowerBound="1" eType="#//Event"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="period" lowerBound="1"
315
        eType="#//Time"/>
316
317
318
319
320
321
322
323
324
325
326
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="jitter" lowerBound="1"
        eType="#//Time"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="SporadicConstraint" eSuperTypes="#//EventConstraint">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="{@link EventConstraint} that describes an event that occurs with a minimum interarrival time in between successive occurrences"/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="event" lowerBound="1" eType="#//Event"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="minDistance" lowerBound="1"
        eType="#//Time"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="jitter" lowerBound="1"
327
328
        eType="#//Time"/>
  </eClassifiers>
329
  <eClassifiers xsi:type="ecore:EClass" name="AperiodicConstraint" eSuperTypes="#//EventConstraint">
330
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
331
332
333
334
      <details key="documentation" value="{@link EventConstraint} that describes an {@link Event} that occurs only once."/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="event" lowerBound="1" eType="#//Event"/>
  </eClassifiers>
335
336
337
338
339
340
341
342
343
  <eClassifiers xsi:type="ecore:EClass" name="SynchronizationConstraint" eSuperTypes="#//EventConstraint">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="{@link EventConstraint} that describes how tightly the occurrences of a group of events has to follow each other. "/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="events" lowerBound="2"
        upperBound="-1" eType="#//Event"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="tolerance" lowerBound="1"
        eType="#//Time"/>
  </eClassifiers>
344
345
346
347
  <eClassifiers xsi:type="ecore:EClass" name="EventChainConstraint" abstract="true"
      eSuperTypes="#//TimingConstraint">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="Constraint imposed onto {@link EventChain}s."/>
348
    </eAnnotations>
349
350
351
352
353
354
    <eOperations name="getEventChain" eType="#//EventChain">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Returns the {@link EventChain} to which this {@link EventChainConstraint} applies."/>
        <details key="body" value="return EventChainConstraintStaticImpl.getEventChain(this);"/>
      </eAnnotations>
    </eOperations>
355
356
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="ReactionConstraint" eSuperTypes="#//EventChainConstraint">
357
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
358
      <details key="documentation" value="Defines how long after the occurrence of a {@code stimulus} of the referenced {@link EventChain} a corresponding {@code response} must occur."/>
359
360
361
362
363
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="minimum" lowerBound="1"
        eType="#//Time"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="maximum" lowerBound="1"
        eType="#//Time"/>
364
  </eClassifiers>
Alexander Diewald's avatar
Alexander Diewald committed
365
366
  <eSubpackages name="annotation" nsURI="http://www.fortiss.org/af3/timing/annotation"
      nsPrefix="org-fortiss-af3-timing-annotation">
367
    <eClassifiers xsi:type="ecore:EClass" name="TransmissionUnitBandwidth" eSuperTypes="platform:/resource/org.fortiss.tooling.base/model/base.ecore#//element/IAnnotatedSpecification platform:/resource/org.fortiss.tooling.base/model/base.ecore#//element/IHiddenSpecification">
Alexander Diewald's avatar
Alexander Diewald committed
368
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
Simon Barner's avatar
YELLOW    
Simon Barner committed
369
        <details key="documentation" value="Annotation providing bandwidth of a TransmissionUnit (in Mbit/s)"/>
Alexander Diewald's avatar
Alexander Diewald committed
370
      </eAnnotations>
371
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="bandwidth_MBitS" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble">
Alexander Diewald's avatar
Alexander Diewald committed
372
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
Simon Barner's avatar
YELLOW    
Simon Barner committed
373
          <details key="documentation" value="Speed of TransmissionUnit (in Mbit/s)."/>
Alexander Diewald's avatar
Alexander Diewald committed
374
375
376
        </eAnnotations>
      </eStructuralFeatures>
    </eClassifiers>
377
    <eClassifiers xsi:type="ecore:EClass" name="Wcet" eSuperTypes="platform:/resource/org.fortiss.tooling.base/model/base.ecore#//element/IAnnotatedSpecification platform:/resource/org.fortiss.tooling.base/model/base.ecore#//element/IHiddenSpecification">
Simon Barner's avatar
YELLOW    
Simon Barner committed
378
379
380
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Annotation providing the WCET in seconds (typically of {@link Task}s."/>
      </eAnnotations>
381
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="#//Time">
382
383
384
385
386
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="WCET in seconds."/>
        </eAnnotations>
      </eStructuralFeatures>
    </eClassifiers>
387
    <eClassifiers xsi:type="ecore:EClass" name="Period" eSuperTypes="platform:/resource/org.fortiss.tooling.base/model/base.ecore#//element/IAnnotatedSpecification platform:/resource/org.fortiss.tooling.base/model/base.ecore#//element/IHiddenSpecification">
Simon Barner's avatar
YELLOW    
Simon Barner committed
388
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
389
        <details key="documentation" value="@deprecated Use {@link PeriodicConstraint} instead."/>
Simon Barner's avatar
YELLOW    
Simon Barner committed
390
      </eAnnotations>
391
392
393
394
395
396
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="#//Time">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="Period time in seconds."/>
        </eAnnotations>
      </eStructuralFeatures>
    </eClassifiers>
Alexander Diewald's avatar
Alexander Diewald committed
397
398
  </eSubpackages>
</ecore:EPackage>