Back to DevDoc

In the Exploration Workflow, variables belong to a namespace defined by the component where they are produced. This namespace is defined by the complete path from the root of the workflow to the component. Thus, for a wokflow as following :

root
  \___ loop1
         \___ component1
                \___ x
                \___ y
         \___ component2

the absolute path name of the variable "x" in the component "component1" is "root.loop1.component1.x". Note that the root element is accessible by the path root.

The variables transfer between components is also well defined. A component must specify which variables will be exported after the component execution, and a component could specify which variables it is waiting for.

So, if the component1 specify that the variables x and y are exported, they will be accessibles in component2 either by their absolute path name "root.loop1.component1.x" and "root.loop1.component1.y", or by their relative path name "parent.component1.x" and "parent.component1.y". Note the usage of the keyword parent to access to the parent component, and thus to define a relative path.

But, if you specify that a component is waiting for a variable as input, then the variable will be imported in the namespace of this component. For example, if component2 specifies the variable "parent.component1.x" as input. This variable will be directly accessible with "x", or more explicitely with "root.loop1.component2.x"

0.2 specificities

  • when a contract is set in a ProcessorsList child, it is automatically add to the ProcessorsList itself. It doesn't apply for an exploration processor.
  • To obtain values of a variable after a exploration, the exploration should declare this variable as output, and the last inner child should also declare it. Then the successor of the exploration should declare as input an array of the variable.

logo cemagref

logo iscpif

logo lifegrid

logo region auvergne

logo patres project