Start start {}

Exec translate {
    name = "formalisms/PM/to_DEVS"
}

Exec merge {
    name = "formalisms/DEVS/merge"
}

Exec simulate {
    name = "formalisms/DEVS/simulate"
}

Finish finish {}

Next (start, translate) {}
Next (translate, merge) {}
Next (merge, simulate) {}
Next (simulate, finish) {}

Data pm_model {
    name = "PM"
    type = "formalisms/PM/PM_MM"
}

Data cdevs_model {
    name = ""
    type = "formalisms/DEVS/DEVS_MM"
}

Data adevs_model {
    name = "DEVS library"
    type = "formalisms/DEVS/DEVS_MM"
}

Data devs_model {
    name = ""
    type = "formalisms/DEVS/DEVS_MM"
}

Data experiment_model {
    name = "Experiment"
    type = "formalisms/Experiment/Experiment_MM"
}

Consumes (translate, pm_model) {
    name = "PM"
}
Produces (translate, cdevs_model) {
    name = "DEVS"
}

Consumes (merge, adevs_model) {
    name = "model1"
}
Consumes (merge, cdevs_model) {
    name = "model2"
}
Produces (merge, devs_model) {
    name = "result"
}

Consumes (simulate, devs_model) {
    name = "DEVS"
}
Consumes (simulate, experiment_model) {
    name = "Experiment"
}
