sysmledgraph 0.7.0

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 (309) hide show
  1. package/README.md +71 -0
  2. package/dist/bin/cli.d.ts +6 -0
  3. package/dist/bin/cli.d.ts.map +1 -0
  4. package/dist/bin/cli.js +61 -0
  5. package/dist/bin/cli.js.map +1 -0
  6. package/dist/mcp/index.d.ts +3 -0
  7. package/dist/mcp/index.d.ts.map +1 -0
  8. package/dist/mcp/index.js +8 -0
  9. package/dist/mcp/index.js.map +1 -0
  10. package/dist/src/cli/commands.d.ts +22 -0
  11. package/dist/src/cli/commands.d.ts.map +1 -0
  12. package/dist/src/cli/commands.js +87 -0
  13. package/dist/src/cli/commands.js.map +1 -0
  14. package/dist/src/discovery/find-sysml.d.ts +16 -0
  15. package/dist/src/discovery/find-sysml.d.ts.map +1 -0
  16. package/dist/src/discovery/find-sysml.js +30 -0
  17. package/dist/src/discovery/find-sysml.js.map +1 -0
  18. package/dist/src/discovery/load-order.d.ts +11 -0
  19. package/dist/src/discovery/load-order.d.ts.map +1 -0
  20. package/dist/src/discovery/load-order.js +85 -0
  21. package/dist/src/discovery/load-order.js.map +1 -0
  22. package/dist/src/graph/connection.d.ts +6 -0
  23. package/dist/src/graph/connection.d.ts.map +1 -0
  24. package/dist/src/graph/connection.js +7 -0
  25. package/dist/src/graph/connection.js.map +1 -0
  26. package/dist/src/graph/graph-store.d.ts +37 -0
  27. package/dist/src/graph/graph-store.d.ts.map +1 -0
  28. package/dist/src/graph/graph-store.js +108 -0
  29. package/dist/src/graph/graph-store.js.map +1 -0
  30. package/dist/src/graph/schema.d.ts +13 -0
  31. package/dist/src/graph/schema.d.ts.map +1 -0
  32. package/dist/src/graph/schema.js +21 -0
  33. package/dist/src/graph/schema.js.map +1 -0
  34. package/dist/src/index.d.ts +14 -0
  35. package/dist/src/index.d.ts.map +1 -0
  36. package/dist/src/index.js +14 -0
  37. package/dist/src/index.js.map +1 -0
  38. package/dist/src/indexer/indexer.d.ts +20 -0
  39. package/dist/src/indexer/indexer.d.ts.map +1 -0
  40. package/dist/src/indexer/indexer.js +56 -0
  41. package/dist/src/indexer/indexer.js.map +1 -0
  42. package/dist/src/indexer/pipeline-phases.d.ts +8 -0
  43. package/dist/src/indexer/pipeline-phases.d.ts.map +1 -0
  44. package/dist/src/indexer/pipeline-phases.js +14 -0
  45. package/dist/src/indexer/pipeline-phases.js.map +1 -0
  46. package/dist/src/mcp/resources/context.d.ts +6 -0
  47. package/dist/src/mcp/resources/context.d.ts.map +1 -0
  48. package/dist/src/mcp/resources/context.js +45 -0
  49. package/dist/src/mcp/resources/context.js.map +1 -0
  50. package/dist/src/mcp/resources/schema.d.ts +6 -0
  51. package/dist/src/mcp/resources/schema.d.ts.map +1 -0
  52. package/dist/src/mcp/resources/schema.js +14 -0
  53. package/dist/src/mcp/resources/schema.js.map +1 -0
  54. package/dist/src/mcp/server.d.ts +8 -0
  55. package/dist/src/mcp/server.d.ts.map +1 -0
  56. package/dist/src/mcp/server.js +175 -0
  57. package/dist/src/mcp/server.js.map +1 -0
  58. package/dist/src/mcp/tools/clean-index.d.ts +12 -0
  59. package/dist/src/mcp/tools/clean-index.d.ts.map +1 -0
  60. package/dist/src/mcp/tools/clean-index.js +22 -0
  61. package/dist/src/mcp/tools/clean-index.js.map +1 -0
  62. package/dist/src/mcp/tools/context.d.ts +14 -0
  63. package/dist/src/mcp/tools/context.d.ts.map +1 -0
  64. package/dist/src/mcp/tools/context.js +51 -0
  65. package/dist/src/mcp/tools/context.js.map +1 -0
  66. package/dist/src/mcp/tools/cypher.d.ts +13 -0
  67. package/dist/src/mcp/tools/cypher.d.ts.map +1 -0
  68. package/dist/src/mcp/tools/cypher.js +25 -0
  69. package/dist/src/mcp/tools/cypher.js.map +1 -0
  70. package/dist/src/mcp/tools/generate-map.d.ts +13 -0
  71. package/dist/src/mcp/tools/generate-map.d.ts.map +1 -0
  72. package/dist/src/mcp/tools/generate-map.js +96 -0
  73. package/dist/src/mcp/tools/generate-map.js.map +1 -0
  74. package/dist/src/mcp/tools/impact.d.ts +14 -0
  75. package/dist/src/mcp/tools/impact.d.ts.map +1 -0
  76. package/dist/src/mcp/tools/impact.js +47 -0
  77. package/dist/src/mcp/tools/impact.js.map +1 -0
  78. package/dist/src/mcp/tools/index-db-graph.d.ts +14 -0
  79. package/dist/src/mcp/tools/index-db-graph.d.ts.map +1 -0
  80. package/dist/src/mcp/tools/index-db-graph.js +32 -0
  81. package/dist/src/mcp/tools/index-db-graph.js.map +1 -0
  82. package/dist/src/mcp/tools/list-indexed.d.ts +9 -0
  83. package/dist/src/mcp/tools/list-indexed.d.ts.map +1 -0
  84. package/dist/src/mcp/tools/list-indexed.js +14 -0
  85. package/dist/src/mcp/tools/list-indexed.js.map +1 -0
  86. package/dist/src/mcp/tools/query.d.ts +14 -0
  87. package/dist/src/mcp/tools/query.d.ts.map +1 -0
  88. package/dist/src/mcp/tools/query.js +47 -0
  89. package/dist/src/mcp/tools/query.js.map +1 -0
  90. package/dist/src/mcp/tools/rename.d.ts +19 -0
  91. package/dist/src/mcp/tools/rename.d.ts.map +1 -0
  92. package/dist/src/mcp/tools/rename.js +46 -0
  93. package/dist/src/mcp/tools/rename.js.map +1 -0
  94. package/dist/src/parser/lsp-client.d.ts +52 -0
  95. package/dist/src/parser/lsp-client.d.ts.map +1 -0
  96. package/dist/src/parser/lsp-client.js +230 -0
  97. package/dist/src/parser/lsp-client.js.map +1 -0
  98. package/dist/src/parser/lsp-server-path.d.ts +10 -0
  99. package/dist/src/parser/lsp-server-path.d.ts.map +1 -0
  100. package/dist/src/parser/lsp-server-path.js +29 -0
  101. package/dist/src/parser/lsp-server-path.js.map +1 -0
  102. package/dist/src/parser/symbols.d.ts +13 -0
  103. package/dist/src/parser/symbols.d.ts.map +1 -0
  104. package/dist/src/parser/symbols.js +150 -0
  105. package/dist/src/parser/symbols.js.map +1 -0
  106. package/dist/src/parser/sysml-mcp-client.d.ts +109 -0
  107. package/dist/src/parser/sysml-mcp-client.d.ts.map +1 -0
  108. package/dist/src/parser/sysml-mcp-client.js +185 -0
  109. package/dist/src/parser/sysml-mcp-client.js.map +1 -0
  110. package/dist/src/storage/clean.d.ts +15 -0
  111. package/dist/src/storage/clean.d.ts.map +1 -0
  112. package/dist/src/storage/clean.js +44 -0
  113. package/dist/src/storage/clean.js.map +1 -0
  114. package/dist/src/storage/list.d.ts +9 -0
  115. package/dist/src/storage/list.d.ts.map +1 -0
  116. package/dist/src/storage/list.js +12 -0
  117. package/dist/src/storage/list.js.map +1 -0
  118. package/dist/src/storage/location.d.ts +22 -0
  119. package/dist/src/storage/location.d.ts.map +1 -0
  120. package/dist/src/storage/location.js +36 -0
  121. package/dist/src/storage/location.js.map +1 -0
  122. package/dist/src/storage/registry.d.ts +14 -0
  123. package/dist/src/storage/registry.d.ts.map +1 -0
  124. package/dist/src/storage/registry.js +59 -0
  125. package/dist/src/storage/registry.js.map +1 -0
  126. package/dist/src/symbol-to-graph/mapping.d.ts +17 -0
  127. package/dist/src/symbol-to-graph/mapping.d.ts.map +1 -0
  128. package/dist/src/symbol-to-graph/mapping.js +102 -0
  129. package/dist/src/symbol-to-graph/mapping.js.map +1 -0
  130. package/dist/src/types.d.ts +40 -0
  131. package/dist/src/types.d.ts.map +1 -0
  132. package/dist/src/types.js +35 -0
  133. package/dist/src/types.js.map +1 -0
  134. package/dist/src/worker/client.d.ts +21 -0
  135. package/dist/src/worker/client.d.ts.map +1 -0
  136. package/dist/src/worker/client.js +126 -0
  137. package/dist/src/worker/client.js.map +1 -0
  138. package/dist/src/worker/gateway.d.ts +79 -0
  139. package/dist/src/worker/gateway.d.ts.map +1 -0
  140. package/dist/src/worker/gateway.js +93 -0
  141. package/dist/src/worker/gateway.js.map +1 -0
  142. package/dist/src/worker/graph-worker.d.ts +7 -0
  143. package/dist/src/worker/graph-worker.d.ts.map +1 -0
  144. package/dist/src/worker/graph-worker.js +91 -0
  145. package/dist/src/worker/graph-worker.js.map +1 -0
  146. package/dist/src/worker/protocol.d.ts +21 -0
  147. package/dist/src/worker/protocol.d.ts.map +1 -0
  148. package/dist/src/worker/protocol.js +9 -0
  149. package/dist/src/worker/protocol.js.map +1 -0
  150. package/docs/INSTALL.md +16 -0
  151. package/docs/MCP_CLIENT_TEMPLATE_ANALYSIS.md +196 -0
  152. package/docs/MCP_INTERACTION_GUIDE.md +201 -0
  153. package/docs/MCP_SERVER_FOR_CURSOR.md +124 -0
  154. package/docs/PLAN.md +58 -0
  155. package/docs/PLAN_INDEPENDENT_LSP.md +145 -0
  156. package/docs/SKILL_DESIGN_PATTERNS.md +305 -0
  157. package/docs/TOOLS.md +317 -0
  158. package/lsp/README.md +41 -0
  159. package/lsp/node_modules/.bin/sysml-mcp +12 -0
  160. package/lsp/node_modules/.bin/sysml-mcp.cmd +9 -0
  161. package/lsp/node_modules/.bin/sysml-mcp.ps1 +16 -0
  162. package/lsp/node_modules/.package-lock.json +22 -0
  163. package/lsp/node_modules/sysml-v2-lsp/CHANGELOG.md +188 -0
  164. package/lsp/node_modules/sysml-v2-lsp/LICENSE +21 -0
  165. package/lsp/node_modules/sysml-v2-lsp/README.md +172 -0
  166. package/lsp/node_modules/sysml-v2-lsp/dist/server/mcpServer.js +167 -0
  167. package/lsp/node_modules/sysml-v2-lsp/dist/server/server.js +142 -0
  168. package/lsp/node_modules/sysml-v2-lsp/index.cjs +23 -0
  169. package/lsp/node_modules/sysml-v2-lsp/package.json +131 -0
  170. package/lsp/node_modules/sysml-v2-lsp/sysml.library/.project +17 -0
  171. package/lsp/node_modules/sysml-v2-lsp/sysml.library/.settings/org.eclipse.jdt.core.prefs +11 -0
  172. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Analysis/.meta.json +10 -0
  173. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Analysis/.project.json +27 -0
  174. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Analysis/AnalysisTooling.sysml +34 -0
  175. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Analysis/SampledFunctions.sysml +119 -0
  176. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Analysis/StateSpaceRepresentation.sysml +143 -0
  177. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Analysis/TradeStudies.sysml +171 -0
  178. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Cause and Effect/.meta.json +8 -0
  179. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Cause and Effect/.project.json +23 -0
  180. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Cause and Effect/CausationConnections.sysml +83 -0
  181. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Cause and Effect/CauseAndEffect.sysml +81 -0
  182. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Geometry/.meta.json +8 -0
  183. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Geometry/.project.json +27 -0
  184. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Geometry/ShapeItems.sysml +899 -0
  185. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Geometry/SpatialItems.sysml +168 -0
  186. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Metadata/.meta.json +10 -0
  187. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Metadata/.project.json +19 -0
  188. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Metadata/ImageMetadata.sysml +78 -0
  189. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Metadata/ModelingMetadata.sysml +143 -0
  190. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Metadata/ParametersOfInterestMetadata.sysml +39 -0
  191. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Metadata/RiskMetadata.sysml +100 -0
  192. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/.meta.json +29 -0
  193. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/.project.json +23 -0
  194. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/ISQ.sysml +42 -0
  195. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/ISQAcoustics.sysml +439 -0
  196. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/ISQAtomicNuclear.sysml +2726 -0
  197. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/ISQBase.sysml +206 -0
  198. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/ISQCharacteristicNumbers.sysml +1991 -0
  199. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/ISQChemistryMolecular.sysml +1353 -0
  200. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/ISQCondensedMatter.sysml +1223 -0
  201. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/ISQElectromagnetism.sysml +2333 -0
  202. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/ISQInformation.sysml +958 -0
  203. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/ISQLight.sysml +1537 -0
  204. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/ISQMechanics.sysml +1564 -0
  205. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/ISQSpaceTime.sysml +1169 -0
  206. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/ISQThermodynamics.sysml +1256 -0
  207. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/MeasurementRefCalculations.sysml +30 -0
  208. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/MeasurementReferences.sysml +526 -0
  209. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/Quantities.sysml +107 -0
  210. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/QuantityCalculations.sysml +70 -0
  211. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/SI.sysml +378 -0
  212. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/SIPrefixes.sysml +48 -0
  213. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/TensorCalculations.sysml +50 -0
  214. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/Time.sysml +274 -0
  215. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/USCustomaryUnits.sysml +260 -0
  216. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/VectorCalculations.sysml +62 -0
  217. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Requirement Derivation/.meta.json +8 -0
  218. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Requirement Derivation/.project.json +19 -0
  219. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Requirement Derivation/DerivationConnections.sysml +63 -0
  220. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Requirement Derivation/RequirementDerivation.sysml +39 -0
  221. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Data Type Library/.meta.json +9 -0
  222. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Data Type Library/.project.json +11 -0
  223. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Data Type Library/Collections.kerml +147 -0
  224. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Data Type Library/ScalarValues.kerml +23 -0
  225. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Data Type Library/VectorValues.kerml +64 -0
  226. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Function Library/.meta.json +23 -0
  227. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Function Library/.project.json +15 -0
  228. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Function Library/BaseFunctions.kerml +80 -0
  229. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Function Library/BooleanFunctions.kerml +22 -0
  230. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Function Library/CollectionFunctions.kerml +68 -0
  231. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Function Library/ComplexFunctions.kerml +47 -0
  232. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Function Library/ControlFunctions.kerml +117 -0
  233. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Function Library/DataFunctions.kerml +43 -0
  234. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Function Library/IntegerFunctions.kerml +43 -0
  235. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Function Library/NaturalFunctions.kerml +27 -0
  236. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Function Library/NumericalFunctions.kerml +43 -0
  237. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Function Library/OccurrenceFunctions.kerml +154 -0
  238. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Function Library/RationalFunctions.kerml +49 -0
  239. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Function Library/RealFunctions.kerml +56 -0
  240. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Function Library/ScalarFunctions.kerml +33 -0
  241. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Function Library/SequenceFunctions.kerml +111 -0
  242. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Function Library/StringFunctions.kerml +25 -0
  243. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Function Library/TrigFunctions.kerml +35 -0
  244. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Function Library/VectorFunctions.kerml +273 -0
  245. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Semantic Library/.meta.json +22 -0
  246. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Semantic Library/.project.json +15 -0
  247. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Semantic Library/Base.kerml +95 -0
  248. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Semantic Library/Clocks.kerml +156 -0
  249. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Semantic Library/ControlPerformances.kerml +135 -0
  250. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Semantic Library/FeatureReferencingPerformances.kerml +190 -0
  251. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Semantic Library/KerML.kerml +483 -0
  252. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Semantic Library/Links.kerml +67 -0
  253. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Semantic Library/Metaobjects.kerml +58 -0
  254. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Semantic Library/Objects.kerml +212 -0
  255. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Semantic Library/Observation.kerml +161 -0
  256. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Semantic Library/Occurrences.kerml +992 -0
  257. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Semantic Library/Performances.kerml +293 -0
  258. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Semantic Library/SpatialFrames.kerml +197 -0
  259. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Semantic Library/StatePerformances.kerml +145 -0
  260. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Semantic Library/Transfers.kerml +281 -0
  261. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Semantic Library/TransitionPerformances.kerml +66 -0
  262. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Semantic Library/Triggers.kerml +188 -0
  263. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/.meta.json +27 -0
  264. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/.project.json +19 -0
  265. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/Actions.sysml +552 -0
  266. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/Allocations.sysml +29 -0
  267. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/AnalysisCases.sysml +38 -0
  268. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/Attributes.sysml +25 -0
  269. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/Calculations.sysml +37 -0
  270. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/Cases.sysml +71 -0
  271. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/Connections.sysml +60 -0
  272. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/Constraints.sysml +44 -0
  273. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/Flows.sysml +126 -0
  274. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/Interfaces.sysml +89 -0
  275. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/Items.sysml +153 -0
  276. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/Metadata.sysml +32 -0
  277. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/Parts.sysml +81 -0
  278. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/Ports.sysml +54 -0
  279. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/Requirements.sysml +194 -0
  280. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/StandardViewDefinitions.sysml +123 -0
  281. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/States.sysml +103 -0
  282. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/SysML.sysml +539 -0
  283. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/UseCases.sysml +57 -0
  284. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/VerificationCases.sysml +103 -0
  285. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/Views.sysml +164 -0
  286. package/lsp/package-lock.json +30 -0
  287. package/lsp/package.json +15 -0
  288. package/lsp/test-server.mjs +120 -0
  289. package/package.json +61 -0
  290. package/scripts/access-sysml-mcp.mjs +45 -0
  291. package/scripts/check-sysml-v2-lsp-version.mjs +39 -0
  292. package/scripts/clean.mjs +14 -0
  293. package/scripts/compare-mcp-vs-lsp-symbols.mjs +76 -0
  294. package/scripts/debug-index.mjs +23 -0
  295. package/scripts/debug-lsp-symbols.mjs +62 -0
  296. package/scripts/deploy-skills.mjs +43 -0
  297. package/scripts/example-sysml-mcp.mjs +27 -0
  298. package/scripts/export-graph.mjs +80 -0
  299. package/scripts/generate-map.mjs +110 -0
  300. package/scripts/index-and-map.mjs +43 -0
  301. package/scripts/index-and-query.mjs +39 -0
  302. package/scripts/query-one.mjs +34 -0
  303. package/scripts/setup-lsp.mjs +36 -0
  304. package/scripts/test-lsp.mjs +55 -0
  305. package/scripts/test-mcp-debug.mjs +32 -0
  306. package/scripts/test-mcp-sysml.mjs +75 -0
  307. package/scripts/test-mcp-tools.mjs +185 -0
  308. package/scripts/test-sysml-mcp-from-node_modules.mjs +56 -0
  309. package/scripts/validate-sysml-file.mjs +69 -0
@@ -0,0 +1,71 @@
1
+ standard library package Cases {
2
+ doc
3
+ /*
4
+ * This package defines the base types for cases and related behavioral elements
5
+ * in the SysML language.
6
+ */
7
+
8
+ private import Base::Anything;
9
+ private import Requirements::RequirementCheck;
10
+ private import Calculations::Calculation;
11
+ private import Calculations::calculations;
12
+ private import Parts::Part;
13
+ private import Parts::parts;
14
+
15
+ abstract case def Case :> Calculation {
16
+ doc
17
+ /*
18
+ * Case is the most general class of performances of CaseDefinitions.
19
+ * Case is the base class of all CaseDefinitions.
20
+ */
21
+
22
+ ref case self : Case :>> Calculation::self;
23
+
24
+ subject subj : Anything[1] {
25
+ doc
26
+ /*
27
+ * The subject that was investigated by this Case.
28
+ */
29
+ }
30
+
31
+ ref part actors : Part[0..*] :> parts {
32
+ doc
33
+ /*
34
+ * The Parts that fill the role of actors for this Case.
35
+ * (Note: This is not itself an actor parameter, because specific actor
36
+ * parameters will be added for specific Cases.)
37
+ */
38
+ }
39
+
40
+ objective obj : RequirementCheck[1] {
41
+ doc
42
+ /*
43
+ * A check of whether the objective RequirementUsage was satisfied for this Case.
44
+ */
45
+
46
+ subject subj default Case::result;
47
+ }
48
+
49
+ return ref result[0..*] {
50
+ doc
51
+ /*
52
+ * The result determined by the case, which should satisfy the case objective.
53
+ */
54
+ }
55
+
56
+ abstract case subcases : Case[0..*] :> cases, subcalculations {
57
+ doc
58
+ /*
59
+ * Other Cases carried out as part of the performance of this Case.
60
+ */
61
+ }
62
+
63
+ }
64
+
65
+ abstract case cases : Case[0..*] nonunique :> calculations {
66
+ doc
67
+ /*
68
+ * cases is the base Feature of all CaseUsages.
69
+ */
70
+ }
71
+ }
@@ -0,0 +1,60 @@
1
+ standard library package Connections {
2
+ doc
3
+ /*
4
+ * This package defines the base types for connections and related structural elements
5
+ * in the SysML language.
6
+ */
7
+
8
+ private import Base::Anything;
9
+ private import Occurrences::Occurrence;
10
+ private import Occurrences::HappensDuring;
11
+ private import Objects::LinkObject;
12
+ private import Objects::linkObjects;
13
+ private import Objects::BinaryLinkObject;
14
+ private import Objects::binaryLinkObjects;
15
+ private import Transfers::Transfer;
16
+ private import Transfers::transfers;
17
+ private import Transfers::FlowTransfer;
18
+ private import Transfers::flowTransfers;
19
+ private import Transfers::FlowTransferBefore;
20
+ private import Transfers::flowTransfersBefore;
21
+ private import ScalarValues::Natural;
22
+ private import Parts::Part;
23
+ private import Parts::parts;
24
+ private import Actions::Action;
25
+ private import Actions::actions;
26
+
27
+ abstract connection def Connection :> LinkObject, Part {
28
+ doc
29
+ /*
30
+ * Connection is the most general class of links between things within some
31
+ * containing structure. Connection is the base type of all ConnectionDefinitions.
32
+ */
33
+ }
34
+
35
+ abstract connection def BinaryConnection :> BinaryLinkObject, Connection {
36
+ doc
37
+ /*
38
+ * BinaryConnection is the most general class of binary links between two things
39
+ * within some containing structure. BinaryConnection is the base type of all
40
+ * ConnectionDefinitions with exactly two ends.
41
+ */
42
+
43
+ end source: Anything :>> BinaryLinkObject::source;
44
+ end target: Anything :>> BinaryLinkObject::target;
45
+ }
46
+
47
+ abstract connection connections: Connection[0..*] nonunique :> linkObjects, parts {
48
+ doc
49
+ /*
50
+ * connections is the base feature of all ConnectionUsages.
51
+ */
52
+ }
53
+
54
+ abstract connection binaryConnections: Connection[0..*] nonunique :> connections, binaryLinkObjects {
55
+ doc
56
+ /*
57
+ * binaryConnections is the base feature of all binary ConnectionUsages.
58
+ */
59
+ }
60
+ }
@@ -0,0 +1,44 @@
1
+ standard library package Constraints {
2
+ doc
3
+ /*
4
+ * This package defines the base types for constraints and related elements in the
5
+ * SysML language.
6
+ */
7
+
8
+ private import Performances::BooleanEvaluation;
9
+ private import Performances::booleanEvaluations;
10
+ private import Performances::trueEvaluations;
11
+ private import Performances::falseEvaluations;
12
+
13
+ abstract constraint def ConstraintCheck :> BooleanEvaluation {
14
+ doc
15
+ /*
16
+ * ConstraintCheck is the most general class for constraint checking. ConstraintCheck is the base
17
+ * type of all ConstraintDefinitions.
18
+ */
19
+
20
+ ref constraint self: ConstraintCheck :>> BooleanEvaluation::self;
21
+ }
22
+
23
+ abstract constraint constraintChecks: ConstraintCheck[0..*] nonunique :> booleanEvaluations {
24
+ doc
25
+ /*
26
+ * constraintChecks is the base feature of all ConstraintUsages.
27
+ */
28
+ }
29
+
30
+ abstract constraint assertedConstraintChecks :> constraintChecks, trueEvaluations {
31
+ doc
32
+ /*
33
+ * assertedConstraintChecks is the subset of constraintChecks for ConstraintChecks asserted to be true.
34
+ */
35
+ }
36
+
37
+ abstract constraint negatedConstraintChecks :> constraintChecks, falseEvaluations {
38
+ doc
39
+ /*
40
+ * negatedConstraintChecks is the subset of constraintChecks for ConstraintChecks asserted to be false.
41
+ */
42
+ }
43
+
44
+ }
@@ -0,0 +1,126 @@
1
+ standard library package Flows {
2
+ doc
3
+ /*
4
+ * This package defines the base types for flows and related behavioral elements
5
+ * in the SysML language.
6
+ */
7
+
8
+ private import Links::Link;
9
+ private import Occurrences::Occurrence;
10
+ private import Occurrences::HappensDuring;
11
+ private import Objects::binaryLinkObjects;
12
+ private import Transfers::Transfer;
13
+ private import Transfers::transfers;
14
+ private import Transfers::FlowTransfer;
15
+ private import Transfers::flowTransfers;
16
+ private import Transfers::FlowTransferBefore;
17
+ private import Transfers::flowTransfersBefore;
18
+ private import Actions::Action;
19
+ private import Actions::actions;
20
+ private import ScalarValues::Natural;
21
+
22
+ abstract flow def MessageAction :> Action, Link {
23
+ doc
24
+ /*
25
+ * MessageAction is the most general class of actions that represent
26
+ * interactions between linked things. It is the base type of all
27
+ * FlowDefinitions.
28
+ */
29
+
30
+ ref payload [0..*] {
31
+ doc
32
+ /*
33
+ * A payload that may be transferred during the interaction.
34
+ */
35
+ }
36
+ }
37
+
38
+ abstract flow def Message :> MessageAction, Transfer {
39
+ doc
40
+ /*
41
+ * Message is the subclass of message connections that represent
42
+ * a transfer of objects or values between two occurrences. It is
43
+ * the base type of all FlowUsages.
44
+ */
45
+
46
+ ref payload :>> MessageAction::payload, Transfer::payload;
47
+
48
+ private ref action thisConnection = self;
49
+
50
+ in event occurrence sourceEvent [1] default thisConnection.start {
51
+ doc
52
+ /*
53
+ * An occurrence happening during the source of this message
54
+ * that is either the start of the mssage or happens before it.
55
+ */
56
+ }
57
+ in event occurrence targetEvent [1] default thisConnection.done {
58
+ doc
59
+ /*
60
+ * An occurrence happening during the target of this message
61
+ * that is either the end of the message or happens after it.
62
+ */
63
+ }
64
+
65
+ connection :HappensDuring connect sourceEvent to [1] source;
66
+ connection :HappensDuring connect targetEvent to [1] target;
67
+
68
+ private attribute seBeforeNum: Natural[1] = if sourceEvent==thisConnection.start ? 0 else 1;
69
+ private attribute teAfterNum: Natural[1] = if targetEvent==thisConnection.done ? 0 else 1;
70
+ succession [seBeforeNum] first [0..1] sourceEvent then [0..1] self;
71
+ succession [teAfterNum] first [0..1] self then [0..1] targetEvent;
72
+ }
73
+
74
+ abstract flow def Flow :> Message, FlowTransfer {
75
+ doc
76
+ /*
77
+ * Flow is a subclass of messages that are also flow transfers.
78
+ * It is the base type for FlowUsages that identify their source output and
79
+ * target input.
80
+ */
81
+
82
+ end occurrence source: Occurrence :>> Message::source, FlowTransfer::source;
83
+ end occurrence target: Occurrence :>> Message::target, FlowTransfer::target;
84
+ }
85
+
86
+ abstract flow def SuccessionFlow :> Flow, FlowTransferBefore {
87
+ doc
88
+ /*
89
+ * SuccessionFlow is a subclass of flowss that appen after their source and
90
+ * before their target. It is the base type for all SuccessionFlowUsages.
91
+ */
92
+
93
+ ref self : SuccessionFlow :>> Flow::self, FlowTransferBefore::self;
94
+
95
+ end occurrence source: Occurrence :>> Flow::source, FlowTransferBefore::source;
96
+ end occurrence target: Occurrence :>> Flow::target, FlowTransferBefore::target;
97
+ }
98
+
99
+ abstract message messages: Message[0..*] nonunique :> transfers, actions {
100
+ doc
101
+ /*
102
+ * messages is the base feature of all FlowUsages.
103
+ */
104
+ }
105
+
106
+ abstract flow flows: Flow[0..*] nonunique :> messages, flowTransfers {
107
+ doc
108
+ /*
109
+ * flows is the base feature for FlowUsages that identify their source output
110
+ * and target input.
111
+ */
112
+
113
+ end occurrence source: Occurrence :>> Flow::source, messages::source, flowTransfers::source;
114
+ end occurrence target: Occurrence :>> Flow::target, messages::target, flowTransfers::target;
115
+ }
116
+
117
+ abstract flow successionFlows: SuccessionFlow[0..*] nonunique :> flows, flowTransfersBefore {
118
+ doc
119
+ /*
120
+ * successionFlows is the base feature of all SuccessionFlowUsages.
121
+ */
122
+
123
+ end occurrence source: Occurrence :>> SuccessionFlow::source, flows::source, flowTransfersBefore::source;
124
+ end occurrence target: Occurrence :>> SuccessionFlow::target, flows::target, flowTransfersBefore::target;
125
+ }
126
+ }
@@ -0,0 +1,89 @@
1
+ standard library package Interfaces {
2
+ doc
3
+ /*
4
+ * This package defines the base types for interfaces and related structural elements in the SysML language.
5
+ */
6
+
7
+ private import Connections::Connection;
8
+ private import Connections::connections;
9
+ private import Connections::BinaryConnection;
10
+ private import Connections::binaryConnections;
11
+ private import Ports::Port;
12
+
13
+ private import ScalarValues::Natural;
14
+ private import SequenceFunctions::size;
15
+ private import SequenceFunctions::excludingAt;
16
+ private import ControlFunctions::selectOne;
17
+
18
+ private import SequenceFunctions::notEmpty;
19
+
20
+ private calc def excludingOnce {
21
+ doc
22
+ /*
23
+ * Return a sequence that is the same as the input sequence, but with a single
24
+ * instance of a given value removed. The given value must be in the input sequence.
25
+ */
26
+ in seq[1..*] nonunique ordered;
27
+ in value[1] :> seq;
28
+
29
+ private attribute position : Natural[1] = (1..size(seq))->selectOne{in i; seq#(i) == value};
30
+ seq->excludingAt(position)
31
+ }
32
+
33
+ abstract interface def Interface :> Connection {
34
+ doc
35
+ /*
36
+ * Interface is the most general class of links between Ports on Parts
37
+ * within some containing structure. Interface is the base type of all
38
+ * InterfaceDefinitions.
39
+ *
40
+ * Transfers outgoing from any one of the participant Ports of an Interface
41
+ * may be targeted to one of the other participant Ports (depending on any
42
+ * other Interfaces in which the Port is also participating).
43
+ */
44
+
45
+ ref port :>> participant : Port [2..*] nonunique ordered {
46
+ doc
47
+ /*
48
+ * The participants of an Interface must be Ports. The interfacingPorts of
49
+ * each participant Port include all the other participants in the Interface.
50
+ */
51
+
52
+ protected ref thisParticipant :>> self;
53
+ protected ref otherParticipants : Port [1..*] nonunique :> interfacingPorts
54
+ default participant->excludingOnce(thisParticipant);
55
+ }
56
+ }
57
+
58
+ abstract interface def BinaryInterface :> Interface, BinaryConnection {
59
+ doc
60
+ /*
61
+ * BinaryInterface is the most general class of links between two Ports
62
+ * on Parts within some containing structure. BinaryInterface is the base
63
+ * type of all binary InterfaceDefinitions which have exactly two ends.
64
+ *
65
+ * Transfers outgoing from each participant Port of a BinaryInterface may be
66
+ * targeted to the other participant Port (depending on any other Interfaces
67
+ * in which the Port is also participating).
68
+ */
69
+
70
+ ref port :>> Interface::participant, BinaryConnection::participant[2] nonunique ordered;
71
+
72
+ end port source: Port :>> BinaryConnection::source;
73
+ end port target: Port :>> BinaryConnection::target;
74
+ }
75
+
76
+ abstract interface interfaces: Interface[0..*] nonunique :> connections {
77
+ doc
78
+ /*
79
+ * interfaces is the base feature of all InterfaceUsages.
80
+ */
81
+ }
82
+
83
+ abstract interface binaryInterfaces: BinaryInterface[0..*] nonunique :> interfaces, binaryConnections {
84
+ doc
85
+ /*
86
+ * interfaces is the base feature of all binary InterfaceUsages.
87
+ */
88
+ }
89
+ }
@@ -0,0 +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
+
153
+ }
@@ -0,0 +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
+ }
32
+ }
@@ -0,0 +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
+
81
+ }