## Petri Transition Bean

The Petri Transition bean is used in a Petri Net agent to represent actions taken when the input Places contain an enabling set of tokens. A boolean guard clause can be specified as well as a set of actions using ARL (Java) syntax. An optional firing probability can be defined as well as an optional exponential delay.

Transitions are connected to Places using Petri Net arcs represented by standard data connections.

### Implementation

The Petri Transition can have 0, 1 or more input arcs coming from Place nodes in the Petri Net. The Transition is enabled when the correct number of tokens exist in the corresponding input Places (based on the multiplicity of the arcs).

The Transition action expressions are turned into a single ARL rule of the form Name: if (guard expression) then { actions... }

The guard expression can refer to any variables defined in the Petri Net agent and must evaluate to a boolean value. The action expressions can be any valid ARL expression in the body of a rule.

The following parameters relate to a Petri Transition bean:

#### Parameters

Guard Clause
  A boolean expression which appears in the if portion of the if/then rule.
Action expressions
  ARL expressions which appear in the then portion of the if/then rule.
Firing Probability
  A value between 0.0 and 1.0 (default is 1.0) which is used to limit how often the Transition will fire when enabled.
Firing Delay
  A mean for an exponential distribution in milliseconds which is used to specify action delays.

### References

For more information refer to the PetriNetAgent details or PetriNetTutorial.