Tutorial for "Edit Workflows"

Quick Links

Edit Workflows

  1. Open "Edit Workflows" page from the Portal Navigation Menu.

  2. This is the "Edit Workflows" interface.
    In here, we can create Workflow Templates

  3. This is the "New Template" button. Click on it to create a new workflow template.

  4. A window will popup asking for the name of the new Workflow Template.

  5. The new template ("MultiCountWords" in this case) is shown under Templates on the left side of the interface, and the template editor is opened automatically as well on the right in a new Tab.

  6. The "Components" Tab on the left shows the components available

  7. The "Components" can be shown in 3 views. The default "Tree" view, which shows the hierarchy of components.

  8. The "Inputs" view, which shows components grouped by inputs.

  9. The "Outputs" view, which shows components grouped by outputs.

  10. Hovering on a component shows it's Inputs and Outputs.

  11. To Add a component to the Workflow Template, Drag the component from the left to the checked area on the right.
    The icon of the dragging component shows if it is ok to drop or not. Here it shows that it NOT OK.

  12. As we approach the checked area, the icon indicates that it is OK to drop.

  13. After dropping, the component appears in the workflow template. The text is red colored as it's input and output ports (the small rectangular boxes) haven't been connected to variables yet.
    The color of the box itself is "light-orange" if this is a concrete component, and "gray" if this is an abstract component.

  14. You can select the component and move it around.

  15. Hovering over a port (the small rectangular boxes) shows information about it. These ports correspond to the component identifiers that were created in the "Manage Components" interface.

  16. A Link can be dragged out from the port. While dragging, the "shadow variable" appears like below.
    Variables are displayed as ovals.
    We can drag this link out to
    • empty space (which will create a new variable),
    • another variable port (which will connect that variable to this port),
    • another component port (which will link both components together via a new variable)

  17. Data Variables that are Inputs to the Workflow are shown in Blue.
    Parameter Variables are shown in Green.
    All other variables are shown in Navy Blue.

  18. Click on "Layout" to connect to Graphviz (if installed) and layout the workflow template. This is useful especially if the graph is becoming quite big and unmanageable.

  19. Here the system is trying to connect to "dot". If this doesn't work, make sure that the path to "dot" is correctly specified in portal.properties

  20. After laying out

  21. There are other buttons above the Graph like "Zoom" functions.

  22. The "Grab Image" function creates an image out of the canvas that can be saved on desktop.

  23. This is the "Elaborate Template" button found above the graph, on top of the "Constraints Table".
    Click it to connect to the Wings Semantic Reasoner in order to reason about, validate, and add more annotations to the Workflow.

  24. Here the system is getting an elaborated workflow from the Wings Semantic Reasoner.

  25. A popup window appears after Elaboration.

  26. Constraints for this workflow template are shown in the "Constraints Table" after elaboration.

  27. If we select a variable, it will show constraints only for that variable. Here the "sampleInputFile1" variable is selected.
    The Constraints Table now only shows Constraints for sampleInputFile1 variable.
    Also, below the Graph is an editable form that allows changing properties of this variable.

  28. The Variable name can be changed once the Variable is selected in the graph.

  29. For Inputs to the workflow, we can also indicate whether the Variable should be a collection or not.

  30. Collection variables appear as a stack of ovals.

  31. Similarly, we can also change properties of the Component by selecting it.
    By default "Use all Input Data in same workflow" is set to true. That means if the coming input variable is a collection (or of a higher dimensionality that what is expected), then we should create multiple parallel instances of the Component to handle the input data.
    Collection components appear as a stack of rectangles.

  32. The "Input Data Combination" tab provides an interface to setup the way input data collections are combined and provided to the components using the data.

  33. This shows that by default a Cross-Product (XPRODUCT) of all inputs is done. The other combination function is NWISE(i.e. one-to-one match by index). Operations that work on a single port are: Increase Dimension (INCREASEDIM), Reduce Dimension (REDUCEDIM), and SHIFT (i.e. reducing collection size by one and shifting to the left). These single-port operators can be also used as argument to XPRODUCT and NWISE.

  34. Here we can select the ports on which the combination function occurs.

  35. Multiple items in the graph can be selected by Dragging a box around them.

  36. Selected items can be deleted by pressing the "Delete Selected" button.

  37. Click on "Add Constraint" to create a new Constraint.

  38. Constraint items can be edited by clicking on them.
    The Variable item shows a drop-down list of the current workflow template's variables.

  39. The "Constraint" item shows a list of all constraints that can be specified. This contains some constraints from the "wflow" namespace, and an "rdf:type" constraint. The rest of the constraints from the "dcdom" namespace are the ones that have been described in the "Manage Data" interface.

  40. We can set values for Parameter Variables by using the constraint "wflow:hasParameterValue".
    First click on 'Add Contraint' button, and then select the variable as word, constraint as 'wflow:hasParameterValue' and enter the value as shown below

  41. Constraints can be selected by clicking on the checkbox next to them. All constraints can be selected by clicking on the checkbox on top.

  42. Click on "Delete Constraint" to delete all selected constraints.

  43. Documentation can be added to describe the template by clicking on the "Documentation" tab.

  44. Click on "Save" to save the current tempate.

  45. Click on "Save As" to save the current tempate with another name.

  46. The "Save As" button can also be used to reuse parts of old templates in new templates. WINGS does not currently allow for copying and pasting parts between workflows, but old parts can still be reused by following these steps:
    1. Save the old template with the "Save As" button and give the new template a name.
    2. Go to the new template and delete any components you no longer need.
    3. Start building from the parts that were kept from the old template.