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,483 @@
1
+ standard library package KerML {
2
+ doc
3
+ /*
4
+ * This package contains a reflective KerML model of the KerML abstract syntax.
5
+ */
6
+
7
+ private import ScalarValues::*;
8
+ public import Kernel::*;
9
+
10
+ package Root {
11
+ metaclass AnnotatingElement specializes Element {
12
+ derived var feature annotatedElement : Element[1..*] ordered redefines annotatedElement;
13
+ derived composite var feature ownedAnnotatingRelationship : Annotation[0..*] ordered subsets annotation, ownedRelationship;
14
+ derived var feature owningAnnotatingRelationship : Annotation[0..1] subsets owningRelationship, annotation;
15
+ derived var feature annotation : Annotation[0..*] ordered;
16
+ }
17
+
18
+ metaclass Annotation specializes Relationship {
19
+ var feature annotatedElement : Element[1..1] redefines target, annotatedElement;
20
+ derived var feature annotatingElement : AnnotatingElement[1..1] redefines source;
21
+ derived var feature owningAnnotatedElement : Element[0..1] subsets annotatedElement, owningRelatedElement;
22
+ derived var feature owningAnnotatingElement : AnnotatingElement[0..1] subsets annotatingElement, owningRelatedElement;
23
+ derived composite var feature ownedAnnotatingElement : AnnotatingElement[0..1] subsets annotatingElement, ownedRelatedElement;
24
+ }
25
+
26
+ metaclass Comment specializes AnnotatingElement {
27
+ var feature 'locale' : String[0..1];
28
+ var feature body : String[1..1];
29
+ }
30
+
31
+ metaclass Dependency specializes Relationship {
32
+ var feature client : Element[1..*] ordered redefines source;
33
+ var feature supplier : Element[1..*] ordered redefines target;
34
+ }
35
+
36
+ metaclass Documentation specializes Comment {
37
+ derived var feature documentedElement : Element[1..1] subsets owner redefines annotatedElement;
38
+ }
39
+
40
+ abstract metaclass Element {
41
+ var feature elementId : String[1..1];
42
+ var feature aliasIds : String[0..*] ordered;
43
+ var feature declaredShortName : String[0..1];
44
+ var feature declaredName : String[0..1];
45
+ var feature isImpliedIncluded : Boolean[1..1];
46
+ derived var feature shortName : String[0..1];
47
+ derived var feature name : String[0..1];
48
+ derived var feature qualifiedName : String[0..1];
49
+ derived var feature isLibraryElement : Boolean[1..1];
50
+
51
+ var feature owningRelationship : Relationship[0..1];
52
+ composite var feature ownedRelationship : Relationship[0..*] ordered;
53
+ derived var feature owningMembership : OwningMembership[0..1] subsets owningRelationship;
54
+ derived var feature owningNamespace : Namespace[0..1];
55
+ derived var feature owner : Element[0..1];
56
+ derived var feature ownedElement : Element[0..*] ordered;
57
+ derived var feature documentation : Documentation[0..*] ordered subsets ownedElement;
58
+ derived composite var feature ownedAnnotation : Annotation[0..*] ordered subsets ownedRelationship;
59
+ derived var feature textualRepresentation : TextualRepresentation[0..*] ordered subsets ownedElement;
60
+ }
61
+
62
+ abstract metaclass Import specializes Relationship {
63
+ var feature visibility : VisibilityKind[1..1];
64
+ var feature isRecursive : Boolean[1..1];
65
+ var feature isImportAll : Boolean[1..1];
66
+
67
+ derived var feature importOwningNamespace : Namespace[1..1] subsets owningRelatedElement redefines source;
68
+ derived var feature importedElement : Element[1..1];
69
+ }
70
+
71
+ metaclass Membership specializes Relationship {
72
+ var feature memberShortName : String[0..1];
73
+ var feature memberName : String[0..1];
74
+ var feature visibility : VisibilityKind[1..1];
75
+ derived var feature memberElementId : String[1..1];
76
+
77
+ var feature memberElement : Element[1..1] redefines target;
78
+ derived var feature membershipOwningNamespace : Namespace[1..1] subsets owningRelatedElement redefines source;
79
+ }
80
+
81
+ metaclass MembershipImport specializes Import {
82
+ var feature importedMembership : Membership[1..1] redefines target;
83
+ }
84
+
85
+ metaclass Namespace specializes Element {
86
+ derived abstract var feature membership : Membership[0..*] ordered;
87
+ derived composite var feature ownedImport : Import[0..*] ordered subsets ownedRelationship;
88
+ derived var feature 'member' : Element[0..*] ordered;
89
+ derived var feature ownedMember : Element[0..*] ordered subsets 'member';
90
+ derived composite var feature ownedMembership : Membership[0..*] ordered subsets membership, ownedRelationship;
91
+ derived var feature importedMembership : Membership[0..*] ordered subsets membership;
92
+ }
93
+
94
+ metaclass NamespaceImport specializes Import {
95
+ var feature importedNamespace : Namespace[1..1] redefines target;
96
+ }
97
+
98
+ metaclass OwningMembership specializes Membership {
99
+ derived var feature ownedMemberElementId : String[1..1] redefines memberElementId;
100
+ derived var feature ownedMemberShortName : String[0..1] redefines memberShortName;
101
+ derived var feature ownedMemberName : String[0..1] redefines memberName;
102
+
103
+ derived composite var feature ownedMemberElement : Element[1..1] subsets ownedRelatedElement redefines memberElement;
104
+ }
105
+
106
+ abstract metaclass Relationship specializes Element {
107
+ var feature isImplied : Boolean[1..1];
108
+
109
+ var feature target : Element[0..*] ordered subsets relatedElement;
110
+ var feature source : Element[0..*] ordered subsets relatedElement;
111
+ var feature owningRelatedElement : Element[0..1] subsets relatedElement;
112
+ composite var feature ownedRelatedElement : Element[0..*] ordered subsets relatedElement;
113
+ derived var feature relatedElement : Element[0..*] ordered nonunique;
114
+ }
115
+
116
+ metaclass TextualRepresentation specializes AnnotatingElement {
117
+ var feature 'language' : String[1..1];
118
+ var feature body : String[1..1];
119
+
120
+ derived var feature representedElement : Element[1..1] subsets owner redefines annotatedElement;
121
+ }
122
+
123
+ datatype VisibilityKind {
124
+ member feature 'private' : VisibilityKind[1];
125
+ member feature 'protected' : VisibilityKind[1];
126
+ member feature 'public' : VisibilityKind[1];
127
+ }
128
+
129
+ }
130
+
131
+ package Core {
132
+ public import Root::*;
133
+
134
+ metaclass Classifier specializes Type {
135
+ derived composite var feature ownedSubclassification : Subclassification[0..*] subsets ownedSpecialization;
136
+ }
137
+
138
+ metaclass Conjugation specializes Relationship {
139
+ var feature originalType : Type[1..1] redefines target;
140
+ var feature conjugatedType : Type[1..1] redefines source;
141
+ derived var feature owningType : Type[0..1] subsets conjugatedType, owningRelatedElement;
142
+ }
143
+
144
+ metaclass CrossSubsetting specializes Subsetting {
145
+ var feature crossedFeature : Feature[1..1] redefines subsettedFeature;
146
+ derived var feature crossingFeature : Feature[1..1] redefines owningFeature, subsettingFeature;
147
+ }
148
+
149
+ metaclass Differencing specializes Relationship {
150
+ var feature differencingType : Type[1..1] redefines target;
151
+ derived var feature typeDifferenced : Type[1..1] subsets owningRelatedElement redefines source;
152
+ }
153
+
154
+ metaclass Disjoining specializes Relationship {
155
+ var feature typeDisjoined : Type[1..1] redefines source;
156
+ var feature disjoiningType : Type[1..1] redefines target;
157
+ derived var feature owningType : Type[0..1] subsets owningRelatedElement, typeDisjoined;
158
+ }
159
+
160
+ metaclass EndFeatureMembership specializes FeatureMembership {
161
+ derived composite var feature ownedMemberFeature : Feature[1..1] redefines ownedMemberFeature;
162
+ }
163
+
164
+ metaclass Feature specializes Type {
165
+ var feature isUnique : Boolean[1..1];
166
+ var feature isOrdered : Boolean[1..1];
167
+ var feature isComposite : Boolean[1..1];
168
+ var feature isEnd : Boolean[1..1];
169
+ var feature isDerived : Boolean[1..1];
170
+ var feature isPortion : Boolean[1..1];
171
+ var feature isVariable : Boolean[1..1];
172
+ var feature isConstant : Boolean[1..1];
173
+ var feature direction : FeatureDirectionKind[0..1];
174
+
175
+ derived var feature owningType : Type[0..1] subsets owningNamespace, featuringType;
176
+ derived var feature 'type' : Type[0..*] ordered;
177
+ derived composite var feature ownedRedefinition : Redefinition[0..*] subsets ownedSubsetting;
178
+ derived composite var feature ownedSubsetting : Subsetting[0..*] subsets ownedSpecialization;
179
+ derived var feature owningFeatureMembership : FeatureMembership[0..1] subsets owningMembership;
180
+ derived var feature endOwningType : Type[0..1] subsets owningType;
181
+ derived composite var feature ownedTyping : FeatureTyping[0..*] ordered subsets ownedSpecialization;
182
+ derived var feature featuringType : Type[0..*] ordered;
183
+ derived composite var feature ownedTypeFeaturing : TypeFeaturing[0..*] ordered subsets ownedRelationship;
184
+ derived var feature chainingFeature : Feature[0..*] ordered nonunique;
185
+ derived composite var feature ownedFeatureInverting : FeatureInverting[0..*] subsets ownedRelationship;
186
+ derived composite var feature ownedFeatureChaining : FeatureChaining[0..*] ordered subsets ownedRelationship;
187
+ derived composite var feature ownedReferenceSubsetting : ReferenceSubsetting[0..1] subsets ownedSubsetting;
188
+ derived var feature featureTarget : Feature[1..1];
189
+ derived var feature crossFeature : Feature[0..1];
190
+ derived composite var feature ownedCrossSubsetting : CrossSubsetting[0..1] subsets ownedSubsetting;
191
+ }
192
+
193
+ metaclass FeatureChaining specializes Relationship {
194
+ var feature chainingFeature : Feature[1..1] redefines target;
195
+ derived var feature featureChained : Feature[1..1] subsets owningRelatedElement redefines source;
196
+ }
197
+
198
+ datatype FeatureDirectionKind {
199
+ member feature 'in' : FeatureDirectionKind[1];
200
+ member feature 'inout' : FeatureDirectionKind[1];
201
+ member feature 'out' : FeatureDirectionKind[1];
202
+ }
203
+
204
+ metaclass FeatureInverting specializes Relationship {
205
+ var feature featureInverted : Feature[1..1] redefines source;
206
+ var feature invertingFeature : Feature[1..1] redefines target;
207
+ derived var feature owningFeature : Feature[0..1] subsets featureInverted, owningRelatedElement;
208
+ }
209
+
210
+ metaclass FeatureMembership specializes OwningMembership {
211
+ derived var feature owningType : Type[1..1] redefines membershipOwningNamespace;
212
+ derived composite var feature ownedMemberFeature : Feature[1..1] redefines ownedMemberElement;
213
+ }
214
+
215
+ metaclass FeatureTyping specializes Specialization {
216
+ var feature typedFeature : Feature[1..1] redefines specific;
217
+ var feature 'type' : Type[1..1] redefines general;
218
+ derived var feature owningFeature : Feature[0..1] subsets typedFeature redefines owningType;
219
+ }
220
+
221
+ metaclass Intersecting specializes Relationship {
222
+ var feature intersectingType : Type[1..1] redefines target;
223
+ derived var feature typeIntersected : Type[1..1] subsets owningRelatedElement redefines source;
224
+ }
225
+
226
+ metaclass Multiplicity specializes Feature;
227
+
228
+ metaclass Redefinition specializes Subsetting {
229
+ var feature redefiningFeature : Feature[1..1] redefines subsettingFeature;
230
+ var feature redefinedFeature : Feature[1..1] redefines subsettedFeature;
231
+ }
232
+
233
+ metaclass ReferenceSubsetting specializes Subsetting {
234
+ var feature referencedFeature : Feature[1..1] redefines subsettedFeature;
235
+ derived var feature referencingFeature : Feature[1..1] redefines owningFeature, subsettingFeature;
236
+ }
237
+
238
+ metaclass Specialization specializes Relationship {
239
+ var feature general : Type[1..1] redefines target;
240
+ var feature specific : Type[1..1] redefines source;
241
+ derived var feature owningType : Type[0..1] subsets owningRelatedElement, specific;
242
+ }
243
+
244
+ metaclass Subclassification specializes Specialization {
245
+ var feature superclassifier : Classifier[1..1] redefines general;
246
+ var feature 'subclassifier' : Classifier[1..1] redefines specific;
247
+ derived var feature owningClassifier : Classifier[0..1] redefines owningType;
248
+ }
249
+
250
+ metaclass Subsetting specializes Specialization {
251
+ var feature subsettedFeature : Feature[1..1] redefines general;
252
+ var feature subsettingFeature : Feature[1..1] redefines specific;
253
+ derived var feature owningFeature : Feature[0..1] subsets subsettingFeature redefines owningType;
254
+ }
255
+
256
+ metaclass Type specializes Namespace {
257
+ var feature isAbstract : Boolean[1..1];
258
+ var feature isSufficient : Boolean[1..1];
259
+ derived var feature isConjugated : Boolean[1..1];
260
+
261
+ derived composite var feature ownedSpecialization : Specialization[0..*] ordered subsets ownedRelationship;
262
+ derived composite var feature ownedFeatureMembership : FeatureMembership[0..*] ordered subsets ownedMembership, featureMembership;
263
+ derived var feature 'feature' : Feature[0..*] ordered subsets 'member';
264
+ derived var feature ownedFeature : Feature[0..*] ordered subsets ownedMember;
265
+ derived var feature input : Feature[0..*] ordered subsets directedFeature;
266
+ derived var feature output : Feature[0..*] ordered subsets directedFeature;
267
+ derived var feature inheritedMembership : Membership[0..*] ordered subsets membership;
268
+ derived var feature endFeature : Feature[0..*] ordered subsets 'feature';
269
+ derived var feature ownedEndFeature : Feature[0..*] ordered subsets endFeature, ownedFeature;
270
+ derived composite var feature ownedConjugator : Conjugation[0..1] subsets ownedRelationship;
271
+ derived var feature inheritedFeature : Feature[0..*] ordered subsets 'feature';
272
+ derived var feature 'multiplicity' : Multiplicity[0..1] subsets ownedMember;
273
+ derived var feature unioningType : Type[0..*] ordered;
274
+ derived composite var feature ownedIntersecting : Intersecting[0..*] ordered subsets ownedRelationship;
275
+ derived var feature intersectingType : Type[0..*] ordered;
276
+ derived composite var feature ownedUnioning : Unioning[0..*] ordered subsets ownedRelationship;
277
+ derived composite var feature ownedDisjoining : Disjoining[0..*] subsets ownedRelationship;
278
+ derived var feature featureMembership : FeatureMembership[0..*] ordered;
279
+ derived var feature differencingType : Type[0..*] ordered;
280
+ derived composite var feature ownedDifferencing : Differencing[0..*] ordered subsets ownedRelationship;
281
+ derived var feature directedFeature : Feature[0..*] ordered subsets 'feature';
282
+ }
283
+
284
+ metaclass TypeFeaturing specializes Relationship {
285
+ var feature featureOfType : Feature[1..1] redefines source;
286
+ var feature featuringType : Type[1..1] redefines target;
287
+ derived var feature owningFeatureOfType : Feature[0..1] subsets owningRelatedElement, featureOfType;
288
+ }
289
+
290
+ metaclass Unioning specializes Relationship {
291
+ var feature unioningType : Type[1..1] redefines target;
292
+ derived var feature typeUnioned : Type[1..1] subsets owningRelatedElement redefines source;
293
+ }
294
+
295
+ }
296
+
297
+ package Kernel {
298
+ public import Core::*;
299
+
300
+ metaclass Association specializes Classifier, Relationship {
301
+ derived var feature relatedType : Type[0..*] ordered nonunique redefines relatedElement;
302
+ derived var feature sourceType : Type[0..1] subsets relatedType redefines source;
303
+ derived var feature targetType : Type[0..*] subsets relatedType redefines target;
304
+ derived var feature associationEnd : Feature[0..*] redefines endFeature;
305
+ }
306
+
307
+ metaclass AssociationStructure specializes Association, Structure;
308
+
309
+ metaclass Behavior specializes Class {
310
+ derived var feature 'step' : Step[0..*] subsets 'feature';
311
+ derived var feature parameter : Feature[0..*] ordered redefines directedFeature;
312
+ }
313
+
314
+ metaclass BindingConnector specializes Connector;
315
+
316
+ metaclass BooleanExpression specializes Expression {
317
+ derived var feature 'predicate' : Predicate[0..1] redefines 'function';
318
+ }
319
+
320
+ metaclass Class specializes Classifier;
321
+
322
+ metaclass CollectExpression specializes OperatorExpression {
323
+ var feature operator : String[1..1] redefines operator;
324
+ }
325
+
326
+ metaclass Connector specializes Feature, Relationship {
327
+ derived var feature relatedFeature : Feature[0..*] ordered nonunique redefines relatedElement;
328
+ derived var feature association : Association[0..*] ordered redefines 'type';
329
+ derived var feature connectorEnd : Feature[0..*] ordered redefines endFeature;
330
+ derived var feature sourceFeature : Feature[0..1] ordered subsets relatedFeature redefines source;
331
+ derived var feature targetFeature : Feature[0..*] ordered subsets relatedFeature redefines target;
332
+ derived var feature defaultFeaturingType : Type[0..1];
333
+ }
334
+
335
+ metaclass ConstructorExpression specializes InstantiationExpression;
336
+
337
+ metaclass DataType specializes Classifier;
338
+
339
+ metaclass ElementFilterMembership specializes OwningMembership {
340
+ derived composite var feature condition : Expression[1..1] redefines ownedMemberElement;
341
+ }
342
+
343
+ metaclass Expression specializes Step {
344
+ derived var feature isModelLevelEvaluable : Boolean[1..1];
345
+
346
+ derived var feature 'function' : Function[0..1] redefines 'behavior';
347
+ derived var feature result : Feature[1..1] subsets output, parameter;
348
+ }
349
+
350
+ metaclass FeatureChainExpression specializes OperatorExpression {
351
+ var feature operator : String[1..1] redefines operator;
352
+
353
+ derived var feature targetFeature : Feature[1..1] subsets 'member';
354
+ }
355
+
356
+ metaclass FeatureReferenceExpression specializes Expression {
357
+ derived var feature referent : Feature[1..1] subsets 'member';
358
+ }
359
+
360
+ metaclass FeatureValue specializes OwningMembership {
361
+ var feature isInitial : Boolean[1..1];
362
+ var feature isDefault : Boolean[1..1];
363
+
364
+ derived var feature featureWithValue : Feature[1..1] subsets membershipOwningNamespace;
365
+ derived composite var feature value : Expression[1..1] redefines ownedMemberElement;
366
+ }
367
+
368
+ metaclass Flow specializes Connector, Step {
369
+ derived var feature payloadType : Classifier[0..*] ordered nonunique;
370
+ derived var feature targetInputFeature : Feature[0..1] ordered nonunique;
371
+ derived var feature sourceOutputFeature : Feature[0..1] ordered nonunique;
372
+ derived var feature flowEnd : FlowEnd[0..2] ordered subsets connectorEnd;
373
+ derived var feature payloadFeature : PayloadFeature[0..1] subsets ownedFeature;
374
+ derived var feature 'interaction' : Interaction[0..*] ordered redefines association, 'behavior';
375
+ }
376
+
377
+ metaclass FlowEnd specializes Feature;
378
+
379
+ metaclass Function specializes Behavior {
380
+ derived var feature isModelLevelEvaluable : Boolean[1..1];
381
+
382
+ derived var feature expression : Expression[0..*] subsets 'step';
383
+ derived var feature result : Feature[1..1] subsets output, parameter;
384
+ }
385
+
386
+ metaclass IndexExpression specializes OperatorExpression {
387
+ var feature operator : String[1..1] redefines operator;
388
+ }
389
+
390
+ abstract metaclass InstantiationExpression specializes Expression {
391
+ derived var feature argument : Expression[0..*] ordered;
392
+ derived var feature instantiatedType : Type[1..1] subsets 'member';
393
+ }
394
+
395
+ metaclass Interaction specializes Association, Behavior;
396
+
397
+ metaclass Invariant specializes BooleanExpression {
398
+ var feature isNegated : Boolean[1..1];
399
+ }
400
+
401
+ metaclass InvocationExpression specializes InstantiationExpression;
402
+
403
+ metaclass LibraryPackage specializes Package {
404
+ var feature isStandard : Boolean[1..1];
405
+ }
406
+
407
+ metaclass LiteralBoolean specializes LiteralExpression {
408
+ var feature value : Boolean[1..1];
409
+ }
410
+
411
+ metaclass LiteralExpression specializes Expression;
412
+
413
+ metaclass LiteralInfinity specializes LiteralExpression;
414
+
415
+ metaclass LiteralInteger specializes LiteralExpression {
416
+ var feature value : Integer[1..1];
417
+ }
418
+
419
+ metaclass LiteralRational specializes LiteralExpression {
420
+ var feature value : Rational[1..1];
421
+ }
422
+
423
+ metaclass LiteralString specializes LiteralExpression {
424
+ var feature value : String[1..1];
425
+ }
426
+
427
+ metaclass Metaclass specializes Structure;
428
+
429
+ metaclass MetadataAccessExpression specializes Expression {
430
+ derived var feature referencedElement : Element[1..1] subsets 'member';
431
+ }
432
+
433
+ metaclass MetadataFeature specializes AnnotatingElement, Feature {
434
+ derived var feature 'metaclass' : Metaclass[0..1] subsets 'type';
435
+ }
436
+
437
+ metaclass MultiplicityRange specializes Multiplicity {
438
+ derived var feature lowerBound : Expression[0..1] subsets bound;
439
+ derived var feature upperBound : Expression[1..1] subsets bound;
440
+ derived var feature bound : Expression[1..2] ordered subsets ownedMember;
441
+ }
442
+
443
+ metaclass NullExpression specializes Expression;
444
+
445
+ metaclass OperatorExpression specializes InvocationExpression {
446
+ var feature operator : String[1..1];
447
+ }
448
+
449
+ metaclass Package specializes Namespace {
450
+ derived var feature filterCondition : Expression[0..*] ordered subsets ownedMember;
451
+ }
452
+
453
+ metaclass ParameterMembership specializes FeatureMembership {
454
+ derived composite var feature ownedMemberParameter : Feature[1..1] redefines ownedMemberFeature;
455
+ }
456
+
457
+ metaclass PayloadFeature specializes Feature;
458
+
459
+ metaclass Predicate specializes Function;
460
+
461
+ metaclass ResultExpressionMembership specializes FeatureMembership {
462
+ derived composite var feature ownedResultExpression : Expression[1..1] redefines ownedMemberFeature;
463
+ }
464
+
465
+ metaclass ReturnParameterMembership specializes ParameterMembership;
466
+
467
+ metaclass SelectExpression specializes OperatorExpression {
468
+ var feature operator : String[1..1] redefines operator;
469
+ }
470
+
471
+ metaclass Step specializes Feature {
472
+ derived var feature 'behavior' : Behavior[0..*] ordered subsets 'type';
473
+ derived var feature parameter : Feature[0..*] ordered redefines directedFeature;
474
+ }
475
+
476
+ metaclass Structure specializes Class;
477
+
478
+ metaclass Succession specializes Connector;
479
+
480
+ metaclass SuccessionFlow specializes Succession, Flow;
481
+
482
+ }
483
+ }
@@ -0,0 +1,67 @@
1
+ standard library package Links {
2
+ doc
3
+ /*
4
+ * This package defines associations and features that are related to the typing of links.
5
+ */
6
+
7
+ private import Base::Anything;
8
+ private import Base::things;
9
+
10
+ abstract assoc Link specializes Anything {
11
+ doc
12
+ /*
13
+ * Link is the most general association between two or more things.
14
+ */
15
+
16
+ feature participant: Anything[2..*] nonunique ordered;
17
+ }
18
+
19
+ assoc all BinaryLink specializes Link {
20
+ doc
21
+ /*
22
+ * BinaryLink is the most general binary association between exactly two things,
23
+ * nominally directed from source to target.
24
+ */
25
+
26
+ feature participant: Anything[2] nonunique ordered redefines Link::participant;
27
+
28
+ end feature source: Anything[1] subsets participant;
29
+ end feature target: Anything[1] subsets participant;
30
+ }
31
+
32
+ assoc all SelfLink specializes BinaryLink {
33
+ doc
34
+ /*
35
+ * SelfLink is a binary association in which the things at the two ends are asserted
36
+ * to be the same.
37
+ */
38
+
39
+ end feature thisThing: Anything redefines source subsets sameThing crosses sameThing.self;
40
+ end self2 [1] feature sameThing: Anything redefines target subsets thisThing;
41
+ }
42
+
43
+ abstract feature links: Link[0..*] nonunique subsets things {
44
+ doc
45
+ /*
46
+ * links is the most general feature of links between individuals.
47
+ */
48
+ }
49
+
50
+ abstract feature binaryLinks: BinaryLink[0..*] nonunique subsets links {
51
+ doc
52
+ /*
53
+ * binaryLinks is a specialization of links restricted to type BinaryLink.
54
+ */
55
+ }
56
+
57
+ abstract feature selfLinks: SelfLink[0..*] nonunique subsets binaryLinks {
58
+ doc
59
+ /*
60
+ * selfLinks is a specialization of binaryLinks restricted to type SelfLink.
61
+ */
62
+
63
+ end feature thisThing: Anything redefines SelfLink::thisThing, binaryLinks::source;
64
+ end feature sameThing: Anything redefines SelfLink::sameThing, binaryLinks::target;
65
+ }
66
+
67
+ }
@@ -0,0 +1,58 @@
1
+ standard library package Metaobjects {
2
+ doc
3
+ /*
4
+ * This package defines Metaclasses and Features that are related to the typing of syntactic and semantic metadata.
5
+ */
6
+
7
+ private import Objects::Object;
8
+ private import Objects::objects;
9
+ private import KerML::Element;
10
+ private import KerML::Type;
11
+
12
+ abstract metaclass Metaobject specializes Object {
13
+ doc
14
+ /*
15
+ * A Metaobject contains syntactic or semantic information about one or more annotatedElements.
16
+ * It is the most general Metaclass. All other Metaclasses must subclassify it directly or indirectly.
17
+ */
18
+
19
+ feature redefines self : Metaobject;
20
+
21
+ abstract feature annotatedElement : Element[1..*] {
22
+ doc
23
+ /*
24
+ * The Elements annotated by this Metaobject. This is set automatically when a Metaobject is
25
+ * instantiated as the value of a MetadataFeature.
26
+ */
27
+ }
28
+ }
29
+
30
+ abstract metaclass SemanticMetadata specializes Metaobject {
31
+ doc
32
+ /*
33
+ * SemanticMetadata is a Metaobject that requires its single annotatedType to directly or indirectly specialize
34
+ * a baseType that models the semantics for the annotatedType.
35
+ */
36
+
37
+ abstract feature redefines annotatedElement : Type[1] {
38
+ doc
39
+ /*
40
+ * The single annotatedElement of this SemanticMetadata, which must be a Type.
41
+ */
42
+ }
43
+
44
+ feature baseType : Type[1] {
45
+ doc
46
+ /*
47
+ * The required base Type for the annotatedType.
48
+ */
49
+ }
50
+ }
51
+
52
+ feature metaobjects : Metaobject[0..*] :> objects {
53
+ /*
54
+ * metaobjects is a specialization of objects restricted to type Metadata. It is the most general
55
+ * MetadataFeature. All other MetadataFeatures must subset it directly or indirectly.
56
+ */
57
+ }
58
+ }