com.workflowfm.proter.flows

Type members

Classlikes

class And(val left: Flow, val right: Flow) extends Flow
sealed
trait Flow
Companion
object
object Flow
Companion
class
class FlowLookahead(name: String, manager: Manager, flow: Flow) extends FlowSimulation with LookingAhead

A trait which provides Lookahead compatibility to FlowSimulations.

A trait which provides Lookahead compatibility to FlowSimulations.

Works by parsing the entire flow at the start of the simulation to build a Lookahead automatically.

class FlowSimulation(val name: String, val manager: Manager, val flow: Flow) extends AsyncSimulation

A simulation of a Flow.

A simulation of a Flow.

It uses a Flow structure which describes how and in what order certain tasks should be executed. A Flow may consist of a single FlowTask or some combination of FlowTasks which are joined using Ands, Thens, and Ors.

Value Params
flow

The flow which describes how the simulation behaves

manager

The simulation manager for this simualation.

name

The name of the simulation being managed.

class FlowSimulationGenerator(baseName: String, flow: Flow) extends SimulationGenerator
class FlowTask(t: Task) extends Flow
class NoTask() extends Flow
class Or(val left: Flow, val right: Flow) extends Flow
case
class RandomFlowFactory(andProbability: Float, resources: Seq[TaskResource], numTasks: Distribution, durations: LongDistribution, numResources: Distribution, cost: Distribution, priority: Distribution)

Factory for making random flows given some parameters

Factory for making random flows given some parameters

Value Params
andProbability

Probability that a flow node is an And. Must be in range [0,1]. The inverse probability yeilds Then nodes.

cost

Distribution determining cost of a task

durations

Distribution determining task duration.

numResources

Distribution determining number of resources required by each task. Distribution values must not exceed Int.MaxValue due to truncation during rounding from Long to Int

numTasks

Distribution determining the number of tasks in the flow. Distribution values must not exceed Int.MaxValue due to truncation during rounding from Long to Int

priority

Distribution determining priority of a task

resources

The list of available resources

class Then(val left: Flow, val right: Flow) extends Flow