Hello!
Start here!
Demo installation(currently closed due to spam bots)
Download
Loki Semantic Wiki
BiFröST Framework
- About BiFröST (in progress…)
- Plugins:
Example from BPMN 2.0 by Example, page 5.
Order Fulfillment Process code
{ events: { start: { se_orderRec: { name: “Order received”, type: message } }, end: { ee_paymentRec: “Payment received”, ee_customerInf: “Customer informed”, ee_articleRem: “Article removed” }, intermediate: { ie_undeliverable: { name: “undeliverable”, type: error }, ie_lateDelivery: { name: “late Delivery”, type: escalation, nonInterrupting: true } } }, activities: { at_checkAva: “Check availability”, at_shipArticle: “Ship article”, task_infCustomer: “Inform customer”, task_infCustomer2: “Inform customer”, at_remArticle: “Remove article from calatogue”, process_finSettlement: { name: “Financial settlement”, markers: [subprocess] }, process_procurement: { name: “Procurement”, activityType: call, markers: [subprocess], boundary: [ ie_lateDelivery, ie_undeliverable ], events: { start: { se_start: “” }, intermediate: { ie_lateDelivery: { “throwing”: true, “type”: “escalation”, “name”: “Late delivery” }, ie_articleReceived: { “type”: “message”, “name”: “Article received” } }, end: { ee_articleRemoved: “Article procured”, ee_underiverable: { “type”: “error”, “name”: “undeliverable” } } }, activities: { task_checkAvaliability: “Check availability with supplier”, task_order: “Order from supplier” }, gateways: { gw_deliverable: “Deliverable?” }, flow: { f1: [ se_start, task_checkAvaliability ], f2: [ task_checkAvaliability, gw_deliverable ], f3: [ gw_deliverable, task_order, “< = 2 days” ], f4: [ gw_deliverable, ie_lateDelivery, “> 2 days” ], f5: [ gw_deliverable, ee_underiverable, “no” ], f6: [ ie_lateDelivery, task_order ], f7: [ ie_articleReceived, ee_articleRemoved ], f8: [ task_order, ie_articleReceived ] } } }, gateways: { g_articleAvail: “Article available” }, flow: { f1: [ se_orderRec, at_checkAva ], f2: [ at_checkAva, g_articleAvail ], f3: [ g_articleAvail, at_shipArticle, “yes” ], f4: [ at_shipArticle, process_finSettlement ], f5: [ process_finSettlement, ee_paymentRec ], //branch at g_articleAvail f6: [ g_articleAvail, process_procurement, “no” ], f7: [ process_procurement, at_shipArticle ], //end /* boundary events handling - ie_lateDelivery */ f8: [ ie_lateDelivery, task_infCustomer ], f9: [ task_infCustomer, ee_customerInf ], //end /* boundary events handling - ie_undeliverable */ f10: [ ie_undeliverable, task_infCustomer2 ], f11: [ task_infCustomer2, at_remArticle ], f12: [ at_remArticle, ee_articleRem ] //end } }
Stock Maintenance Process code
{ events: { start: { se_stockLevel: { type: conditional, name: “Stock level below minimum” } }, intermediate: { ie_undeliverable: { type: error, name: “undeliverable” } }, end: { ee_articleProcured: “Article procured”, ee_articleRemoved: “Article removed” } }, activities: { process_procurement: { name: “Procurement”, activityType: call, markers: [subprocess], boundary: [ ie_lateDelivery, ie_undeliverable ], events: { start: { se_start: “” }, intermediate: { ie_lateDelivery: { “throwing”: true, “type”: “escalation”, “name”: “Late delivery” }, ie_articleReceived: { “type”: “message”, “name”: “Article received” } }, end: { ee_articleRemoved: “Article procured”, ee_underiverable: { “type”: “error”, “name”: “undeliverable” } } }, activities: { task_checkAvaliability: “Check availability with supplier”, task_order: “Order from supplier” }, gateways: { gw_deliverable: “Deliverable?” }, flow: { f1: [ se_start, task_checkAvaliability ], f2: [ task_checkAvaliability, gw_deliverable ], f3: [ gw_deliverable, task_order, “< = 2 days” ], f4: [ gw_deliverable, ie_lateDelivery, “> 2 days” ], f5: [ gw_deliverable, ee_underiverable, “no” ], f6: [ ie_lateDelivery, task_order ], f7: [ ie_articleReceived, ee_articleRemoved ], f8: [ task_order, ie_articleReceived ] } }, task_removeArticle: “Remove article from catalogue” }, flow: { f1: [ se_stockLevel, process_procurement ], f2: [ process_procurement, ee_articleProcured ], f3: [ ie_undeliverable, task_removeArticle ], f4: [ task_removeArticle, ee_articleRemoved ] } }