pub struct ReachabilityProperty {
name: String,
disj: Vec<Reachability>,
}Expand description
A named reachability Property
Fields§
§name: StringName of the property
disj: Vec<Reachability>Disjunctions over constraints of the form () && <>()
Implementations§
Source§impl ReachabilityProperty
impl ReachabilityProperty
Sourcepub fn from_named_eltl<S: ToString>(
name: S,
expr: ELTLExpression,
) -> Result<Self, ReachabilityTransformationError>
pub fn from_named_eltl<S: ToString>( name: S, expr: ELTLExpression, ) -> Result<Self, ReachabilityTransformationError>
Try to construct a new reachability property from an ELTLExpression
Sourcepub fn contains_reachability_constraint(&self) -> bool
pub fn contains_reachability_constraint(&self) -> bool
Check whether this constraint contains a reachability constraint
A reachability constraint requires at least one location to be empty.
Sourcepub fn create_tas_to_check<T: ModifiableThresholdAutomaton>(
&self,
ta: &T,
) -> impl Iterator<Item = (DisjunctionTargetConfig, T)>
pub fn create_tas_to_check<T: ModifiableThresholdAutomaton>( &self, ta: &T, ) -> impl Iterator<Item = (DisjunctionTargetConfig, T)>
Create the threshold automata that need to be checked
Trait Implementations§
Source§impl Clone for ReachabilityProperty
impl Clone for ReachabilityProperty
Source§fn clone(&self) -> ReachabilityProperty
fn clone(&self) -> ReachabilityProperty
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ReachabilityProperty
impl Debug for ReachabilityProperty
Source§impl PartialEq for ReachabilityProperty
impl PartialEq for ReachabilityProperty
Source§impl<C: ModelCheckerContext> SpecificationTrait<C> for ReachabilityProperty
impl<C: ModelCheckerContext> SpecificationTrait<C> for ReachabilityProperty
Source§type TransformationError = ReachabilityTransformationError
type TransformationError = ReachabilityTransformationError
Error occurring when transformation from ELTL specification fails
Source§type InternalSpecType = DisjunctionTargetConfig
type InternalSpecType = DisjunctionTargetConfig
Internal specification type the model checker works on
Source§fn try_from_eltl(
spec: impl Iterator<Item = (String, ELTLExpression)>,
_ctx: &C,
) -> Result<Vec<Self>, Self::TransformationError>
fn try_from_eltl( spec: impl Iterator<Item = (String, ELTLExpression)>, _ctx: &C, ) -> Result<Vec<Self>, Self::TransformationError>
Try to derive the specification type from ELTL specification
Source§fn transform_threshold_automaton<TA: ThresholdAutomaton + ModifiableThresholdAutomaton>(
ta: TA,
specs: Vec<Self>,
_ctx: &C,
) -> Vec<(Self::InternalSpecType, TA)>
fn transform_threshold_automaton<TA: ThresholdAutomaton + ModifiableThresholdAutomaton>( ta: TA, specs: Vec<Self>, _ctx: &C, ) -> Vec<(Self::InternalSpecType, TA)>
Create threshold automata to check Read more
impl StructuralPartialEq for ReachabilityProperty
Auto Trait Implementations§
impl Freeze for ReachabilityProperty
impl RefUnwindSafe for ReachabilityProperty
impl Send for ReachabilityProperty
impl Sync for ReachabilityProperty
impl Unpin for ReachabilityProperty
impl UnwindSafe for ReachabilityProperty
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
Mutably borrows from an owned value. Read more
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>
Converts
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>
Converts
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