Defines a contract of implementation for any workflow based class, i.e. a class that extends this interface. This class cannot be instantiated directly as it is abstract.

WorkflowInterface

Format

An object of class R6ClassGenerator of length 25.

Contracted Methods

addConnections(connections)

Adds connections, a list of implementation instances of ConnectionInterface, to this workflow.

addModules(modules)

Adds modules, a list of implementation instances of ModuleInterface, to this workflow.

getWorkflowInputs()

Gets a named logical vector where names are the possible inputs into the workflow and the values indicate if an input is required.

getModuleInputs(module)

Gets a named logical vector where the names are the inputs, excluding those provided by connections from upstream modules, into a module and the values indicate if an input is required.

getConnections(module1, module2)

Gets the connections between module1 and module2.

getEndingModules()

Gets a list of modules that are the ending modules of a workflow.

getAllModules()

Gets a list of all modules in a workflow.

getStartingModules()

Gets a list of modules that are the starting modules of a workflow.

getDownstreamModules(module)

Gets modules downstream of module in a workflow.

getUpstreamModules(module)

Gets modules upstream of module in a workflow.

hasCompletedAllDownstreamModules(module)

Indicates if all modules downstream of module in a workflow have completed.

initFromFile(filename)

Initializes this workflow from a save state stored in filename.

removeConnection(connection)

Removes connection, an implementation instance of ConnectionInterface, to this workflow.

removeModule(module)

Adds module, an implementation instance of ModuleInterface, to this workflow.

save(filename)

Saves the state of this workflow into a file named filename so that future workflows can be initialized to this workflow.

visualize()

Visualizes this workflow.