|
BPMN-OS
BPMN for optimization and simulation
|
BPMN-OS is a framework for optimisation and simulation of business processes. It is based on BPMN 2.0 and uses the built-in extension mechanism to provide data relevant for optimisation and simulation.
The framework is composed of the components illustrated above:
You can obtain BPMN-OS from https://github.com/bpmn-os/bpmnos-engine.
BPMN-OS requires Xerces-C++ 3.2.x., bpmn++, and schematic++.
On Ubuntu Linux Xerces can be installed by
You can obtain bpmn++ from https://github.com/bpmn-os/bpmnpp and schematic++ from https://github.com/rajgoel/schematicpp. Please follow build and install instructions provided by these dependencies.
The library is built like a typical CMake project.
A normal build will look something like this (output omitted):
You can use multiple processors to reduce build times
where [n] is the number of processors to be used.
The NDEBUG flag can be used to turn on or off compiler optimizations.
To turn on compiler optimizations use
To turn off compiler optimizations use
This creates a single header file lib/bpmnos-model.h and a library lib/libbpmnos-model.a. Moreover, an executable bpmnos using these libraries is created in the bin folder. An example showing how to use this executable is given in the [example folder](example).
To run tests use
To create the documentation run
Doxygen is required to build the documentation.
To create code profiles for selected examples use
Compiler optimizations must be turned off to profile the code.
To create graphs visualising the profiles, gprof2dot is required. On Ubuntu Linux gprof2dot can be installed by
After creating the code profiles, re-create the documentation to include profiling graphs.
BPMN-OS by Asvin Goel is licensed under CC BY-NC-ND 4.0
Other license models may be granted by the author.
Asvin Goel