sysml-validate 0.10.18 → 0.14.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +27 -27
- package/README.md +200 -200
- package/out/main.js +596 -141
- package/out/main.js.map +4 -4
- package/package.json +57 -57
- package/resources/sysml.dimension-table.json +1 -1
- package/resources/sysml.library/Domain Libraries/Analysis/.meta.json +9 -9
- package/resources/sysml.library/Domain Libraries/Analysis/.project.json +26 -26
- package/resources/sysml.library/Domain Libraries/Analysis/AnalysisTooling.sysml +33 -33
- package/resources/sysml.library/Domain Libraries/Analysis/SampledFunctions.sysml +118 -118
- package/resources/sysml.library/Domain Libraries/Analysis/StateSpaceRepresentation.sysml +143 -143
- package/resources/sysml.library/Domain Libraries/Analysis/TradeStudies.sysml +170 -170
- package/resources/sysml.library/Domain Libraries/Cause and Effect/.meta.json +7 -7
- package/resources/sysml.library/Domain Libraries/Cause and Effect/.project.json +22 -22
- package/resources/sysml.library/Domain Libraries/Cause and Effect/CausationConnections.sysml +82 -82
- package/resources/sysml.library/Domain Libraries/Cause and Effect/CauseAndEffect.sysml +81 -81
- package/resources/sysml.library/Domain Libraries/Geometry/.meta.json +7 -7
- package/resources/sysml.library/Domain Libraries/Geometry/.project.json +26 -26
- package/resources/sysml.library/Domain Libraries/Geometry/ShapeItems.sysml +898 -898
- package/resources/sysml.library/Domain Libraries/Geometry/SpatialItems.sysml +167 -167
- package/resources/sysml.library/Domain Libraries/Metadata/.meta.json +9 -9
- package/resources/sysml.library/Domain Libraries/Metadata/.project.json +18 -18
- package/resources/sysml.library/Domain Libraries/Metadata/ImageMetadata.sysml +77 -77
- package/resources/sysml.library/Domain Libraries/Metadata/ModelingMetadata.sysml +142 -142
- package/resources/sysml.library/Domain Libraries/Metadata/ParametersOfInterestMetadata.sysml +38 -38
- package/resources/sysml.library/Domain Libraries/Metadata/RiskMetadata.sysml +99 -99
- package/resources/sysml.library/Domain Libraries/Quantities and Units/.meta.json +28 -28
- package/resources/sysml.library/Domain Libraries/Quantities and Units/.project.json +22 -22
- package/resources/sysml.library/Domain Libraries/Quantities and Units/ISQ.sysml +42 -42
- package/resources/sysml.library/Domain Libraries/Quantities and Units/ISQAcoustics.sysml +439 -439
- package/resources/sysml.library/Domain Libraries/Quantities and Units/ISQAtomicNuclear.sysml +2726 -2726
- package/resources/sysml.library/Domain Libraries/Quantities and Units/ISQBase.sysml +206 -206
- package/resources/sysml.library/Domain Libraries/Quantities and Units/ISQCharacteristicNumbers.sysml +1991 -1991
- package/resources/sysml.library/Domain Libraries/Quantities and Units/ISQChemistryMolecular.sysml +1353 -1353
- package/resources/sysml.library/Domain Libraries/Quantities and Units/ISQCondensedMatter.sysml +1223 -1223
- package/resources/sysml.library/Domain Libraries/Quantities and Units/ISQElectromagnetism.sysml +2333 -2333
- package/resources/sysml.library/Domain Libraries/Quantities and Units/ISQInformation.sysml +958 -958
- package/resources/sysml.library/Domain Libraries/Quantities and Units/ISQLight.sysml +1537 -1537
- package/resources/sysml.library/Domain Libraries/Quantities and Units/ISQMechanics.sysml +1564 -1564
- package/resources/sysml.library/Domain Libraries/Quantities and Units/ISQSpaceTime.sysml +1169 -1169
- package/resources/sysml.library/Domain Libraries/Quantities and Units/ISQThermodynamics.sysml +1256 -1256
- package/resources/sysml.library/Domain Libraries/Quantities and Units/MeasurementRefCalculations.sysml +30 -30
- package/resources/sysml.library/Domain Libraries/Quantities and Units/MeasurementReferences.sysml +526 -526
- package/resources/sysml.library/Domain Libraries/Quantities and Units/Quantities.sysml +107 -107
- package/resources/sysml.library/Domain Libraries/Quantities and Units/QuantityCalculations.sysml +70 -70
- package/resources/sysml.library/Domain Libraries/Quantities and Units/SI.sysml +378 -378
- package/resources/sysml.library/Domain Libraries/Quantities and Units/SIPrefixes.sysml +48 -48
- package/resources/sysml.library/Domain Libraries/Quantities and Units/TensorCalculations.sysml +49 -49
- package/resources/sysml.library/Domain Libraries/Quantities and Units/Time.sysml +274 -274
- package/resources/sysml.library/Domain Libraries/Quantities and Units/USCustomaryUnits.sysml +260 -260
- package/resources/sysml.library/Domain Libraries/Quantities and Units/VectorCalculations.sysml +62 -62
- package/resources/sysml.library/Domain Libraries/Requirement Derivation/.meta.json +7 -7
- package/resources/sysml.library/Domain Libraries/Requirement Derivation/.project.json +18 -18
- package/resources/sysml.library/Domain Libraries/Requirement Derivation/DerivationConnections.sysml +62 -62
- package/resources/sysml.library/Domain Libraries/Requirement Derivation/RequirementDerivation.sysml +38 -38
- package/resources/sysml.library/Kernel Libraries/Kernel Data Type Library/.meta.json +8 -8
- package/resources/sysml.library/Kernel Libraries/Kernel Data Type Library/.project.json +10 -10
- package/resources/sysml.library/Kernel Libraries/Kernel Data Type Library/Collections.kerml +176 -176
- package/resources/sysml.library/Kernel Libraries/Kernel Data Type Library/ScalarValues.kerml +23 -23
- package/resources/sysml.library/Kernel Libraries/Kernel Data Type Library/VectorValues.kerml +63 -63
- package/resources/sysml.library/Kernel Libraries/Kernel Function Library/.meta.json +22 -22
- package/resources/sysml.library/Kernel Libraries/Kernel Function Library/.project.json +14 -14
- package/resources/sysml.library/Kernel Libraries/Kernel Function Library/BaseFunctions.kerml +79 -79
- package/resources/sysml.library/Kernel Libraries/Kernel Function Library/BooleanFunctions.kerml +22 -22
- package/resources/sysml.library/Kernel Libraries/Kernel Function Library/CollectionFunctions.kerml +68 -68
- package/resources/sysml.library/Kernel Libraries/Kernel Function Library/ComplexFunctions.kerml +47 -47
- package/resources/sysml.library/Kernel Libraries/Kernel Function Library/ControlFunctions.kerml +116 -116
- package/resources/sysml.library/Kernel Libraries/Kernel Function Library/DataFunctions.kerml +42 -42
- package/resources/sysml.library/Kernel Libraries/Kernel Function Library/IntegerFunctions.kerml +43 -43
- package/resources/sysml.library/Kernel Libraries/Kernel Function Library/NaturalFunctions.kerml +27 -27
- package/resources/sysml.library/Kernel Libraries/Kernel Function Library/NumericalFunctions.kerml +42 -42
- package/resources/sysml.library/Kernel Libraries/Kernel Function Library/OccurrenceFunctions.kerml +153 -153
- package/resources/sysml.library/Kernel Libraries/Kernel Function Library/RationalFunctions.kerml +49 -49
- package/resources/sysml.library/Kernel Libraries/Kernel Function Library/RealFunctions.kerml +56 -56
- package/resources/sysml.library/Kernel Libraries/Kernel Function Library/ScalarFunctions.kerml +32 -32
- package/resources/sysml.library/Kernel Libraries/Kernel Function Library/SequenceFunctions.kerml +110 -110
- package/resources/sysml.library/Kernel Libraries/Kernel Function Library/StringFunctions.kerml +25 -25
- package/resources/sysml.library/Kernel Libraries/Kernel Function Library/TrigFunctions.kerml +34 -34
- package/resources/sysml.library/Kernel Libraries/Kernel Function Library/VectorFunctions.kerml +272 -272
- package/resources/sysml.library/Kernel Libraries/Kernel Semantic Library/.meta.json +21 -21
- package/resources/sysml.library/Kernel Libraries/Kernel Semantic Library/.project.json +14 -14
- package/resources/sysml.library/Kernel Libraries/Kernel Semantic Library/Base.kerml +94 -94
- package/resources/sysml.library/Kernel Libraries/Kernel Semantic Library/Clocks.kerml +155 -155
- package/resources/sysml.library/Kernel Libraries/Kernel Semantic Library/ControlPerformances.kerml +134 -134
- package/resources/sysml.library/Kernel Libraries/Kernel Semantic Library/FeatureReferencingPerformances.kerml +189 -189
- package/resources/sysml.library/Kernel Libraries/Kernel Semantic Library/KerML.kerml +483 -483
- package/resources/sysml.library/Kernel Libraries/Kernel Semantic Library/Links.kerml +66 -66
- package/resources/sysml.library/Kernel Libraries/Kernel Semantic Library/Metaobjects.kerml +57 -57
- package/resources/sysml.library/Kernel Libraries/Kernel Semantic Library/Objects.kerml +212 -212
- package/resources/sysml.library/Kernel Libraries/Kernel Semantic Library/Observation.kerml +160 -160
- package/resources/sysml.library/Kernel Libraries/Kernel Semantic Library/Occurrences.kerml +992 -992
- package/resources/sysml.library/Kernel Libraries/Kernel Semantic Library/Performances.kerml +292 -292
- package/resources/sysml.library/Kernel Libraries/Kernel Semantic Library/SpatialFrames.kerml +196 -196
- package/resources/sysml.library/Kernel Libraries/Kernel Semantic Library/StatePerformances.kerml +144 -144
- package/resources/sysml.library/Kernel Libraries/Kernel Semantic Library/Transfers.kerml +280 -280
- package/resources/sysml.library/Kernel Libraries/Kernel Semantic Library/TransitionPerformances.kerml +65 -65
- package/resources/sysml.library/Kernel Libraries/Kernel Semantic Library/Triggers.kerml +187 -187
- package/resources/sysml.library/LICENSE +276 -276
- package/resources/sysml.library/NOTICE.md +20 -20
- package/resources/sysml.library/Systems Library/Actions.sysml +556 -556
- package/resources/sysml.library/Systems Library/Allocations.sysml +28 -28
- package/resources/sysml.library/Systems Library/AnalysisCases.sysml +37 -37
- package/resources/sysml.library/Systems Library/Attributes.sysml +24 -24
- package/resources/sysml.library/Systems Library/Calculations.sysml +36 -36
- package/resources/sysml.library/Systems Library/Cases.sysml +70 -70
- package/resources/sysml.library/Systems Library/Connections.sysml +59 -59
- package/resources/sysml.library/Systems Library/Constraints.sysml +43 -43
- package/resources/sysml.library/Systems Library/Flows.sysml +125 -125
- package/resources/sysml.library/Systems Library/Interfaces.sysml +88 -88
- package/resources/sysml.library/Systems Library/Items.sysml +152 -152
- package/resources/sysml.library/Systems Library/Metadata.sysml +31 -31
- package/resources/sysml.library/Systems Library/Parts.sysml +80 -80
- package/resources/sysml.library/Systems Library/Ports.sysml +53 -53
- package/resources/sysml.library/Systems Library/Requirements.sysml +193 -193
- package/resources/sysml.library/Systems Library/StandardViewDefinitions.sysml +123 -123
- package/resources/sysml.library/Systems Library/States.sysml +102 -102
- package/resources/sysml.library/Systems Library/SysML.sysml +539 -539
- package/resources/sysml.library/Systems Library/UseCases.sysml +56 -56
- package/resources/sysml.library/Systems Library/VerificationCases.sysml +102 -102
- package/resources/sysml.library/Systems Library/Views.sysml +163 -163
- package/resources/sysml.library.index.json +1 -1
|
@@ -1,293 +1,293 @@
|
|
|
1
|
-
standard library package Performances {
|
|
2
|
-
doc
|
|
3
|
-
/*
|
|
4
|
-
* This package defines classifiers and features that related to the typing of performances and evaluations.
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
private import Base::Anything;
|
|
8
|
-
private import Base::things;
|
|
9
|
-
private import Occurrences::Occurrence;
|
|
10
|
-
private import Occurrences::occurrences;
|
|
11
|
-
private import Occurrences::HappensDuring;
|
|
12
|
-
private import Objects::Object;
|
|
13
|
-
private import Links::BinaryLink;
|
|
14
|
-
private import Metaobjects::Metaobject;
|
|
15
|
-
private import Transfers::Transfer;
|
|
16
|
-
private import Transfers::transfers;
|
|
17
|
-
private import Transfers::TransferBefore;
|
|
18
|
-
private import Transfers::transfersBefore;
|
|
19
|
-
private import ScalarValues::*;
|
|
20
|
-
private import SequenceFunctions::includes;
|
|
21
|
-
|
|
22
|
-
abstract behavior Performance specializes Occurrence disjoint from Object {
|
|
23
|
-
doc
|
|
24
|
-
/*
|
|
25
|
-
* Performance is the most general class of behavioral Occurrences that may be performed over time.
|
|
26
|
-
*/
|
|
27
|
-
|
|
28
|
-
feature self: Performance redefines Occurrence::self;
|
|
29
|
-
|
|
30
|
-
feature involvedObjects: Object[0..*] {
|
|
31
|
-
doc
|
|
32
|
-
/*
|
|
33
|
-
* Objects that are involved in this Performance.
|
|
34
|
-
*/
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
feature performers: Object[0..*] subsets involvedObjects {
|
|
38
|
-
doc
|
|
39
|
-
/*
|
|
40
|
-
* Objects that enact this Performance.
|
|
41
|
-
*/
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
feature redefines isDispatch default true;
|
|
45
|
-
feature redefines dispatchScope default thisPerformance;
|
|
46
|
-
|
|
47
|
-
step enclosedPerformances: Performance[0..*] subsets performances, timeEnclosedOccurrences
|
|
48
|
-
intersects performances, timeEnclosedOccurrences {
|
|
49
|
-
doc
|
|
50
|
-
/*
|
|
51
|
-
* timeEnclosedOccurrences of this Performance that are also Performances.
|
|
52
|
-
*/
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
feature thisPerformance: Performance [1] default self {
|
|
56
|
-
doc
|
|
57
|
-
/*
|
|
58
|
-
* Defaults to the root of the subperformance composition tree.
|
|
59
|
-
*/
|
|
60
|
-
}
|
|
61
|
-
connector :HappensDuring from [1] self to [1] thisPerformance;
|
|
62
|
-
|
|
63
|
-
composite step subperformances: Performance[0..*] subsets enclosedPerformances, suboccurrences
|
|
64
|
-
intersects enclosedPerformances, suboccurrences {
|
|
65
|
-
doc
|
|
66
|
-
/*
|
|
67
|
-
* enclosedPerformances that are composite.
|
|
68
|
-
*/
|
|
69
|
-
|
|
70
|
-
feature redefines this default (that as Performance).this {
|
|
71
|
-
doc
|
|
72
|
-
/*
|
|
73
|
-
* The default "this" context of a subperformance is the same as that of its owning Performance.
|
|
74
|
-
* This means that the context for any Performance that is in a composition tree rooted
|
|
75
|
-
* in a Performance that is not itself owned by an Object is the root Performance. If the
|
|
76
|
-
* root Performance is an ownedPerformance of an Object, then that Object is the context.
|
|
77
|
-
*/
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
feature redefines thisPerformance default (that as Performance).thisPerformance;
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
abstract function Evaluation specializes Performance {
|
|
85
|
-
doc
|
|
86
|
-
/*
|
|
87
|
-
* Evaluation is the most general class of functions that may be evaluated to compute
|
|
88
|
-
* a result.
|
|
89
|
-
*/
|
|
90
|
-
|
|
91
|
-
return result: Anything[0..*] nonunique;
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
abstract predicate BooleanEvaluation specializes Evaluation {
|
|
95
|
-
doc
|
|
96
|
-
/*
|
|
97
|
-
* BooleanEvaluation is a specialization of Evaluation that is the most general class of
|
|
98
|
-
* Predicates that may be evaluated to produce a Boolean truth value.
|
|
99
|
-
*/
|
|
100
|
-
|
|
101
|
-
return : Boolean[1];
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
abstract function MetadataAccessEvaluation specializes Evaluation {
|
|
105
|
-
doc
|
|
106
|
-
/*
|
|
107
|
-
* MetadataAccessEvaluation is a specialization of Evaluation for the case of MetadataAccessExpressions.
|
|
108
|
-
*/
|
|
109
|
-
|
|
110
|
-
return : Metaobject[1..*];
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
abstract function LiteralEvaluation specializes Evaluation {
|
|
114
|
-
doc
|
|
115
|
-
/*
|
|
116
|
-
* LiteralEvaluation is a specialization of Evaluation for the case of LiteralExpressions.
|
|
117
|
-
*/
|
|
118
|
-
|
|
119
|
-
return : ScalarValue[1];
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
abstract predicate LiteralBooleanEvaluation specializes LiteralEvaluation, BooleanEvaluation
|
|
123
|
-
intersects LiteralEvaluation, BooleanEvaluation {
|
|
124
|
-
doc
|
|
125
|
-
/*
|
|
126
|
-
* LiteralBooleanEvaluation is a specialization of LiteralEvaluation for the case of LiteralBooleans.
|
|
127
|
-
* It is also a predicate and thus a specialization of BooleanEvaluation.
|
|
128
|
-
*/
|
|
129
|
-
|
|
130
|
-
return : Boolean[1];
|
|
131
|
-
}
|
|
132
|
-
abstract function LiteralIntegerEvaluation specializes LiteralEvaluation {
|
|
133
|
-
doc
|
|
134
|
-
/*
|
|
135
|
-
* LiteralIntegerEvaluation is a specialization of LiteralEvaluation for the case of LiteralIntegers.
|
|
136
|
-
*/
|
|
137
|
-
|
|
138
|
-
return : Integer[1];
|
|
139
|
-
}
|
|
140
|
-
|
|
141
|
-
abstract function LiteralRationalEvaluation specializes LiteralEvaluation {
|
|
142
|
-
doc
|
|
143
|
-
/*
|
|
144
|
-
* LiteralRationalEvaluation is a specialization of LiteralEvaluation for the case of LiteralRationals.
|
|
145
|
-
* (Note: Return type is Real to allow easy type conformance of LiteralRationals when a Real result is expected.)
|
|
146
|
-
*/
|
|
147
|
-
|
|
148
|
-
return : Real[1];
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
abstract function LiteralStringEvaluation specializes LiteralEvaluation {
|
|
152
|
-
doc
|
|
153
|
-
/*
|
|
154
|
-
* LiteralStringEvaluation is a specialization of LiteralEvaluation for the case of LiteralStrings.
|
|
155
|
-
*/
|
|
156
|
-
|
|
157
|
-
return : String[1];
|
|
158
|
-
}
|
|
159
|
-
|
|
160
|
-
function NullEvaluation specializes Evaluation {
|
|
161
|
-
doc
|
|
162
|
-
/*
|
|
163
|
-
* NullEvaluation is a specialization of Evaluation for the case of NullExpressions.
|
|
164
|
-
*/
|
|
165
|
-
|
|
166
|
-
return : Anything[0..0];
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
assoc all InvolvedIn specializes BinaryLink {
|
|
170
|
-
doc
|
|
171
|
-
/*
|
|
172
|
-
* InvolvedIn asserts that the involvedObject is involved in the Behavior carried out by the
|
|
173
|
-
* involvingPerformance.
|
|
174
|
-
*/
|
|
175
|
-
|
|
176
|
-
end feature involvedObject: Object redefines source crosses involvingPerformance.involvedObjects;
|
|
177
|
-
end feature involvingPerformance: Performance redefines target crosses involvedObject.involvingPerformances;
|
|
178
|
-
}
|
|
179
|
-
|
|
180
|
-
assoc all Performs specializes InvolvedIn {
|
|
181
|
-
doc
|
|
182
|
-
/*
|
|
183
|
-
* Performs asserts that the performer enacts the Behavior carried out by the performance.
|
|
184
|
-
*/
|
|
185
|
-
|
|
186
|
-
end feature performerObject: Object redefines involvedObject crosses performance.performers;
|
|
187
|
-
end feature performance: Performance redefines involvingPerformance crosses performerObject.enactedPerformances;
|
|
188
|
-
}
|
|
189
|
-
|
|
190
|
-
abstract step performances: Performance[0..*] nonunique subsets occurrences {
|
|
191
|
-
doc
|
|
192
|
-
/*
|
|
193
|
-
* performances is the most general feature for performances of Behaviors.
|
|
194
|
-
*/
|
|
195
|
-
}
|
|
196
|
-
|
|
197
|
-
abstract expr evaluations: Evaluation[0..*] nonunique subsets performances {
|
|
198
|
-
doc
|
|
199
|
-
/*
|
|
200
|
-
* evaluations is a specialization of performances for evaluations of Functions.
|
|
201
|
-
*/
|
|
202
|
-
}
|
|
203
|
-
|
|
204
|
-
abstract expr constructorEvaluations [0..*] nonunique subsets evaluations {
|
|
205
|
-
doc
|
|
206
|
-
/*
|
|
207
|
-
* constructorEvaluations is a specialization of evaluations that restricts the multiplicity
|
|
208
|
-
* of its result parameter to 1..1, requiring a constructorEvaluation to result in a single value.
|
|
209
|
-
*/
|
|
210
|
-
|
|
211
|
-
return result [1..1];
|
|
212
|
-
}
|
|
213
|
-
|
|
214
|
-
abstract expr booleanEvaluations: BooleanEvaluation[0..*] nonunique subsets evaluations {
|
|
215
|
-
doc
|
|
216
|
-
/*
|
|
217
|
-
* booleanEvaluations is a specialization of evaluations restricted to type BooleanEvaluation.
|
|
218
|
-
*/
|
|
219
|
-
}
|
|
220
|
-
|
|
221
|
-
abstract expr trueEvaluations subsets booleanEvaluations {
|
|
222
|
-
doc
|
|
223
|
-
/*
|
|
224
|
-
* trueEvaluations is a subset of booleanEvaluations that result in true. It is the most general
|
|
225
|
-
* feature of invariants that are not negated.
|
|
226
|
-
*/
|
|
227
|
-
|
|
228
|
-
private feature trueValue = true;
|
|
229
|
-
binding result = trueValue;
|
|
230
|
-
}
|
|
231
|
-
|
|
232
|
-
abstract expr falseEvaluations subsets booleanEvaluations {
|
|
233
|
-
doc
|
|
234
|
-
/*
|
|
235
|
-
* falseEvaluations is a subset of booleanEvaluations that result in false. It is the most general
|
|
236
|
-
* feature of invariants that are negated.
|
|
237
|
-
*/
|
|
238
|
-
|
|
239
|
-
private feature falseValue = false;
|
|
240
|
-
binding result = falseValue;
|
|
241
|
-
}
|
|
242
|
-
|
|
243
|
-
abstract expr metadataAccessEvaluations: MetadataAccessEvaluation[0..*] nonunique subsets evaluations {
|
|
244
|
-
doc
|
|
245
|
-
/*
|
|
246
|
-
* metadataAccessEvaluations is a specialization of evaluations restricted to type MetadataAccessEvaluation.
|
|
247
|
-
*/
|
|
248
|
-
}
|
|
249
|
-
|
|
250
|
-
abstract expr literalEvaluations: LiteralEvaluation[0..*] nonunique subsets evaluations {
|
|
251
|
-
doc
|
|
252
|
-
/*
|
|
253
|
-
* literalEvaluations is a specialization of evaluations restricted to type LiteralEvaluation.
|
|
254
|
-
*/
|
|
255
|
-
}
|
|
256
|
-
|
|
257
|
-
abstract expr literalBooleanEvaluations: LiteralBooleanEvaluation[0..*] nonunique subsets literalEvaluations, booleanEvaluations
|
|
258
|
-
intersects literalEvaluations, booleanEvaluations {
|
|
259
|
-
doc
|
|
260
|
-
/*
|
|
261
|
-
* literaBooleanlEvaluations is a specialization of literalEvaluations and booleanEvaluations restricted
|
|
262
|
-
* to type LiteralBooleanEvaluation.
|
|
263
|
-
*/
|
|
264
|
-
}
|
|
265
|
-
|
|
266
|
-
abstract expr literalIntegerEvaluations: LiteralIntegerEvaluation[0..*] nonunique subsets literalEvaluations {
|
|
267
|
-
doc
|
|
268
|
-
/*
|
|
269
|
-
* literalEvaluations is a specialization of evaluations restricted to type LiteralEvaluation.
|
|
270
|
-
*/
|
|
271
|
-
}
|
|
272
|
-
|
|
273
|
-
abstract expr literalRationalEvaluations: LiteralRationalEvaluation[0..*] nonunique subsets literalEvaluations {
|
|
274
|
-
doc
|
|
275
|
-
/*
|
|
276
|
-
* literalRationalEvaluations is a specialization of literalEvaluations restricted to type LiteralRationalEvaluation.
|
|
277
|
-
*/
|
|
278
|
-
}
|
|
279
|
-
|
|
280
|
-
abstract expr literalStringEvaluations: LiteralStringEvaluation[0..*] nonunique subsets literalEvaluations {
|
|
281
|
-
doc
|
|
282
|
-
/*
|
|
283
|
-
* literalStringEvaluations is a specialization of literalEvaluations restricted to type LiteralStringEvaluation.
|
|
284
|
-
*/
|
|
285
|
-
}
|
|
286
|
-
|
|
287
|
-
abstract expr nullEvaluations: NullEvaluation[0..*] nonunique subsets evaluations {
|
|
288
|
-
doc
|
|
289
|
-
/*
|
|
290
|
-
* nullEvaluations is a specialization of evaluations restricted to type NullEvaluation.
|
|
291
|
-
*/
|
|
292
|
-
}
|
|
1
|
+
standard library package Performances {
|
|
2
|
+
doc
|
|
3
|
+
/*
|
|
4
|
+
* This package defines classifiers and features that related to the typing of performances and evaluations.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
private import Base::Anything;
|
|
8
|
+
private import Base::things;
|
|
9
|
+
private import Occurrences::Occurrence;
|
|
10
|
+
private import Occurrences::occurrences;
|
|
11
|
+
private import Occurrences::HappensDuring;
|
|
12
|
+
private import Objects::Object;
|
|
13
|
+
private import Links::BinaryLink;
|
|
14
|
+
private import Metaobjects::Metaobject;
|
|
15
|
+
private import Transfers::Transfer;
|
|
16
|
+
private import Transfers::transfers;
|
|
17
|
+
private import Transfers::TransferBefore;
|
|
18
|
+
private import Transfers::transfersBefore;
|
|
19
|
+
private import ScalarValues::*;
|
|
20
|
+
private import SequenceFunctions::includes;
|
|
21
|
+
|
|
22
|
+
abstract behavior Performance specializes Occurrence disjoint from Object {
|
|
23
|
+
doc
|
|
24
|
+
/*
|
|
25
|
+
* Performance is the most general class of behavioral Occurrences that may be performed over time.
|
|
26
|
+
*/
|
|
27
|
+
|
|
28
|
+
feature self: Performance redefines Occurrence::self;
|
|
29
|
+
|
|
30
|
+
feature involvedObjects: Object[0..*] {
|
|
31
|
+
doc
|
|
32
|
+
/*
|
|
33
|
+
* Objects that are involved in this Performance.
|
|
34
|
+
*/
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
feature performers: Object[0..*] subsets involvedObjects {
|
|
38
|
+
doc
|
|
39
|
+
/*
|
|
40
|
+
* Objects that enact this Performance.
|
|
41
|
+
*/
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
feature redefines isDispatch default true;
|
|
45
|
+
feature redefines dispatchScope default thisPerformance;
|
|
46
|
+
|
|
47
|
+
step enclosedPerformances: Performance[0..*] subsets performances, timeEnclosedOccurrences
|
|
48
|
+
intersects performances, timeEnclosedOccurrences {
|
|
49
|
+
doc
|
|
50
|
+
/*
|
|
51
|
+
* timeEnclosedOccurrences of this Performance that are also Performances.
|
|
52
|
+
*/
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
feature thisPerformance: Performance [1] default self {
|
|
56
|
+
doc
|
|
57
|
+
/*
|
|
58
|
+
* Defaults to the root of the subperformance composition tree.
|
|
59
|
+
*/
|
|
60
|
+
}
|
|
61
|
+
connector :HappensDuring from [1] self to [1] thisPerformance;
|
|
62
|
+
|
|
63
|
+
composite step subperformances: Performance[0..*] subsets enclosedPerformances, suboccurrences
|
|
64
|
+
intersects enclosedPerformances, suboccurrences {
|
|
65
|
+
doc
|
|
66
|
+
/*
|
|
67
|
+
* enclosedPerformances that are composite.
|
|
68
|
+
*/
|
|
69
|
+
|
|
70
|
+
feature redefines this default (that as Performance).this {
|
|
71
|
+
doc
|
|
72
|
+
/*
|
|
73
|
+
* The default "this" context of a subperformance is the same as that of its owning Performance.
|
|
74
|
+
* This means that the context for any Performance that is in a composition tree rooted
|
|
75
|
+
* in a Performance that is not itself owned by an Object is the root Performance. If the
|
|
76
|
+
* root Performance is an ownedPerformance of an Object, then that Object is the context.
|
|
77
|
+
*/
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
feature redefines thisPerformance default (that as Performance).thisPerformance;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
abstract function Evaluation specializes Performance {
|
|
85
|
+
doc
|
|
86
|
+
/*
|
|
87
|
+
* Evaluation is the most general class of functions that may be evaluated to compute
|
|
88
|
+
* a result.
|
|
89
|
+
*/
|
|
90
|
+
|
|
91
|
+
return result: Anything[0..*] nonunique;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
abstract predicate BooleanEvaluation specializes Evaluation {
|
|
95
|
+
doc
|
|
96
|
+
/*
|
|
97
|
+
* BooleanEvaluation is a specialization of Evaluation that is the most general class of
|
|
98
|
+
* Predicates that may be evaluated to produce a Boolean truth value.
|
|
99
|
+
*/
|
|
100
|
+
|
|
101
|
+
return : Boolean[1];
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
abstract function MetadataAccessEvaluation specializes Evaluation {
|
|
105
|
+
doc
|
|
106
|
+
/*
|
|
107
|
+
* MetadataAccessEvaluation is a specialization of Evaluation for the case of MetadataAccessExpressions.
|
|
108
|
+
*/
|
|
109
|
+
|
|
110
|
+
return : Metaobject[1..*];
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
abstract function LiteralEvaluation specializes Evaluation {
|
|
114
|
+
doc
|
|
115
|
+
/*
|
|
116
|
+
* LiteralEvaluation is a specialization of Evaluation for the case of LiteralExpressions.
|
|
117
|
+
*/
|
|
118
|
+
|
|
119
|
+
return : ScalarValue[1];
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
abstract predicate LiteralBooleanEvaluation specializes LiteralEvaluation, BooleanEvaluation
|
|
123
|
+
intersects LiteralEvaluation, BooleanEvaluation {
|
|
124
|
+
doc
|
|
125
|
+
/*
|
|
126
|
+
* LiteralBooleanEvaluation is a specialization of LiteralEvaluation for the case of LiteralBooleans.
|
|
127
|
+
* It is also a predicate and thus a specialization of BooleanEvaluation.
|
|
128
|
+
*/
|
|
129
|
+
|
|
130
|
+
return : Boolean[1];
|
|
131
|
+
}
|
|
132
|
+
abstract function LiteralIntegerEvaluation specializes LiteralEvaluation {
|
|
133
|
+
doc
|
|
134
|
+
/*
|
|
135
|
+
* LiteralIntegerEvaluation is a specialization of LiteralEvaluation for the case of LiteralIntegers.
|
|
136
|
+
*/
|
|
137
|
+
|
|
138
|
+
return : Integer[1];
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
abstract function LiteralRationalEvaluation specializes LiteralEvaluation {
|
|
142
|
+
doc
|
|
143
|
+
/*
|
|
144
|
+
* LiteralRationalEvaluation is a specialization of LiteralEvaluation for the case of LiteralRationals.
|
|
145
|
+
* (Note: Return type is Real to allow easy type conformance of LiteralRationals when a Real result is expected.)
|
|
146
|
+
*/
|
|
147
|
+
|
|
148
|
+
return : Real[1];
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
abstract function LiteralStringEvaluation specializes LiteralEvaluation {
|
|
152
|
+
doc
|
|
153
|
+
/*
|
|
154
|
+
* LiteralStringEvaluation is a specialization of LiteralEvaluation for the case of LiteralStrings.
|
|
155
|
+
*/
|
|
156
|
+
|
|
157
|
+
return : String[1];
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
function NullEvaluation specializes Evaluation {
|
|
161
|
+
doc
|
|
162
|
+
/*
|
|
163
|
+
* NullEvaluation is a specialization of Evaluation for the case of NullExpressions.
|
|
164
|
+
*/
|
|
165
|
+
|
|
166
|
+
return : Anything[0..0];
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
assoc all InvolvedIn specializes BinaryLink {
|
|
170
|
+
doc
|
|
171
|
+
/*
|
|
172
|
+
* InvolvedIn asserts that the involvedObject is involved in the Behavior carried out by the
|
|
173
|
+
* involvingPerformance.
|
|
174
|
+
*/
|
|
175
|
+
|
|
176
|
+
end feature involvedObject: Object redefines source crosses involvingPerformance.involvedObjects;
|
|
177
|
+
end feature involvingPerformance: Performance redefines target crosses involvedObject.involvingPerformances;
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
assoc all Performs specializes InvolvedIn {
|
|
181
|
+
doc
|
|
182
|
+
/*
|
|
183
|
+
* Performs asserts that the performer enacts the Behavior carried out by the performance.
|
|
184
|
+
*/
|
|
185
|
+
|
|
186
|
+
end feature performerObject: Object redefines involvedObject crosses performance.performers;
|
|
187
|
+
end feature performance: Performance redefines involvingPerformance crosses performerObject.enactedPerformances;
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
abstract step performances: Performance[0..*] nonunique subsets occurrences {
|
|
191
|
+
doc
|
|
192
|
+
/*
|
|
193
|
+
* performances is the most general feature for performances of Behaviors.
|
|
194
|
+
*/
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
abstract expr evaluations: Evaluation[0..*] nonunique subsets performances {
|
|
198
|
+
doc
|
|
199
|
+
/*
|
|
200
|
+
* evaluations is a specialization of performances for evaluations of Functions.
|
|
201
|
+
*/
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
abstract expr constructorEvaluations [0..*] nonunique subsets evaluations {
|
|
205
|
+
doc
|
|
206
|
+
/*
|
|
207
|
+
* constructorEvaluations is a specialization of evaluations that restricts the multiplicity
|
|
208
|
+
* of its result parameter to 1..1, requiring a constructorEvaluation to result in a single value.
|
|
209
|
+
*/
|
|
210
|
+
|
|
211
|
+
return result [1..1];
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
abstract expr booleanEvaluations: BooleanEvaluation[0..*] nonunique subsets evaluations {
|
|
215
|
+
doc
|
|
216
|
+
/*
|
|
217
|
+
* booleanEvaluations is a specialization of evaluations restricted to type BooleanEvaluation.
|
|
218
|
+
*/
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
abstract expr trueEvaluations subsets booleanEvaluations {
|
|
222
|
+
doc
|
|
223
|
+
/*
|
|
224
|
+
* trueEvaluations is a subset of booleanEvaluations that result in true. It is the most general
|
|
225
|
+
* feature of invariants that are not negated.
|
|
226
|
+
*/
|
|
227
|
+
|
|
228
|
+
private feature trueValue = true;
|
|
229
|
+
binding result = trueValue;
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
abstract expr falseEvaluations subsets booleanEvaluations {
|
|
233
|
+
doc
|
|
234
|
+
/*
|
|
235
|
+
* falseEvaluations is a subset of booleanEvaluations that result in false. It is the most general
|
|
236
|
+
* feature of invariants that are negated.
|
|
237
|
+
*/
|
|
238
|
+
|
|
239
|
+
private feature falseValue = false;
|
|
240
|
+
binding result = falseValue;
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
abstract expr metadataAccessEvaluations: MetadataAccessEvaluation[0..*] nonunique subsets evaluations {
|
|
244
|
+
doc
|
|
245
|
+
/*
|
|
246
|
+
* metadataAccessEvaluations is a specialization of evaluations restricted to type MetadataAccessEvaluation.
|
|
247
|
+
*/
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
abstract expr literalEvaluations: LiteralEvaluation[0..*] nonunique subsets evaluations {
|
|
251
|
+
doc
|
|
252
|
+
/*
|
|
253
|
+
* literalEvaluations is a specialization of evaluations restricted to type LiteralEvaluation.
|
|
254
|
+
*/
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
abstract expr literalBooleanEvaluations: LiteralBooleanEvaluation[0..*] nonunique subsets literalEvaluations, booleanEvaluations
|
|
258
|
+
intersects literalEvaluations, booleanEvaluations {
|
|
259
|
+
doc
|
|
260
|
+
/*
|
|
261
|
+
* literaBooleanlEvaluations is a specialization of literalEvaluations and booleanEvaluations restricted
|
|
262
|
+
* to type LiteralBooleanEvaluation.
|
|
263
|
+
*/
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
abstract expr literalIntegerEvaluations: LiteralIntegerEvaluation[0..*] nonunique subsets literalEvaluations {
|
|
267
|
+
doc
|
|
268
|
+
/*
|
|
269
|
+
* literalEvaluations is a specialization of evaluations restricted to type LiteralEvaluation.
|
|
270
|
+
*/
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
abstract expr literalRationalEvaluations: LiteralRationalEvaluation[0..*] nonunique subsets literalEvaluations {
|
|
274
|
+
doc
|
|
275
|
+
/*
|
|
276
|
+
* literalRationalEvaluations is a specialization of literalEvaluations restricted to type LiteralRationalEvaluation.
|
|
277
|
+
*/
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
abstract expr literalStringEvaluations: LiteralStringEvaluation[0..*] nonunique subsets literalEvaluations {
|
|
281
|
+
doc
|
|
282
|
+
/*
|
|
283
|
+
* literalStringEvaluations is a specialization of literalEvaluations restricted to type LiteralStringEvaluation.
|
|
284
|
+
*/
|
|
285
|
+
}
|
|
286
|
+
|
|
287
|
+
abstract expr nullEvaluations: NullEvaluation[0..*] nonunique subsets evaluations {
|
|
288
|
+
doc
|
|
289
|
+
/*
|
|
290
|
+
* nullEvaluations is a specialization of evaluations restricted to type NullEvaluation.
|
|
291
|
+
*/
|
|
292
|
+
}
|
|
293
293
|
}
|