cancel
Showing results for 
Search instead for 
Did you mean: 

Engine abstraction for simulation engine

gromar
Champ in-the-making
Champ in-the-making
Activiti is able to emulate its work (http://gro-mar.github.com/activiti-crystalball/). I would like to implement simulation engine to simulate BPM platform (WF engine, users, events…). I would like to take similar approach as was used for activiti.
AFAIK Activiti does not support implementation of non process (e.g. simulation) engines. I think the basic difference between process and simulation engines is that process execution is driven by process definition (which is static) and simulation scenario execution is driven by simulation event list.

Questions:
1. How to use core activiti engine classes to implement simulation engine?
2. Currently I am copying and changing ProcessEngineConfigurationImpl and engine core to be able to run simulation scenario. What should be problem there?
3. Is there any plan to have meta engine ( to be able to implement process, simulation … engines)

Thank you in advance for answers.
2 REPLIES 2

frederikherema1
Star Contributor
Star Contributor
1. That's up to you and what you requirements are, I'm afraid.
2. You're free to alter the engine code, we have an Apache 2.0 license. You can even make a coffee-machine out of it with some imagination. Offcourse, any usage of internal non-API classes can result in forward-incompatibility with future version of the engine source-code on your side.
3. There are currently no plans for supporting simulation in the engine itself.

gromar
Champ in-the-making
Champ in-the-making
Thank you for answer.
It is possible. I am able to answer some of my questions now.
1. How to use core activiti engine classes to implement simulation engine?
https://github.com/gro-mar/activiti-crystalball/commit/3c2faacd534a8aa91ccec2a825c04e09b09b8bc2

2. Currently I am copying and changing ProcessEngineConfigurationImpl and engine core to be able to run simulation scenario. What should be problem there?
I did not meet any problem. (only challenges 🙂 )