scalation.simulation.activity

Members list

Type members

Classlikes

class ArcD(val place: PlaceD, val transition: Transition, incoming: Boolean, val minFluids: VectorD, rates: VectorD, derv: Array[Derivative], testArc: Boolean, scaleFactor: Double) extends PetriNetRules, Identifiable

The ArcD class represents an arc connecting continuous place with a transition. If incoming is true the arc is from the place to transition, otherwise it is from the transition to the place (outgoing).

The ArcD class represents an arc connecting continuous place with a transition. If incoming is true the arc is from the place to transition, otherwise it is from the transition to the place (outgoing).

Value parameters

derv

the array of derivative functions for ODE's

incoming

whether the arc goes into a transition

minFluids

minimum amount of fluid to transport over the arc

place

the continuous place at one end of the arc

rates

the rate vector for the linear flow model

scaleFactor

the scale factor for the firing delay

testArc

whether the arc is a test arc meaning the tokens/fluids stay

transition

the transition the other end of the arc

Attributes

Supertypes
trait Identifiable
class Object
trait Matchable
class Any
class ArcI(val place: PlaceI, val transition: Transition, incoming: Boolean, val minTokens: VectorI, rates: VectorI, testArc: Boolean, scaleFactor: Double) extends PetriNetRules, Identifiable

The ArcI class represents an arc connecting discrete place with a transition. If incoming is true the arc is from the place to transition, otherwise it is from the transition to the place (outgoing).

The ArcI class represents an arc connecting discrete place with a transition. If incoming is true the arc is from the place to transition, otherwise it is from the transition to the place (outgoing).

Value parameters

incoming

whether the arc goes into a transition

minTokens

minimum number of tokens to transport over the arc

place

the discrete place at one end of the arc

rates

the rate vector for the linear flow model

scaleFactor

the scale factor for the firing delay

testArc

whether the arc is a test arc meaning the tokens/fluids stay

transition

the transition at the other end of the arc

Attributes

Supertypes
trait Identifiable
class Object
trait Matchable
class Any
object Counter

The Counter object is used to provide unique identifiers for tokens/fluids.

The Counter object is used to provide unique identifiers for tokens/fluids.

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
Counter.type
class PetriNet(colors: Array[Color], placeI: Array[PlaceI], placeD: Array[PlaceD], transition: Array[Transition]) extends PetriNetRules

The PetriNet class provides a simulation engine for Hybrid Colored Petri Nets. Reference: "Discrete-event simulation of fluid stochastic Petri Nets"

The PetriNet class provides a simulation engine for Hybrid Colored Petri Nets. Reference: "Discrete-event simulation of fluid stochastic Petri Nets"

Value parameters

colors

array of colors for tokens/fluids

placeD

array of continuous places

placeI

array of discrete places

transition

array of timed transitions

Attributes

Supertypes
class Object
trait Matchable
class Any

The PetriNetRules class is used to define firing rules for the PetriNet class. It supports both constant flow and linear flow models of token (integer valued) and fluid (real valued) flow. Typically, in the constant flow model, a base flow vector is used for the threshold (require at least this number of tokens/amount of fluid) and the flow (move this number this number of tokens/amount of fluid over the arc). It is also possible to set the flow below the threshold. In the the linear flow model, a base flow vector can be augmented by additional flow that is a function of the residual left after the base is taken and the time it takes to fire the transition. The total flow may not exceed the the number/amount at the place. Additional flow models are under development.

The PetriNetRules class is used to define firing rules for the PetriNet class. It supports both constant flow and linear flow models of token (integer valued) and fluid (real valued) flow. Typically, in the constant flow model, a base flow vector is used for the threshold (require at least this number of tokens/amount of fluid) and the flow (move this number this number of tokens/amount of fluid over the arc). It is also possible to set the flow below the threshold. In the the linear flow model, a base flow vector can be augmented by additional flow that is a function of the residual left after the base is taken and the time it takes to fire the transition. The total flow may not exceed the the number/amount at the place. Additional flow models are under development.

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes
class ArcD
class ArcI
class PetriNet
class Transition
object PetriNetRulesTest extends App, PetriNetRules

The PetriNetRulesTest object is used to test the PetriNetRules trait.

The PetriNetRulesTest object is used to test the PetriNetRules trait.

runMain scalation.simulation.activity.PetriNetRulesTest

Attributes

Supertypes
trait App
trait DelayedInit
class Object
trait Matchable
class Any
Show all
Self type
class PlaceD(val x: Double, val y: Double, var fluids: VectorD) extends Identifiable

The PlaceD class represents a continuous place (can hold fluids).

The PlaceD class represents a continuous place (can hold fluids).

Value parameters

fluids

the amount of fluid per color

x

the place's x-coordinate

y

the place's y-coordinate

Attributes

Supertypes
trait Identifiable
class Object
trait Matchable
class Any
class PlaceI(val x: Double, val y: Double, var tokens: VectorI) extends Identifiable

The PlaceI class represents a discrete place (can hold tokens).

The PlaceI class represents a discrete place (can hold tokens).

Value parameters

tokens

the number of tokens per color

x

the place's x-coordinate

y

the place's y-coordinate

Attributes

Supertypes
trait Identifiable
class Object
trait Matchable
class Any
class Transition(val x: Double, val y: Double, firingDist: Variate, colors: Array[Color]) extends Temporal, Ordered[Transition], PetriNetRules, Identifiable

The Transition class represents a timed transition.

The Transition class represents a timed transition.

Value parameters

colors

the colors of the tokens (needed for firing rules)

firingDist

the random variate for the firing distribution

x

the x-coordinate for 'this' transition

y

the y-coordinate for 'this' transition

Attributes

Supertypes
trait Ordered[Transition]
trait Comparable[Transition]
trait Temporal
trait Identifiable
class Object
trait Matchable
class Any
Show all
final class petriNetTest

Attributes

Supertypes
class Object
trait Matchable
class Any

Value members

Concrete methods

def petriNetTest(): Unit

The petriNetTest main function is used to test the PetriNet class.

The petriNetTest main function is used to test the PetriNet class.

runMain scalation.activity.petriNetTest

Attributes