Class TimedAnalysis
- All Implemented Interfaces:
Engine<PetriNet,Marking, SuccessionGraph>
-
Nested Class Summary
Nested Classes -
Method Summary
Modifier and TypeMethodDescriptionstatic TimedAnalysis.Builderbuilder()Creates a builder for analysis configurations (with default values).booleanChecks if the analysis can be applied to the given model.Runs this analysis on a given Petri net from an initial marking.abstract booleanReturns whether or not this analysis excludes transition firings with zero probability.abstract booleanReturns whether or not this analysis addsVariable.AGEto the set of enabled variables.abstract AnalysisLoggerlogger()Returns the logger used by this analysis.abstract booleanReturns whether or not this analysis adds theRegenerationproperty to states.abstract AnalysisMonitormonitor()Returns the monitor used by this analysis.abstract Supplier<EnumerationPolicy>policy()Returns the supplier of enumeration policies used by this analysis.abstract Supplier<StopCriterion>stopOn()Returns the supplier of local stop criterion instances used by this analysis.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.oristool.models.Engine
canAnalyze
-
Method Details
-
includeAge
public abstract boolean includeAge()Returns whether or not this analysis addsVariable.AGEto the set of enabled variables.The age variable causes all state classes to include the possible values for the time of the last firing, which are encoded by the opposite of
Variable.AGE.In most cases, this turns the state class graph in a tree.
This property is false by default.
- Returns:
- whether the analysis includes the age variable
-
markRegenerations
public abstract boolean markRegenerations()Returns whether or not this analysis adds theRegenerationproperty to states.All transitions must include a
StochasticTransitionFeature.This property is false by default.
- Returns:
- whether the analysis finds regenerations
-
excludeZeroProb
public abstract boolean excludeZeroProb()Returns whether or not this analysis excludes transition firings with zero probability.These are firings such that some transition has time-to-fire values
[a,b]withb > ain the predecessor state class, andb == ain the successor state class.This property is false by default.
- Returns:
- whether the analysis excludes transitions with zero probability
-
policy
Returns the supplier of enumeration policies used by this analysis.A new policy instance is generated for each run.
By default, a FIFO policy is used.
- Returns:
- the supplier of state class expansion policies
-
stopOn
Returns the supplier of local stop criterion instances used by this analysis. It can be used to avoid the expansion of some state classes, as if their states were absorbing.A stop criterion instance is generated for each run.
By default, an always-false local stop criterion is used.
- Returns:
- the supplier of local stop criterion
-
monitor
Returns the monitor used by this analysis. It is used to stop the analysis early and to notify messages to the user.By default, an always-false, message-discarding monitor is used.
- Returns:
- the monitor used by this analysis
-
logger
Returns the logger used by this analysis. It is used to print progress information.By default, logs are discarded.
- Returns:
- the logger used by this analysis
-
builder
Creates a builder for analysis configurations (with default values).- Returns:
- a builder of
TimedAnalysisinstances.
-
compute
Runs this analysis on a given Petri net from an initial marking.- Specified by:
computein interfaceEngine<PetriNet,Marking, SuccessionGraph> - Parameters:
pn- the input Petri netm- the initial marking- Returns:
- a succession graph encoding the state class graph
- Throws:
IllegalArgumentException- if the analysis is not applicable to the input Petri net
-
canAnalyze
Description copied from interface:EngineChecks if the analysis can be applied to the given model.Problems are collected in a
ValidationMessageCollector.- Specified by:
canAnalyzein interfaceEngine<PetriNet,Marking, SuccessionGraph> - Parameters:
pn- input model (such as a Petri net)c- collector of error messages- Returns:
- true if the analysis can be applied to the given model
-