g . ▁a ▁computational ▁tool ▁or ▁a ▁wrapper ▁that ▁can ▁extract ▁data ▁from ▁a ▁particular ▁data ▁source ). ▁Each ▁component ▁has ▁a ▁number ▁of ▁parameters ▁that ▁can ▁be ▁set ▁by ▁the ▁user ▁and ▁also ▁a ▁number ▁of ▁input ▁and ▁output ▁ports ▁for ▁receiving ▁and ▁transm itting ▁data . ▁ ▁Each ▁directed ▁edge ▁in ▁the ▁graph ▁represents ▁a ▁connection ▁from ▁an ▁output ▁port , ▁namely ▁the ▁tail ▁of ▁the ▁edge , ▁to ▁an ▁input ▁port , ▁namely ▁the ▁head ▁of ▁the ▁edge . ▁A ▁port ▁is ▁connected ▁if ▁there ▁is ▁one ▁or ▁more ▁connections ▁from / to ▁that ▁port . ▁In ▁addition , ▁each ▁node ▁in ▁the ▁graph ▁provides ▁metadata ▁describing ▁the ▁input ▁and ▁output ▁ports ▁of ▁the ▁component , ▁including ▁the ▁type ▁of ▁data ▁that ▁can ▁be ▁passed ▁to ▁the ▁component ▁and ▁parameters ▁of ▁the ▁service ▁that ▁a ▁user ▁might ▁want ▁to ▁change . ▁Such ▁information ▁is ▁used ▁for ▁the ▁ver ification ▁of ▁workflow s ▁and ▁to ▁ensure ▁meaning ful ▁chain ing ▁of ▁components . ▁A ▁connection ▁between ▁an ▁input ▁and ▁an ▁output ▁port ▁is ▁valid ▁only ▁if ▁the ▁types ▁are ▁compatible , ▁which ▁is ▁strictly ▁enfor ced . ▁ ▁Se par ation ▁between ▁data ▁and ▁control ▁flows ▁ ▁A ▁key ▁contribution ▁of ▁the ▁system ▁is ▁its ▁clean ▁separation ▁between ▁the ▁data ▁flow ▁and ▁control ▁flow ▁models ▁of ▁comput ations ▁within ▁a ▁scientific ▁workflow s . ▁This ▁is ▁achieved ▁through ▁the ▁concept ▁of ▁embedding ▁en abling ▁complete ▁data ▁flow ▁fragments ▁to ▁be ▁embedded ▁with ▁a ▁block - struct ured ▁fragments ▁of ▁control ▁flow