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
package/resources/sysml.library/Domain Libraries/Quantities and Units/VectorCalculations.sysml
CHANGED
|
@@ -1,62 +1,62 @@
|
|
|
1
|
-
standard library package VectorCalculations {
|
|
2
|
-
doc
|
|
3
|
-
/*
|
|
4
|
-
* This package package defines calculations for the construction of and computations on VectorQuantityValues.
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
private import ScalarValues::Boolean;
|
|
8
|
-
private import ScalarValues::Number;
|
|
9
|
-
private import Quantities::ScalarQuantityValue;
|
|
10
|
-
private import Quantities::VectorQuantityValue;
|
|
11
|
-
private import MeasurementReferences::VectorMeasurementReference;
|
|
12
|
-
private import MeasurementReferences::CoordinateTransformation;
|
|
13
|
-
|
|
14
|
-
calc def '[' :> BaseFunctions::'[' {
|
|
15
|
-
in elements: Number[1..n] ordered nonunique;
|
|
16
|
-
in mRef: VectorMeasurementReference[1];
|
|
17
|
-
return quantity : VectorQuantityValue[1];
|
|
18
|
-
private attribute n = mRef.flattenedSize;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
calc def isZeroVectorQuantity :> VectorFunctions::isZeroVector {
|
|
22
|
-
in : VectorQuantityValue[1];
|
|
23
|
-
return : Boolean[1];
|
|
24
|
-
}
|
|
25
|
-
calc def isUnitVectorQuantity {
|
|
26
|
-
in : VectorQuantityValue[1];
|
|
27
|
-
return : Boolean[1];
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
/* Addition and subtraction */
|
|
31
|
-
calc def '+' :> VectorFunctions::'+' { in : VectorQuantityValue[1]; in : VectorQuantityValue[1]; return : VectorQuantityValue[1]; }
|
|
32
|
-
calc def '-' :> VectorFunctions::'-' { in : VectorQuantityValue[1]; in : VectorQuantityValue[1]; return : VectorQuantityValue[1]; }
|
|
33
|
-
|
|
34
|
-
/* Multiplication and division */
|
|
35
|
-
calc def scalarVectorMult :> VectorFunctions::scalarVectorMult { in : Number[1]; in : VectorQuantityValue[1]; return : VectorQuantityValue[1]; }
|
|
36
|
-
calc def vectorScalarMult :> VectorFunctions::vectorScalarMult { in : VectorQuantityValue[1]; in : Number[1]; return : VectorQuantityValue[1]; }
|
|
37
|
-
calc def scalarQuantityVectorMult { in : ScalarQuantityValue[1]; in : VectorQuantityValue[1]; return : VectorQuantityValue[1]; }
|
|
38
|
-
calc def vectorScalarQuantityMult { in : VectorQuantityValue[1]; in : ScalarQuantityValue[1]; return : VectorQuantityValue[1]; }
|
|
39
|
-
calc def vectorScalarDiv :> VectorFunctions::vectorScalarDiv { in : VectorQuantityValue[1]; in : Number[1]; return : VectorQuantityValue[1]; }
|
|
40
|
-
calc def vectorScalarQuantityDiv { in : VectorQuantityValue[1]; in : ScalarQuantityValue[1]; return : VectorQuantityValue[1]; }
|
|
41
|
-
calc def inner :> VectorFunctions::inner { in : VectorQuantityValue[1]; in : VectorQuantityValue[1]; return : Number[1]; }
|
|
42
|
-
calc def outer { in : VectorQuantityValue[1]; in : VectorQuantityValue[1]; return : VectorQuantityValue[1]; }
|
|
43
|
-
|
|
44
|
-
alias '*' for scalarVectorMult;
|
|
45
|
-
|
|
46
|
-
/* Norm and angle */
|
|
47
|
-
calc def norm :> VectorFunctions::norm { in : VectorQuantityValue[1]; return : Number[1]; }
|
|
48
|
-
calc def angle :> VectorFunctions::angle { in : VectorQuantityValue[1]; in : VectorQuantityValue[1]; return : Number[1]; }
|
|
49
|
-
|
|
50
|
-
/* Coordinate transformation */
|
|
51
|
-
calc def transform {
|
|
52
|
-
in transformation : CoordinateTransformation;
|
|
53
|
-
in sourceVector : VectorQuantityValue {
|
|
54
|
-
:>> mRef = transformation.source;
|
|
55
|
-
}
|
|
56
|
-
return targetVector : VectorQuantityValue {
|
|
57
|
-
:>> mRef = transformation.target {
|
|
58
|
-
:>> dimensions = sourceVector.mRef.dimensions;
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
}
|
|
1
|
+
standard library package VectorCalculations {
|
|
2
|
+
doc
|
|
3
|
+
/*
|
|
4
|
+
* This package package defines calculations for the construction of and computations on VectorQuantityValues.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
private import ScalarValues::Boolean;
|
|
8
|
+
private import ScalarValues::Number;
|
|
9
|
+
private import Quantities::ScalarQuantityValue;
|
|
10
|
+
private import Quantities::VectorQuantityValue;
|
|
11
|
+
private import MeasurementReferences::VectorMeasurementReference;
|
|
12
|
+
private import MeasurementReferences::CoordinateTransformation;
|
|
13
|
+
|
|
14
|
+
calc def '[' :> BaseFunctions::'[' {
|
|
15
|
+
in elements: Number[1..n] ordered nonunique;
|
|
16
|
+
in mRef: VectorMeasurementReference[1];
|
|
17
|
+
return quantity : VectorQuantityValue[1];
|
|
18
|
+
private attribute n = mRef.flattenedSize;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
calc def isZeroVectorQuantity :> VectorFunctions::isZeroVector {
|
|
22
|
+
in : VectorQuantityValue[1];
|
|
23
|
+
return : Boolean[1];
|
|
24
|
+
}
|
|
25
|
+
calc def isUnitVectorQuantity {
|
|
26
|
+
in : VectorQuantityValue[1];
|
|
27
|
+
return : Boolean[1];
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
/* Addition and subtraction */
|
|
31
|
+
calc def '+' :> VectorFunctions::'+' { in : VectorQuantityValue[1]; in : VectorQuantityValue[1]; return : VectorQuantityValue[1]; }
|
|
32
|
+
calc def '-' :> VectorFunctions::'-' { in : VectorQuantityValue[1]; in : VectorQuantityValue[1]; return : VectorQuantityValue[1]; }
|
|
33
|
+
|
|
34
|
+
/* Multiplication and division */
|
|
35
|
+
calc def scalarVectorMult :> VectorFunctions::scalarVectorMult { in : Number[1]; in : VectorQuantityValue[1]; return : VectorQuantityValue[1]; }
|
|
36
|
+
calc def vectorScalarMult :> VectorFunctions::vectorScalarMult { in : VectorQuantityValue[1]; in : Number[1]; return : VectorQuantityValue[1]; }
|
|
37
|
+
calc def scalarQuantityVectorMult { in : ScalarQuantityValue[1]; in : VectorQuantityValue[1]; return : VectorQuantityValue[1]; }
|
|
38
|
+
calc def vectorScalarQuantityMult { in : VectorQuantityValue[1]; in : ScalarQuantityValue[1]; return : VectorQuantityValue[1]; }
|
|
39
|
+
calc def vectorScalarDiv :> VectorFunctions::vectorScalarDiv { in : VectorQuantityValue[1]; in : Number[1]; return : VectorQuantityValue[1]; }
|
|
40
|
+
calc def vectorScalarQuantityDiv { in : VectorQuantityValue[1]; in : ScalarQuantityValue[1]; return : VectorQuantityValue[1]; }
|
|
41
|
+
calc def inner :> VectorFunctions::inner { in : VectorQuantityValue[1]; in : VectorQuantityValue[1]; return : Number[1]; }
|
|
42
|
+
calc def outer { in : VectorQuantityValue[1]; in : VectorQuantityValue[1]; return : VectorQuantityValue[1]; }
|
|
43
|
+
|
|
44
|
+
alias '*' for scalarVectorMult;
|
|
45
|
+
|
|
46
|
+
/* Norm and angle */
|
|
47
|
+
calc def norm :> VectorFunctions::norm { in : VectorQuantityValue[1]; return : Number[1]; }
|
|
48
|
+
calc def angle :> VectorFunctions::angle { in : VectorQuantityValue[1]; in : VectorQuantityValue[1]; return : Number[1]; }
|
|
49
|
+
|
|
50
|
+
/* Coordinate transformation */
|
|
51
|
+
calc def transform {
|
|
52
|
+
in transformation : CoordinateTransformation;
|
|
53
|
+
in sourceVector : VectorQuantityValue {
|
|
54
|
+
:>> mRef = transformation.source;
|
|
55
|
+
}
|
|
56
|
+
return targetVector : VectorQuantityValue {
|
|
57
|
+
:>> mRef = transformation.target {
|
|
58
|
+
:>> dimensions = sourceVector.mRef.dimensions;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
{
|
|
2
|
-
"index": {
|
|
3
|
-
"DerivationConnections": "DerivationConnections.sysml",
|
|
4
|
-
"RequirementDerivation": "RequirementDerivation.sysml"
|
|
5
|
-
},
|
|
6
|
-
"created": "2025-03-13T00:00:00Z",
|
|
7
|
-
"metamodel": "https://www.omg.org/spec/SysML/20250201"
|
|
1
|
+
{
|
|
2
|
+
"index": {
|
|
3
|
+
"DerivationConnections": "DerivationConnections.sysml",
|
|
4
|
+
"RequirementDerivation": "RequirementDerivation.sysml"
|
|
5
|
+
},
|
|
6
|
+
"created": "2025-03-13T00:00:00Z",
|
|
7
|
+
"metamodel": "https://www.omg.org/spec/SysML/20250201"
|
|
8
8
|
}
|
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "SysML Requirement Derivation Library",
|
|
3
|
-
"version": "2.0.0",
|
|
4
|
-
"description": "Standard requirements derivation 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/Function-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 Requirement Derivation Library",
|
|
3
|
+
"version": "2.0.0",
|
|
4
|
+
"description": "Standard requirements derivation 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/Function-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
|
}
|
package/resources/sysml.library/Domain Libraries/Requirement Derivation/DerivationConnections.sysml
CHANGED
|
@@ -1,63 +1,63 @@
|
|
|
1
|
-
standard library package DerivationConnections {
|
|
2
|
-
doc
|
|
3
|
-
/*
|
|
4
|
-
* This package provides a library model for derivation connections between requirements.
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
private import SequenceFunctions::excludes;
|
|
8
|
-
private import ControlFunctions::allTrue;
|
|
9
|
-
|
|
10
|
-
requirement originalRequirements[*] {
|
|
11
|
-
doc /* originalRequirements are the original requirements in Derivation connections. */
|
|
12
|
-
}
|
|
13
|
-
requirement derivedRequirements[*] {
|
|
14
|
-
doc /* derivedRequirements are the derived requirments in Derivation connections. */
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
abstract connection def Derivation {
|
|
18
|
-
doc
|
|
19
|
-
/*
|
|
20
|
-
* A Derivation connection asserts that one or more derivedRequirements are derived from
|
|
21
|
-
* a single originalRequirement. This means that any subject that satisfies the
|
|
22
|
-
* originalRequirement should, in itself or though other things related to it, satisfy
|
|
23
|
-
* each of the derivedRequirements.
|
|
24
|
-
*
|
|
25
|
-
* A connection usage typed by Derivation must have requirement usages for all its ends.
|
|
26
|
-
* The single end for the originalRequirement should subset originalRequirement, while
|
|
27
|
-
* the rest of the ends should subset derivedRequirements.
|
|
28
|
-
*/
|
|
29
|
-
|
|
30
|
-
// Note: This redefinition causes a distinguishibility problem for binary connections, becuse
|
|
31
|
-
// participant is already redefined for them to limit the multiplicity to 2.
|
|
32
|
-
// ref requirement :>> participant {
|
|
33
|
-
// doc /* All the participants in a Derivation must be requirements. */
|
|
34
|
-
// }
|
|
35
|
-
|
|
36
|
-
ref requirement originalRequirement[1] :>> originalRequirements :> participant {
|
|
37
|
-
doc /* The single original requirement. */
|
|
38
|
-
}
|
|
39
|
-
ref requirement :>> derivedRequirements[1..*] :> participant {
|
|
40
|
-
doc /* The one or more requirements that are derived from the original requirement. */
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
private assert constraint originalNotDerived {
|
|
44
|
-
doc /* The original requirement must not be a derived requirement. */
|
|
45
|
-
|
|
46
|
-
derivedRequirements->excludes(originalRequirement)
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
private assert constraint originalImpliesDerived {
|
|
50
|
-
doc
|
|
51
|
-
/*
|
|
52
|
-
* Whenever the originalRequirement is satisfied, all of the derivedRequirements must also
|
|
53
|
-
* be satisfied.
|
|
54
|
-
*/
|
|
55
|
-
|
|
56
|
-
originalRequirement.result implies allTrue(derivedRequirements.result)
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
abstract connection derivations : Derivation[*] {
|
|
61
|
-
doc /* derivations is the base feature for Derivation connection usages. */
|
|
62
|
-
}
|
|
1
|
+
standard library package DerivationConnections {
|
|
2
|
+
doc
|
|
3
|
+
/*
|
|
4
|
+
* This package provides a library model for derivation connections between requirements.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
private import SequenceFunctions::excludes;
|
|
8
|
+
private import ControlFunctions::allTrue;
|
|
9
|
+
|
|
10
|
+
requirement originalRequirements[*] {
|
|
11
|
+
doc /* originalRequirements are the original requirements in Derivation connections. */
|
|
12
|
+
}
|
|
13
|
+
requirement derivedRequirements[*] {
|
|
14
|
+
doc /* derivedRequirements are the derived requirments in Derivation connections. */
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
abstract connection def Derivation {
|
|
18
|
+
doc
|
|
19
|
+
/*
|
|
20
|
+
* A Derivation connection asserts that one or more derivedRequirements are derived from
|
|
21
|
+
* a single originalRequirement. This means that any subject that satisfies the
|
|
22
|
+
* originalRequirement should, in itself or though other things related to it, satisfy
|
|
23
|
+
* each of the derivedRequirements.
|
|
24
|
+
*
|
|
25
|
+
* A connection usage typed by Derivation must have requirement usages for all its ends.
|
|
26
|
+
* The single end for the originalRequirement should subset originalRequirement, while
|
|
27
|
+
* the rest of the ends should subset derivedRequirements.
|
|
28
|
+
*/
|
|
29
|
+
|
|
30
|
+
// Note: This redefinition causes a distinguishibility problem for binary connections, becuse
|
|
31
|
+
// participant is already redefined for them to limit the multiplicity to 2.
|
|
32
|
+
// ref requirement :>> participant {
|
|
33
|
+
// doc /* All the participants in a Derivation must be requirements. */
|
|
34
|
+
// }
|
|
35
|
+
|
|
36
|
+
ref requirement originalRequirement[1] :>> originalRequirements :> participant {
|
|
37
|
+
doc /* The single original requirement. */
|
|
38
|
+
}
|
|
39
|
+
ref requirement :>> derivedRequirements[1..*] :> participant {
|
|
40
|
+
doc /* The one or more requirements that are derived from the original requirement. */
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
private assert constraint originalNotDerived {
|
|
44
|
+
doc /* The original requirement must not be a derived requirement. */
|
|
45
|
+
|
|
46
|
+
derivedRequirements->excludes(originalRequirement)
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
private assert constraint originalImpliesDerived {
|
|
50
|
+
doc
|
|
51
|
+
/*
|
|
52
|
+
* Whenever the originalRequirement is satisfied, all of the derivedRequirements must also
|
|
53
|
+
* be satisfied.
|
|
54
|
+
*/
|
|
55
|
+
|
|
56
|
+
originalRequirement.result implies allTrue(derivedRequirements.result)
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
abstract connection derivations : Derivation[*] {
|
|
61
|
+
doc /* derivations is the base feature for Derivation connection usages. */
|
|
62
|
+
}
|
|
63
63
|
}
|
package/resources/sysml.library/Domain Libraries/Requirement Derivation/RequirementDerivation.sysml
CHANGED
|
@@ -1,39 +1,39 @@
|
|
|
1
|
-
standard library package RequirementDerivation {
|
|
2
|
-
doc /* This package provides language-extension metadata for modeling requirement derivation. */
|
|
3
|
-
|
|
4
|
-
public import DerivationConnections::*;
|
|
5
|
-
private import Metaobjects::SemanticMetadata;
|
|
6
|
-
|
|
7
|
-
metadata def <original> OriginalRequirementMetadata :> SemanticMetadata {
|
|
8
|
-
doc
|
|
9
|
-
/*
|
|
10
|
-
* OriginalRequirementMetadata identifies a usage as an original requirement.
|
|
11
|
-
* It is intended to be used to tag the original requirement end of a Derivation.
|
|
12
|
-
*/
|
|
13
|
-
|
|
14
|
-
:> annotatedElement : SysML::Usage;
|
|
15
|
-
:>> baseType = originalRequirements meta SysML::Usage;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
metadata def <derive> DerivedRequirementMetadata :> SemanticMetadata {
|
|
19
|
-
doc
|
|
20
|
-
/*
|
|
21
|
-
* DerivedRequirementMetadata identifies a usage as a derived requirement.
|
|
22
|
-
* It is intended to be used to tag the derived requirement ends of a Derivation.
|
|
23
|
-
*/
|
|
24
|
-
|
|
25
|
-
:> annotatedElement : SysML::Usage;
|
|
26
|
-
:>> baseType = derivedRequirements meta SysML::Usage;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
metadata def <derivation> DerivationMetadata :> SemanticMetadata {
|
|
30
|
-
doc
|
|
31
|
-
/*
|
|
32
|
-
* DerivationMetadata is SemanticMetadata for a Derivation connection.
|
|
33
|
-
*/
|
|
34
|
-
|
|
35
|
-
:> annotatedElement : SysML::ConnectionDefinition;
|
|
36
|
-
:> annotatedElement : SysML::ConnectionUsage;
|
|
37
|
-
:>> baseType = derivations meta SysML::Usage;
|
|
38
|
-
}
|
|
1
|
+
standard library package RequirementDerivation {
|
|
2
|
+
doc /* This package provides language-extension metadata for modeling requirement derivation. */
|
|
3
|
+
|
|
4
|
+
public import DerivationConnections::*;
|
|
5
|
+
private import Metaobjects::SemanticMetadata;
|
|
6
|
+
|
|
7
|
+
metadata def <original> OriginalRequirementMetadata :> SemanticMetadata {
|
|
8
|
+
doc
|
|
9
|
+
/*
|
|
10
|
+
* OriginalRequirementMetadata identifies a usage as an original requirement.
|
|
11
|
+
* It is intended to be used to tag the original requirement end of a Derivation.
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
:> annotatedElement : SysML::Usage;
|
|
15
|
+
:>> baseType = originalRequirements meta SysML::Usage;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
metadata def <derive> DerivedRequirementMetadata :> SemanticMetadata {
|
|
19
|
+
doc
|
|
20
|
+
/*
|
|
21
|
+
* DerivedRequirementMetadata identifies a usage as a derived requirement.
|
|
22
|
+
* It is intended to be used to tag the derived requirement ends of a Derivation.
|
|
23
|
+
*/
|
|
24
|
+
|
|
25
|
+
:> annotatedElement : SysML::Usage;
|
|
26
|
+
:>> baseType = derivedRequirements meta SysML::Usage;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
metadata def <derivation> DerivationMetadata :> SemanticMetadata {
|
|
30
|
+
doc
|
|
31
|
+
/*
|
|
32
|
+
* DerivationMetadata is SemanticMetadata for a Derivation connection.
|
|
33
|
+
*/
|
|
34
|
+
|
|
35
|
+
:> annotatedElement : SysML::ConnectionDefinition;
|
|
36
|
+
:> annotatedElement : SysML::ConnectionUsage;
|
|
37
|
+
:>> baseType = derivations meta SysML::Usage;
|
|
38
|
+
}
|
|
39
39
|
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
{
|
|
2
|
-
"index": {
|
|
3
|
-
"Collections": "Collections.kerml",
|
|
4
|
-
"ScalarValues": "ScalarValues.kerml",
|
|
5
|
-
"VectorValues": "VectorValues.kerml"
|
|
6
|
-
},
|
|
7
|
-
"created": "2025-03-13T00:00:00Z",
|
|
8
|
-
"metamodel": "https://www.omg.org/spec/KerML/20250201"
|
|
1
|
+
{
|
|
2
|
+
"index": {
|
|
3
|
+
"Collections": "Collections.kerml",
|
|
4
|
+
"ScalarValues": "ScalarValues.kerml",
|
|
5
|
+
"VectorValues": "VectorValues.kerml"
|
|
6
|
+
},
|
|
7
|
+
"created": "2025-03-13T00:00:00Z",
|
|
8
|
+
"metamodel": "https://www.omg.org/spec/KerML/20250201"
|
|
9
9
|
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "Kernel Data Type Library",
|
|
3
|
-
"version": "1.0.0",
|
|
4
|
-
"description": "Standard data type library for the Kernel Modeling Language (KerML)",
|
|
5
|
-
"usage": [
|
|
6
|
-
{
|
|
7
|
-
"resource": "https://www.omg.org/spec/KerML/20250201/Semantic-Library.kpar",
|
|
8
|
-
"versionConstraint": "1.0.0"
|
|
9
|
-
}
|
|
10
|
-
]
|
|
1
|
+
{
|
|
2
|
+
"name": "Kernel Data Type Library",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "Standard data type library for the Kernel Modeling Language (KerML)",
|
|
5
|
+
"usage": [
|
|
6
|
+
{
|
|
7
|
+
"resource": "https://www.omg.org/spec/KerML/20250201/Semantic-Library.kpar",
|
|
8
|
+
"versionConstraint": "1.0.0"
|
|
9
|
+
}
|
|
10
|
+
]
|
|
11
11
|
}
|