Initial init {
    name = "initial"
}
Activity req {
    name = "define_requirements"
    distribution = "lambda iteration: max(0.0, random.gauss(10.0 * (1-math.exp(-(iteration+1) / 0.7)), (10.0 * (1-math.exp(-(iteration+1) / 0.7)))*0.15625))"
}
SimpleMerge merge {
    name = "merge_0"
}
Activity model {
    name = "model_system"
    distribution = "lambda iteration: max(0.0, random.gauss(100.0 * (1-math.exp(-(iteration+1) / 0.7)), (100.0 * (1-math.exp(-(iteration+1) / 0.7)))*0.15625))"
}
ParallelSplit split {
    name = "split_0"
}
MultiInstance simulate {
    name = "simulate"
    nr_instances = 10
    distribution = "lambda iteration: max(0.0, random.gauss(20.0 * (1-math.exp(-(iteration+1) / 0.7)), (20.0 * (1-math.exp(-(iteration+1) / 0.7)))*0.15625))"
}
Activity check {
    name = "check"
    distribution = "lambda iteration: max(0.0, random.gauss(30.0 * (1-math.exp(-(iteration+1) / 0.7)), (30.0 * (1-math.exp(-(iteration+1) / 0.7)))*0.15625))"
}
Synchronization sync {
    name = "sync_0"
}
Activity evaluate {
    name = "evaluate"
    distribution = "lambda iteration: max(0.0, random.gauss(0.1 * (1-math.exp(-(iteration+1) / 0.7)), (0.1 * (1-math.exp(-(iteration+1) / 0.7)))*0.15625))"
}
ExclusiveChoice choice {
    name = "xor_0"
    distribution = "lambda iteration: random.random() > {0: 0.99, 1: 0.9, 2: 0.8, 3: 0.5, 4: 0.2, 5: 0.1, 6: 0.02}.get(iteration, 0.0)"
}
Finish finish {
    name = "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) {}
