Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Panel
titleExercise no. 1 (approx. 10 min)
borderStyledashed

Film available: http://www.youtube.com/watch?v=1xsPH6Mnzx0
In this exercise you will execute simple Kepler workflow. In order to this follow the instructions:

  1. Start Kepler application by issuing:

    Code Block
    cd ~/kepler/
    ./kepler.sh
    
  2. Open "Hello world" workflow by issuing: File -> Open and navigate to:

    Code Block
    $HOME/tutorial/workflow/basic/Hello_World.xml
    
  3. After workflow is opened, press "Play" button
    Image Removed Image Added
    workflow should generate output within Display actor

    Info
    titleAnimating workflows

    In Kepler it is possible to animate workflows during execution. In order to animate workflow you have to turn on animations. You can do this by choosing: Tools -> Animate at Runtime...
    Demo movie for this feature can be found at following location: animation

...

Panel
titleExercise no. 2 (approx. 10 min)
borderStyledashed

Film available: http://www.youtube.com/watch?v=EVGSXC4kcks
In this exercise you will execute simple Kepler workflow with Debug information. In order to this follow the instructions:

  1. If Kepler is not already running start it by issuing:

    Code Block
    cd ~/kepler
    ./kepler.sh
    
  2. Open "Hello world debug" workflow by issuing: File -> Open and navigate to:

    Code Block
    $HOME/tutorial/workflow/basic/Hello_World_Debug.xml
    
  3. After workflow is opened, "Right-click" Expression actor and choose "Listen to actor"
  4. Press "Play" button
    Image Removed Image Added
    Workflow should generate output within Display actor and should print debug information generated by Expression actor

...

Panel
titleExercise no. 3 (approx. 15)
borderStyledashed

Film available: http://www.youtube.com/watch?v=DXXYnuDjnWw

In this exercise you will build simple "Hello World" workflow and execute it. In order to get this task done, follow the instructions:

  1. If Kepler is not already running start it by issuing:

    Code Block
    cd ~/kepler
    ./kepler.sh
    
  2. Type in "SDF" into "Search" field and press "Search" button
  3. Drag and Drop SDF director into workflow
  4. Right-click on SDF director and choose "Configure Director"
  5. Set number of iterations to "1"
  6. Type in "String" into "Search" field and press "Search" button
  7. Add "String Constant" actor to the workflow
  8. Right-click "String Constant" actor and choose "Configure Actor"
  9. Type "Hello world!" into "value" field
  10. Commit changes
  11. Type in "Display" into "Search" field and press "Search" button
  12. Add "Display" actor into workflow
  13. Connect "String Constant" actor with "Display" actor

    Intermediate results

  14. After workflow is ready, press "Play" button
    Image Removed Image Added
    workflow should generate output within Display actor

...

Panel
titleExercise no. 4 (approx. 20 minutes)
borderStyledashed

Film available: http://www.youtube.com/watch?v=OCO9L5MzUrM

  1. If Kepler is not already running start it by issuing:

    Code Block
    cd ~/kepler
    ./kepler.sh
    
  2. Add DDF director into workflow
  3. Add Constant into workflow and set it's value to "true" (double click Constant and enter "true")
  4. Set Constant "firingCountLimit" to "1" (Right Click -> Configure Actor -> firingCountLimit Text Field)
  5. Add Relation next to the Constant
  6. Connect Relation and Constant::output
  7. Add Parameter and rename it to "a" (Right click -> Customize name)
  8. Set value of a to "1" (double click a)
  9. Add Parameter and rename it to "b" (Right click -> Customize name)
  10. Set value of b to "2" (double click b)
  11. Add Constant into workflow and rename it to "Send a to output"
  12. Set Send a to output value to "a"
  13. Add Constant into workflow and rename it "Send b to output"
  14. Set *Send b to output" value to "b"
  15. Connect Send a to output::trigger" with *Relation
  16. Connect Send b to output::trigger" with *Relation
  17. Add Relation to workflow and connect it with Send a to output
  18. Add Relation to workflow and connect it with Send b to output
  19. Add Display to workflow and connect relation connected to Send a to output
  20. Set Display "Display name" (Right click -> Customize Name) to "Value a"
  21. Add Display to workflow and connect it with other relation
  22. Set Display "Display name" (Right click -> Customize Name) to "Value b"
  23. Add Expression to the workflow
  24. Add input port input_a to the Expression (Right click -> Configure Ports -> Add, select checkbox "in")
  25. Add input port input_b to the Expression (Right click -> Configure Ports -> Add, select checkbox "in")
  26. Connect Expression::input_a with relation bound to Send a to output
  27. Connect Expression::input_b with relation bound to Send b to output
  28. Add Display to the workflow and set it's "Display name" to "Result"
  29. Connect Result::input with *Expression::output"
  30. Set Expression value to "a+b" (Double click Expression)
    At this point your workflow should be similar to the one below

    Intermediate results

  31. Execute workflow
    Image Removed Image Added
    Simple modification in order to make Kepler workflow fail
  32. Set Expression value to "a/b"
  33. Set b value to "0"

...

Panel
titleExercise no. 5 (approx. 10 minutes)
borderStyledashed

Film available: http://www.youtube.com/watch?v=rr03bekyiDU

In this exercise you will execute simple Kepler workflow. In order to this follow the instructions:

  1. If Kepler is not already running start it by issuing:

    Code Block
    cd ~/kepler
    ./kepler.sh
    
  2. Open "If-else" workflow by issuing: File -> Open and navigate to:

    Code Block
    $HOME/tutorial/workflow/basic/if_else_simple.xml
  3. After workflow is opened, press "Play" button
    Image Removed Image Added
    workflow should generate output within Display actor

...

Panel
titleExercise no. 6 (approx. 20 minutes)
borderStyledashed

Film available: http://www.youtube.com/watch?v=3M7IFyzSTAY

In this exercise you will build "if-else" workflow.

Info
titleYou should complete previous examples before starting this one

In this example it is assumed that you already know how to use actor/director browser (left panel) and how to put actors into workflow (right panel)

  1. If Kepler is not already running start it by issuing:

    Code Block
    cd ~/kepler
    ./kepler.sh
    
  2. Drag and Drop "DDF Director" into workflow
  3. Drag and Drop "String Constant" actor into workflow
  4. Change it's name to "String Hello" (Right-click -> Custimize name)
  5. Change it's value to "Hello world will test if-else" (Right-click -> Configure Actor -> value)
  6. Change it's firingCountLimit to "1" (Right-click -> Configure Actor -> firingCountLimit)
  7. Drag and Drop "Parameter" actor into workflow
  8. Change it's name to "a" (Right-click -> Customize name)
  9. Change it's value to "1" (Double click -> value)
  10. Drag and Drop "Parameter" actor into workflow
  11. Change it's name to "b" (Right-click -> Customize name)
  12. Change it's value to "2" (Double click -> value)
  13. Drag and Drop "Boolean Switch" actor into workflow
  14. Drag and Drop "Display" actor into workflow next to "Boolean Switch" actor
  15. Change it's name to "Display if"
  16. Drag and Drop "Display" actor into workflow below "Display if" actor
  17. Change it's name to "Display else"
  18. Drag and Drop "Constant" actor into workflow below "Boolean Switch" actor
  19. Change it's value to "a < b" (Right-click -> Configure Actor -> value)
  20. Change it's firingCountLimit to "1" (Right-click -> Configure Actor -> firingCountLimit)
  21. After all actors are at the workflow's area, you have to connect them
  22. Connect Boolean Switch::trueOutput with Display if::input
  23. Connect Boolean Switch::falseOutput with Display else::input
  24. Connect Boolean Switch::input with String Hello::output
  25. Connect Boolean Switch::control with Constant::output
    At this point your workflow should be similar to the one below

    Intermediate results

  26. Press "Play" button
    Image Removed Image Added
    workflow should generate output within "Display else" actor
  27. Change value of Constant to "a > b" and execute workflow once again
  28. Save the workflow (e.g. as ~/my_workflow.xml) - we will need it in next excersise

...

Panel
titleExercise no. 7 (approx. 20 minutes)
borderStyledashed

Film available: http://www.youtube.com/watch?v=qC6eVPXW4Fs

In this exercise you will build "if-else-expression" workflow.

Info
titleYou should complete previous examples before starting this one

In this example it is assumed that you already know how to use actor/director browser (left panel) and how to put actors into workflow (right panel)

  1. If Kepler is not already running start it by issuing:

    Code Block
    cd ~/kepler
    ./kepler.sh
    
  2. Load workflow that you have previously saved (~/my_workflow.xml) or open workflow at following location:

    Code Block
    $HOME/tutorial/workflow/basic/if_else_simple.xml
    
  3. Remove link between Display if and Boolean Switch (select link and press "Delete" or choose Edit -> Delete)
  4. Remove link between Display else and Boolean Switch
  5. Add Expression between Display if and Boolean Switch
  6. Set Expression Display name to "Expression if"
  7. Add input port in into Expression if
  8. Set Expression if value to

    Code Block
    in + " - this was added by Expression if"

    remember to copy " as well!

  9. Connect Expression if::in with Boolean Switch::trueOutput
  10. Connect Expression if::output with Display if::input
  11. Add Expression between Display else and Boolean Switch
  12. Set Expression Display name to "Expression else"
  13. Add input port in into Expression else
  14. Set Expression else value to

    Code Block
    in + " - this was added by Expression else"

    remember to copy " as well!

  15. Connect Expression else::in with Boolean Switch::falseOutput
  16. Connect Expression else::output with Display else::input
  17. At this point your workflow should be similar to the one below

    Intermediate results

  18. press "Play" button
    Image Removed Image Added
    workflow should generate output within "Display if" actor
  19. Change value of Constant to "a < b" and execute workflow once again

...

Panel
titleExercise no. 8 (approx. 15 minutes)
borderStyledashed

Film available: http://www.youtube.com/watch?v=fJlV7Jd30cQ

In this exercise you will execute simple loop example. In order to this follow the instructions:

  1. If Kepler is not already running start it by issuing:

    Code Block
    cd ~/kepler
    ./kepler.sh
    
  2. Open workflow

    Code Block
    $HOME/tutorial/workflow/basic/simple_loop.xml
    

    You should see following workflow loaded into Kepler

  3. After workflow is loaded, execute it
    Image Removed Image Added
    workflow should generate output within Display actor
  4. You can change Constant values and see what happens after you start workflow again

...

Panel
titleExercise no. 9 (approx. 15 minutes)
borderStyledashed

In this exercise you will execute simple loop example. In order to this follow the instructions:

  1. If Kepler is not already running start it by issuing:

    Code Block
    cd ~/kepler
    ./kepler.sh
    
  2. Open workflow

    Code Block
    $HOME/tutorial/workflow/basic/loops/simple_loop_relation.xml
    

    You should see following workflow loaded into Kepler

  3. After workflow is loaded, execute it
    Image Removed Image Added
    workflow should generate output within Display actor
  4. You can change Constant values and see what happens after you start workflow again

...

Panel
titleExercise no. 10 (approx. 15 minutes)
borderStyledashed

In this exercise you will execute simple loop example. In order to this follow the instructions:

  1. If Kepler is not already running start it by issuing:

    Code Block
    cd ~/kepler
    ./kepler.sh
    
  2. Open workflow

    Code Block
    $HOME/tutorial/workflow/basic/loops/loop-variables.xml
    

    You should see following workflow loaded into Kepler

  3. After workflow is loaded, execute it
    Image Removed Image Added
    workflow should generate output within Display actor
  4. You can change Constant values and see what happens after you start workflow again

...

Panel
titleExercise no. 11 (approx. 15 minutes)
borderStyledashed

In this exercise you will execute simple loop example. In order to this follow the instructions:

  1. If Kepler is not already running start it by issuing:

    Code Block
    cd ~/kepler
    ./kepler.sh
    
  2. Open workflow

    Code Block
    $HOME/tutorial/workflow/basic/loops/loop-no-ddf-b-s.xml
    

    You should see following workflow loaded into Kepler

  3. After workflow is loaded, execute it
    Image Removed Image Added
    workflow should generate output within Display actor
  4. You can change Constant values and see what happens after you start workflow again

...

Panel
titleExercise no. 12 (approx. 30 minutes)
borderStyledashed

Film available: http://www.youtube.com/watch?v=oYdOYnK7WI4
In this exercise you will build simple loop. In order to this follow the instructions:

  1. Start Kepler application by issuing:

    Code Block
    cd ~/kepler
    ./kepler.sh
    
  2. Add DDF director into workflow
  3. Add Constant into workflow, set it's value to 5
  4. Add DDF Boolean Select actor to the workflow
  5. Connect Constant::output with DDF Boolean Select::falseInput
  6. Add Relation next to DDF Boolean Select
  7. Connect Relation (we will call it Relation A) with DDF Boolean Select::output
  8. Add Expression actor to the workflow (next to Relation A)
  9. Add input port in into Expression
  10. Connect Relation A with Expression::in
  11. Set Expression value to

    Code Block
     in > 0 
  12. Add Relation next to Expression (we will call it Relation B)
  13. Connect Expression::output with Relation B

    Intermediate result

  14. Add SampleDelay actor to workflow
  15. Change SampleDelay::input port direction to EAST (Right click -> Configure Ports -> Direction)
  16. Change SampleDelay::output port direction to WEST (Right click -> Configure Ports -> Direction)
  17. Connect SampleDelay::output with DDF Boolean Select::control
  18. Connect SampleDelay::input with Relation B
  19. Set SampleDelay value to

    Code Block
     {false} 
  20. Add Boolean Switch next to Relation B
  21. Connect Boolean Switch::control with Relation B
  22. Connect Boolean Switch::input with Relation A

    Intermediate result

  23. Add Expression into workflow and set it's name to Decrease counter
  24. Add input port in into Decrease counter and set it's Direction to EAST
  25. Set output port Direction to WEST
  26. Set Expression value to

    Code Block
     in - 1 
  27. Connect Decrease counter::output with DDF Boolean Select::trueInput
  28. Connect Decrease counter::input with Boolean Select::trueOutput
  29. Add Is Present next to Boolean Switch
  30. Connect Is Present::input with Boolean Switch::falseOutput
  31. Add Stop next to Is Present
  32. Connect Stop::input with Is Present::output
  33. Add Display next to Relation A
  34. Connect Display::input with Relation A

    Intermediate result

  35. After workflow is opened, press "Play" button
    Image Removed Image Added
  36. You can change Constant values and see what happens next time you start workflow

...

Panel
titleExercise no. 13 (approx. 15 minutes)
borderStyledashed

Film available: http://www.youtube.com/watch?v=muhBH7jM5dU
In this exercise you will execute advanced loop workflow. In order to this follow the instructions:

  1. Start Kepler application by issuing:

    Code Block
    cd ~/kepler
    ./kepler.sh
    
  2. Open workflow

    Code Block
    $HOME/tutorial/workflow/basic/array_loop_copy_files.xml
    
  3. After workflow is loaded

    You can open composite actor by right clicking it and choosing "Open"
    Image Removed Image Added
  4. You can start workflow by pressing Play button
    Image Removed Image Added
    workflow should copy input files from/to

    Code Block
    $HOME/tutorial/data -> $HOME/tutorial/output
    

    You can open terminal and verify it's execution results

    Code Block
    ls -la ~/tutorial/data
    ls -la ~/tutorial/output
    

...

Panel
titleExercise no. 14 (approx. 15 minutes)
borderStyledashed

Film available: http://www.youtube.com/watch?v=4xjLcI776vg
In this exercise you will execute advanced loop workflow with feedback. In order to this follow the instructions:

  1. Start Kepler application by issuing:

    Code Block
    cd ~/kepler
    ./kepler.sh
    
  2. Open workflow

    Code Block
    $HOME/tutorial/workflow/basic/array_loop_composite_repeat_feedback.xml
    
  3. After workflow is loaded

    open composite actor by right clicking it and choosing "Open"
  4. You can execute it by pressing Play button
    Image Removed Image Added
    workflow should generate output within Display actor

...