{ "fws": [ { "fw_id": 1, "name": "Grind coffee", "spec": { "_tasks": [ { "_fw_name": "ForeachTask", "task": { "_fw_name": "PyTask", "func": "auxiliary.print_func", "inputs": ["coffee beans"], "outputs": ["coffee powder"] }, "split": "coffee beans" } ], "coffee beans": ["arabica", "robusta", "liberica"] } }, { "fw_id": 2, "name": "Brew coffee", "spec": { "_tasks": [ { "_fw_name": "ForeachTask", "task": { "_fw_name": "PyTask", "func": "auxiliary.print_func", "inputs": ["coffee powder", "water"], "outputs": ["pure coffee"] }, "split": "coffee powder" } ], "water": "workflowing water" } }, { "fw_id": 3, "name": "Serve coffee", "spec": { "_tasks": [ { "_fw_name": "PyTask", "func": "auxiliary.print_func", "inputs": ["pure coffee"] } ] } } ], "links": { "1": [ 2 ], "2": [ 3 ] }, "metadata": {}, "name": "Workflow for many sorts of coffee" }