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.
Files changed (121) hide show
  1. package/LICENSE +27 -27
  2. package/README.md +200 -200
  3. package/out/main.js +596 -141
  4. package/out/main.js.map +4 -4
  5. package/package.json +57 -57
  6. package/resources/sysml.dimension-table.json +1 -1
  7. package/resources/sysml.library/Domain Libraries/Analysis/.meta.json +9 -9
  8. package/resources/sysml.library/Domain Libraries/Analysis/.project.json +26 -26
  9. package/resources/sysml.library/Domain Libraries/Analysis/AnalysisTooling.sysml +33 -33
  10. package/resources/sysml.library/Domain Libraries/Analysis/SampledFunctions.sysml +118 -118
  11. package/resources/sysml.library/Domain Libraries/Analysis/StateSpaceRepresentation.sysml +143 -143
  12. package/resources/sysml.library/Domain Libraries/Analysis/TradeStudies.sysml +170 -170
  13. package/resources/sysml.library/Domain Libraries/Cause and Effect/.meta.json +7 -7
  14. package/resources/sysml.library/Domain Libraries/Cause and Effect/.project.json +22 -22
  15. package/resources/sysml.library/Domain Libraries/Cause and Effect/CausationConnections.sysml +82 -82
  16. package/resources/sysml.library/Domain Libraries/Cause and Effect/CauseAndEffect.sysml +81 -81
  17. package/resources/sysml.library/Domain Libraries/Geometry/.meta.json +7 -7
  18. package/resources/sysml.library/Domain Libraries/Geometry/.project.json +26 -26
  19. package/resources/sysml.library/Domain Libraries/Geometry/ShapeItems.sysml +898 -898
  20. package/resources/sysml.library/Domain Libraries/Geometry/SpatialItems.sysml +167 -167
  21. package/resources/sysml.library/Domain Libraries/Metadata/.meta.json +9 -9
  22. package/resources/sysml.library/Domain Libraries/Metadata/.project.json +18 -18
  23. package/resources/sysml.library/Domain Libraries/Metadata/ImageMetadata.sysml +77 -77
  24. package/resources/sysml.library/Domain Libraries/Metadata/ModelingMetadata.sysml +142 -142
  25. package/resources/sysml.library/Domain Libraries/Metadata/ParametersOfInterestMetadata.sysml +38 -38
  26. package/resources/sysml.library/Domain Libraries/Metadata/RiskMetadata.sysml +99 -99
  27. package/resources/sysml.library/Domain Libraries/Quantities and Units/.meta.json +28 -28
  28. package/resources/sysml.library/Domain Libraries/Quantities and Units/.project.json +22 -22
  29. package/resources/sysml.library/Domain Libraries/Quantities and Units/ISQ.sysml +42 -42
  30. package/resources/sysml.library/Domain Libraries/Quantities and Units/ISQAcoustics.sysml +439 -439
  31. package/resources/sysml.library/Domain Libraries/Quantities and Units/ISQAtomicNuclear.sysml +2726 -2726
  32. package/resources/sysml.library/Domain Libraries/Quantities and Units/ISQBase.sysml +206 -206
  33. package/resources/sysml.library/Domain Libraries/Quantities and Units/ISQCharacteristicNumbers.sysml +1991 -1991
  34. package/resources/sysml.library/Domain Libraries/Quantities and Units/ISQChemistryMolecular.sysml +1353 -1353
  35. package/resources/sysml.library/Domain Libraries/Quantities and Units/ISQCondensedMatter.sysml +1223 -1223
  36. package/resources/sysml.library/Domain Libraries/Quantities and Units/ISQElectromagnetism.sysml +2333 -2333
  37. package/resources/sysml.library/Domain Libraries/Quantities and Units/ISQInformation.sysml +958 -958
  38. package/resources/sysml.library/Domain Libraries/Quantities and Units/ISQLight.sysml +1537 -1537
  39. package/resources/sysml.library/Domain Libraries/Quantities and Units/ISQMechanics.sysml +1564 -1564
  40. package/resources/sysml.library/Domain Libraries/Quantities and Units/ISQSpaceTime.sysml +1169 -1169
  41. package/resources/sysml.library/Domain Libraries/Quantities and Units/ISQThermodynamics.sysml +1256 -1256
  42. package/resources/sysml.library/Domain Libraries/Quantities and Units/MeasurementRefCalculations.sysml +30 -30
  43. package/resources/sysml.library/Domain Libraries/Quantities and Units/MeasurementReferences.sysml +526 -526
  44. package/resources/sysml.library/Domain Libraries/Quantities and Units/Quantities.sysml +107 -107
  45. package/resources/sysml.library/Domain Libraries/Quantities and Units/QuantityCalculations.sysml +70 -70
  46. package/resources/sysml.library/Domain Libraries/Quantities and Units/SI.sysml +378 -378
  47. package/resources/sysml.library/Domain Libraries/Quantities and Units/SIPrefixes.sysml +48 -48
  48. package/resources/sysml.library/Domain Libraries/Quantities and Units/TensorCalculations.sysml +49 -49
  49. package/resources/sysml.library/Domain Libraries/Quantities and Units/Time.sysml +274 -274
  50. package/resources/sysml.library/Domain Libraries/Quantities and Units/USCustomaryUnits.sysml +260 -260
  51. package/resources/sysml.library/Domain Libraries/Quantities and Units/VectorCalculations.sysml +62 -62
  52. package/resources/sysml.library/Domain Libraries/Requirement Derivation/.meta.json +7 -7
  53. package/resources/sysml.library/Domain Libraries/Requirement Derivation/.project.json +18 -18
  54. package/resources/sysml.library/Domain Libraries/Requirement Derivation/DerivationConnections.sysml +62 -62
  55. package/resources/sysml.library/Domain Libraries/Requirement Derivation/RequirementDerivation.sysml +38 -38
  56. package/resources/sysml.library/Kernel Libraries/Kernel Data Type Library/.meta.json +8 -8
  57. package/resources/sysml.library/Kernel Libraries/Kernel Data Type Library/.project.json +10 -10
  58. package/resources/sysml.library/Kernel Libraries/Kernel Data Type Library/Collections.kerml +176 -176
  59. package/resources/sysml.library/Kernel Libraries/Kernel Data Type Library/ScalarValues.kerml +23 -23
  60. package/resources/sysml.library/Kernel Libraries/Kernel Data Type Library/VectorValues.kerml +63 -63
  61. package/resources/sysml.library/Kernel Libraries/Kernel Function Library/.meta.json +22 -22
  62. package/resources/sysml.library/Kernel Libraries/Kernel Function Library/.project.json +14 -14
  63. package/resources/sysml.library/Kernel Libraries/Kernel Function Library/BaseFunctions.kerml +79 -79
  64. package/resources/sysml.library/Kernel Libraries/Kernel Function Library/BooleanFunctions.kerml +22 -22
  65. package/resources/sysml.library/Kernel Libraries/Kernel Function Library/CollectionFunctions.kerml +68 -68
  66. package/resources/sysml.library/Kernel Libraries/Kernel Function Library/ComplexFunctions.kerml +47 -47
  67. package/resources/sysml.library/Kernel Libraries/Kernel Function Library/ControlFunctions.kerml +116 -116
  68. package/resources/sysml.library/Kernel Libraries/Kernel Function Library/DataFunctions.kerml +42 -42
  69. package/resources/sysml.library/Kernel Libraries/Kernel Function Library/IntegerFunctions.kerml +43 -43
  70. package/resources/sysml.library/Kernel Libraries/Kernel Function Library/NaturalFunctions.kerml +27 -27
  71. package/resources/sysml.library/Kernel Libraries/Kernel Function Library/NumericalFunctions.kerml +42 -42
  72. package/resources/sysml.library/Kernel Libraries/Kernel Function Library/OccurrenceFunctions.kerml +153 -153
  73. package/resources/sysml.library/Kernel Libraries/Kernel Function Library/RationalFunctions.kerml +49 -49
  74. package/resources/sysml.library/Kernel Libraries/Kernel Function Library/RealFunctions.kerml +56 -56
  75. package/resources/sysml.library/Kernel Libraries/Kernel Function Library/ScalarFunctions.kerml +32 -32
  76. package/resources/sysml.library/Kernel Libraries/Kernel Function Library/SequenceFunctions.kerml +110 -110
  77. package/resources/sysml.library/Kernel Libraries/Kernel Function Library/StringFunctions.kerml +25 -25
  78. package/resources/sysml.library/Kernel Libraries/Kernel Function Library/TrigFunctions.kerml +34 -34
  79. package/resources/sysml.library/Kernel Libraries/Kernel Function Library/VectorFunctions.kerml +272 -272
  80. package/resources/sysml.library/Kernel Libraries/Kernel Semantic Library/.meta.json +21 -21
  81. package/resources/sysml.library/Kernel Libraries/Kernel Semantic Library/.project.json +14 -14
  82. package/resources/sysml.library/Kernel Libraries/Kernel Semantic Library/Base.kerml +94 -94
  83. package/resources/sysml.library/Kernel Libraries/Kernel Semantic Library/Clocks.kerml +155 -155
  84. package/resources/sysml.library/Kernel Libraries/Kernel Semantic Library/ControlPerformances.kerml +134 -134
  85. package/resources/sysml.library/Kernel Libraries/Kernel Semantic Library/FeatureReferencingPerformances.kerml +189 -189
  86. package/resources/sysml.library/Kernel Libraries/Kernel Semantic Library/KerML.kerml +483 -483
  87. package/resources/sysml.library/Kernel Libraries/Kernel Semantic Library/Links.kerml +66 -66
  88. package/resources/sysml.library/Kernel Libraries/Kernel Semantic Library/Metaobjects.kerml +57 -57
  89. package/resources/sysml.library/Kernel Libraries/Kernel Semantic Library/Objects.kerml +212 -212
  90. package/resources/sysml.library/Kernel Libraries/Kernel Semantic Library/Observation.kerml +160 -160
  91. package/resources/sysml.library/Kernel Libraries/Kernel Semantic Library/Occurrences.kerml +992 -992
  92. package/resources/sysml.library/Kernel Libraries/Kernel Semantic Library/Performances.kerml +292 -292
  93. package/resources/sysml.library/Kernel Libraries/Kernel Semantic Library/SpatialFrames.kerml +196 -196
  94. package/resources/sysml.library/Kernel Libraries/Kernel Semantic Library/StatePerformances.kerml +144 -144
  95. package/resources/sysml.library/Kernel Libraries/Kernel Semantic Library/Transfers.kerml +280 -280
  96. package/resources/sysml.library/Kernel Libraries/Kernel Semantic Library/TransitionPerformances.kerml +65 -65
  97. package/resources/sysml.library/Kernel Libraries/Kernel Semantic Library/Triggers.kerml +187 -187
  98. package/resources/sysml.library/LICENSE +276 -276
  99. package/resources/sysml.library/NOTICE.md +20 -20
  100. package/resources/sysml.library/Systems Library/Actions.sysml +556 -556
  101. package/resources/sysml.library/Systems Library/Allocations.sysml +28 -28
  102. package/resources/sysml.library/Systems Library/AnalysisCases.sysml +37 -37
  103. package/resources/sysml.library/Systems Library/Attributes.sysml +24 -24
  104. package/resources/sysml.library/Systems Library/Calculations.sysml +36 -36
  105. package/resources/sysml.library/Systems Library/Cases.sysml +70 -70
  106. package/resources/sysml.library/Systems Library/Connections.sysml +59 -59
  107. package/resources/sysml.library/Systems Library/Constraints.sysml +43 -43
  108. package/resources/sysml.library/Systems Library/Flows.sysml +125 -125
  109. package/resources/sysml.library/Systems Library/Interfaces.sysml +88 -88
  110. package/resources/sysml.library/Systems Library/Items.sysml +152 -152
  111. package/resources/sysml.library/Systems Library/Metadata.sysml +31 -31
  112. package/resources/sysml.library/Systems Library/Parts.sysml +80 -80
  113. package/resources/sysml.library/Systems Library/Ports.sysml +53 -53
  114. package/resources/sysml.library/Systems Library/Requirements.sysml +193 -193
  115. package/resources/sysml.library/Systems Library/StandardViewDefinitions.sysml +123 -123
  116. package/resources/sysml.library/Systems Library/States.sysml +102 -102
  117. package/resources/sysml.library/Systems Library/SysML.sysml +539 -539
  118. package/resources/sysml.library/Systems Library/UseCases.sysml +56 -56
  119. package/resources/sysml.library/Systems Library/VerificationCases.sysml +102 -102
  120. package/resources/sysml.library/Systems Library/Views.sysml +163 -163
  121. package/resources/sysml.library.index.json +1 -1
@@ -1,153 +1,153 @@
1
- standard library package Items {
2
- doc
3
- /*
4
- * This package defines the base types for items and related structural elements in the
5
- * SysML language.
6
- */
7
-
8
- private import Objects::Object;
9
- private import Objects::objects;
10
- private import Parts::Part;
11
- private import Parts::parts;
12
- private import Occurrences::HappensWhile;
13
- private import Occurrences::JustOutsideOf;
14
- private import Objects::StructuredSpaceObject;
15
- private import Constraints::ConstraintCheck;
16
- private import Constraints::constraintChecks;
17
- private import CollectionFunctions::contains;
18
- private import SequenceFunctions::isEmpty;
19
- private import SequenceFunctions::notEmpty;
20
- private import SequenceFunctions::includes;
21
- private import SequenceFunctions::union;
22
- private import ControlFunctions::forAll;
23
-
24
- abstract item def Item :> Object {
25
- doc
26
- /*
27
- * Item is the most general class of objects that are part of, exist in or flow through a system.
28
- * Item is the base type of all ItemDefinitions.
29
- */
30
-
31
- ref self: Item :>> Object::self;
32
-
33
- item start: Item :>> startShot;
34
- item done: Item :>> endShot;
35
-
36
- item shape : Item :>> spaceBoundary {
37
- doc
38
- /*
39
- * The shape of an Item is its spatial boundary.
40
- */
41
- }
42
-
43
- item envelopingShapes : Item[0..*] {
44
- doc
45
- /*
46
- * Each enveloping shape is the shape of an Item that spacially overlaps this Item for its
47
- * entire lifetime.
48
- */
49
-
50
- ref item envelopedItem :>> that;
51
-
52
- assert constraint {
53
- doc
54
- /*
55
- * Enables two dimensional items to be enveloped by two or three dimensional shapes.
56
- */
57
- innerSpaceDimension ==
58
- (if envelopedItem.innerSpaceDimension == 3 | envelopedItem.outerSpaceDimension == 3? 2
59
- else envelopedItem.outerSpaceDimension - 1)
60
- }
61
- assert constraint { (that as Item).innerSpaceDimension < 3 implies notEmpty(outerSpaceDimension) }
62
-
63
- item envelopingItem [1];
64
-
65
- assert constraint {
66
- doc
67
- /*
68
- * This constraint prevents an envelopingShape from being a portion.
69
- */
70
-
71
- envelopingItem.shape.spaceTimeCoincidentOccurrences->includes(that) and
72
- envelopingItem.spaceTimeEnclosedOccurrences->includes(that.that)
73
- }
74
- }
75
-
76
- item boundingShapes : StructuredSpaceObject [0..*] :> envelopingShapes {
77
- doc
78
- /*
79
- * envelopingShapes that are structured space objects with every face or every edge
80
- * intersecting this Item.
81
- */
82
-
83
- ref item boundingShape: Item :>> self;
84
-
85
- private item :>> faces {
86
- ref item face :>> self;
87
- item inter [1];
88
- assert constraint { contains(inter.intersectionsOf, union(face, boundingShape)) }
89
- }
90
- private item :>> edges {
91
- ref item edge :>> self;
92
- item inter [1];
93
- assert constraint { isEmpty(faces) implies
94
- contains(inter.intersectionsOf, union(edge, boundingShape)) }
95
- }
96
- }
97
-
98
- item voids :>> innerSpaceOccurrences [0..*] {
99
- doc
100
- /*
101
- * Voids are inner space occurrences of this Item.
102
- */
103
- }
104
-
105
- attribute isSolid = isEmpty(voids) {
106
- doc
107
- /*
108
- * An Item is solid if it has no voids.
109
- */
110
- }
111
-
112
- abstract item subitems: Item[0..*] :> items, subobjects {
113
- doc
114
- /*
115
- * The Items that are composite subitems of this Item.
116
- */
117
-
118
- private ref redefines Item::incomingTransferSort, subobjects::incomingTransferSort;
119
- }
120
-
121
- abstract part subparts: Part[0..*] :> subitems, parts {
122
- doc
123
- /*
124
- * The subitems of this Item that are Parts.
125
- */
126
- }
127
-
128
- abstract constraint checkedConstraints: ConstraintCheck[0..*] :> constraintChecks, ownedPerformances {
129
- doc
130
- /*
131
- * Constraints that have been checked by this Item.
132
- */
133
- }
134
- }
135
-
136
- connection def Touches :> JustOutsideOf, HappensWhile {
137
- doc
138
- /*
139
- * Touching items are just outside each other and happen at the same time.
140
- */
141
-
142
- end touchesToo [0..*] item touchedItemToo :>> separateSpaceToo, thisOccurrence;
143
- end touches [0..*] item touchedItem :>> separateSpace, thatOccurrence;
144
- }
145
-
146
- abstract item items : Item[0..*] nonunique :> objects {
147
- doc
148
- /*
149
- * items is the base feature of all ItemUsages.
150
- */
151
- }
152
-
1
+ standard library package Items {
2
+ doc
3
+ /*
4
+ * This package defines the base types for items and related structural elements in the
5
+ * SysML language.
6
+ */
7
+
8
+ private import Objects::Object;
9
+ private import Objects::objects;
10
+ private import Parts::Part;
11
+ private import Parts::parts;
12
+ private import Occurrences::HappensWhile;
13
+ private import Occurrences::JustOutsideOf;
14
+ private import Objects::StructuredSpaceObject;
15
+ private import Constraints::ConstraintCheck;
16
+ private import Constraints::constraintChecks;
17
+ private import CollectionFunctions::contains;
18
+ private import SequenceFunctions::isEmpty;
19
+ private import SequenceFunctions::notEmpty;
20
+ private import SequenceFunctions::includes;
21
+ private import SequenceFunctions::union;
22
+ private import ControlFunctions::forAll;
23
+
24
+ abstract item def Item :> Object {
25
+ doc
26
+ /*
27
+ * Item is the most general class of objects that are part of, exist in or flow through a system.
28
+ * Item is the base type of all ItemDefinitions.
29
+ */
30
+
31
+ ref self: Item :>> Object::self;
32
+
33
+ item start: Item :>> startShot;
34
+ item done: Item :>> endShot;
35
+
36
+ item shape : Item :>> spaceBoundary {
37
+ doc
38
+ /*
39
+ * The shape of an Item is its spatial boundary.
40
+ */
41
+ }
42
+
43
+ item envelopingShapes : Item[0..*] {
44
+ doc
45
+ /*
46
+ * Each enveloping shape is the shape of an Item that spacially overlaps this Item for its
47
+ * entire lifetime.
48
+ */
49
+
50
+ ref item envelopedItem :>> that;
51
+
52
+ assert constraint {
53
+ doc
54
+ /*
55
+ * Enables two dimensional items to be enveloped by two or three dimensional shapes.
56
+ */
57
+ innerSpaceDimension ==
58
+ (if envelopedItem.innerSpaceDimension == 3 | envelopedItem.outerSpaceDimension == 3? 2
59
+ else envelopedItem.outerSpaceDimension - 1)
60
+ }
61
+ assert constraint { (that as Item).innerSpaceDimension < 3 implies notEmpty(outerSpaceDimension) }
62
+
63
+ item envelopingItem [1];
64
+
65
+ assert constraint {
66
+ doc
67
+ /*
68
+ * This constraint prevents an envelopingShape from being a portion.
69
+ */
70
+
71
+ envelopingItem.shape.spaceTimeCoincidentOccurrences->includes(that) and
72
+ envelopingItem.spaceTimeEnclosedOccurrences->includes(that.that)
73
+ }
74
+ }
75
+
76
+ item boundingShapes : StructuredSpaceObject [0..*] :> envelopingShapes {
77
+ doc
78
+ /*
79
+ * envelopingShapes that are structured space objects with every face or every edge
80
+ * intersecting this Item.
81
+ */
82
+
83
+ ref item boundingShape: Item :>> self;
84
+
85
+ private item :>> faces {
86
+ ref item face :>> self;
87
+ item inter [1];
88
+ assert constraint { contains(inter.intersectionsOf, union(face, boundingShape)) }
89
+ }
90
+ private item :>> edges {
91
+ ref item edge :>> self;
92
+ item inter [1];
93
+ assert constraint { isEmpty(faces) implies
94
+ contains(inter.intersectionsOf, union(edge, boundingShape)) }
95
+ }
96
+ }
97
+
98
+ item voids :>> innerSpaceOccurrences [0..*] {
99
+ doc
100
+ /*
101
+ * Voids are inner space occurrences of this Item.
102
+ */
103
+ }
104
+
105
+ attribute isSolid = isEmpty(voids) {
106
+ doc
107
+ /*
108
+ * An Item is solid if it has no voids.
109
+ */
110
+ }
111
+
112
+ abstract item subitems: Item[0..*] :> items, subobjects {
113
+ doc
114
+ /*
115
+ * The Items that are composite subitems of this Item.
116
+ */
117
+
118
+ private ref redefines Item::incomingTransferSort, subobjects::incomingTransferSort;
119
+ }
120
+
121
+ abstract part subparts: Part[0..*] :> subitems, parts {
122
+ doc
123
+ /*
124
+ * The subitems of this Item that are Parts.
125
+ */
126
+ }
127
+
128
+ abstract constraint checkedConstraints: ConstraintCheck[0..*] :> constraintChecks, ownedPerformances {
129
+ doc
130
+ /*
131
+ * Constraints that have been checked by this Item.
132
+ */
133
+ }
134
+ }
135
+
136
+ connection def Touches :> JustOutsideOf, HappensWhile {
137
+ doc
138
+ /*
139
+ * Touching items are just outside each other and happen at the same time.
140
+ */
141
+
142
+ end touchesToo [0..*] item touchedItemToo :>> separateSpaceToo, thisOccurrence;
143
+ end touches [0..*] item touchedItem :>> separateSpace, thatOccurrence;
144
+ }
145
+
146
+ abstract item items : Item[0..*] nonunique :> objects {
147
+ doc
148
+ /*
149
+ * items is the base feature of all ItemUsages.
150
+ */
151
+ }
152
+
153
153
  }
@@ -1,32 +1,32 @@
1
- standard library package Metadata {
2
- doc
3
- /*
4
- * This package defines the base types for metadata definitions and related
5
- * metadata annotations in the SysML language.
6
- */
7
-
8
- private import Metaobjects::Metaobject;
9
- private import Metaobjects::metaobjects;
10
- private import Items::Item;
11
- private import Items::items;
12
-
13
- abstract metadata def MetadataItem :> Metaobject, Item {
14
- doc
15
- /*
16
- * MetadataItem is the most general class of Items that represent Metaobjects.
17
- * MetadataItem is the base type of all MetadataDefinitions.
18
- */
19
-
20
- ref self : MetadataItem redefines Metaobject::self, Item::self;
21
- }
22
-
23
- abstract item metadataItems : MetadataItem[0..*] :> metaobjects, items {
24
- doc
25
- /*
26
- * metadataItems is the base feature of all MetadataUsages.
27
- *
28
- * Note: It is not itself a MetadataUsage, because it is not being used as an
29
- * AnnotatingElement here.
30
- */
31
- }
1
+ standard library package Metadata {
2
+ doc
3
+ /*
4
+ * This package defines the base types for metadata definitions and related
5
+ * metadata annotations in the SysML language.
6
+ */
7
+
8
+ private import Metaobjects::Metaobject;
9
+ private import Metaobjects::metaobjects;
10
+ private import Items::Item;
11
+ private import Items::items;
12
+
13
+ abstract metadata def MetadataItem :> Metaobject, Item {
14
+ doc
15
+ /*
16
+ * MetadataItem is the most general class of Items that represent Metaobjects.
17
+ * MetadataItem is the base type of all MetadataDefinitions.
18
+ */
19
+
20
+ ref self : MetadataItem redefines Metaobject::self, Item::self;
21
+ }
22
+
23
+ abstract item metadataItems : MetadataItem[0..*] :> metaobjects, items {
24
+ doc
25
+ /*
26
+ * metadataItems is the base feature of all MetadataUsages.
27
+ *
28
+ * Note: It is not itself a MetadataUsage, because it is not being used as an
29
+ * AnnotatingElement here.
30
+ */
31
+ }
32
32
  }
@@ -1,81 +1,81 @@
1
- standard library package Parts {
2
- doc
3
- /*
4
- * This package defines the base types for parts and related structural elements in the
5
- * SysML language.
6
- */
7
-
8
- private import Objects::Object;
9
- private import Objects::objects;
10
- private import Items::Item;
11
- private import Items::items;
12
- private import Ports::Port;
13
- private import Ports::ports;
14
- private import Actions::Action;
15
- private import Actions::actions;
16
- private import States::StateAction;
17
- private import States::stateActions;
18
-
19
- abstract part def Part :> Item {
20
- doc
21
- /*
22
- * Part is the most general class of objects that represent all or a part of a system.
23
- * Part is the base type of all PartDefinitions.
24
- */
25
-
26
- ref self: Part :>> Item::self;
27
-
28
- part start: Part :>> Item::start;
29
- part done: Part :>> Item::done;
30
-
31
- abstract port ownedPorts: Port[0..*] :> ports, timeEnclosedOccurrences {
32
- doc
33
- /*
34
- * Ports that are owned by this Part.
35
- */
36
- }
37
-
38
- abstract ref action performedActions: Action[0..*] :> actions, enactedPerformances {
39
- doc
40
- /*
41
- * Actions that are performed by this Part.
42
- */
43
- }
44
-
45
- abstract action ownedActions: Action[0..*] :> actions, ownedPerformances {
46
- doc
47
- /*
48
- * Actions that are owned by this Part.
49
- */
50
-
51
- ref part this : Part :>> Action::this, ownedPerformances::this = that as Part {
52
- doc
53
- /*
54
- * The "this" reference of an ownedAction is always its owning Part.
55
- */
56
- }
57
- }
58
-
59
- abstract ref state exhibitedStates: StateAction[0..*] :> stateActions, performedActions {
60
- doc
61
- /*
62
- * StateActions that are exhibited by this Part.
63
- */
64
- }
65
-
66
- abstract state ownedStates: StateAction[0..*] :> stateActions, ownedActions {
67
- doc
68
- /*
69
- * StateActions that are owned by this Part.
70
- */
71
- }
72
- }
73
-
74
- abstract part parts: Part[0..*] nonunique :> items {
75
- doc
76
- /*
77
- * parts is the base feature of all part properties.
78
- */
79
- }
80
-
1
+ standard library package Parts {
2
+ doc
3
+ /*
4
+ * This package defines the base types for parts and related structural elements in the
5
+ * SysML language.
6
+ */
7
+
8
+ private import Objects::Object;
9
+ private import Objects::objects;
10
+ private import Items::Item;
11
+ private import Items::items;
12
+ private import Ports::Port;
13
+ private import Ports::ports;
14
+ private import Actions::Action;
15
+ private import Actions::actions;
16
+ private import States::StateAction;
17
+ private import States::stateActions;
18
+
19
+ abstract part def Part :> Item {
20
+ doc
21
+ /*
22
+ * Part is the most general class of objects that represent all or a part of a system.
23
+ * Part is the base type of all PartDefinitions.
24
+ */
25
+
26
+ ref self: Part :>> Item::self;
27
+
28
+ part start: Part :>> Item::start;
29
+ part done: Part :>> Item::done;
30
+
31
+ abstract port ownedPorts: Port[0..*] :> ports, timeEnclosedOccurrences {
32
+ doc
33
+ /*
34
+ * Ports that are owned by this Part.
35
+ */
36
+ }
37
+
38
+ abstract ref action performedActions: Action[0..*] :> actions, enactedPerformances {
39
+ doc
40
+ /*
41
+ * Actions that are performed by this Part.
42
+ */
43
+ }
44
+
45
+ abstract action ownedActions: Action[0..*] :> actions, ownedPerformances {
46
+ doc
47
+ /*
48
+ * Actions that are owned by this Part.
49
+ */
50
+
51
+ ref part this : Part :>> Action::this, ownedPerformances::this = that as Part {
52
+ doc
53
+ /*
54
+ * The "this" reference of an ownedAction is always its owning Part.
55
+ */
56
+ }
57
+ }
58
+
59
+ abstract ref state exhibitedStates: StateAction[0..*] :> stateActions, performedActions {
60
+ doc
61
+ /*
62
+ * StateActions that are exhibited by this Part.
63
+ */
64
+ }
65
+
66
+ abstract state ownedStates: StateAction[0..*] :> stateActions, ownedActions {
67
+ doc
68
+ /*
69
+ * StateActions that are owned by this Part.
70
+ */
71
+ }
72
+ }
73
+
74
+ abstract part parts: Part[0..*] nonunique :> items {
75
+ doc
76
+ /*
77
+ * parts is the base feature of all part properties.
78
+ */
79
+ }
80
+
81
81
  }
@@ -1,54 +1,54 @@
1
- standard library package Ports {
2
- doc
3
- /*
4
- * This package defines the base types for ports and related structural elements
5
- * in the SysML language.
6
- */
7
-
8
- private import Objects::Object;
9
- private import Objects::objects;
10
-
11
- abstract port def Port :> Object {
12
- doc
13
- /*
14
- * Port is the most general class of objects that represent connection points
15
- * for interacting with a Part. Port is the base type of all PortDefinitions.
16
- *
17
- * Transfers outgoing from a Port are always targeted to a Port connected to
18
- * the original Port by an Interface.
19
- */
20
-
21
- ref self: Port :>> Object::self;
22
-
23
- port subports: Port [0..*] :> ports, timeEnclosedOccurrences {
24
- doc
25
- /*
26
- * The Ports that are subports of this Port.
27
- */
28
- }
29
-
30
- abstract ref port interfacingPorts : Port[0..*] nonunique :> ports {
31
- doc
32
- /*
33
- * Ports that are connected to this Port by an Interface.
34
- */
35
- }
36
-
37
- ref :>> outgoingTransfersFromSelf :> interfacingPorts.incomingTransfersToSelf {
38
- doc
39
- /*
40
- * The target of each of the outgoingTransfersFromSelf of a Port must be an interfacingPort.
41
- */
42
-
43
- end ref source;
44
- end ref target;
45
- }
46
- }
47
-
48
- abstract port ports : Port[0..*] nonunique :> objects {
49
- doc
50
- /*
51
- * ports is the base feature of all PortUsages.
52
- */
53
- }
1
+ standard library package Ports {
2
+ doc
3
+ /*
4
+ * This package defines the base types for ports and related structural elements
5
+ * in the SysML language.
6
+ */
7
+
8
+ private import Objects::Object;
9
+ private import Objects::objects;
10
+
11
+ abstract port def Port :> Object {
12
+ doc
13
+ /*
14
+ * Port is the most general class of objects that represent connection points
15
+ * for interacting with a Part. Port is the base type of all PortDefinitions.
16
+ *
17
+ * Transfers outgoing from a Port are always targeted to a Port connected to
18
+ * the original Port by an Interface.
19
+ */
20
+
21
+ ref self: Port :>> Object::self;
22
+
23
+ port subports: Port [0..*] :> ports, timeEnclosedOccurrences {
24
+ doc
25
+ /*
26
+ * The Ports that are subports of this Port.
27
+ */
28
+ }
29
+
30
+ abstract ref port interfacingPorts : Port[0..*] nonunique :> ports {
31
+ doc
32
+ /*
33
+ * Ports that are connected to this Port by an Interface.
34
+ */
35
+ }
36
+
37
+ ref :>> outgoingTransfersFromSelf :> interfacingPorts.incomingTransfersToSelf {
38
+ doc
39
+ /*
40
+ * The target of each of the outgoingTransfersFromSelf of a Port must be an interfacingPort.
41
+ */
42
+
43
+ end ref source;
44
+ end ref target;
45
+ }
46
+ }
47
+
48
+ abstract port ports : Port[0..*] nonunique :> objects {
49
+ doc
50
+ /*
51
+ * ports is the base feature of all PortUsages.
52
+ */
53
+ }
54
54
  }