Initial init {} Activity req { distribution = """ def func(iteration): return iteration return func """ } SimpleMerge merge {} Activity model { distribution = """ def func(iteration): return iteration return func """ } ParallelSplit split {} MultiInstance simulate { nr_instances = 10 distribution = """ def func(iteration): return iteration return func """ } Activity check { distribution = """ def func(iteration): return iteration return func """ } Synchronization sync {} Activity evaluate { distribution = """ def func(iteration): return iteration return func """ } ExclusiveChoice choice {} Finish finish {} Next (init, req) {} Next (req, merge) {} Next (merge, model) {} Next (model, split) {} Next (split, simulate) {} Next (split, check) {} Next (simulate, sync) {} Next (check, sync) {} Next (sync, evaluate) {} Next (evaluate, choice) {} DecisionTrue (choice, finish) {} DecisionFalse (choice, merge) {}