@bpmn-ld/bpmn-ld 0.0.0-stage → 0.2.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 (339) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +125 -2
  3. package/contexts/combined.jsonld +3 -0
  4. package/contexts/core.jsonld +170 -0
  5. package/contexts/di.jsonld +37 -0
  6. package/dist/analyze/analyze.d.ts +3 -0
  7. package/dist/analyze/analyze.js +11 -0
  8. package/dist/analyze/findings.d.ts +8 -0
  9. package/dist/analyze/findings.js +1 -0
  10. package/dist/analyze/report.d.ts +3 -0
  11. package/dist/analyze/report.js +9 -0
  12. package/dist/analyze/rules/ad-hoc-completion-condition.d.ts +2 -0
  13. package/dist/analyze/rules/ad-hoc-completion-condition.js +7 -0
  14. package/dist/analyze/rules/cannot-reach-end.d.ts +2 -0
  15. package/dist/analyze/rules/cannot-reach-end.js +28 -0
  16. package/dist/analyze/rules/compensation-association.d.ts +2 -0
  17. package/dist/analyze/rules/compensation-association.js +13 -0
  18. package/dist/analyze/rules/dead-end.d.ts +2 -0
  19. package/dist/analyze/rules/dead-end.js +13 -0
  20. package/dist/analyze/rules/end-event.d.ts +2 -0
  21. package/dist/analyze/rules/end-event.js +8 -0
  22. package/dist/analyze/rules/error-catch.d.ts +2 -0
  23. package/dist/analyze/rules/error-catch.js +14 -0
  24. package/dist/analyze/rules/escalation-catch.d.ts +2 -0
  25. package/dist/analyze/rules/escalation-catch.js +14 -0
  26. package/dist/analyze/rules/gateway-cardinality.d.ts +3 -0
  27. package/dist/analyze/rules/gateway-cardinality.js +17 -0
  28. package/dist/analyze/rules/index.d.ts +4 -0
  29. package/dist/analyze/rules/index.js +21 -0
  30. package/dist/analyze/rules/instantiating-gateway.d.ts +2 -0
  31. package/dist/analyze/rules/instantiating-gateway.js +14 -0
  32. package/dist/analyze/rules/non-interrupting-start.d.ts +2 -0
  33. package/dist/analyze/rules/non-interrupting-start.js +14 -0
  34. package/dist/analyze/rules/reachability.d.ts +2 -0
  35. package/dist/analyze/rules/reachability.js +25 -0
  36. package/dist/analyze/rules/rule.d.ts +7 -0
  37. package/dist/analyze/rules/rule.js +1 -0
  38. package/dist/analyze/rules/signal-catch.d.ts +2 -0
  39. package/dist/analyze/rules/signal-catch.js +12 -0
  40. package/dist/analyze/rules/split-join-pairing.d.ts +3 -0
  41. package/dist/analyze/rules/split-join-pairing.js +50 -0
  42. package/dist/analyze/rules/start-event.d.ts +2 -0
  43. package/dist/analyze/rules/start-event.js +8 -0
  44. package/dist/analyze/rules/task-message-flow.d.ts +2 -0
  45. package/dist/analyze/rules/task-message-flow.js +19 -0
  46. package/dist/analyze/scope-graph.d.ts +56 -0
  47. package/dist/analyze/scope-graph.js +89 -0
  48. package/dist/analyze-cli.d.ts +1 -0
  49. package/dist/analyze-cli.js +5 -0
  50. package/dist/analyze-run.d.ts +12 -0
  51. package/dist/analyze-run.js +85 -0
  52. package/dist/bpmn-ld-cli.d.ts +2 -0
  53. package/dist/bpmn-ld-cli.js +97 -0
  54. package/dist/build-cli.d.ts +1 -0
  55. package/dist/build-cli.js +2 -0
  56. package/dist/build.d.ts +3 -0
  57. package/dist/build.js +38 -0
  58. package/dist/cheat-sheet-catalog.d.ts +10 -0
  59. package/dist/cheat-sheet-catalog.js +72 -0
  60. package/dist/cheat-sheet-cli.d.ts +1 -0
  61. package/dist/cheat-sheet-cli.js +7 -0
  62. package/dist/cheat-sheet-compose.d.ts +13 -0
  63. package/dist/cheat-sheet-compose.js +107 -0
  64. package/dist/cheat-sheet-run.d.ts +11 -0
  65. package/dist/cheat-sheet-run.js +65 -0
  66. package/dist/cheat-sheet-svg.d.ts +2 -0
  67. package/dist/cheat-sheet-svg.js +2 -0
  68. package/dist/cheat-sheet.d.ts +2 -0
  69. package/dist/cheat-sheet.js +2 -0
  70. package/dist/check-xml/check.d.ts +3 -0
  71. package/dist/check-xml/check.js +11 -0
  72. package/dist/check-xml/lint.d.ts +2 -0
  73. package/dist/check-xml/lint.js +47 -0
  74. package/dist/check-xml/moddle.d.ts +6 -0
  75. package/dist/check-xml/moddle.js +23 -0
  76. package/dist/check-xml/types.d.ts +20 -0
  77. package/dist/check-xml/types.js +1 -0
  78. package/dist/check-xml/xsd.d.ts +2 -0
  79. package/dist/check-xml/xsd.js +25 -0
  80. package/dist/check-xml-cli.d.ts +1 -0
  81. package/dist/check-xml-cli.js +5 -0
  82. package/dist/check-xml-run.d.ts +10 -0
  83. package/dist/check-xml-run.js +77 -0
  84. package/dist/convert/analyze-output.d.ts +3 -0
  85. package/dist/convert/analyze-output.js +8 -0
  86. package/dist/convert/convert.d.ts +19 -0
  87. package/dist/convert/convert.js +96 -0
  88. package/dist/convert/errors.d.ts +5 -0
  89. package/dist/convert/errors.js +8 -0
  90. package/dist/convert/extensions.d.ts +23 -0
  91. package/dist/convert/extensions.js +103 -0
  92. package/dist/convert/mapping-check.d.ts +15 -0
  93. package/dist/convert/mapping-check.js +66 -0
  94. package/dist/convert/mapping.d.ts +52 -0
  95. package/dist/convert/mapping.js +273 -0
  96. package/dist/convert/namespaces.d.ts +2 -0
  97. package/dist/convert/namespaces.js +19 -0
  98. package/dist/convert/validate-output.d.ts +2 -0
  99. package/dist/convert/validate-output.js +28 -0
  100. package/dist/convert/warnings.d.ts +9 -0
  101. package/dist/convert/warnings.js +67 -0
  102. package/dist/convert/xml-reader.d.ts +11 -0
  103. package/dist/convert/xml-reader.js +84 -0
  104. package/dist/convert-cli.d.ts +1 -0
  105. package/dist/convert-cli.js +5 -0
  106. package/dist/convert-run.d.ts +10 -0
  107. package/dist/convert-run.js +125 -0
  108. package/dist/coverage-cli.d.ts +1 -0
  109. package/dist/coverage-cli.js +8 -0
  110. package/dist/coverage-mappings.d.ts +3 -0
  111. package/dist/coverage-mappings.js +34 -0
  112. package/dist/coverage-scope.d.ts +11 -0
  113. package/dist/coverage-scope.js +187 -0
  114. package/dist/coverage-xsd.d.ts +15 -0
  115. package/dist/coverage-xsd.js +55 -0
  116. package/dist/coverage.d.ts +35 -0
  117. package/dist/coverage.js +152 -0
  118. package/dist/docs-cli.d.ts +1 -0
  119. package/dist/docs-cli.js +18 -0
  120. package/dist/docs.d.ts +8 -0
  121. package/dist/docs.js +136 -0
  122. package/dist/eval/checks.d.ts +19 -0
  123. package/dist/eval/checks.js +252 -0
  124. package/dist/eval/regenerate.d.ts +10 -0
  125. package/dist/eval/regenerate.js +48 -0
  126. package/dist/eval-regenerate-cli.d.ts +1 -0
  127. package/dist/eval-regenerate-cli.js +16 -0
  128. package/dist/export/data.d.ts +10 -0
  129. package/dist/export/data.js +127 -0
  130. package/dist/export/diagram.d.ts +8 -0
  131. package/dist/export/diagram.js +112 -0
  132. package/dist/export/element.d.ts +27 -0
  133. package/dist/export/element.js +175 -0
  134. package/dist/export/export.d.ts +22 -0
  135. package/dist/export/export.js +124 -0
  136. package/dist/export/extensions.d.ts +18 -0
  137. package/dist/export/extensions.js +122 -0
  138. package/dist/export/layout-export.d.ts +4 -0
  139. package/dist/export/layout-export.js +25 -0
  140. package/dist/export/mapping-check.d.ts +39 -0
  141. package/dist/export/mapping-check.js +175 -0
  142. package/dist/export/normalize.d.ts +3 -0
  143. package/dist/export/normalize.js +67 -0
  144. package/dist/export-cli.d.ts +1 -0
  145. package/dist/export-cli.js +5 -0
  146. package/dist/export-run.d.ts +10 -0
  147. package/dist/export-run.js +157 -0
  148. package/dist/index.d.ts +10 -0
  149. package/dist/index.js +10 -0
  150. package/dist/install-skill-run.d.ts +8 -0
  151. package/dist/install-skill-run.js +30 -0
  152. package/dist/install-skill.d.ts +23 -0
  153. package/dist/install-skill.js +76 -0
  154. package/dist/layout/collaboration.d.ts +36 -0
  155. package/dist/layout/collaboration.js +152 -0
  156. package/dist/layout/di.d.ts +15 -0
  157. package/dist/layout/di.js +52 -0
  158. package/dist/layout/extract.d.ts +2 -0
  159. package/dist/layout/extract.js +99 -0
  160. package/dist/layout/lanes.d.ts +30 -0
  161. package/dist/layout/lanes.js +112 -0
  162. package/dist/layout/layering.d.ts +7 -0
  163. package/dist/layout/layering.js +53 -0
  164. package/dist/layout/layout.d.ts +12 -0
  165. package/dist/layout/layout.js +299 -0
  166. package/dist/layout/model.d.ts +52 -0
  167. package/dist/layout/model.js +10 -0
  168. package/dist/layout/placement.d.ts +25 -0
  169. package/dist/layout/placement.js +256 -0
  170. package/dist/layout/standalone.d.ts +8 -0
  171. package/dist/layout/standalone.js +50 -0
  172. package/dist/layout-cli.d.ts +1 -0
  173. package/dist/layout-cli.js +5 -0
  174. package/dist/layout-run.d.ts +9 -0
  175. package/dist/layout-run.js +105 -0
  176. package/dist/loader.d.ts +5 -0
  177. package/dist/loader.js +7 -0
  178. package/dist/namespace.d.ts +5 -0
  179. package/dist/namespace.js +5 -0
  180. package/dist/ontology.d.ts +19 -0
  181. package/dist/ontology.js +94 -0
  182. package/dist/paths.d.ts +1 -0
  183. package/dist/paths.js +2 -0
  184. package/dist/render/geometry.d.ts +40 -0
  185. package/dist/render/geometry.js +81 -0
  186. package/dist/render/renderer.d.ts +31 -0
  187. package/dist/render/renderer.js +369 -0
  188. package/dist/render/symbols.d.ts +10 -0
  189. package/dist/render/symbols.js +26 -0
  190. package/dist/render/text.d.ts +20 -0
  191. package/dist/render/text.js +28 -0
  192. package/dist/render-cli.d.ts +1 -0
  193. package/dist/render-cli.js +7 -0
  194. package/dist/render-run.d.ts +9 -0
  195. package/dist/render-run.js +161 -0
  196. package/dist/render.d.ts +4 -0
  197. package/dist/render.js +4 -0
  198. package/dist/schema-overrides.d.ts +14 -0
  199. package/dist/schema-overrides.js +36 -0
  200. package/dist/schema-validate.d.ts +5 -0
  201. package/dist/schema-validate.js +8 -0
  202. package/dist/schema.d.ts +6 -0
  203. package/dist/schema.js +114 -0
  204. package/dist/shacl.d.ts +15 -0
  205. package/dist/shacl.js +37 -0
  206. package/dist/validate-cli.d.ts +1 -0
  207. package/dist/validate-cli.js +5 -0
  208. package/dist/validate-run.d.ts +8 -0
  209. package/dist/validate-run.js +58 -0
  210. package/dist/validate.d.ts +11 -0
  211. package/dist/validate.js +94 -0
  212. package/dist/versioning-cli.d.ts +1 -0
  213. package/dist/versioning-cli.js +18 -0
  214. package/dist/versioning.d.ts +17 -0
  215. package/dist/versioning.js +45 -0
  216. package/ontology/core.ttl +993 -0
  217. package/ontology/di.ttl +167 -0
  218. package/package.json +77 -4
  219. package/reference/bpmn-xsd/BPMN20.xsd +37 -0
  220. package/reference/bpmn-xsd/BPMNDI.xsd +100 -0
  221. package/reference/bpmn-xsd/DC.xsd +29 -0
  222. package/reference/bpmn-xsd/DI.xsd +100 -0
  223. package/reference/bpmn-xsd/Semantic.xsd +1562 -0
  224. package/reference/rospocher/ATTRIBUTION.md +22 -0
  225. package/reference/rospocher/BPMNOntology.owl +8937 -0
  226. package/reference/rospocher-verified.json +221 -0
  227. package/schema/bpmn-ld.schema.json +15230 -0
  228. package/shapes/core.shapes.ttl +398 -0
  229. package/skills/bpmn-ld/SKILL.md +154 -0
  230. package/skills/bpmn-ld/evals/models/order-approval-di.jsonld +296 -0
  231. package/skills/bpmn-ld/evals/models/refund-di.bpmn +82 -0
  232. package/skills/bpmn-ld/evals/models/refund.bpmn +18 -0
  233. package/skills/bpmn-ld/evals/outputs/explain-collaboration.md +22 -0
  234. package/skills/bpmn-ld/evals/outputs/explain-order-approval.md +24 -0
  235. package/skills/bpmn-ld/evals/outputs/explain-refund.md +17 -0
  236. package/skills/bpmn-ld/evals/outputs/generate-activity-compensation.jsonld +39 -0
  237. package/skills/bpmn-ld/evals/outputs/generate-ad-hoc-sub-process.jsonld +52 -0
  238. package/skills/bpmn-ld/evals/outputs/generate-boundary-event.jsonld +27 -0
  239. package/skills/bpmn-ld/evals/outputs/generate-collaboration.jsonld +49 -0
  240. package/skills/bpmn-ld/evals/outputs/generate-conditions.jsonld +93 -0
  241. package/skills/bpmn-ld/evals/outputs/generate-diagram-properties.jsonld +340 -0
  242. package/skills/bpmn-ld/evals/outputs/generate-error.jsonld +217 -0
  243. package/skills/bpmn-ld/evals/outputs/generate-escalation.jsonld +231 -0
  244. package/skills/bpmn-ld/evals/outputs/generate-event-definition-ref.jsonld +67 -0
  245. package/skills/bpmn-ld/evals/outputs/generate-event-sub-process.jsonld +54 -0
  246. package/skills/bpmn-ld/evals/outputs/generate-exclusive-choice.jsonld +32 -0
  247. package/skills/bpmn-ld/evals/outputs/generate-instantiating-gateway.jsonld +24 -0
  248. package/skills/bpmn-ld/evals/outputs/generate-lane-partition.jsonld +46 -0
  249. package/skills/bpmn-ld/evals/outputs/generate-link-event.expect.json +11 -0
  250. package/skills/bpmn-ld/evals/outputs/generate-link-event.jsonld +57 -0
  251. package/skills/bpmn-ld/evals/outputs/generate-loop.jsonld +30 -0
  252. package/skills/bpmn-ld/evals/outputs/generate-message.jsonld +61 -0
  253. package/skills/bpmn-ld/evals/outputs/generate-parallel-branches.jsonld +25 -0
  254. package/skills/bpmn-ld/evals/outputs/generate-process-attributes.jsonld +49 -0
  255. package/skills/bpmn-ld/evals/outputs/generate-script-task.jsonld +18 -0
  256. package/skills/bpmn-ld/evals/outputs/generate-signal.jsonld +178 -0
  257. package/skills/bpmn-ld/evals/outputs/generate-sub-process.jsonld +31 -0
  258. package/skills/bpmn-ld/evals/outputs/generate-targeted-compensation.jsonld +40 -0
  259. package/skills/bpmn-ld/evals/outputs/generate-task-implementation.jsonld +18 -0
  260. package/skills/bpmn-ld/evals/outputs/generate-task-message-references.jsonld +49 -0
  261. package/skills/bpmn-ld/evals/outputs/generate-transaction.jsonld +48 -0
  262. package/skills/bpmn-ld/evals/outputs/modify-order-approval.jsonld +376 -0
  263. package/skills/bpmn-ld/evals/outputs/modify-refund.jsonld +373 -0
  264. package/skills/bpmn-ld/evals/outputs/order-approval.jsonld +29 -0
  265. package/skills/bpmn-ld/evals/outputs/refine-order-approval.jsonld +377 -0
  266. package/skills/bpmn-ld/evals/prompts/explain-collaboration.md +3 -0
  267. package/skills/bpmn-ld/evals/prompts/explain-order-approval.md +3 -0
  268. package/skills/bpmn-ld/evals/prompts/explain-refund.md +3 -0
  269. package/skills/bpmn-ld/evals/prompts/generate-activity-compensation.md +1 -0
  270. package/skills/bpmn-ld/evals/prompts/generate-ad-hoc-sub-process.md +1 -0
  271. package/skills/bpmn-ld/evals/prompts/generate-boundary-event.md +1 -0
  272. package/skills/bpmn-ld/evals/prompts/generate-collaboration.md +1 -0
  273. package/skills/bpmn-ld/evals/prompts/generate-conditions.md +1 -0
  274. package/skills/bpmn-ld/evals/prompts/generate-diagram-properties.md +1 -0
  275. package/skills/bpmn-ld/evals/prompts/generate-error.md +1 -0
  276. package/skills/bpmn-ld/evals/prompts/generate-escalation.md +1 -0
  277. package/skills/bpmn-ld/evals/prompts/generate-event-definition-ref.md +1 -0
  278. package/skills/bpmn-ld/evals/prompts/generate-event-sub-process.md +1 -0
  279. package/skills/bpmn-ld/evals/prompts/generate-exclusive-choice.md +1 -0
  280. package/skills/bpmn-ld/evals/prompts/generate-instantiating-gateway.md +1 -0
  281. package/skills/bpmn-ld/evals/prompts/generate-lane-partition.md +1 -0
  282. package/skills/bpmn-ld/evals/prompts/generate-link-event.md +1 -0
  283. package/skills/bpmn-ld/evals/prompts/generate-loop.md +1 -0
  284. package/skills/bpmn-ld/evals/prompts/generate-message.md +1 -0
  285. package/skills/bpmn-ld/evals/prompts/generate-parallel-branches.md +1 -0
  286. package/skills/bpmn-ld/evals/prompts/generate-process-attributes.md +1 -0
  287. package/skills/bpmn-ld/evals/prompts/generate-script-task.md +1 -0
  288. package/skills/bpmn-ld/evals/prompts/generate-signal.md +1 -0
  289. package/skills/bpmn-ld/evals/prompts/generate-sub-process.md +1 -0
  290. package/skills/bpmn-ld/evals/prompts/generate-targeted-compensation.md +1 -0
  291. package/skills/bpmn-ld/evals/prompts/generate-task-implementation.md +1 -0
  292. package/skills/bpmn-ld/evals/prompts/generate-task-message-references.md +1 -0
  293. package/skills/bpmn-ld/evals/prompts/generate-transaction.md +1 -0
  294. package/skills/bpmn-ld/evals/prompts/modify-order-approval.md +4 -0
  295. package/skills/bpmn-ld/evals/prompts/modify-refund.md +4 -0
  296. package/skills/bpmn-ld/evals/prompts/order-approval.md +1 -0
  297. package/skills/bpmn-ld/evals/prompts/refine-order-approval.md +8 -0
  298. package/skills/bpmn-ld/examples/positive/activity-compensation.jsonld +39 -0
  299. package/skills/bpmn-ld/examples/positive/ad-hoc-sub-process.jsonld +52 -0
  300. package/skills/bpmn-ld/examples/positive/boundary-event.jsonld +27 -0
  301. package/skills/bpmn-ld/examples/positive/collaboration.jsonld +49 -0
  302. package/skills/bpmn-ld/examples/positive/conditions.jsonld +93 -0
  303. package/skills/bpmn-ld/examples/positive/diagram-properties.jsonld +340 -0
  304. package/skills/bpmn-ld/examples/positive/error.jsonld +208 -0
  305. package/skills/bpmn-ld/examples/positive/escalation.jsonld +231 -0
  306. package/skills/bpmn-ld/examples/positive/event-definition-ref.jsonld +142 -0
  307. package/skills/bpmn-ld/examples/positive/event-sub-process.jsonld +54 -0
  308. package/skills/bpmn-ld/examples/positive/exclusive-choice.jsonld +32 -0
  309. package/skills/bpmn-ld/examples/positive/instantiating-gateway.jsonld +24 -0
  310. package/skills/bpmn-ld/examples/positive/lane-partition.jsonld +46 -0
  311. package/skills/bpmn-ld/examples/positive/link-event.expect.json +10 -0
  312. package/skills/bpmn-ld/examples/positive/link-event.jsonld +138 -0
  313. package/skills/bpmn-ld/examples/positive/loop.jsonld +30 -0
  314. package/skills/bpmn-ld/examples/positive/message.jsonld +60 -0
  315. package/skills/bpmn-ld/examples/positive/order-approval.jsonld +29 -0
  316. package/skills/bpmn-ld/examples/positive/parallel-branches.jsonld +25 -0
  317. package/skills/bpmn-ld/examples/positive/process-attributes.jsonld +49 -0
  318. package/skills/bpmn-ld/examples/positive/script-task.jsonld +18 -0
  319. package/skills/bpmn-ld/examples/positive/signal.jsonld +150 -0
  320. package/skills/bpmn-ld/examples/positive/sub-process.jsonld +31 -0
  321. package/skills/bpmn-ld/examples/positive/targeted-compensation.jsonld +40 -0
  322. package/skills/bpmn-ld/examples/positive/task-implementation.jsonld +18 -0
  323. package/skills/bpmn-ld/examples/positive/task-message-references.jsonld +151 -0
  324. package/skills/bpmn-ld/examples/positive/transaction.jsonld +48 -0
  325. package/skills/bpmn-ld/references/clarification-and-refinement.md +60 -0
  326. package/skills/bpmn-ld/references/common-mistakes.md +110 -0
  327. package/skills/bpmn-ld/references/explain-and-document.md +36 -0
  328. package/skills/bpmn-ld/references/modify-existing-model.md +49 -0
  329. package/skills/bpmn-ld/references/patterns.md +292 -0
  330. package/skills/bpmn-ld/references/render-output.md +1 -0
  331. package/skills/bpmn-ld/references/rule-catalogue.md +183 -0
  332. package/skills/bpmn-ld/references/vocabulary-summary.md +65 -0
  333. package/skills/bpmn-ld/template.jsonld +14 -0
  334. package/templates/combined.jsonld +3 -0
  335. package/templates/core.jsonld +170 -0
  336. package/templates/core.shapes.ttl +398 -0
  337. package/templates/core.ttl +993 -0
  338. package/templates/di.jsonld +37 -0
  339. package/templates/di.ttl +167 -0
@@ -0,0 +1,296 @@
1
+ {
2
+ "@context": [
3
+ "../../../../contexts/core.jsonld",
4
+ "../../../../contexts/di.jsonld",
5
+ {
6
+ "@base": "https://example.org/models/order-approval/",
7
+ "acme": "https://vocab.example.com/acme#"
8
+ }
9
+ ],
10
+ "@graph": [
11
+ {
12
+ "id": "Process_OrderApproval",
13
+ "type": "Process",
14
+ "name": "Order approval",
15
+ "flowElements": [
16
+ {
17
+ "id": "StartEvent_OrderReceived",
18
+ "type": "StartEvent",
19
+ "name": "Order received"
20
+ },
21
+ {
22
+ "id": "UserTask_ReviewOrder",
23
+ "type": "UserTask",
24
+ "name": "Review order",
25
+ "acme:priority": 3
26
+ },
27
+ {
28
+ "id": "ExclusiveGateway_Approved",
29
+ "type": "ExclusiveGateway",
30
+ "name": "Approved?",
31
+ "default": "Flow_Rejected"
32
+ },
33
+ {
34
+ "id": "ServiceTask_ShipOrder",
35
+ "type": "ServiceTask",
36
+ "name": "Ship order"
37
+ },
38
+ {
39
+ "id": "EndEvent_Shipped",
40
+ "type": "EndEvent",
41
+ "name": "Order shipped"
42
+ },
43
+ {
44
+ "id": "EndEvent_Rejected",
45
+ "type": "EndEvent",
46
+ "name": "Order rejected"
47
+ },
48
+ {
49
+ "id": "Flow_Received",
50
+ "type": "SequenceFlow",
51
+ "sourceRef": "StartEvent_OrderReceived",
52
+ "targetRef": "UserTask_ReviewOrder"
53
+ },
54
+ {
55
+ "id": "Flow_Reviewed",
56
+ "type": "SequenceFlow",
57
+ "sourceRef": "UserTask_ReviewOrder",
58
+ "targetRef": "ExclusiveGateway_Approved"
59
+ },
60
+ {
61
+ "id": "Flow_Approved",
62
+ "type": "SequenceFlow",
63
+ "name": "Yes",
64
+ "sourceRef": "ExclusiveGateway_Approved",
65
+ "targetRef": "ServiceTask_ShipOrder",
66
+ "conditionExpression": {
67
+ "type": "FormalExpression",
68
+ "language": "https://262.ecma-international.org/",
69
+ "body": "approved === true"
70
+ }
71
+ },
72
+ {
73
+ "id": "Flow_Rejected",
74
+ "type": "SequenceFlow",
75
+ "name": "No",
76
+ "sourceRef": "ExclusiveGateway_Approved",
77
+ "targetRef": "EndEvent_Rejected"
78
+ },
79
+ {
80
+ "id": "Flow_Shipped",
81
+ "type": "SequenceFlow",
82
+ "sourceRef": "ServiceTask_ShipOrder",
83
+ "targetRef": "EndEvent_Shipped"
84
+ }
85
+ ]
86
+ },
87
+ {
88
+ "id": "Diagram_Process_OrderApproval",
89
+ "type": "BPMNDiagram",
90
+ "plane": {
91
+ "id": "Plane_Process_OrderApproval",
92
+ "type": "BPMNPlane",
93
+ "bpmnElement": "Process_OrderApproval",
94
+ "planeElements": [
95
+ {
96
+ "id": "Shape_StartEvent_OrderReceived",
97
+ "type": "BPMNShape",
98
+ "bpmnElement": "StartEvent_OrderReceived",
99
+ "bounds": {
100
+ "type": "Bounds",
101
+ "x": 100,
102
+ "y": 160,
103
+ "width": 36,
104
+ "height": 36
105
+ }
106
+ },
107
+ {
108
+ "id": "Shape_UserTask_ReviewOrder",
109
+ "type": "BPMNShape",
110
+ "bpmnElement": "UserTask_ReviewOrder",
111
+ "bounds": {
112
+ "type": "Bounds",
113
+ "x": 196,
114
+ "y": 138,
115
+ "width": 100,
116
+ "height": 80
117
+ }
118
+ },
119
+ {
120
+ "id": "Shape_ExclusiveGateway_Approved",
121
+ "type": "BPMNShape",
122
+ "bpmnElement": "ExclusiveGateway_Approved",
123
+ "bounds": {
124
+ "type": "Bounds",
125
+ "x": 356,
126
+ "y": 153,
127
+ "width": 50,
128
+ "height": 50
129
+ }
130
+ },
131
+ {
132
+ "id": "Shape_ServiceTask_ShipOrder",
133
+ "type": "BPMNShape",
134
+ "bpmnElement": "ServiceTask_ShipOrder",
135
+ "bounds": {
136
+ "type": "Bounds",
137
+ "x": 466,
138
+ "y": 100,
139
+ "width": 100,
140
+ "height": 80
141
+ }
142
+ },
143
+ {
144
+ "id": "Shape_EndEvent_Shipped",
145
+ "type": "BPMNShape",
146
+ "bpmnElement": "EndEvent_Shipped",
147
+ "bounds": {
148
+ "type": "Bounds",
149
+ "x": 626,
150
+ "y": 160,
151
+ "width": 36,
152
+ "height": 36
153
+ }
154
+ },
155
+ {
156
+ "id": "Shape_EndEvent_Rejected",
157
+ "type": "BPMNShape",
158
+ "bpmnElement": "EndEvent_Rejected",
159
+ "bounds": {
160
+ "type": "Bounds",
161
+ "x": 498,
162
+ "y": 220,
163
+ "width": 36,
164
+ "height": 36
165
+ }
166
+ },
167
+ {
168
+ "id": "Edge_Flow_Received",
169
+ "type": "BPMNEdge",
170
+ "bpmnElement": "Flow_Received",
171
+ "sourceElement": "Shape_StartEvent_OrderReceived",
172
+ "targetElement": "Shape_UserTask_ReviewOrder",
173
+ "waypoints": [
174
+ {
175
+ "type": "Point",
176
+ "x": 136,
177
+ "y": 178
178
+ },
179
+ {
180
+ "type": "Point",
181
+ "x": 196,
182
+ "y": 178
183
+ }
184
+ ]
185
+ },
186
+ {
187
+ "id": "Edge_Flow_Reviewed",
188
+ "type": "BPMNEdge",
189
+ "bpmnElement": "Flow_Reviewed",
190
+ "sourceElement": "Shape_UserTask_ReviewOrder",
191
+ "targetElement": "Shape_ExclusiveGateway_Approved",
192
+ "waypoints": [
193
+ {
194
+ "type": "Point",
195
+ "x": 296,
196
+ "y": 178
197
+ },
198
+ {
199
+ "type": "Point",
200
+ "x": 356,
201
+ "y": 178
202
+ }
203
+ ]
204
+ },
205
+ {
206
+ "id": "Edge_Flow_Approved",
207
+ "type": "BPMNEdge",
208
+ "bpmnElement": "Flow_Approved",
209
+ "sourceElement": "Shape_ExclusiveGateway_Approved",
210
+ "targetElement": "Shape_ServiceTask_ShipOrder",
211
+ "waypoints": [
212
+ {
213
+ "type": "Point",
214
+ "x": 406,
215
+ "y": 178
216
+ },
217
+ {
218
+ "type": "Point",
219
+ "x": 436,
220
+ "y": 178
221
+ },
222
+ {
223
+ "type": "Point",
224
+ "x": 436,
225
+ "y": 140
226
+ },
227
+ {
228
+ "type": "Point",
229
+ "x": 466,
230
+ "y": 140
231
+ }
232
+ ]
233
+ },
234
+ {
235
+ "id": "Edge_Flow_Rejected",
236
+ "type": "BPMNEdge",
237
+ "bpmnElement": "Flow_Rejected",
238
+ "sourceElement": "Shape_ExclusiveGateway_Approved",
239
+ "targetElement": "Shape_EndEvent_Rejected",
240
+ "waypoints": [
241
+ {
242
+ "type": "Point",
243
+ "x": 406,
244
+ "y": 178
245
+ },
246
+ {
247
+ "type": "Point",
248
+ "x": 452,
249
+ "y": 178
250
+ },
251
+ {
252
+ "type": "Point",
253
+ "x": 452,
254
+ "y": 238
255
+ },
256
+ {
257
+ "type": "Point",
258
+ "x": 498,
259
+ "y": 238
260
+ }
261
+ ]
262
+ },
263
+ {
264
+ "id": "Edge_Flow_Shipped",
265
+ "type": "BPMNEdge",
266
+ "bpmnElement": "Flow_Shipped",
267
+ "sourceElement": "Shape_ServiceTask_ShipOrder",
268
+ "targetElement": "Shape_EndEvent_Shipped",
269
+ "waypoints": [
270
+ {
271
+ "type": "Point",
272
+ "x": 566,
273
+ "y": 140
274
+ },
275
+ {
276
+ "type": "Point",
277
+ "x": 596,
278
+ "y": 140
279
+ },
280
+ {
281
+ "type": "Point",
282
+ "x": 596,
283
+ "y": 178
284
+ },
285
+ {
286
+ "type": "Point",
287
+ "x": 626,
288
+ "y": 178
289
+ }
290
+ ]
291
+ }
292
+ ]
293
+ }
294
+ }
295
+ ]
296
+ }
@@ -0,0 +1,82 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" id="Definitions_1" targetNamespace="https://bpmn-ld.example.org/models/refund/" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI">
3
+ <process id="Process_Refund" name="Refund handling">
4
+ <startEvent id="Start_Requested" name="Refund requested">
5
+ <outgoing>Flow_1</outgoing>
6
+ </startEvent>
7
+ <userTask id="Task_Check" name="Check purchase">
8
+ <incoming>Flow_1</incoming>
9
+ <outgoing>Flow_2</outgoing>
10
+ </userTask>
11
+ <exclusiveGateway id="Gateway_Eligible" name="Eligible?" default="Flow_No">
12
+ <incoming>Flow_2</incoming>
13
+ <outgoing>Flow_Yes</outgoing>
14
+ <outgoing>Flow_No</outgoing>
15
+ </exclusiveGateway>
16
+ <serviceTask id="Task_Pay" name="Pay refund">
17
+ <incoming>Flow_Yes</incoming>
18
+ <outgoing>Flow_3</outgoing>
19
+ </serviceTask>
20
+ <endEvent id="End_Paid" name="Refund paid">
21
+ <incoming>Flow_3</incoming>
22
+ </endEvent>
23
+ <endEvent id="End_Declined" name="Refund declined">
24
+ <incoming>Flow_No</incoming>
25
+ </endEvent>
26
+ <sequenceFlow id="Flow_1" sourceRef="Start_Requested" targetRef="Task_Check"/>
27
+ <sequenceFlow id="Flow_2" sourceRef="Task_Check" targetRef="Gateway_Eligible"/>
28
+ <sequenceFlow id="Flow_Yes" name="Yes" sourceRef="Gateway_Eligible" targetRef="Task_Pay">
29
+ <conditionExpression xsi:type="tFormalExpression">eligible</conditionExpression>
30
+ </sequenceFlow>
31
+ <sequenceFlow id="Flow_No" name="No" sourceRef="Gateway_Eligible" targetRef="End_Declined"/>
32
+ <sequenceFlow id="Flow_3" sourceRef="Task_Pay" targetRef="End_Paid"/>
33
+ </process>
34
+ <bpmndi:BPMNDiagram id="Diagram_Process_Refund">
35
+ <bpmndi:BPMNPlane id="Plane_Process_Refund" bpmnElement="Process_Refund">
36
+ <bpmndi:BPMNShape id="Shape_Start_Requested" bpmnElement="Start_Requested">
37
+ <dc:Bounds x="100" y="160" width="36" height="36"/>
38
+ </bpmndi:BPMNShape>
39
+ <bpmndi:BPMNShape id="Shape_Task_Check" bpmnElement="Task_Check">
40
+ <dc:Bounds x="196" y="138" width="100" height="80"/>
41
+ </bpmndi:BPMNShape>
42
+ <bpmndi:BPMNShape id="Shape_Gateway_Eligible" bpmnElement="Gateway_Eligible">
43
+ <dc:Bounds x="356" y="153" width="50" height="50"/>
44
+ </bpmndi:BPMNShape>
45
+ <bpmndi:BPMNShape id="Shape_Task_Pay" bpmnElement="Task_Pay">
46
+ <dc:Bounds x="466" y="100" width="100" height="80"/>
47
+ </bpmndi:BPMNShape>
48
+ <bpmndi:BPMNShape id="Shape_End_Paid" bpmnElement="End_Paid">
49
+ <dc:Bounds x="626" y="160" width="36" height="36"/>
50
+ </bpmndi:BPMNShape>
51
+ <bpmndi:BPMNShape id="Shape_End_Declined" bpmnElement="End_Declined">
52
+ <dc:Bounds x="498" y="220" width="36" height="36"/>
53
+ </bpmndi:BPMNShape>
54
+ <bpmndi:BPMNEdge id="Edge_Flow_1" bpmnElement="Flow_1" sourceElement="Shape_Start_Requested" targetElement="Shape_Task_Check">
55
+ <di:waypoint x="136" y="178"/>
56
+ <di:waypoint x="196" y="178"/>
57
+ </bpmndi:BPMNEdge>
58
+ <bpmndi:BPMNEdge id="Edge_Flow_2" bpmnElement="Flow_2" sourceElement="Shape_Task_Check" targetElement="Shape_Gateway_Eligible">
59
+ <di:waypoint x="296" y="178"/>
60
+ <di:waypoint x="356" y="178"/>
61
+ </bpmndi:BPMNEdge>
62
+ <bpmndi:BPMNEdge id="Edge_Flow_Yes" bpmnElement="Flow_Yes" sourceElement="Shape_Gateway_Eligible" targetElement="Shape_Task_Pay">
63
+ <di:waypoint x="406" y="178"/>
64
+ <di:waypoint x="436" y="178"/>
65
+ <di:waypoint x="436" y="140"/>
66
+ <di:waypoint x="466" y="140"/>
67
+ </bpmndi:BPMNEdge>
68
+ <bpmndi:BPMNEdge id="Edge_Flow_No" bpmnElement="Flow_No" sourceElement="Shape_Gateway_Eligible" targetElement="Shape_End_Declined">
69
+ <di:waypoint x="406" y="178"/>
70
+ <di:waypoint x="452" y="178"/>
71
+ <di:waypoint x="452" y="238"/>
72
+ <di:waypoint x="498" y="238"/>
73
+ </bpmndi:BPMNEdge>
74
+ <bpmndi:BPMNEdge id="Edge_Flow_3" bpmnElement="Flow_3" sourceElement="Shape_Task_Pay" targetElement="Shape_End_Paid">
75
+ <di:waypoint x="566" y="140"/>
76
+ <di:waypoint x="596" y="140"/>
77
+ <di:waypoint x="596" y="178"/>
78
+ <di:waypoint x="626" y="178"/>
79
+ </bpmndi:BPMNEdge>
80
+ </bpmndi:BPMNPlane>
81
+ </bpmndi:BPMNDiagram>
82
+ </definitions>
@@ -0,0 +1,18 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL">
3
+ <bpmn:process id="Process_Refund" name="Refund handling">
4
+ <bpmn:startEvent id="Start_Requested" name="Refund requested" />
5
+ <bpmn:userTask id="Task_Check" name="Check purchase" />
6
+ <bpmn:exclusiveGateway id="Gateway_Eligible" name="Eligible?" default="Flow_No" />
7
+ <bpmn:serviceTask id="Task_Pay" name="Pay refund" />
8
+ <bpmn:endEvent id="End_Paid" name="Refund paid" />
9
+ <bpmn:endEvent id="End_Declined" name="Refund declined" />
10
+ <bpmn:sequenceFlow id="Flow_1" sourceRef="Start_Requested" targetRef="Task_Check" />
11
+ <bpmn:sequenceFlow id="Flow_2" sourceRef="Task_Check" targetRef="Gateway_Eligible" />
12
+ <bpmn:sequenceFlow id="Flow_Yes" name="Yes" sourceRef="Gateway_Eligible" targetRef="Task_Pay">
13
+ <bpmn:conditionExpression>eligible</bpmn:conditionExpression>
14
+ </bpmn:sequenceFlow>
15
+ <bpmn:sequenceFlow id="Flow_No" name="No" sourceRef="Gateway_Eligible" targetRef="End_Declined" />
16
+ <bpmn:sequenceFlow id="Flow_3" sourceRef="Task_Pay" targetRef="End_Paid" />
17
+ </bpmn:process>
18
+ </bpmn:definitions>
@@ -0,0 +1,22 @@
1
+ # Ordering
2
+
3
+ This collaboration shows how a customer and a shop work together to handle an order. The Customer places an order and waits for the shop to confirm it. The Shop starts when the order arrives, prepares it and sends back a confirmation.
4
+
5
+ ## Customer
6
+
7
+ 1. The process starts when the customer has a need: "Needs product".
8
+ 2. The customer performs "Place order", which sends the order to the shop.
9
+ 3. The customer then performs "Receive confirmation" and waits for the shop's answer.
10
+ 4. The process ends with "Order confirmed".
11
+
12
+ ## Shop
13
+
14
+ 1. The shop process starts when an order message arrives: "Order received".
15
+ 2. The shop performs "Prepare order".
16
+ 3. The shop performs "Send confirmation" to tell the customer the order is accepted.
17
+ 4. The process ends with "Order handled".
18
+
19
+ ## Messages exchanged
20
+
21
+ - "Order" goes from "Place order" in the Customer process to "Order received" in the Shop process.
22
+ - "Confirmation" goes from "Send confirmation" in the Shop process back to "Receive confirmation" in the Customer process.
@@ -0,0 +1,24 @@
1
+ # Order approval
2
+
3
+ The **Order approval** process handles a customer order from arrival to a final decision.
4
+
5
+ ## Summary
6
+
7
+ An order enters the process when it is received. A person reviews it and decides whether to approve it. An approved order is shipped; an order that is not approved is rejected.
8
+
9
+ ## Steps
10
+
11
+ 1. **Order received** is the start of the process. It begins whenever a new order arrives.
12
+ 2. **Review order** is a user task. A clerk examines the order.
13
+ 3. **Approved?** is an exclusive gateway. Exactly one path is taken after the review.
14
+ - On the **Yes** path, the condition `approved === true` holds and the order continues to shipping.
15
+ - On the **No** path, which is the default, the order is rejected.
16
+ 4. **Ship order** is a service task. The system ships the approved order, and the process ends with **Order shipped**.
17
+ 5. The rejected order ends the process with **Order rejected**.
18
+
19
+ ## Outcomes
20
+
21
+ | Outcome | End event |
22
+ | --- | --- |
23
+ | Order was approved and shipped | Order shipped |
24
+ | Order was not approved | Order rejected |
@@ -0,0 +1,17 @@
1
+ # Refund handling
2
+
3
+ The **Refund handling** process decides whether a customer receives money back and pays it out when the request is eligible. The source was BPMN 2.0 XML, converted to BPMN-LD with `npm run convert` before it was explained.
4
+
5
+ ## Summary
6
+
7
+ A customer asks for a refund, an employee checks the purchase, and the process either pays the refund or declines it.
8
+
9
+ ## Steps
10
+
11
+ 1. **Refund requested** starts the process.
12
+ 2. **Check purchase** is a user task. An employee verifies the purchase.
13
+ 3. **Eligible?** is an exclusive gateway with two outgoing paths.
14
+ - **Yes**: the request is eligible, so the process continues to payment.
15
+ - **No**: the default path. The request is declined.
16
+ 4. **Pay refund** is a service task that pays the money back, and the process ends with **Refund paid**.
17
+ 5. A declined request ends the process with **Refund declined**.
@@ -0,0 +1,39 @@
1
+ {
2
+ "@context": [
3
+ "../../../../contexts/core.jsonld",
4
+ { "@base": "https://example.org/models/activity-compensation/" }
5
+ ],
6
+ "@graph": [
7
+ {
8
+ "id": "Process_Trip",
9
+ "type": "Process",
10
+ "name": "Book a trip",
11
+ "flowElements": [
12
+ { "id": "TripRequested", "type": "StartEvent", "name": "Trip requested" },
13
+ { "id": "BookHotel", "type": "ServiceTask", "name": "Book hotel", "startQuantity": 1, "completionQuantity": 1 },
14
+ {
15
+ "id": "UndoBooking",
16
+ "type": "BoundaryEvent",
17
+ "name": "Booking undone",
18
+ "attachedToRef": "BookHotel",
19
+ "eventDefinitions": [{ "type": "CompensateEventDefinition" }]
20
+ },
21
+ { "id": "CancelHotel", "type": "ServiceTask", "name": "Cancel hotel", "isForCompensation": true },
22
+ { "id": "ArrangeTransfers", "type": "SubProcess", "name": "Arrange transfers", "startQuantity": 2, "completionQuantity": 0, "flowElements": [
23
+ { "id": "TransferStart", "type": "StartEvent", "name": "Begin" },
24
+ { "id": "BookShuttle", "type": "UserTask", "name": "Book shuttle" },
25
+ { "id": "TransferEnd", "type": "EndEvent", "name": "Done" },
26
+ { "id": "TransferFlow_1", "type": "SequenceFlow", "sourceRef": "TransferStart", "targetRef": "BookShuttle" },
27
+ { "id": "TransferFlow_2", "type": "SequenceFlow", "sourceRef": "BookShuttle", "targetRef": "TransferEnd" }
28
+ ] },
29
+ { "id": "TripBooked", "type": "EndEvent", "name": "Trip booked" },
30
+ { "id": "Flow_1", "type": "SequenceFlow", "sourceRef": "TripRequested", "targetRef": "BookHotel" },
31
+ { "id": "Flow_2", "type": "SequenceFlow", "sourceRef": "BookHotel", "targetRef": "ArrangeTransfers" },
32
+ { "id": "Flow_3", "type": "SequenceFlow", "sourceRef": "ArrangeTransfers", "targetRef": "TripBooked" }
33
+ ],
34
+ "artifacts": [
35
+ { "id": "Compensation_1", "type": "Association", "sourceRef": "UndoBooking", "targetRef": "CancelHotel", "associationDirection": "One" }
36
+ ]
37
+ }
38
+ ]
39
+ }
@@ -0,0 +1,52 @@
1
+ {
2
+ "@context": [
3
+ "../../../../contexts/core.jsonld",
4
+ { "@base": "https://example.org/models/ad-hoc-sub-process/" }
5
+ ],
6
+ "@graph": [
7
+ {
8
+ "id": "Process_Support",
9
+ "type": "Process",
10
+ "name": "Support case",
11
+ "flowElements": [
12
+ { "id": "CaseOpened", "type": "StartEvent", "name": "Case opened" },
13
+ {
14
+ "id": "Investigate",
15
+ "type": "AdHocSubProcess",
16
+ "name": "Investigate case",
17
+ "ordering": "Parallel",
18
+ "cancelRemainingInstances": false,
19
+ "completionCondition": {
20
+ "type": "FormalExpression",
21
+ "language": "https://www.w3.org/TR/xpath20/",
22
+ "body": "count(fixes) > 0"
23
+ },
24
+ "flowElements": [
25
+ { "id": "CallCustomer", "type": "UserTask", "name": "Call customer" },
26
+ { "id": "InspectLogs", "type": "UserTask", "name": "Inspect logs" },
27
+ { "id": "ApplyFix", "type": "UserTask", "name": "Apply fix" }
28
+ ]
29
+ },
30
+ {
31
+ "id": "Document",
32
+ "type": "AdHocSubProcess",
33
+ "name": "Document findings",
34
+ "ordering": "Sequential",
35
+ "completionCondition": {
36
+ "type": "FormalExpression",
37
+ "body": "documented"
38
+ },
39
+ "flowElements": [
40
+ { "id": "WriteNotes", "type": "UserTask", "name": "Write notes" },
41
+ { "id": "FileReport", "type": "UserTask", "name": "File report" },
42
+ { "id": "NotesToReport", "type": "SequenceFlow", "sourceRef": "WriteNotes", "targetRef": "FileReport" }
43
+ ]
44
+ },
45
+ { "id": "CaseClosed", "type": "EndEvent", "name": "Case closed" },
46
+ { "id": "Flow_1", "type": "SequenceFlow", "sourceRef": "CaseOpened", "targetRef": "Investigate" },
47
+ { "id": "Flow_2", "type": "SequenceFlow", "sourceRef": "Investigate", "targetRef": "Document" },
48
+ { "id": "Flow_3", "type": "SequenceFlow", "sourceRef": "Document", "targetRef": "CaseClosed" }
49
+ ]
50
+ }
51
+ ]
52
+ }
@@ -0,0 +1,27 @@
1
+ {
2
+ "@context": [
3
+ "../../../../contexts/core.jsonld",
4
+ { "@base": "https://example.org/models/boundary-event/" }
5
+ ],
6
+ "id": "Process_Ticket",
7
+ "type": "Process",
8
+ "name": "Support ticket",
9
+ "flowElements": [
10
+ { "id": "StartEvent_Opened", "type": "StartEvent", "name": "Ticket opened" },
11
+ { "id": "Task_Resolve", "type": "UserTask", "name": "Resolve ticket" },
12
+ { "id": "EndEvent_Closed", "type": "EndEvent", "name": "Ticket closed" },
13
+ {
14
+ "id": "BoundaryEvent_Overdue",
15
+ "type": "BoundaryEvent",
16
+ "name": "Two days passed",
17
+ "attachedToRef": "Task_Resolve",
18
+ "eventDefinitions": [{ "type": "TimerEventDefinition" }]
19
+ },
20
+ { "id": "Task_Escalate", "type": "UserTask", "name": "Escalate ticket" },
21
+ { "id": "EndEvent_Escalated", "type": "EndEvent", "name": "Ticket escalated" },
22
+ { "id": "Flow_Opened", "type": "SequenceFlow", "sourceRef": "StartEvent_Opened", "targetRef": "Task_Resolve" },
23
+ { "id": "Flow_Resolved", "type": "SequenceFlow", "sourceRef": "Task_Resolve", "targetRef": "EndEvent_Closed" },
24
+ { "id": "Flow_Overdue", "type": "SequenceFlow", "sourceRef": "BoundaryEvent_Overdue", "targetRef": "Task_Escalate" },
25
+ { "id": "Flow_Escalated", "type": "SequenceFlow", "sourceRef": "Task_Escalate", "targetRef": "EndEvent_Escalated" }
26
+ ]
27
+ }
@@ -0,0 +1,49 @@
1
+ {
2
+ "@context": [
3
+ "../../../../contexts/core.jsonld",
4
+ { "@base": "https://example.org/models/collaboration/" }
5
+ ],
6
+ "@graph": [
7
+ {
8
+ "id": "Collaboration_Ordering",
9
+ "type": "Collaboration",
10
+ "name": "Ordering",
11
+ "participants": [
12
+ { "id": "Participant_Customer", "type": "Participant", "name": "Customer", "processRef": "Process_Customer" },
13
+ { "id": "Participant_Shop", "type": "Participant", "name": "Shop", "processRef": "Process_Shop" }
14
+ ],
15
+ "messageFlows": [
16
+ { "id": "MessageFlow_Order", "type": "MessageFlow", "name": "Order", "sourceRef": "SendTask_PlaceOrder", "targetRef": "StartEvent_OrderReceived" },
17
+ { "id": "MessageFlow_Confirmation", "type": "MessageFlow", "name": "Confirmation", "sourceRef": "SendTask_Confirm", "targetRef": "ReceiveTask_AwaitConfirmation" }
18
+ ]
19
+ },
20
+ {
21
+ "id": "Process_Customer",
22
+ "type": "Process",
23
+ "name": "Customer",
24
+ "flowElements": [
25
+ { "id": "StartEvent_Wants", "type": "StartEvent", "name": "Needs product" },
26
+ { "id": "SendTask_PlaceOrder", "type": "SendTask", "name": "Place order" },
27
+ { "id": "ReceiveTask_AwaitConfirmation", "type": "ReceiveTask", "name": "Receive confirmation" },
28
+ { "id": "EndEvent_Confirmed", "type": "EndEvent", "name": "Order confirmed" },
29
+ { "id": "Flow_Wants", "type": "SequenceFlow", "sourceRef": "StartEvent_Wants", "targetRef": "SendTask_PlaceOrder" },
30
+ { "id": "Flow_Placed", "type": "SequenceFlow", "sourceRef": "SendTask_PlaceOrder", "targetRef": "ReceiveTask_AwaitConfirmation" },
31
+ { "id": "Flow_Received", "type": "SequenceFlow", "sourceRef": "ReceiveTask_AwaitConfirmation", "targetRef": "EndEvent_Confirmed" }
32
+ ]
33
+ },
34
+ {
35
+ "id": "Process_Shop",
36
+ "type": "Process",
37
+ "name": "Shop",
38
+ "flowElements": [
39
+ { "id": "StartEvent_OrderReceived", "type": "StartEvent", "name": "Order received", "eventDefinitions": [{ "type": "MessageEventDefinition" }] },
40
+ { "id": "Task_PrepareOrder", "type": "UserTask", "name": "Prepare order" },
41
+ { "id": "SendTask_Confirm", "type": "SendTask", "name": "Send confirmation" },
42
+ { "id": "EndEvent_Done", "type": "EndEvent", "name": "Order handled" },
43
+ { "id": "Flow_OrderReceived", "type": "SequenceFlow", "sourceRef": "StartEvent_OrderReceived", "targetRef": "Task_PrepareOrder" },
44
+ { "id": "Flow_Prepared", "type": "SequenceFlow", "sourceRef": "Task_PrepareOrder", "targetRef": "SendTask_Confirm" },
45
+ { "id": "Flow_Confirmed", "type": "SequenceFlow", "sourceRef": "SendTask_Confirm", "targetRef": "EndEvent_Done" }
46
+ ]
47
+ }
48
+ ]
49
+ }