Hi Guillaume,

in OpenMOLE moles always have one and only one starting capsule. What
you can do is:

val innerMole = Strain(EmptyTask()) -- ((model1 -- processOutput1),
(model2 -- processOutput2))
val moleTask  = MoleTask(innerMole)

What is unclear is which capsule is the last one for the innerMole,
therefore I would recomand:

val innerMole = Strain(EmptyTask()) -- ((model1 -- processOutput1),
(model2 -- processOutput2)) -- Strain(EmptyTask())

model1 and model2 should be provided with inputs coming from the higher
level workflow and outputs of processOutput1 and 2 will be output of the
moleTask.

Romain

Le 28/09/2015 11:42, Guillaume Chérel a écrit :
> Hi,
>
> I'm trying to compose the following tasks together:
>
> 2 model running tasks:
> model1: inputs x1, outputs y1
> model2: inputs x2, output y2
>
> 2 tasks that process each the output of each model task:
> processOutput1: input y1, output z1
> processOutput2: intput y2, output z2
>
> I want to make a single mole task that chains model1 and
> processOutput1 together, and chains model2 and processOutput2, and
> runs the two chains in parallel, and has inputs (x1, x2) and outputs
> (z1,z2)
>
> I've tried:
>
> val maintask = Capsule(MoleTask(((model1 -- processOutput1), (model2
> -- processOutput2))))
>
> but I get a type mismatch error:
>
>  found   : (org.openmole.core.workflow.puzzle.Puzzle,
> org.openmole.core.workflow.puzzle.Puzzle)
>  required: org.openmole.core.workflow.puzzle.Puzzle
> val model = Capsule(MoleTask(((model1 -- processOutput1), (model2 --
> processOutput2))))
>
> Shouldn't the (task1, task2) be converted to a single puzzle rather
> than a tuple of puzzles?
>
> Guillaume
>
> _______________________________________________
> OpenMOLE-users mailing list
> [email protected]
> http://fedex.iscpif.fr/mailman/listinfo/openmole-users



_______________________________________________
OpenMOLE-users mailing list
[email protected]
http://fedex.iscpif.fr/mailman/listinfo/openmole-users

Reply via email to