For example:

```
(task_a.s() | task_b.s()) and (task_a.s() | task_c.s())  

task_b and task_c share the result of task_a. 

```

* How I can only compute task\_a just one time?
* Can I use the Workflows to solve this question?