Back to DevDoc

Main concepts of SimExplorer workflows

Data

Prototype         -> A type and a name (analogy to the 'C' prototype declaration: int a).
Variable          -> A prototype associated with a value of matching type.

Task

A Task represents a work to be achieved (executing a Java or C model, processing data, generating files...). A Task can be associated to:

  • a set of parameters (it can be source code, system commands,… or anything that describes the bahavior of a type of Task),
  • file ressources (executable file, jar libraries, data files or directory requiered for the task execution, ...).

In the platform, Task is a generic class, from which more specific tasks can be implemented as plugins. For instance, a GroovyTask (executing arbitrary Java code) or a NetlogoTask (executing NetLogo simulation) have been easily extended from the super class Task.

Capsule

A Capsule represents a structure, which can:

  • be connected to other Capsules by transition
  • encapsulate a Task

Transition

A transition describes the precedence relationship between two capsules. The variables migrates from a Capsule to another one through the transitions. A Transition is always completed on the local environment.
A condition can be assigned to a transition, so that the transition is only completed if the condition is true.

Exploration

A particular Task (the exploration Task) combined with a particular transition (the exploration transition), offers to explore space of parameters. The Task at end of an exploration transition will be executed in parallel for each explored value of space of parameters.
The exploration enables to run numerous instances of a single algorithm with differents input variables or ressources.

Aggregation

An aggregation is also a particular Transition. It enables to merge results of Tasks, which have been run in parallel using an Exploration Task and Transition.

Task              -> A work to do (execute octave function, launch a model...).
Context           -> A structured space containing variables values.
MoleJob           -> A Task associated with a Context, the Job executes a task in a given Context.
Environment       -> An execution environment implemented to execute Jobs (Local processors, Clusters, Grids...).
ExecutionJob      -> A set of MoleJob associated with an environment, an ExecutionJob represent the execution of on a given environment.

Workflow

Workflow          -> A direct graph of capsules and data migrations between them.
Capsule           -> A spot encapsule a Task in order to be integrated into a workflow.
Transition        -> Describes precedence relationship between capsules, variables migrates from capsule to capsules through transitions.
Mole              -> A workflow with a start capsule, able to be executed

Other concepts

MoleTask -> Allow to add a nested mole in a task. Can be then integrated in a capsule, thus in a workflow, thus in a mole. The aim is to add an abstraction level, that allow to group a mole in a unique task.
URIFile -> Uniform file access based on URI.
Storage -> A storage space of an execution environment
JobService -> A job management system of an execution environment
Resource -> A resource is an entity needed for a task execution, it may be a file, a software piece.
Replica -> A copy of file on a remote storage of an environment.

References

logo cemagref

logo iscpif

logo lifegrid

logo region auvergne

logo patres project