Interface Engine<M,S,R>

Type Parameters:
M - model type (such as PetriNet)
S - initial state type (such as Marking)
R - result type (such as SuccessionGraph)
All Known Implementing Classes:
GSPNReachability, GSPNSteadyState, GSPNTransient, OneGenTransient, RegSteadyState, RegTransient, TimedAnalysis, TreeTransient

public interface Engine<M,S,R>
Common interface of analysis engines.
  • Method Summary

    Modifier and Type
    Method
    Description
    default boolean
    canAnalyze(M model)
    Checks if the analysis can be applied to the given model.
    boolean
    Checks if the analysis can be applied to the given model.
    compute(M model, S initialState)
    Runs the analysis engine on a given model and initial state.
  • Method Details

    • canAnalyze

      default boolean canAnalyze(M model)
      Checks if the analysis can be applied to the given model.
      Parameters:
      model - input model (such as a Petri net)
      Returns:
      true if the analysis can be applied to the given model
    • canAnalyze

      boolean canAnalyze(M model, ValidationMessageCollector collector)
      Checks if the analysis can be applied to the given model.

      Problems are collected in a ValidationMessageCollector.

      Parameters:
      model - input model (such as a Petri net)
      collector - collector of error messages
      Returns:
      true if the analysis can be applied to the given model
    • compute

      R compute(M model, S initialState)
      Runs the analysis engine on a given model and initial state.
      Parameters:
      model - input model (such as a Petri net)
      initialState - initial state for the analysis (such as a Marking)
      Returns:
      the result of the analysis
      Throws:
      IllegalArgumentException - if the analysis cannot be applied