Start start {} Exec toRuntime_0 { name = "models/CBD/toRuntime" } Exec merge_0 { name = "models/CBD/merge" } Exec edit { name = "models/CBD/edit" } Exec toRuntime { name = "models/CBD/toRuntime" } Exec restartSim { name = "models/CBD/restartSim" } Exec simulate { name = "models/CBD/simulate" } Exec merge { name = "models/CBD/merge" } Fork fork1 {} Fork fork2 {} Data design_model { name = "design_model" type = "formalisms/CBD/Design_MM" } Data partial_runtime_model { name = "partial_runtime_model" type = "formalisms/CBD/PartialRuntime_MM" } Data full_runtime_model { name = "full_runtime_model" type = "formalisms/CBD/FullRuntime_MM" } Next (start, toRuntime_0) {} Next (toRuntime_0, merge_0) {} Next (merge_0, fork1) {} Next (fork1, edit) {} Next (fork1, simulate) {} Next (edit, toRuntime) {} Next (toRuntime, fork2) {} Next (fork2, edit) {} Next (fork2, restartSim) {} Next (simulate, merge) {} Next (merge, simulate) {} Consumes (edit, design_model) { name = "Design" } Produces (edit, design_model) { name = "Design" } Consumes (toRuntime, design_model) { name = "Design" } Produces (toRuntime, partial_runtime_model) { name = "PartialRuntime" } Consumes (toRuntime_0, design_model) { name = "Design" } Produces (toRuntime_0, partial_runtime_model) { name = "PartialRuntime" } Consumes (merge, partial_runtime_model) { name = "PartialRuntime" } Consumes (merge, full_runtime_model) { name = "FullRuntime" } Produces (merge, full_runtime_model) { name = "PartialRuntime" } Consumes (merge_0, partial_runtime_model) { name = "PartialRuntime" } Consumes (merge_0, full_runtime_model) { name = "FullRuntime" } Produces (merge_0, full_runtime_model) { name = "PartialRuntime" } Consumes (simulate, full_runtime_model) { name = "FullRuntime" } Produces (simulate, full_runtime_model) { name = "FullRuntime" }