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
]
}
}