{ "fws": [ { "fw_id": 0, "name": "Roast coffee", "spec": { "_tasks": [ { "_fw_name": "PyTask", "func": "auxiliary.print_func", "inputs": ["fresh coffee beans"], "outputs": ["roasted coffee beans"] } ], "fresh coffee beans": "top coffee selection" } }, { "fw_id": 1, "name": "Grind coffee", "spec": { "_tasks": [ { "_fw_name": "PyTask", "func": "auxiliary.print_func", "inputs": ["roasted coffee beans"], "outputs": ["coffee powder"] } ] } }, { "fw_id": 2, "name": "Brew coffee", "spec": { "_tasks": [ { "_fw_name": "PyTask", "func": "auxiliary.print_func", "inputs": ["coffee powder", "water"], "outputs": ["pure coffee"] } ], "water": "workflowing water" } }, { "fw_id": 3, "name": "Add extras", "spec": { "_tasks": [ { "_fw_name": "PyTask", "func": "auxiliary.print_func", "inputs": ["pure coffee", "milk"], "outputs": ["cappuccino"] } ], "milk": "milky way milk" } } ], "links": { "0": [1], "1": [2], "2": [3] }, "metadata": {}, "name": "The coffee workflow" }