sysml-validate 0.11.0 → 0.14.3
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 +598 -142
- 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,168 +1,168 @@
|
|
|
1
|
-
standard library package SpatialItems {
|
|
2
|
-
doc
|
|
3
|
-
/*
|
|
4
|
-
* This package models physical items that have a spatial extent and act as a spatial frame of reference
|
|
5
|
-
* for obtaining position and displacement vectors of points within them.
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
private import Objects::Point;
|
|
9
|
-
private import SpatialFrames::SpatialFrame;
|
|
10
|
-
private import Quantities::VectorQuantityValue;
|
|
11
|
-
private import MeasurementReferences::ThreeDCoordinateFrame;
|
|
12
|
-
private import MeasurementReferences::nullTransformation;
|
|
13
|
-
private import Time::Clock;
|
|
14
|
-
private import Time::TimeInstantValue;
|
|
15
|
-
private import ScalarValues::Natural;
|
|
16
|
-
private import ISQ::universalCartesianSpatial3dCoordinateFrame;
|
|
17
|
-
private import ISQ::Position3dVector;
|
|
18
|
-
private import ISQ::Displacement3dVector;
|
|
19
|
-
private import VectorFunctions::isZeroVector;
|
|
20
|
-
private import SequenceFunctions::isEmpty;
|
|
21
|
-
private import ControlFunctions::forAll;
|
|
22
|
-
|
|
23
|
-
item def SpatialItem :> SpatialFrame {
|
|
24
|
-
doc
|
|
25
|
-
/*
|
|
26
|
-
* A SpatialItem is an Item with a three-dimensional spatial extent that also acts as a SpatialFrame of reference.
|
|
27
|
-
*/
|
|
28
|
-
|
|
29
|
-
ref item :>> localClock : Clock[1] default Time::universalClock {
|
|
30
|
-
doc
|
|
31
|
-
/*
|
|
32
|
-
* A local Clock to be used as the corresponding time reference within this SpatialItem.
|
|
33
|
-
* By default this is the singleton universalClock.
|
|
34
|
-
*/
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
attribute coordinateFrame : ThreeDCoordinateFrame[1] default universalCartesianSpatial3dCoordinateFrame {
|
|
38
|
-
doc
|
|
39
|
-
/*
|
|
40
|
-
* The three-dimensional CoordinateFrame to be used as the measurement reference for position
|
|
41
|
-
* and displacement vector values relative to this SpatialItem.
|
|
42
|
-
* By default this is the singleton universalCartesianSpatial3dCoordinateFrame.
|
|
43
|
-
*/
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
item originPoint : Point[1] :> spaceShots {
|
|
47
|
-
doc
|
|
48
|
-
/*
|
|
49
|
-
* The Point at the origin of the coordinateFrame of this SpatialItem.
|
|
50
|
-
*/
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
assert constraint originPointConstraint {
|
|
54
|
-
doc
|
|
55
|
-
/*
|
|
56
|
-
* The CurrentPositionOf the originPoint must always be a zero vector.
|
|
57
|
-
*/
|
|
58
|
-
|
|
59
|
-
isZeroVector(CurrentPositionOf(originPoint, that))
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
item subSpatialItems : SpatialItem[1..*] :> subitems {
|
|
63
|
-
ref item :>> SpatialItem::localClock, subitems::localClock;
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
part subSpatialParts : SpatialItem[1..*] :> subSpatialItems, subparts {
|
|
67
|
-
ref item :>> SpatialItem::localClock, subSpatialItems::localClock, subparts::localClock;
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
item componentItems : SpatialItem[1..*] :> subSpatialItems {
|
|
71
|
-
doc
|
|
72
|
-
/*
|
|
73
|
-
* A SpatialItem with componentItems is entirely made up of those items (the SpatialItem occurs only
|
|
74
|
-
* as a collection of its componentItems). By default they have the same localClock and equivalent
|
|
75
|
-
* coordinate frame as the SpatialItem they make up. A SpatialItem without componentItems occurs
|
|
76
|
-
* on its own, separately from its subitems.
|
|
77
|
-
*/
|
|
78
|
-
ref item :>> SpatialItem::localClock, subSpatialItems::localClock default (that as SpatialItem).localClock;
|
|
79
|
-
attribute :>> coordinateFrame {
|
|
80
|
-
attribute :>> mRefs default (that.that as SpatialItem).coordinateFrame.mRefs;
|
|
81
|
-
attribute :>> transformation[1] default nullTransformation {
|
|
82
|
-
attribute :>> source default (that.that.that as SpatialItem).coordinateFrame;
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
private attribute cunionNum: Natural [1] = if isEmpty(componentItems) ? 0 else 1;
|
|
88
|
-
private attribute componentUnion[cunionNum] :> unionsOf {
|
|
89
|
-
doc
|
|
90
|
-
/*
|
|
91
|
-
* A SpatialItem with componentItems is is a spatial union of them.
|
|
92
|
-
*/
|
|
93
|
-
|
|
94
|
-
item :>> elements : SpatialItem [1..*] = componentItems;
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
part componentParts : SpatialItem[1..*] :> componentItems, subSpatialParts {
|
|
98
|
-
ref item :>> SpatialItem::localClock, componentItems::localClock, subSpatialParts::localClock, subparts::localClock;
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
calc def PositionOf :> SpatialFrames::PositionOf {
|
|
103
|
-
doc
|
|
104
|
-
/*
|
|
105
|
-
* The PositionOf a Point relative to a SpatialItem, at a specific TimeInstantValue relative to a given Clock,
|
|
106
|
-
* is a positionVector that is a VectorQuantityValue in the coordinateFrame of the SpatialItem.
|
|
107
|
-
* The default Clock is the localClock of the SpatialItem.
|
|
108
|
-
*/
|
|
109
|
-
|
|
110
|
-
in point : Point[1];
|
|
111
|
-
in timeInstant : TimeInstantValue[1];
|
|
112
|
-
in enclosingItem :>> 'frame' : SpatialItem[1];
|
|
113
|
-
in clock : Clock[1] default enclosingItem.localClock;
|
|
114
|
-
return positionVector : Position3dVector[1] {
|
|
115
|
-
attribute :>> mRef = enclosingItem.coordinateFrame;
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
calc def CurrentPositionOf :> SpatialFrames::CurrentPositionOf {
|
|
120
|
-
doc
|
|
121
|
-
/*
|
|
122
|
-
* The CurrentPositionOf a Point relative to a SpatialItem and a Clock is the PositionOf
|
|
123
|
-
* the Point relative to the SpatialItem at the currentTime of the Clock.
|
|
124
|
-
*/
|
|
125
|
-
|
|
126
|
-
in point : Point[1];
|
|
127
|
-
in enclosingItem :>> 'frame' : SpatialItem[1];
|
|
128
|
-
in clock : Clock[1] default enclosingItem.localClock;
|
|
129
|
-
return positionVector : Position3dVector[1] {
|
|
130
|
-
attribute :>> mRef = enclosingItem.coordinateFrame;
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
calc def DisplacementOf :> SpatialFrames::DisplacementOf {
|
|
135
|
-
doc
|
|
136
|
-
/*
|
|
137
|
-
* The DisplacementOf two Points relative to a SpatialItem, at a specific TimeInstantValue relative to a
|
|
138
|
-
* given Clock, is the displacementVector computed as the difference between the PositionOf the
|
|
139
|
-
* first Point and PositionOf the second Point, relative to that SpatialItem, at that timeInstant.
|
|
140
|
-
*/
|
|
141
|
-
|
|
142
|
-
in point1 : Point[1];
|
|
143
|
-
in point2 : Point[1];
|
|
144
|
-
in timeInstant : TimeInstantValue[1];
|
|
145
|
-
in spatialItem :>> 'frame' : SpatialItem[1];
|
|
146
|
-
in clock : Clock[1] default spatialItem.localClock;
|
|
147
|
-
return displacementVector : Displacement3dVector[1] {
|
|
148
|
-
attribute :>> mRef = spatialItem.coordinateFrame;
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
|
|
152
|
-
calc def CurrentDisplacementOf :> SpatialFrames::CurrentDisplacementOf {
|
|
153
|
-
doc
|
|
154
|
-
/*
|
|
155
|
-
* The CurrentDisplacementOf two Points relative to a SpatialItem and a Clock is the DisplacementOf
|
|
156
|
-
* the Points relative to the SpatialItem, at the currentTime of the Clock.
|
|
157
|
-
*/
|
|
158
|
-
|
|
159
|
-
in point1 : Point[1];
|
|
160
|
-
in point2 : Point[1];
|
|
161
|
-
in spatialItem :>> 'frame' : SpatialItem[1];
|
|
162
|
-
in clock : Clock[1] default spatialItem.localClock;
|
|
163
|
-
return displacementVector : Displacement3dVector[1] {
|
|
164
|
-
attribute :>> mRef = spatialItem.coordinateFrame;
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
|
|
1
|
+
standard library package SpatialItems {
|
|
2
|
+
doc
|
|
3
|
+
/*
|
|
4
|
+
* This package models physical items that have a spatial extent and act as a spatial frame of reference
|
|
5
|
+
* for obtaining position and displacement vectors of points within them.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
private import Objects::Point;
|
|
9
|
+
private import SpatialFrames::SpatialFrame;
|
|
10
|
+
private import Quantities::VectorQuantityValue;
|
|
11
|
+
private import MeasurementReferences::ThreeDCoordinateFrame;
|
|
12
|
+
private import MeasurementReferences::nullTransformation;
|
|
13
|
+
private import Time::Clock;
|
|
14
|
+
private import Time::TimeInstantValue;
|
|
15
|
+
private import ScalarValues::Natural;
|
|
16
|
+
private import ISQ::universalCartesianSpatial3dCoordinateFrame;
|
|
17
|
+
private import ISQ::Position3dVector;
|
|
18
|
+
private import ISQ::Displacement3dVector;
|
|
19
|
+
private import VectorFunctions::isZeroVector;
|
|
20
|
+
private import SequenceFunctions::isEmpty;
|
|
21
|
+
private import ControlFunctions::forAll;
|
|
22
|
+
|
|
23
|
+
item def SpatialItem :> SpatialFrame {
|
|
24
|
+
doc
|
|
25
|
+
/*
|
|
26
|
+
* A SpatialItem is an Item with a three-dimensional spatial extent that also acts as a SpatialFrame of reference.
|
|
27
|
+
*/
|
|
28
|
+
|
|
29
|
+
ref item :>> localClock : Clock[1] default Time::universalClock {
|
|
30
|
+
doc
|
|
31
|
+
/*
|
|
32
|
+
* A local Clock to be used as the corresponding time reference within this SpatialItem.
|
|
33
|
+
* By default this is the singleton universalClock.
|
|
34
|
+
*/
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
attribute coordinateFrame : ThreeDCoordinateFrame[1] default universalCartesianSpatial3dCoordinateFrame {
|
|
38
|
+
doc
|
|
39
|
+
/*
|
|
40
|
+
* The three-dimensional CoordinateFrame to be used as the measurement reference for position
|
|
41
|
+
* and displacement vector values relative to this SpatialItem.
|
|
42
|
+
* By default this is the singleton universalCartesianSpatial3dCoordinateFrame.
|
|
43
|
+
*/
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
item originPoint : Point[1] :> spaceShots {
|
|
47
|
+
doc
|
|
48
|
+
/*
|
|
49
|
+
* The Point at the origin of the coordinateFrame of this SpatialItem.
|
|
50
|
+
*/
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
assert constraint originPointConstraint {
|
|
54
|
+
doc
|
|
55
|
+
/*
|
|
56
|
+
* The CurrentPositionOf the originPoint must always be a zero vector.
|
|
57
|
+
*/
|
|
58
|
+
|
|
59
|
+
isZeroVector(CurrentPositionOf(originPoint, that))
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
item subSpatialItems : SpatialItem[1..*] :> subitems {
|
|
63
|
+
ref item :>> SpatialItem::localClock, subitems::localClock;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
part subSpatialParts : SpatialItem[1..*] :> subSpatialItems, subparts {
|
|
67
|
+
ref item :>> SpatialItem::localClock, subSpatialItems::localClock, subparts::localClock;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
item componentItems : SpatialItem[1..*] :> subSpatialItems {
|
|
71
|
+
doc
|
|
72
|
+
/*
|
|
73
|
+
* A SpatialItem with componentItems is entirely made up of those items (the SpatialItem occurs only
|
|
74
|
+
* as a collection of its componentItems). By default they have the same localClock and equivalent
|
|
75
|
+
* coordinate frame as the SpatialItem they make up. A SpatialItem without componentItems occurs
|
|
76
|
+
* on its own, separately from its subitems.
|
|
77
|
+
*/
|
|
78
|
+
ref item :>> SpatialItem::localClock, subSpatialItems::localClock default (that as SpatialItem).localClock;
|
|
79
|
+
attribute :>> coordinateFrame {
|
|
80
|
+
attribute :>> mRefs default (that.that as SpatialItem).coordinateFrame.mRefs;
|
|
81
|
+
attribute :>> transformation[1] default nullTransformation {
|
|
82
|
+
attribute :>> source default (that.that.that as SpatialItem).coordinateFrame;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
private attribute cunionNum: Natural [1] = if isEmpty(componentItems) ? 0 else 1;
|
|
88
|
+
private attribute componentUnion[cunionNum] :> unionsOf {
|
|
89
|
+
doc
|
|
90
|
+
/*
|
|
91
|
+
* A SpatialItem with componentItems is is a spatial union of them.
|
|
92
|
+
*/
|
|
93
|
+
|
|
94
|
+
item :>> elements : SpatialItem [1..*] = componentItems;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
part componentParts : SpatialItem[1..*] :> componentItems, subSpatialParts {
|
|
98
|
+
ref item :>> SpatialItem::localClock, componentItems::localClock, subSpatialParts::localClock, subparts::localClock;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
calc def PositionOf :> SpatialFrames::PositionOf {
|
|
103
|
+
doc
|
|
104
|
+
/*
|
|
105
|
+
* The PositionOf a Point relative to a SpatialItem, at a specific TimeInstantValue relative to a given Clock,
|
|
106
|
+
* is a positionVector that is a VectorQuantityValue in the coordinateFrame of the SpatialItem.
|
|
107
|
+
* The default Clock is the localClock of the SpatialItem.
|
|
108
|
+
*/
|
|
109
|
+
|
|
110
|
+
in point : Point[1];
|
|
111
|
+
in timeInstant : TimeInstantValue[1];
|
|
112
|
+
in enclosingItem :>> 'frame' : SpatialItem[1];
|
|
113
|
+
in clock : Clock[1] default enclosingItem.localClock;
|
|
114
|
+
return positionVector : Position3dVector[1] {
|
|
115
|
+
attribute :>> mRef = enclosingItem.coordinateFrame;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
calc def CurrentPositionOf :> SpatialFrames::CurrentPositionOf {
|
|
120
|
+
doc
|
|
121
|
+
/*
|
|
122
|
+
* The CurrentPositionOf a Point relative to a SpatialItem and a Clock is the PositionOf
|
|
123
|
+
* the Point relative to the SpatialItem at the currentTime of the Clock.
|
|
124
|
+
*/
|
|
125
|
+
|
|
126
|
+
in point : Point[1];
|
|
127
|
+
in enclosingItem :>> 'frame' : SpatialItem[1];
|
|
128
|
+
in clock : Clock[1] default enclosingItem.localClock;
|
|
129
|
+
return positionVector : Position3dVector[1] {
|
|
130
|
+
attribute :>> mRef = enclosingItem.coordinateFrame;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
calc def DisplacementOf :> SpatialFrames::DisplacementOf {
|
|
135
|
+
doc
|
|
136
|
+
/*
|
|
137
|
+
* The DisplacementOf two Points relative to a SpatialItem, at a specific TimeInstantValue relative to a
|
|
138
|
+
* given Clock, is the displacementVector computed as the difference between the PositionOf the
|
|
139
|
+
* first Point and PositionOf the second Point, relative to that SpatialItem, at that timeInstant.
|
|
140
|
+
*/
|
|
141
|
+
|
|
142
|
+
in point1 : Point[1];
|
|
143
|
+
in point2 : Point[1];
|
|
144
|
+
in timeInstant : TimeInstantValue[1];
|
|
145
|
+
in spatialItem :>> 'frame' : SpatialItem[1];
|
|
146
|
+
in clock : Clock[1] default spatialItem.localClock;
|
|
147
|
+
return displacementVector : Displacement3dVector[1] {
|
|
148
|
+
attribute :>> mRef = spatialItem.coordinateFrame;
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
calc def CurrentDisplacementOf :> SpatialFrames::CurrentDisplacementOf {
|
|
153
|
+
doc
|
|
154
|
+
/*
|
|
155
|
+
* The CurrentDisplacementOf two Points relative to a SpatialItem and a Clock is the DisplacementOf
|
|
156
|
+
* the Points relative to the SpatialItem, at the currentTime of the Clock.
|
|
157
|
+
*/
|
|
158
|
+
|
|
159
|
+
in point1 : Point[1];
|
|
160
|
+
in point2 : Point[1];
|
|
161
|
+
in spatialItem :>> 'frame' : SpatialItem[1];
|
|
162
|
+
in clock : Clock[1] default spatialItem.localClock;
|
|
163
|
+
return displacementVector : Displacement3dVector[1] {
|
|
164
|
+
attribute :>> mRef = spatialItem.coordinateFrame;
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
|
|
168
168
|
}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
{
|
|
2
|
-
"index": {
|
|
3
|
-
"ImageMetadata": "ImageMetadata.sysml",
|
|
4
|
-
"ModelingMetadata": "ModelingMetadata.sysml",
|
|
5
|
-
"ParametersOfInterestMetadata": "ParametersOfInterestMetadata.sysml",
|
|
6
|
-
"RiskMetadata": "RiskMetadata.sysml"
|
|
7
|
-
},
|
|
8
|
-
"created": "2025-03-13T00:00:00Z",
|
|
9
|
-
"metamodel": "https://www.omg.org/spec/SysML/20250201"
|
|
1
|
+
{
|
|
2
|
+
"index": {
|
|
3
|
+
"ImageMetadata": "ImageMetadata.sysml",
|
|
4
|
+
"ModelingMetadata": "ModelingMetadata.sysml",
|
|
5
|
+
"ParametersOfInterestMetadata": "ParametersOfInterestMetadata.sysml",
|
|
6
|
+
"RiskMetadata": "RiskMetadata.sysml"
|
|
7
|
+
},
|
|
8
|
+
"created": "2025-03-13T00:00:00Z",
|
|
9
|
+
"metamodel": "https://www.omg.org/spec/SysML/20250201"
|
|
10
10
|
}
|
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "SysML Metadata Library",
|
|
3
|
-
"version": "2.0.0",
|
|
4
|
-
"description": "Standard metadata domain library for the Systems Modeling Language (SysML)",
|
|
5
|
-
"usage": [
|
|
6
|
-
{
|
|
7
|
-
"resource": "https://www.omg.org/spec/KerML/20250201/Semantic-Library.kpar",
|
|
8
|
-
"versionConstraint": "1.0.0"
|
|
9
|
-
},
|
|
10
|
-
{
|
|
11
|
-
"resource": "https://www.omg.org/spec/KerML/20250201/Data-Type-Library.kpar",
|
|
12
|
-
"versionConstraint": "1.0.0"
|
|
13
|
-
},
|
|
14
|
-
{
|
|
15
|
-
"resource": "https://www.omg.org/spec/SysML/20250201/Systems-Library.kpar",
|
|
16
|
-
"versionConstraint": "2.0.0"
|
|
17
|
-
}
|
|
18
|
-
]
|
|
1
|
+
{
|
|
2
|
+
"name": "SysML Metadata Library",
|
|
3
|
+
"version": "2.0.0",
|
|
4
|
+
"description": "Standard metadata domain library for the Systems Modeling Language (SysML)",
|
|
5
|
+
"usage": [
|
|
6
|
+
{
|
|
7
|
+
"resource": "https://www.omg.org/spec/KerML/20250201/Semantic-Library.kpar",
|
|
8
|
+
"versionConstraint": "1.0.0"
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
"resource": "https://www.omg.org/spec/KerML/20250201/Data-Type-Library.kpar",
|
|
12
|
+
"versionConstraint": "1.0.0"
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"resource": "https://www.omg.org/spec/SysML/20250201/Systems-Library.kpar",
|
|
16
|
+
"versionConstraint": "2.0.0"
|
|
17
|
+
}
|
|
18
|
+
]
|
|
19
19
|
}
|
|
@@ -1,78 +1,78 @@
|
|
|
1
|
-
standard library package ImageMetadata {
|
|
2
|
-
doc
|
|
3
|
-
/*
|
|
4
|
-
* This package provides attributive data and metadata to allow a model element to be
|
|
5
|
-
* annotated with an image to be used in its graphical rendering or as a marker to
|
|
6
|
-
* adorn graphical or textual renderings.
|
|
7
|
-
*/
|
|
8
|
-
|
|
9
|
-
private import ScalarValues::String;
|
|
10
|
-
|
|
11
|
-
attribute def Image {
|
|
12
|
-
doc
|
|
13
|
-
/*
|
|
14
|
-
* Image provides the data necessary for the physical definition of
|
|
15
|
-
* a graphical image.
|
|
16
|
-
*/
|
|
17
|
-
|
|
18
|
-
attribute content : String[0..1] {
|
|
19
|
-
doc
|
|
20
|
-
/*
|
|
21
|
-
* Binary data for the image according to the given MIME type,
|
|
22
|
-
* encoded as given by the encoding.
|
|
23
|
-
*/
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
attribute encoding : String[0..1] {
|
|
27
|
-
doc
|
|
28
|
-
/*
|
|
29
|
-
* Describes how characters in the content are to be decoded into
|
|
30
|
-
* binary data. At least "base64", "hex", "identify", and "JSONescape"
|
|
31
|
-
* shall be supported.
|
|
32
|
-
*/
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
attribute type : String[0..1] {
|
|
36
|
-
doc
|
|
37
|
-
/*
|
|
38
|
-
* The MIME type according to which the content should be interpreted.
|
|
39
|
-
*/
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
attribute location : String[0..1] {
|
|
43
|
-
doc
|
|
44
|
-
/*
|
|
45
|
-
* A URI for the location of a resource containing the image content,
|
|
46
|
-
* as an alternative for embedding it in the content attribute.
|
|
47
|
-
*/
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
metadata def Icon {
|
|
52
|
-
doc
|
|
53
|
-
/*
|
|
54
|
-
* Icon metadata can be used to annotate a model element with an image to be used
|
|
55
|
-
* to show render the element on a diagram and/or a small image to be used as an
|
|
56
|
-
* adornment on a graphical or textual rendering. Alternatively, another metadata
|
|
57
|
-
* definition can be annotated with an Icon to indicate that any model element
|
|
58
|
-
* annotated by the containing metadata can be rendered according to the Icon.
|
|
59
|
-
*/
|
|
60
|
-
|
|
61
|
-
attribute fullImage : Image[0..1] {
|
|
62
|
-
doc
|
|
63
|
-
/*
|
|
64
|
-
* A full-sized image that can be used to render the annotated element on a
|
|
65
|
-
* graphical view, potentially as an alternative to its standard rendering.
|
|
66
|
-
*/
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
attribute smallImage : Image[0..1] {
|
|
70
|
-
doc
|
|
71
|
-
/*
|
|
72
|
-
* A smaller image that can be used as an adornment on the graphical rendering
|
|
73
|
-
* of the annotated element or as a marker in a textual rendering.
|
|
74
|
-
*/
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
|
|
1
|
+
standard library package ImageMetadata {
|
|
2
|
+
doc
|
|
3
|
+
/*
|
|
4
|
+
* This package provides attributive data and metadata to allow a model element to be
|
|
5
|
+
* annotated with an image to be used in its graphical rendering or as a marker to
|
|
6
|
+
* adorn graphical or textual renderings.
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
private import ScalarValues::String;
|
|
10
|
+
|
|
11
|
+
attribute def Image {
|
|
12
|
+
doc
|
|
13
|
+
/*
|
|
14
|
+
* Image provides the data necessary for the physical definition of
|
|
15
|
+
* a graphical image.
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
attribute content : String[0..1] {
|
|
19
|
+
doc
|
|
20
|
+
/*
|
|
21
|
+
* Binary data for the image according to the given MIME type,
|
|
22
|
+
* encoded as given by the encoding.
|
|
23
|
+
*/
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
attribute encoding : String[0..1] {
|
|
27
|
+
doc
|
|
28
|
+
/*
|
|
29
|
+
* Describes how characters in the content are to be decoded into
|
|
30
|
+
* binary data. At least "base64", "hex", "identify", and "JSONescape"
|
|
31
|
+
* shall be supported.
|
|
32
|
+
*/
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
attribute type : String[0..1] {
|
|
36
|
+
doc
|
|
37
|
+
/*
|
|
38
|
+
* The MIME type according to which the content should be interpreted.
|
|
39
|
+
*/
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
attribute location : String[0..1] {
|
|
43
|
+
doc
|
|
44
|
+
/*
|
|
45
|
+
* A URI for the location of a resource containing the image content,
|
|
46
|
+
* as an alternative for embedding it in the content attribute.
|
|
47
|
+
*/
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
metadata def Icon {
|
|
52
|
+
doc
|
|
53
|
+
/*
|
|
54
|
+
* Icon metadata can be used to annotate a model element with an image to be used
|
|
55
|
+
* to show render the element on a diagram and/or a small image to be used as an
|
|
56
|
+
* adornment on a graphical or textual rendering. Alternatively, another metadata
|
|
57
|
+
* definition can be annotated with an Icon to indicate that any model element
|
|
58
|
+
* annotated by the containing metadata can be rendered according to the Icon.
|
|
59
|
+
*/
|
|
60
|
+
|
|
61
|
+
attribute fullImage : Image[0..1] {
|
|
62
|
+
doc
|
|
63
|
+
/*
|
|
64
|
+
* A full-sized image that can be used to render the annotated element on a
|
|
65
|
+
* graphical view, potentially as an alternative to its standard rendering.
|
|
66
|
+
*/
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
attribute smallImage : Image[0..1] {
|
|
70
|
+
doc
|
|
71
|
+
/*
|
|
72
|
+
* A smaller image that can be used as an adornment on the graphical rendering
|
|
73
|
+
* of the annotated element or as a marker in a textual rendering.
|
|
74
|
+
*/
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
|
|
78
78
|
}
|