{
  "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"
}