{
  "identifier" : "579655a0-38ce-41a6-95f0-cab94525eb7c",
  "workflowVersion" : "5",
  "nodes" : [ {
    "identifier" : "6302a8e5-768a-419b-a17c-6027cd24ba1b",
    "name" : "Input",
    "location" : "644:344",
    "zIndex" : "0",
    "active" : "true",
    "component" : {
      "identifier" : "de.rcenvironment.script",
      "version" : "3.5",
      "name" : "Script"
    },
    "configuration" : {
      "pythonExecutionPath" : "${pythonExecutionPath}",
      "script" : "print(\"Constant input: \" + str(RCE.read_input(\"constant\")))\r\nprint(\"Required if connected input: \" + str(RCE.read_input(\"req_if_connected\")))",
      "scriptLanguage" : "Jython",
      "storeComponentHistoryData" : "true",
      "usageOfScript" : "NEW"
    },
    "dynamicInputs" : [ {
      "identifier" : "1b56b931-03bf-4b59-a30f-f0327fa26af4",
      "name" : "constant",
      "epIdentifier" : "default",
      "group" : "null",
      "datatype" : "Float",
      "metadata" : {
        "inputExecutionConstraint_4aae3eea" : "Required",
        "inputHandling_73b1056e" : "Constant"
      }
    }, {
      "identifier" : "0dd4a4a7-d31a-4847-bec8-2f459abd97cf",
      "name" : "not_required",
      "epIdentifier" : "default",
      "group" : "null",
      "datatype" : "Float",
      "metadata" : {
        "inputExecutionConstraint_4aae3eea" : "NotRequired",
        "inputHandling_73b1056e" : "Single"
      }
    }, {
      "identifier" : "935ff8d3-a217-4638-8238-20737fa411bc",
      "name" : "req_if_connected",
      "epIdentifier" : "default",
      "group" : "null",
      "datatype" : "Float",
      "metadata" : {
        "inputExecutionConstraint_4aae3eea" : "RequiredIfConnected",
        "inputHandling_73b1056e" : "Queue"
      }
    }, {
      "identifier" : "5a447eae-7f61-4bfe-b002-f83429180003",
      "name" : "req_if_connected-not_connected",
      "epIdentifier" : "default",
      "group" : "null",
      "datatype" : "Float",
      "metadata" : {
        "inputExecutionConstraint_4aae3eea" : "RequiredIfConnected",
        "inputHandling_73b1056e" : "Single"
      }
    } ]
  }, {
    "identifier" : "016a5a96-dd97-4f54-84f2-7c71e4779808",
    "name" : "Input Provider",
    "location" : "459:327",
    "zIndex" : "1",
    "active" : "true",
    "component" : {
      "identifier" : "de.rcenvironment.inputprovider",
      "version" : "3.2",
      "name" : "Input Provider"
    },
    "configuration" : {
      "storeComponentHistoryData" : "true"
    },
    "dynamicOutputs" : [ {
      "identifier" : "6b261e8f-53c7-4614-87aa-676dfdc460b4",
      "name" : "constant",
      "epIdentifier" : "default",
      "datatype" : "Float",
      "metadata" : {
        "startValue" : "1"
      }
    } ]
  }, {
    "identifier" : "57236a47-cdf9-4f44-a35e-b3af469f9f78",
    "name" : "Output",
    "location" : "440:382",
    "zIndex" : "2",
    "active" : "true",
    "component" : {
      "identifier" : "de.rcenvironment.script",
      "version" : "3.5",
      "name" : "Script"
    },
    "configuration" : {
      "pythonExecutionPath" : "${pythonExecutionPath}",
      "script" : "RCE.write_output(\"output\", 2.0)\r\nRCE.write_output(\"output\", 3.0)\r\n\r\n",
      "scriptLanguage" : "Jython",
      "storeComponentHistoryData" : "true",
      "usageOfScript" : "NEW"
    },
    "dynamicOutputs" : [ {
      "identifier" : "f9ad4c36-b9a4-4aba-9028-d06970ef6e5b",
      "name" : "output",
      "epIdentifier" : "default",
      "datatype" : "Float"
    } ]
  } ],
  "connections" : [ {
    "source" : "016a5a96-dd97-4f54-84f2-7c71e4779808",
    "output" : "6b261e8f-53c7-4614-87aa-676dfdc460b4",
    "target" : "6302a8e5-768a-419b-a17c-6027cd24ba1b",
    "input" : "1b56b931-03bf-4b59-a30f-f0327fa26af4"
  }, {
    "source" : "57236a47-cdf9-4f44-a35e-b3af469f9f78",
    "output" : "f9ad4c36-b9a4-4aba-9028-d06970ef6e5b",
    "target" : "6302a8e5-768a-419b-a17c-6027cd24ba1b",
    "input" : "935ff8d3-a217-4638-8238-20737fa411bc"
  } ],
  "labels" : "[{\"identifier\":\"5eec48bf-e723-4a56-b6ca-eadac3d6f3af\",\"headerText\":\"Introducing execution scheduling of workflow components\",\"text\":\"There are different attributes which can be assigned to inputs of workflow components to define certain workflow execution logic.\\r\\n\\r\\nInput handling (How to handle values at the input?): Constant, Single (Consumed), Queue (Consumed) \\r\\nExecution constraint (Is a value at the input required to execute the workflow component?): Required, Required if connected, Not required\\r\\n\\r\\nThis workflow example consists of workflow components that demonstrate different input attributes and introduces the execution scheduling of workflow components. The \\\"Output\\\" workflow component sends two values to its output. The handling of the receiving input of the \\\"Input\\\" workflow component is set to \\\"Queue\\\" (otherwise an error will occur during workflow execution). The \\\"Input Provider\\\" workflow component sends one value to its output. The handling of the receiving input of the \\\"Input\\\" workflow component is set to \\\"Constant\\\". Execute the workflow. The \\\"Output\\\" workflow component will run once. The \\\"Input\\\" workflow component will run two times. The first time if a value at both of the inputs was received. The second time if a value at the input with handling \\\"Queue\\\" is received (the previously received value at the other input will be re-used).\",\"location\":\"37:13\",\"size\":\"1091:290\",\"alpha\":\"202\",\"colorHeader\":\"0:0:0\",\"colorText\":\"0:0:0\",\"colorBackground\":\"0:255:64\",\"labelPosition\":\"CENTER\",\"textAlignmentType\":\"LEFT\",\"headerAlignmentType\":\"CENTER\",\"border\":\"false\",\"headerSize\":\"11\",\"textSize\":\"9\",\"zIndex\":\"0\"},{\"identifier\":\"c4e9bb76-2116-4b27-8e1e-76f59e514e16\",\"headerText\":\"See section \\\"Workflows\\\" in the user guide for details.\",\"text\":\"\",\"location\":\"696:578\",\"size\":\"432:39\",\"alpha\":\"203\",\"colorHeader\":\"0:0:0\",\"colorText\":\"0:0:0\",\"colorBackground\":\"255:255:0\",\"labelPosition\":\"TOPLEFT\",\"textAlignmentType\":\"LEFT\",\"headerAlignmentType\":\"CENTER\",\"border\":\"false\",\"headerSize\":\"9\",\"textSize\":\"9\",\"zIndex\":\"2\"},{\"identifier\":\"e8157b9b-caa1-43e7-b3ef-3919edf90cab\",\"headerText\":\"Note\",\"text\":\"If you change the handling from \\\"Constant\\\" to \\\"Single\\\", the workflow won't terminate as the \\\"Input\\\" workflow component doesn't re-use any value anymore and waits indefinitely for the second value at both of its input after the first run was performed.\\r\\n\",\"location\":\"37:477\",\"size\":\"1091:89\",\"alpha\":\"127\",\"colorHeader\":\"255:0:0\",\"colorText\":\"0:0:0\",\"colorBackground\":\"255:255:0\",\"labelPosition\":\"CENTER\",\"textAlignmentType\":\"LEFT\",\"headerAlignmentType\":\"LEFT\",\"border\":\"false\",\"headerSize\":\"11\",\"textSize\":\"9\",\"zIndex\":\"1\"}]"
}