sysml-validate 0.11.0 → 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,57 +1,57 @@
1
- standard library package UseCases {
2
- doc
3
- /*
4
- * This package defines the base types for use cases and related behavioral elements in the SysML language.
5
- */
6
-
7
- private import Cases::Case;
8
- private import Cases::cases;
9
-
10
- use case def UseCase :> Case {
11
- doc
12
- /*
13
- * UseCase is the most general class of performances of UseCaseDefinitions.
14
- * UseCase is the base class of all UseCaseDefinitions.
15
- */
16
-
17
- ref use case self : UseCase :>> Case::self;
18
- subject subj :>> Case::subj;
19
- objective obj :>> Case::obj;
20
-
21
- ref use case start: UseCase :>> start {
22
- doc
23
- /*
24
- * The starting snapshot of a Use Case.
25
- */
26
- }
27
-
28
- ref use case done: UseCase :>> done {
29
- doc
30
- /*
31
- * The ending snapshot of a Use Case.
32
- */
33
- }
34
-
35
- abstract use case subUseCases : UseCase[0..*] :> useCases, subcases {
36
- doc
37
- /*
38
- * Other UseCases carried out as part of the performance of this UseCase.
39
- */
40
- }
41
-
42
- abstract ref use case includedUseCases : UseCase[0..*] :> useCases, enclosedPerformances {
43
- doc
44
- /*
45
- * Other UseCases included by this UseCase (i.e., as modeled by an
46
- * IncludeUseCaseUsage).
47
- */
48
- }
49
- }
50
-
51
- use case useCases : UseCase[0..*] nonunique :> cases {
52
- doc
53
- /*
54
- * useCases is the base feature of all UseCaseUsages.
55
- */
56
- }
1
+ standard library package UseCases {
2
+ doc
3
+ /*
4
+ * This package defines the base types for use cases and related behavioral elements in the SysML language.
5
+ */
6
+
7
+ private import Cases::Case;
8
+ private import Cases::cases;
9
+
10
+ use case def UseCase :> Case {
11
+ doc
12
+ /*
13
+ * UseCase is the most general class of performances of UseCaseDefinitions.
14
+ * UseCase is the base class of all UseCaseDefinitions.
15
+ */
16
+
17
+ ref use case self : UseCase :>> Case::self;
18
+ subject subj :>> Case::subj;
19
+ objective obj :>> Case::obj;
20
+
21
+ ref use case start: UseCase :>> start {
22
+ doc
23
+ /*
24
+ * The starting snapshot of a Use Case.
25
+ */
26
+ }
27
+
28
+ ref use case done: UseCase :>> done {
29
+ doc
30
+ /*
31
+ * The ending snapshot of a Use Case.
32
+ */
33
+ }
34
+
35
+ abstract use case subUseCases : UseCase[0..*] :> useCases, subcases {
36
+ doc
37
+ /*
38
+ * Other UseCases carried out as part of the performance of this UseCase.
39
+ */
40
+ }
41
+
42
+ abstract ref use case includedUseCases : UseCase[0..*] :> useCases, enclosedPerformances {
43
+ doc
44
+ /*
45
+ * Other UseCases included by this UseCase (i.e., as modeled by an
46
+ * IncludeUseCaseUsage).
47
+ */
48
+ }
49
+ }
50
+
51
+ use case useCases : UseCase[0..*] nonunique :> cases {
52
+ doc
53
+ /*
54
+ * useCases is the base feature of all UseCaseUsages.
55
+ */
56
+ }
57
57
  }
@@ -1,103 +1,103 @@
1
- standard library package VerificationCases {
2
- doc
3
- /*
4
- * This package defines the base types for verification cases and related behavioral elements
5
- * in the SysML language.
6
- */
7
-
8
- private import Cases::Case;
9
- private import Cases::cases;
10
- private import Requirements::RequirementCheck;
11
- private import ScalarValues::Boolean;
12
-
13
- abstract verification def VerificationCase :> Case {
14
- doc
15
- /*
16
- * VerificationCase is the most general class of performances of VerificationCaseDefinitions.
17
- * VericationCase is the base class of all VerificationCaseDefinitions.
18
- */
19
-
20
- ref verification self : VerificationCase :>> Case::self;
21
- subject subj :>> Case::subj;
22
- return verdict : VerdictKind :>> result;
23
-
24
- objective obj :>> Case::obj {
25
- subject subj = VerificationCase::subj;
26
-
27
- requirement requirementVerifications : RequirementCheck[0..*] :> subrequirements {
28
- doc
29
- /*
30
- * A record of the evaluations of the RequirementChecks of requirements being verified.
31
- */
32
- }
33
- }
34
-
35
- ref requirement requirementVerifications : RequirementCheck[0..*] = obj.requirementVerifications {
36
- doc
37
- /*
38
- * Checks on whether the verifiedRequirements of the VerificationCase have been satisfied.
39
- */
40
- }
41
-
42
- abstract verification subVerificationCases : VerificationCase[0..*] :> verificationCases, subcases {
43
- doc
44
- /*
45
- * The subcases of this VerificationCase that are VerificationCaseUsages.
46
- */
47
- }
48
-
49
- }
50
-
51
- abstract verification verificationCases : VerificationCase[0..*] nonunique :> cases {
52
- doc
53
- /*
54
- * verificationCases is the base feature of all VerificationCaseUsages.
55
- */
56
- }
57
-
58
- enum def VerdictKind {
59
- doc
60
- /*
61
- * VerdictKind is an enumeration of the possible results of a VerificationCase.
62
- */
63
-
64
- pass;
65
- fail;
66
- inconclusive;
67
- error;
68
- }
69
-
70
- calc def PassIf {
71
- doc
72
- /*
73
- * PassIf returns a pass or fail VerdictKind depending on whether its argument is
74
- * true or false.
75
- */
76
-
77
- in attribute isPassing : Boolean;
78
- return attribute verdict : VerdictKind = if isPassing? VerdictKind::pass else VerdictKind::fail;
79
- }
80
-
81
- metadata def VerificationMethod {
82
- doc
83
- /*
84
- * VerificationMethod can be used as metadata annotating a verification case or action.
85
- */
86
-
87
- attribute kind : VerificationMethodKind[1..*];
88
- }
89
-
90
- enum def VerificationMethodKind {
91
- doc
92
- /*
93
- * VerificationMethodKind is an enumeration of the standard methods by which verification
94
- * can be carried out.
95
- */
96
-
97
- inspect;
98
- analyze;
99
- demo;
100
- test;
101
- }
102
-
1
+ standard library package VerificationCases {
2
+ doc
3
+ /*
4
+ * This package defines the base types for verification cases and related behavioral elements
5
+ * in the SysML language.
6
+ */
7
+
8
+ private import Cases::Case;
9
+ private import Cases::cases;
10
+ private import Requirements::RequirementCheck;
11
+ private import ScalarValues::Boolean;
12
+
13
+ abstract verification def VerificationCase :> Case {
14
+ doc
15
+ /*
16
+ * VerificationCase is the most general class of performances of VerificationCaseDefinitions.
17
+ * VericationCase is the base class of all VerificationCaseDefinitions.
18
+ */
19
+
20
+ ref verification self : VerificationCase :>> Case::self;
21
+ subject subj :>> Case::subj;
22
+ return verdict : VerdictKind :>> result;
23
+
24
+ objective obj :>> Case::obj {
25
+ subject subj = VerificationCase::subj;
26
+
27
+ requirement requirementVerifications : RequirementCheck[0..*] :> subrequirements {
28
+ doc
29
+ /*
30
+ * A record of the evaluations of the RequirementChecks of requirements being verified.
31
+ */
32
+ }
33
+ }
34
+
35
+ ref requirement requirementVerifications : RequirementCheck[0..*] = obj.requirementVerifications {
36
+ doc
37
+ /*
38
+ * Checks on whether the verifiedRequirements of the VerificationCase have been satisfied.
39
+ */
40
+ }
41
+
42
+ abstract verification subVerificationCases : VerificationCase[0..*] :> verificationCases, subcases {
43
+ doc
44
+ /*
45
+ * The subcases of this VerificationCase that are VerificationCaseUsages.
46
+ */
47
+ }
48
+
49
+ }
50
+
51
+ abstract verification verificationCases : VerificationCase[0..*] nonunique :> cases {
52
+ doc
53
+ /*
54
+ * verificationCases is the base feature of all VerificationCaseUsages.
55
+ */
56
+ }
57
+
58
+ enum def VerdictKind {
59
+ doc
60
+ /*
61
+ * VerdictKind is an enumeration of the possible results of a VerificationCase.
62
+ */
63
+
64
+ pass;
65
+ fail;
66
+ inconclusive;
67
+ error;
68
+ }
69
+
70
+ calc def PassIf {
71
+ doc
72
+ /*
73
+ * PassIf returns a pass or fail VerdictKind depending on whether its argument is
74
+ * true or false.
75
+ */
76
+
77
+ in attribute isPassing : Boolean;
78
+ return attribute verdict : VerdictKind = if isPassing? VerdictKind::pass else VerdictKind::fail;
79
+ }
80
+
81
+ metadata def VerificationMethod {
82
+ doc
83
+ /*
84
+ * VerificationMethod can be used as metadata annotating a verification case or action.
85
+ */
86
+
87
+ attribute kind : VerificationMethodKind[1..*];
88
+ }
89
+
90
+ enum def VerificationMethodKind {
91
+ doc
92
+ /*
93
+ * VerificationMethodKind is an enumeration of the standard methods by which verification
94
+ * can be carried out.
95
+ */
96
+
97
+ inspect;
98
+ analyze;
99
+ demo;
100
+ test;
101
+ }
102
+
103
103
  }
@@ -1,164 +1,164 @@
1
- standard library package Views {
2
- doc
3
- /*
4
- * This package defines the base types for views, viewpoints, renderings and related elements
5
- * in the SysML language.
6
- */
7
-
8
- private import Parts::Part;
9
- private import Parts::parts;
10
- private import Requirements::RequirementCheck;
11
- private import Requirements::requirementChecks;
12
-
13
- abstract view def View :> Part {
14
- ref view :>> self : View;
15
-
16
- abstract ref view subviews : View[0..*] :> views {
17
- doc
18
- /*
19
- * Other Views that are used in the rendering of this View.
20
- */
21
- }
22
-
23
- abstract ref rendering viewRendering : Rendering[0..1] {
24
- doc
25
- /*
26
- * The rendering of this View.
27
- */
28
- }
29
-
30
- viewpoint viewpointSatisfactions : ViewpointCheck[0..*] :> viewpointChecks, checkedConstraints {
31
- doc
32
- /*
33
- * Checks that the View satisfies all required ViewpointUsages.
34
- */
35
- }
36
-
37
- satisfy requirement viewpointConformance by that {
38
- doc
39
- /*
40
- * An assertion that all viewpointSatisfactions are true.
41
- */
42
-
43
- require viewpointSatisfactions {
44
- doc
45
- /*
46
- * The required ViewpointChecks.
47
- */
48
- ref :>> ownedPerformances::this, subperformances::this default that.that;
49
- }
50
- }
51
- }
52
-
53
- abstract viewpoint def ViewpointCheck :> RequirementCheck {
54
- doc
55
- /*
56
- * ViewpointCheck is a RequirementCheck for checking if a View meets the concerns of viewpoint stakeholders.
57
- * It is the base type of all ViewpointDefinitions.
58
- */
59
-
60
- ref viewpoint :>> self : ViewpointCheck;
61
- subject subj : View[1] :>> RequirementCheck::subj;
62
- }
63
-
64
- abstract rendering def Rendering :> Part {
65
- doc
66
- /*
67
- * Rendering is the base type of all RenderingDefinitions.
68
- */
69
-
70
- ref rendering :>> self : Rendering;
71
-
72
- abstract ref rendering subrenderings : Rendering[0..*] :> renderings {
73
- doc
74
- /*
75
- * Other Renderings used to carry out this Rendering.
76
- */
77
- }
78
- }
79
-
80
- rendering def TextualRendering :> Rendering {
81
- doc
82
- /*
83
- * A TextualRendering is a Rendering of a View into a textual format.
84
- */
85
- }
86
-
87
- rendering def GraphicalRendering :> Rendering {
88
- doc
89
- /*
90
- * A GraphicalRendering is a Rendering of a View into a Graphical format.
91
- */
92
- }
93
-
94
- rendering def TabularRendering :> Rendering {
95
- doc
96
- /*
97
- * A TabularRendering is a Rendering of a View into a tabular format.
98
- */
99
- }
100
-
101
- abstract view views : View[0..*] nonunique :> parts {
102
- doc
103
- /*
104
- * views is the base feature of all ViewUsages.
105
- */
106
- }
107
-
108
- abstract viewpoint viewpointChecks : ViewpointCheck[0..*] nonunique :> requirementChecks {
109
- doc
110
- /*
111
- * viewpointChecks is the base feature of all ViewpointUsages.
112
- */
113
- }
114
-
115
- abstract rendering renderings : Rendering[0..*] nonunique :> parts {
116
- doc
117
- /*
118
- * renderings is the base feature of all RenderingUsages.
119
- */
120
- }
121
-
122
- rendering asTextualNotation : TextualRendering[1] :> renderings {
123
- doc
124
- /*
125
- * asTextualNotation renders a View into textual notation as defined in the
126
- * KerML and SysML specifications.
127
- */
128
- }
129
-
130
- rendering asTreeDiagram : GraphicalRendering[1] :> renderings {
131
- doc
132
- /*
133
- * asTreeDiagram renders a View as a tree diagram, using the
134
- * graphical notation defined in the SysML specification.
135
- */
136
- }
137
-
138
- rendering asInterconnectionDiagram : GraphicalRendering[1] :> renderings {
139
- doc
140
- /*
141
- * asInterconnectionDiagram renders a View as an interconnection
142
- * diagram, using the graphical notation defined in the SysML specification.
143
- */
144
- }
145
-
146
- rendering asElementTable : TabularRendering[1] :> renderings {
147
- doc
148
- /*
149
- * asElementTable renders a View as a table, with one row for each exposed
150
- * Element and columns rendered by applying the columnViews in order to the
151
- * Element in each row.
152
- */
153
-
154
- view columnView[0..*] ordered {
155
- doc
156
- /*
157
- * The Views to be rendered in the column cells, in order, of each rows of the table.
158
- */
159
-
160
- abstract ref rendering :>> viewRendering[0..1];
161
- }
162
- rendering :>> subrenderings[0..*] = columnView.viewRendering;
163
- }
1
+ standard library package Views {
2
+ doc
3
+ /*
4
+ * This package defines the base types for views, viewpoints, renderings and related elements
5
+ * in the SysML language.
6
+ */
7
+
8
+ private import Parts::Part;
9
+ private import Parts::parts;
10
+ private import Requirements::RequirementCheck;
11
+ private import Requirements::requirementChecks;
12
+
13
+ abstract view def View :> Part {
14
+ ref view :>> self : View;
15
+
16
+ abstract ref view subviews : View[0..*] :> views {
17
+ doc
18
+ /*
19
+ * Other Views that are used in the rendering of this View.
20
+ */
21
+ }
22
+
23
+ abstract ref rendering viewRendering : Rendering[0..1] {
24
+ doc
25
+ /*
26
+ * The rendering of this View.
27
+ */
28
+ }
29
+
30
+ viewpoint viewpointSatisfactions : ViewpointCheck[0..*] :> viewpointChecks, checkedConstraints {
31
+ doc
32
+ /*
33
+ * Checks that the View satisfies all required ViewpointUsages.
34
+ */
35
+ }
36
+
37
+ satisfy requirement viewpointConformance by that {
38
+ doc
39
+ /*
40
+ * An assertion that all viewpointSatisfactions are true.
41
+ */
42
+
43
+ require viewpointSatisfactions {
44
+ doc
45
+ /*
46
+ * The required ViewpointChecks.
47
+ */
48
+ ref :>> ownedPerformances::this, subperformances::this default that.that;
49
+ }
50
+ }
51
+ }
52
+
53
+ abstract viewpoint def ViewpointCheck :> RequirementCheck {
54
+ doc
55
+ /*
56
+ * ViewpointCheck is a RequirementCheck for checking if a View meets the concerns of viewpoint stakeholders.
57
+ * It is the base type of all ViewpointDefinitions.
58
+ */
59
+
60
+ ref viewpoint :>> self : ViewpointCheck;
61
+ subject subj : View[1] :>> RequirementCheck::subj;
62
+ }
63
+
64
+ abstract rendering def Rendering :> Part {
65
+ doc
66
+ /*
67
+ * Rendering is the base type of all RenderingDefinitions.
68
+ */
69
+
70
+ ref rendering :>> self : Rendering;
71
+
72
+ abstract ref rendering subrenderings : Rendering[0..*] :> renderings {
73
+ doc
74
+ /*
75
+ * Other Renderings used to carry out this Rendering.
76
+ */
77
+ }
78
+ }
79
+
80
+ rendering def TextualRendering :> Rendering {
81
+ doc
82
+ /*
83
+ * A TextualRendering is a Rendering of a View into a textual format.
84
+ */
85
+ }
86
+
87
+ rendering def GraphicalRendering :> Rendering {
88
+ doc
89
+ /*
90
+ * A GraphicalRendering is a Rendering of a View into a Graphical format.
91
+ */
92
+ }
93
+
94
+ rendering def TabularRendering :> Rendering {
95
+ doc
96
+ /*
97
+ * A TabularRendering is a Rendering of a View into a tabular format.
98
+ */
99
+ }
100
+
101
+ abstract view views : View[0..*] nonunique :> parts {
102
+ doc
103
+ /*
104
+ * views is the base feature of all ViewUsages.
105
+ */
106
+ }
107
+
108
+ abstract viewpoint viewpointChecks : ViewpointCheck[0..*] nonunique :> requirementChecks {
109
+ doc
110
+ /*
111
+ * viewpointChecks is the base feature of all ViewpointUsages.
112
+ */
113
+ }
114
+
115
+ abstract rendering renderings : Rendering[0..*] nonunique :> parts {
116
+ doc
117
+ /*
118
+ * renderings is the base feature of all RenderingUsages.
119
+ */
120
+ }
121
+
122
+ rendering asTextualNotation : TextualRendering[1] :> renderings {
123
+ doc
124
+ /*
125
+ * asTextualNotation renders a View into textual notation as defined in the
126
+ * KerML and SysML specifications.
127
+ */
128
+ }
129
+
130
+ rendering asTreeDiagram : GraphicalRendering[1] :> renderings {
131
+ doc
132
+ /*
133
+ * asTreeDiagram renders a View as a tree diagram, using the
134
+ * graphical notation defined in the SysML specification.
135
+ */
136
+ }
137
+
138
+ rendering asInterconnectionDiagram : GraphicalRendering[1] :> renderings {
139
+ doc
140
+ /*
141
+ * asInterconnectionDiagram renders a View as an interconnection
142
+ * diagram, using the graphical notation defined in the SysML specification.
143
+ */
144
+ }
145
+
146
+ rendering asElementTable : TabularRendering[1] :> renderings {
147
+ doc
148
+ /*
149
+ * asElementTable renders a View as a table, with one row for each exposed
150
+ * Element and columns rendered by applying the columnViews in order to the
151
+ * Element in each row.
152
+ */
153
+
154
+ view columnView[0..*] ordered {
155
+ doc
156
+ /*
157
+ * The Views to be rendered in the column cells, in order, of each rows of the table.
158
+ */
159
+
160
+ abstract ref rendering :>> viewRendering[0..1];
161
+ }
162
+ rendering :>> subrenderings[0..*] = columnView.viewRendering;
163
+ }
164
164
  }