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 traceability_D2P { name = "traceability_D2P" type = "formalisms/Tracability" } Data traceability_P2F { name = "traceability_P2F" type = "formalisms/Tracability" } 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" } Consumes (toRuntime, partial_runtime_model) { name = "PartialRuntime" } Consumes (toRuntime, traceability_D2P) { name = "__traceability" } Produces (toRuntime, traceability_D2P) { name = "__traceability" } Produces (toRuntime, partial_runtime_model) { name = "PartialRuntime" } Consumes (toRuntime_0, design_model) { name = "Design" } Consumes (toRuntime_0, traceability_D2P) { name = "__traceability" } Produces (toRuntime_0, traceability_D2P) { name = "__traceability" } Produces (toRuntime_0, partial_runtime_model) { name = "PartialRuntime" } Consumes (merge, partial_runtime_model) { name = "PartialRuntime" } Consumes (merge, full_runtime_model) { name = "FullRuntime" } Consumes (merge, traceability_P2F) { name = "__traceability" } Produces (merge, traceability_P2F) { name = "__traceability" } Produces (merge, full_runtime_model) { name = "NewFullRuntime" } Consumes (merge_0, partial_runtime_model) { name = "PartialRuntime" } Consumes (merge_0, full_runtime_model) { name = "FullRuntime" } Consumes (merge_0, traceability_P2F) { name = "__traceability" } Produces (merge_0, traceability_P2F) { name = "__traceability" } Produces (merge_0, full_runtime_model) { name = "NewFullRuntime" } Consumes (simulate, full_runtime_model) { name = "FullRuntime" } Produces (simulate, full_runtime_model) { name = "FullRuntime" }