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,168 @@
1
+ standard library package SpatialItems {
2
+ doc
3
+ /*
4
+ * This package models physical items that have a spatial extent and act as a spatial frame of reference
5
+ * for obtaining position and displacement vectors of points within them.
6
+ */
7
+
8
+ private import Objects::Point;
9
+ private import SpatialFrames::SpatialFrame;
10
+ private import Quantities::VectorQuantityValue;
11
+ private import MeasurementReferences::ThreeDCoordinateFrame;
12
+ private import MeasurementReferences::nullTransformation;
13
+ private import Time::Clock;
14
+ private import Time::TimeInstantValue;
15
+ private import ScalarValues::Natural;
16
+ private import ISQ::universalCartesianSpatial3dCoordinateFrame;
17
+ private import ISQ::Position3dVector;
18
+ private import ISQ::Displacement3dVector;
19
+ private import VectorFunctions::isZeroVector;
20
+ private import SequenceFunctions::isEmpty;
21
+ private import ControlFunctions::forAll;
22
+
23
+ item def SpatialItem :> SpatialFrame {
24
+ doc
25
+ /*
26
+ * A SpatialItem is an Item with a three-dimensional spatial extent that also acts as a SpatialFrame of reference.
27
+ */
28
+
29
+ ref item :>> localClock : Clock[1] default Time::universalClock {
30
+ doc
31
+ /*
32
+ * A local Clock to be used as the corresponding time reference within this SpatialItem.
33
+ * By default this is the singleton universalClock.
34
+ */
35
+ }
36
+
37
+ attribute coordinateFrame : ThreeDCoordinateFrame[1] default universalCartesianSpatial3dCoordinateFrame {
38
+ doc
39
+ /*
40
+ * The three-dimensional CoordinateFrame to be used as the measurement reference for position
41
+ * and displacement vector values relative to this SpatialItem.
42
+ * By default this is the singleton universalCartesianSpatial3dCoordinateFrame.
43
+ */
44
+ }
45
+
46
+ item originPoint : Point[1] :> spaceShots {
47
+ doc
48
+ /*
49
+ * The Point at the origin of the coordinateFrame of this SpatialItem.
50
+ */
51
+ }
52
+
53
+ assert constraint originPointConstraint {
54
+ doc
55
+ /*
56
+ * The CurrentPositionOf the originPoint must always be a zero vector.
57
+ */
58
+
59
+ isZeroVector(CurrentPositionOf(originPoint, that))
60
+ }
61
+
62
+ item subSpatialItems : SpatialItem[1..*] :> subitems {
63
+ ref item :>> SpatialItem::localClock, subitems::localClock;
64
+ }
65
+
66
+ part subSpatialParts : SpatialItem[1..*] :> subSpatialItems, subparts {
67
+ ref item :>> SpatialItem::localClock, subSpatialItems::localClock, subparts::localClock;
68
+ }
69
+
70
+ item componentItems : SpatialItem[1..*] :> subSpatialItems {
71
+ doc
72
+ /*
73
+ * A SpatialItem with componentItems is entirely made up of those items (the SpatialItem occurs only
74
+ * as a collection of its componentItems). By default they have the same localClock and equivalent
75
+ * coordinate frame as the SpatialItem they make up. A SpatialItem without componentItems occurs
76
+ * on its own, separately from its subitems.
77
+ */
78
+ ref item :>> SpatialItem::localClock, subSpatialItems::localClock default (that as SpatialItem).localClock;
79
+ attribute :>> coordinateFrame {
80
+ attribute :>> mRefs default (that.that as SpatialItem).coordinateFrame.mRefs;
81
+ attribute :>> transformation[1] default nullTransformation {
82
+ attribute :>> source default (that.that.that as SpatialItem).coordinateFrame;
83
+ }
84
+ }
85
+ }
86
+
87
+ private attribute cunionNum: Natural [1] = if isEmpty(componentItems) ? 0 else 1;
88
+ private attribute componentUnion[cunionNum] :> unionsOf {
89
+ doc
90
+ /*
91
+ * A SpatialItem with componentItems is is a spatial union of them.
92
+ */
93
+
94
+ item :>> elements : SpatialItem [1..*] = componentItems;
95
+ }
96
+
97
+ part componentParts : SpatialItem[1..*] :> componentItems, subSpatialParts {
98
+ ref item :>> SpatialItem::localClock, componentItems::localClock, subSpatialParts::localClock, subparts::localClock;
99
+ }
100
+ }
101
+
102
+ calc def PositionOf :> SpatialFrames::PositionOf {
103
+ doc
104
+ /*
105
+ * The PositionOf a Point relative to a SpatialItem, at a specific TimeInstantValue relative to a given Clock,
106
+ * is a positionVector that is a VectorQuantityValue in the coordinateFrame of the SpatialItem.
107
+ * The default Clock is the localClock of the SpatialItem.
108
+ */
109
+
110
+ in point : Point[1];
111
+ in timeInstant : TimeInstantValue[1];
112
+ in enclosingItem :>> 'frame' : SpatialItem[1];
113
+ in clock : Clock[1] default enclosingItem.localClock;
114
+ return positionVector : Position3dVector[1] {
115
+ attribute :>> mRef = enclosingItem.coordinateFrame;
116
+ }
117
+ }
118
+
119
+ calc def CurrentPositionOf :> SpatialFrames::CurrentPositionOf {
120
+ doc
121
+ /*
122
+ * The CurrentPositionOf a Point relative to a SpatialItem and a Clock is the PositionOf
123
+ * the Point relative to the SpatialItem at the currentTime of the Clock.
124
+ */
125
+
126
+ in point : Point[1];
127
+ in enclosingItem :>> 'frame' : SpatialItem[1];
128
+ in clock : Clock[1] default enclosingItem.localClock;
129
+ return positionVector : Position3dVector[1] {
130
+ attribute :>> mRef = enclosingItem.coordinateFrame;
131
+ }
132
+ }
133
+
134
+ calc def DisplacementOf :> SpatialFrames::DisplacementOf {
135
+ doc
136
+ /*
137
+ * The DisplacementOf two Points relative to a SpatialItem, at a specific TimeInstantValue relative to a
138
+ * given Clock, is the displacementVector computed as the difference between the PositionOf the
139
+ * first Point and PositionOf the second Point, relative to that SpatialItem, at that timeInstant.
140
+ */
141
+
142
+ in point1 : Point[1];
143
+ in point2 : Point[1];
144
+ in timeInstant : TimeInstantValue[1];
145
+ in spatialItem :>> 'frame' : SpatialItem[1];
146
+ in clock : Clock[1] default spatialItem.localClock;
147
+ return displacementVector : Displacement3dVector[1] {
148
+ attribute :>> mRef = spatialItem.coordinateFrame;
149
+ }
150
+ }
151
+
152
+ calc def CurrentDisplacementOf :> SpatialFrames::CurrentDisplacementOf {
153
+ doc
154
+ /*
155
+ * The CurrentDisplacementOf two Points relative to a SpatialItem and a Clock is the DisplacementOf
156
+ * the Points relative to the SpatialItem, at the currentTime of the Clock.
157
+ */
158
+
159
+ in point1 : Point[1];
160
+ in point2 : Point[1];
161
+ in spatialItem :>> 'frame' : SpatialItem[1];
162
+ in clock : Clock[1] default spatialItem.localClock;
163
+ return displacementVector : Displacement3dVector[1] {
164
+ attribute :>> mRef = spatialItem.coordinateFrame;
165
+ }
166
+ }
167
+
168
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "index": {
3
+ "ImageMetadata": "ImageMetadata.sysml",
4
+ "ModelingMetadata": "ModelingMetadata.sysml",
5
+ "ParametersOfInterestMetadata": "ParametersOfInterestMetadata.sysml",
6
+ "RiskMetadata": "RiskMetadata.sysml"
7
+ },
8
+ "created": "2025-03-13T00:00:00Z",
9
+ "metamodel": "https://www.omg.org/spec/SysML/20250201"
10
+ }
@@ -0,0 +1,19 @@
1
+ {
2
+ "name": "SysML Metadata Library",
3
+ "version": "2.0.0",
4
+ "description": "Standard metadata domain library for the Systems Modeling Language (SysML)",
5
+ "usage": [
6
+ {
7
+ "resource": "https://www.omg.org/spec/KerML/20250201/Semantic-Library.kpar",
8
+ "versionConstraint": "1.0.0"
9
+ },
10
+ {
11
+ "resource": "https://www.omg.org/spec/KerML/20250201/Data-Type-Library.kpar",
12
+ "versionConstraint": "1.0.0"
13
+ },
14
+ {
15
+ "resource": "https://www.omg.org/spec/SysML/20250201/Systems-Library.kpar",
16
+ "versionConstraint": "2.0.0"
17
+ }
18
+ ]
19
+ }
@@ -0,0 +1,78 @@
1
+ standard library package ImageMetadata {
2
+ doc
3
+ /*
4
+ * This package provides attributive data and metadata to allow a model element to be
5
+ * annotated with an image to be used in its graphical rendering or as a marker to
6
+ * adorn graphical or textual renderings.
7
+ */
8
+
9
+ private import ScalarValues::String;
10
+
11
+ attribute def Image {
12
+ doc
13
+ /*
14
+ * Image provides the data necessary for the physical definition of
15
+ * a graphical image.
16
+ */
17
+
18
+ attribute content : String[0..1] {
19
+ doc
20
+ /*
21
+ * Binary data for the image according to the given MIME type,
22
+ * encoded as given by the encoding.
23
+ */
24
+ }
25
+
26
+ attribute encoding : String[0..1] {
27
+ doc
28
+ /*
29
+ * Describes how characters in the content are to be decoded into
30
+ * binary data. At least "base64", "hex", "identify", and "JSONescape"
31
+ * shall be supported.
32
+ */
33
+ }
34
+
35
+ attribute type : String[0..1] {
36
+ doc
37
+ /*
38
+ * The MIME type according to which the content should be interpreted.
39
+ */
40
+ }
41
+
42
+ attribute location : String[0..1] {
43
+ doc
44
+ /*
45
+ * A URI for the location of a resource containing the image content,
46
+ * as an alternative for embedding it in the content attribute.
47
+ */
48
+ }
49
+ }
50
+
51
+ metadata def Icon {
52
+ doc
53
+ /*
54
+ * Icon metadata can be used to annotate a model element with an image to be used
55
+ * to show render the element on a diagram and/or a small image to be used as an
56
+ * adornment on a graphical or textual rendering. Alternatively, another metadata
57
+ * definition can be annotated with an Icon to indicate that any model element
58
+ * annotated by the containing metadata can be rendered according to the Icon.
59
+ */
60
+
61
+ attribute fullImage : Image[0..1] {
62
+ doc
63
+ /*
64
+ * A full-sized image that can be used to render the annotated element on a
65
+ * graphical view, potentially as an alternative to its standard rendering.
66
+ */
67
+ }
68
+
69
+ attribute smallImage : Image[0..1] {
70
+ doc
71
+ /*
72
+ * A smaller image that can be used as an adornment on the graphical rendering
73
+ * of the annotated element or as a marker in a textual rendering.
74
+ */
75
+ }
76
+ }
77
+
78
+ }
@@ -0,0 +1,143 @@
1
+ standard library package ModelingMetadata {
2
+ doc
3
+ /*
4
+ * This package contains definitions of metadata generally useful for annotating models.
5
+ */
6
+
7
+ private import Base::Anything;
8
+ private import ScalarValues::String;
9
+ private import RiskMetadata::Risk;
10
+
11
+ enum def StatusKind {
12
+ doc
13
+ /*
14
+ * StatusKind enumerates the possible statuses of work on a model element.
15
+ */
16
+
17
+ open {
18
+ doc
19
+ /*
20
+ * Status is open.
21
+ */
22
+ }
23
+
24
+ tbd {
25
+ doc
26
+ /*
27
+ * Status is to be determined.
28
+ */
29
+ }
30
+
31
+ tbr {
32
+ doc
33
+ /*
34
+ * Status is to be resolved.
35
+ */
36
+ }
37
+
38
+ tbc {
39
+ doc
40
+ /*
41
+ * Status is to be confirmed.
42
+ */
43
+ }
44
+
45
+ done {
46
+ doc
47
+ /*
48
+ * Status is done.
49
+ */
50
+ }
51
+
52
+ closed {
53
+ doc
54
+ /*
55
+ * Status is closed.
56
+ */
57
+ }
58
+ }
59
+
60
+ metadata def StatusInfo {
61
+ doc
62
+ /*
63
+ * StatusInfo is used to annotate a model element with status information.
64
+ */
65
+
66
+ attribute originator : String [0..1] {
67
+ doc
68
+ /*
69
+ * The originator of the annotated element.
70
+ */
71
+ }
72
+
73
+ attribute owner : String [0..1] {
74
+ doc
75
+ /*
76
+ * The current owner of the annotated element.
77
+ */
78
+ }
79
+
80
+ attribute status : StatusKind {
81
+ doc
82
+ /*
83
+ * The current status of work on the annotated element (required).
84
+ */
85
+ }
86
+
87
+ item risk : Risk [0..1] {
88
+ doc
89
+ /*
90
+ * An assessment of risk for the annotated element.
91
+ */
92
+ }
93
+ }
94
+
95
+ metadata def Rationale {
96
+ doc
97
+ /*
98
+ * Rationale is used to explain a choice or other decision made related to the
99
+ * annotated element.
100
+ */
101
+
102
+ attribute text : String {
103
+ doc
104
+ /*
105
+ * A textual description of the rationale (required).
106
+ */
107
+ }
108
+
109
+ ref explanation : Anything [0..1] {
110
+ doc
111
+ /*
112
+ * A reference to a feature that provides a formal explanation of the rationale.
113
+ * (For example, a trade study whose result explains the choice of a certain alternative).
114
+ */
115
+ }
116
+ }
117
+
118
+ metadata def Issue {
119
+ doc
120
+ /*
121
+ * Issue is used to record some issue concerning the annotated element.
122
+ */
123
+
124
+ attribute text : String {
125
+ doc
126
+ /*
127
+ * A textual description of the issue.
128
+ */
129
+ }
130
+ }
131
+
132
+ metadata def <refinement> Refinement {
133
+ doc
134
+ /*
135
+ * Refinement is used to identify a dependency as modeling a refinement relationship.
136
+ * In such a relationship, the source elements of the relationship provide a more precise and/or
137
+ * accurate representation than the target elements.
138
+ */
139
+
140
+ :>> annotatedElement : SysML::Dependency;
141
+ }
142
+
143
+ }
@@ -0,0 +1,39 @@
1
+ standard library package ParametersOfInterestMetadata {
2
+ doc
3
+ /*
4
+ * This package contains definitions of metadata to identify key parameters of interest,
5
+ * including measures of effectiveness (MOE) and other key measures of performance (MOP).
6
+ */
7
+
8
+ private import Metaobjects::SemanticMetadata;
9
+
10
+ attribute measuresOfEffectiveness[*] nonunique {
11
+ doc /* Base feature for attributes that are measures of effectiveness. */
12
+ }
13
+
14
+ attribute measuresOfPerformance[*] nonunique {
15
+ doc /* Base feature for attributes that are measures of performance. */
16
+ }
17
+
18
+ metadata def <moe> MeasureOfEffectiveness :> SemanticMetadata {
19
+ doc
20
+ /*
21
+ * MeasureOfEffectiveness is semantic metadata for identifying an attribute as a
22
+ * measure of effectiveness.
23
+ */
24
+
25
+ :>> annotatedElement : SysML::Usage;
26
+ :>> baseType = measuresOfEffectiveness meta SysML::Usage;
27
+ }
28
+
29
+ metadata def <mop> MeasureOfPerformance :> SemanticMetadata {
30
+ doc
31
+ /*
32
+ * MeasureOfPerformance is semantic metadata for identifying an attribute as a
33
+ * measure of performance.
34
+ */
35
+
36
+ :>> annotatedElement : SysML::Usage;
37
+ :>> baseType = measuresOfPerformance meta SysML::Usage;
38
+ }
39
+ }
@@ -0,0 +1,100 @@
1
+ standard library package RiskMetadata {
2
+ doc
3
+ /*
4
+ * This package defines metadata for annotating model elements with assessments of risk.
5
+ */
6
+
7
+ private import ScalarValues::Real;
8
+
9
+ attribute def Level :> Real {
10
+ doc
11
+ /*
12
+ * A Level is a Real number in the interval 0.0 to 1.0, inclusive.
13
+ */
14
+
15
+ assert constraint { that >= 0.0 and that <= 1.0 }
16
+ }
17
+
18
+ enum def LevelEnum :> Level {
19
+ doc
20
+ /*
21
+ * LevelEnum provides standard probability Levels for low, medium and high risks.
22
+ */
23
+
24
+ low = 0.25;
25
+ medium = 0.50;
26
+ high = 0.75;
27
+ }
28
+
29
+ attribute def RiskLevel {
30
+ doc
31
+ /*
32
+ * RiskLevel gives the probability of a risk occurring and, optionally, the impact
33
+ * if the risk occurs.
34
+ */
35
+
36
+ attribute probability : Level {
37
+ doc
38
+ /*
39
+ * The probability that a risk will occur.
40
+ */
41
+ }
42
+
43
+ attribute impact : Level [0..1] {
44
+ doc
45
+ /*
46
+ * The impact of the risk if it occurs (with 0.0 being no impact and 1.0 being
47
+ * the most severe impact).
48
+ */
49
+ }
50
+ }
51
+
52
+ enum def RiskLevelEnum :> RiskLevel {
53
+ doc
54
+ /*
55
+ * RiskLevelEnum enumerates standard RiskLevels for low, medium and high risks
56
+ * (without including impact).
57
+ */
58
+
59
+ low = new RiskLevel(probability = LevelEnum::low);
60
+ medium = new RiskLevel(probability = LevelEnum::medium);
61
+ high = new RiskLevel(probability = LevelEnum::high);
62
+ }
63
+
64
+ metadata def Risk {
65
+ doc
66
+ /*
67
+ * Risk is used to annotate a model element with an assessment of the risk related to it
68
+ * in some typical risk areas.
69
+ */
70
+
71
+ attribute totalRisk : RiskLevel [0..1] {
72
+ doc
73
+ /*
74
+ * The total risk associated with the annotated element.
75
+ */
76
+ }
77
+
78
+ attribute technicalRisk : RiskLevel [0..1] {
79
+ doc
80
+ /*
81
+ * The risk of unresolved technical issues regarding the annotated element.
82
+ */
83
+ }
84
+
85
+ attribute scheduleRisk : RiskLevel [0..1] {
86
+ doc
87
+ /*
88
+ * The risk that work on the annotated element will not be completed on schedule.
89
+ */
90
+ }
91
+
92
+ attribute costRisk : RiskLevel [0..1] {
93
+ doc
94
+ /*
95
+ * The risk that work on the annotated element will exceed its planned cost.
96
+ */
97
+ }
98
+ }
99
+
100
+ }
@@ -0,0 +1,29 @@
1
+ {
2
+ "index": {
3
+ "ISQ": "ISQ.sysml",
4
+ "ISQAcoustics": "ISQAcoustics.sysml",
5
+ "ISQAtomicNuclear": "ISQAtomicNuclear.sysml",
6
+ "ISQBase": "ISQBase.sysml",
7
+ "ISQCharacteristicNumbers": "ISQCharacteristicNumbers.sysml",
8
+ "ISQChemistryMolecular": "ISQChemistryMolecular.sysml",
9
+ "ISQCondensedMatter": "ISQCondensedMatter.sysml",
10
+ "ISQElectromagnetism": "ISQElectromagnetism.sysml",
11
+ "ISQInformation": "ISQInformation.sysml",
12
+ "ISQLight": "ISQLight.sysml",
13
+ "ISQMechanics": "ISQMechanics.sysml",
14
+ "ISQSpaceTime": "ISQSpaceTime.sysml",
15
+ "ISQThermodynamics": "ISQThermodynamics.sysml",
16
+ "MeasurementRefCalculations": "MeasurementRefCalculations.sysml",
17
+ "MeasurementReferences": "MeasurementReferences.sysml",
18
+ "Quantities": "Quantities.sysml",
19
+ "QuantityCalculations": "QuantityCalculations.sysml",
20
+ "SI": "SI.sysml",
21
+ "SIPrefixes": "SIPrefixes.sysml",
22
+ "TensorCalculations": "TensorCalculations.sysml",
23
+ "Time": "Time.sysml",
24
+ "USCustomaryUnits": "USCustomaryUnits.sysml",
25
+ "VectorCalculations": "VectorCalculations.sysml"
26
+ },
27
+ "created": "2025-03-13T00:00:00Z",
28
+ "metamodel": "https://www.omg.org/spec/SysML/20250201"
29
+ }
@@ -0,0 +1,23 @@
1
+ {
2
+ "name": "SysML Quantities and Units Library",
3
+ "version": "2.0.0",
4
+ "description": "Standard quantities and units domain library for the Systems Modeling Language (SysML)",
5
+ "usage": [
6
+ {
7
+ "resource": "https://www.omg.org/spec/KerML/20250201/Semantic-Library.kpar",
8
+ "versionConstraint": "1.0.0"
9
+ },
10
+ {
11
+ "resource": "https://www.omg.org/spec/KerML/20250201/Data-Type-Library.kpar",
12
+ "versionConstraint": "1.0.0"
13
+ },
14
+ {
15
+ "resource": "https://www.omg.org/spec/KerML/20250201/Function-Library.kpar",
16
+ "versionConstraint": "1.0.0"
17
+ },
18
+ {
19
+ "resource": "https://www.omg.org/spec/SysML/20250201/Systems-Library.kpar",
20
+ "versionConstraint": "2.0.0"
21
+ }
22
+ ]
23
+ }
@@ -0,0 +1,42 @@
1
+ standard library package ISQ {
2
+ doc
3
+ /*
4
+ * International system of quantities (ISQ), as defined in ISO/IEC 80000
5
+ */
6
+
7
+ private import ScalarValues::Real;
8
+ private import Quantities::*;
9
+ private import MeasurementReferences::*;
10
+
11
+ public import ISQBase::*; // ISO/IEC 80000 base quantities and general concepts
12
+ public import ISQSpaceTime::*; // ISO 80000-3 "Space and Time"
13
+ public import ISQMechanics::*; // ISO 80000-4 "Mechanics"
14
+ public import ISQThermodynamics::*; // ISO 80000-5 "Thermodynamics"
15
+ public import ISQElectromagnetism::*; // IEC 80000-6 "Electromagnetism"
16
+ public import ISQLight::*; // ISO 80000-7 "Light"
17
+ public import ISQAcoustics::*; // ISO 80000-8 "Acoustics"
18
+ public import ISQChemistryMolecular::*; // ISO 80000-9 "Physical chemistry and molecular physics"
19
+ public import ISQAtomicNuclear::*; // ISO 80000-10 "Atomic and nuclear physics"
20
+ public import ISQCharacteristicNumbers::*; // ISO 80000-11 "Characteristic numbers"
21
+ public import ISQCondensedMatter::*; // ISO 80000-12 "Condensed matter physics"
22
+ public import ISQInformation::*; // IEC 80000-13 "Information science and technology"
23
+
24
+ /* Additional quantity declarations */
25
+
26
+ attribute def TemperatureDifferenceValue :> ScalarQuantityValue {
27
+ doc
28
+ /*
29
+ * temperature difference
30
+ * A separate temperature difference quantity and unit are needed in order to support °C, °F and centrigrade temperature differences
31
+ */
32
+ attribute :>> num: Real;
33
+ attribute :>> mRef: TemperatureDifferenceUnit[1];
34
+ }
35
+
36
+ attribute temperatureDifference: TemperatureDifferenceValue [*] nonunique :> scalarQuantities;
37
+
38
+ attribute def TemperatureDifferenceUnit :> SimpleUnit {
39
+ private attribute thermodynamicTemperaturePF: QuantityPowerFactor[1] { :>> quantity = isq.'Θ'; :>> exponent = 1; }
40
+ attribute :>> quantityDimension { :>> quantityPowerFactors = thermodynamicTemperaturePF; }
41
+ }
42
+ }