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