aivika-4.0: A multi-paradigm simulation library

CopyrightCopyright (c) 2009-2015, David Sorokin <david.sorokin@gmail.com>
LicenseBSD3
MaintainerDavid Sorokin <david.sorokin@gmail.com>
Stabilityexperimental
Safe HaskellNone
LanguageHaskell2010

Simulation.Aivika.Activity.Random

Description

Tested with: GHC 7.8.3

This module defines some useful predefined activities that hold the current process for the corresponding random time interval, when processing every input element.

Synopsis

Documentation

newRandomUniformActivity Source

Arguments

:: Double

the minimum time interval

-> Double

the maximum time interval

-> Simulation (Activity () a a) 

Create a new activity that holds the process for a random time interval distributed uniformly, when processing every input element.

By default, it is assumed that the activity process cannot be preempted, because the handling of possible task preemption is rather costly operation.

newRandomUniformIntActivity Source

Arguments

:: Int

the minimum time interval

-> Int

the maximum time interval

-> Simulation (Activity () a a) 

Create a new activity that holds the process for a random time interval distributed uniformly, when processing every input element.

By default, it is assumed that the activity process cannot be preempted, because the handling of possible task preemption is rather costly operation.

newRandomNormalActivity Source

Arguments

:: Double

the mean time interval

-> Double

the time interval deviation

-> Simulation (Activity () a a) 

Create a new activity that holds the process for a random time interval distributed normally, when processing every input element.

By default, it is assumed that the activity process cannot be preempted, because the handling of possible task preemption is rather costly operation.

newRandomExponentialActivity Source

Arguments

:: Double

the mean time interval (the reciprocal of the rate)

-> Simulation (Activity () a a) 

Create a new activity that holds the process for a random time interval distributed exponentially with the specified mean (the reciprocal of the rate), when processing every input element.

By default, it is assumed that the activity process cannot be preempted, because the handling of possible task preemption is rather costly operation.

newRandomErlangActivity Source

Arguments

:: Double

the scale (the reciprocal of the rate)

-> Int

the shape

-> Simulation (Activity () a a) 

Create a new activity that holds the process for a random time interval having the Erlang distribution with the specified scale (the reciprocal of the rate) and shape parameters, when processing every input element.

By default, it is assumed that the activity process cannot be preempted, because the handling of possible task preemption is rather costly operation.

newRandomPoissonActivity Source

Arguments

:: Double

the mean time interval

-> Simulation (Activity () a a) 

Create a new activity that holds the process for a random time interval having the Poisson distribution with the specified mean, when processing every input element.

By default, it is assumed that the activity process cannot be preempted, because the handling of possible task preemption is rather costly operation.

newRandomBinomialActivity Source

Arguments

:: Double

the probability

-> Int

the number of trials

-> Simulation (Activity () a a) 

Create a new activity that holds the process for a random time interval having the binomial distribution with the specified probability and trials, when processing every input element.

By default, it is assumed that the activity process cannot be preempted, because the handling of possible task preemption is rather costly operation.

newPreemptibleRandomUniformActivity Source

Arguments

:: Bool

whether the activity process can be preempted

-> Double

the minimum time interval

-> Double

the maximum time interval

-> Simulation (Activity () a a) 

Create a new activity that holds the process for a random time interval distributed uniformly, when processing every input element.

newPreemptibleRandomUniformIntActivity Source

Arguments

:: Bool

whether the activity process can be preempted

-> Int

the minimum time interval

-> Int

the maximum time interval

-> Simulation (Activity () a a) 

Create a new activity that holds the process for a random time interval distributed uniformly, when processing every input element.

newPreemptibleRandomNormalActivity Source

Arguments

:: Bool

whether the activity process can be preempted

-> Double

the mean time interval

-> Double

the time interval deviation

-> Simulation (Activity () a a) 

Create a new activity that holds the process for a random time interval distributed normally, when processing every input element.

newPreemptibleRandomExponentialActivity Source

Arguments

:: Bool

whether the activity process can be preempted

-> Double

the mean time interval (the reciprocal of the rate)

-> Simulation (Activity () a a) 

Create a new activity that holds the process for a random time interval distributed exponentially with the specified mean (the reciprocal of the rate), when processing every input element.

newPreemptibleRandomErlangActivity Source

Arguments

:: Bool

whether the activity process can be preempted

-> Double

the scale (the reciprocal of the rate)

-> Int

the shape

-> Simulation (Activity () a a) 

Create a new activity that holds the process for a random time interval having the Erlang distribution with the specified scale (the reciprocal of the rate) and shape parameters, when processing every input element.

newPreemptibleRandomPoissonActivity Source

Arguments

:: Bool

whether the activity process can be preempted

-> Double

the mean time interval

-> Simulation (Activity () a a) 

Create a new activity that holds the process for a random time interval having the Poisson distribution with the specified mean, when processing every input element.

newPreemptibleRandomBinomialActivity Source

Arguments

:: Bool

whether the activity process can be preempted

-> Double

the probability

-> Int

the number of trials

-> Simulation (Activity () a a) 

Create a new activity that holds the process for a random time interval having the binomial distribution with the specified probability and trials, when processing every input element.