pub enum ZCSModelCheckerHeuristics {
ResetHeuristics,
DecrementAndIncrementHeuristics,
CanonicalHeuristics,
EmptyErrorGraphHeuristics,
}Expand description
this enum defines SymbolicModelChecker Heuristics, such a heuristics defines which symbolic paths are ignored and which specifications and threshold automata can be checked
Additionally it describes a greedy heuristics which only checks if the symbolic error graph is empty.
Variants§
ResetHeuristics
this heuristics yields a semi-decision procedure
by unfolding cycles if the given ta contains resets
it can be used to verify extended threshold automata
for coverability or reachability specifications
DecrementAndIncrementHeuristics
this heuristics yields a semi-decision procedure
by unfolding cycles if the given ta contains increments and decrements
it can be used to verify extended threshold automata
for coverability or reachability specifications
CanonicalHeuristics
this heuristics yields a decision procedure by only traversing cycles once it can be used to verify canonical threshold automata (no resets/decrements) for coverability or reachability specifications
EmptyErrorGraphHeuristics
this is a greedy heuristics that only checks if the symbolic error graph is empty it is neither complete nor sound but guarantees termination if the error graph is empty the property holds, otherwise no conclusion can be drawn
Implementations§
Source§impl ZCSModelCheckerHeuristics
impl ZCSModelCheckerHeuristics
Sourcepub fn new_reset_heuristics() -> Self
pub fn new_reset_heuristics() -> Self
returns a new ResetHeuristics
Sourcepub fn new_decrement_and_increment_heuristics() -> Self
pub fn new_decrement_and_increment_heuristics() -> Self
returns a new DecrementsAndIncrementHeuristics
Sourcepub fn new_canonical_heuristics() -> Self
pub fn new_canonical_heuristics() -> Self
returns a new CanonicalHeuristics
Sourcepub fn new_empty_error_graph_heuristics() -> Self
pub fn new_empty_error_graph_heuristics() -> Self
returns a new CanonicalHeuristics
Sourcepub fn is_monotonic(&self) -> bool
pub fn is_monotonic(&self) -> bool
returns true iff the heuristics ensures that every steady path is monotonic
Trait Implementations§
Source§impl Clone for ZCSModelCheckerHeuristics
impl Clone for ZCSModelCheckerHeuristics
Source§fn clone(&self) -> ZCSModelCheckerHeuristics
fn clone(&self) -> ZCSModelCheckerHeuristics
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ZCSModelCheckerHeuristics
impl Debug for ZCSModelCheckerHeuristics
impl StructuralPartialEq for ZCSModelCheckerHeuristics
Auto Trait Implementations§
impl Freeze for ZCSModelCheckerHeuristics
impl RefUnwindSafe for ZCSModelCheckerHeuristics
impl Send for ZCSModelCheckerHeuristics
impl Sync for ZCSModelCheckerHeuristics
impl Unpin for ZCSModelCheckerHeuristics
impl UnwindSafe for ZCSModelCheckerHeuristics
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more