Trait

io.kagera.api.colored

Transition

Related Doc: package colored

Permalink

trait Transition[Input, Output, State] extends AnyRef

A transition in a Colored Petri Net

Input

The input type of the transition, the type of value that is required as input

Output

The output type of the transition, the type of value that this transition 'emits' or 'produces'

State

The type of state the transition closes over.

Linear Supertypes
AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Transition
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Abstract Value Members

  1. abstract def apply(inAdjacent: MultiSet[Place[_]], outAdjacent: MultiSet[Place[_]]): TransitionFunction[Input, Output, State]

    Permalink

    Given the in and out adjacent places with their weight returns a function:

    Given the in and out adjacent places with their weight returns a function:

    (Mi, S, I) => (Mo, O)

    Where:

    Mi is the in-adjacent marking, the tokens this transition consumes. S is the context state. I is input data

    Mo is the out-adjacent marking, the tokens this transition produces. O is the emitted output

    TODO instead of requiring this on a Transition trait a Type-Class approach looks more flexible.

    For example some type T[_, _, _] we have T => TransitionFunction The same goes for other properties defined on this trait.

    This way we can forgo with the entire Transition trait and let user's use whatever they want. For example, in simple cases (uncolored place / transition nets) an identifier (Int or Long) as a type is enough.

  2. abstract val id: Long

    Permalink

    The unique identifier of this transition.

    The unique identifier of this transition.

    returns

    The unique identifier.

  3. abstract val isAutomated: Boolean

    Permalink

    Flag indicating whether this transition is managed or manually triggered from outside.

    Flag indicating whether this transition is managed or manually triggered from outside.

    This is only true IFF Input == Unit.

    TODO How to encode this? the problem is in some contexts the Input type is unknown but this property might still be needed

    Require a TypeTag for Input?

  4. abstract val label: String

    Permalink

    A human readable label of this transition.

    A human readable label of this transition.

    returns

    The label.

  5. abstract def updateState: (State) ⇒ (Output) ⇒ State

    Permalink

    The state event sourcing function.

Concrete Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  5. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  6. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  7. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  8. def exceptionStrategy: TransitionExceptionHandler

    Permalink

    Indicates a strategy to use when dealing with exceptions.

  9. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  10. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  11. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  12. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  13. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  14. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  15. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  16. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  17. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  18. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  19. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  20. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from AnyRef

Inherited from Any

Ungrouped