Preprocessor

Trait Preprocessor 

Source
pub trait Preprocessor<T: ModifiableThresholdAutomaton + ThresholdAutomaton, S: TargetSpec, C: ModelCheckerContext> {
    // Required method
    fn process(&self, ta: &mut T, spec: &S, ctx: &C);
}
Expand description

Trait for preprocessing threshold automata

This trait is implemented by types that can process a threshold automaton to simplify it for further analysis.

Required Methods§

Source

fn process(&self, ta: &mut T, spec: &S, ctx: &C)

Process the threshold automaton and attempt to simplify it

Trait Implementations§

Source§

impl<S, C> From<ExistingPreprocessors> for Box<dyn Preprocessor<GeneralThresholdAutomaton, S, C>>
where S: TargetSpec, C: ModelCheckerContext + ProvidesSMTSolverBuilder,

Source§

fn from(val: ExistingPreprocessors) -> Self

Converts to this type from the input type.

Implementors§

Source§

impl<S: TargetSpec, C: ModelCheckerContext + ProvidesSMTSolverBuilder> Preprocessor<GeneralThresholdAutomaton, S, C> for CheckInitCondSatSMT

Source§

impl<S: TargetSpec, C: ModelCheckerContext + ProvidesSMTSolverBuilder> Preprocessor<GeneralThresholdAutomaton, S, C> for ReplaceTrivialGuardsSMT

Source§

impl<S: TargetSpec, C: ModelCheckerContext> Preprocessor<GeneralThresholdAutomaton, S, C> for CollapseLocations

Source§

impl<S: TargetSpec, C: ModelCheckerContext> Preprocessor<GeneralThresholdAutomaton, S, C> for DropUnreachableLocations

Source§

impl<S: TargetSpec, C: ModelCheckerContext> Preprocessor<GeneralThresholdAutomaton, S, C> for RemoveUnusedVariables

Source§

impl<S: TargetSpec, C: ModelCheckerContext> Preprocessor<GeneralThresholdAutomaton, S, C> for ReplaceTrivialGuardsStatic

Source§

impl<T: ModifiableThresholdAutomaton, S: TargetSpec, C: ModelCheckerContext + ProvidesSMTSolverBuilder> Preprocessor<T, S, C> for DropUnsatisfiableRules

Source§

impl<T: ModifiableThresholdAutomaton, S: TargetSpec, C: ModelCheckerContext> Preprocessor<T, S, C> for DropSelfLoops