pub struct ErrorSpec {
name: String,
source: Box<ELTLExpression>,
ef: ErrorFormula,
}Expand description
Named specification of erroneous behavior
An ErrorSpec pairs the original ELTL property with the ErrorFormula
describing its violations. The threshold automaton violates the property if
and only if there exists a run satisfying the error formula.
Fields§
§name: StringName of the property
source: Box<ELTLExpression>The ELTL property this error specification was derived from
ef: ErrorFormulaFormula describing the violations of the property
Implementations§
Source§impl ErrorSpec
impl ErrorSpec
Sourcepub fn from_named_eltl<S: Into<String>>(
name: S,
property: ELTLExpression,
) -> Result<Self, ExtractionError>
pub fn from_named_eltl<S: Into<String>>( name: S, property: ELTLExpression, ) -> Result<Self, ExtractionError>
Error specification of a named ELTL formula
property describes the erroneous behavior and is not negated here.
Negations are pushed to the atoms, then the formula is transformed into
an ErrorFormula. Temporal operators at the top level become
targets. Atoms at the top level restrict the initial configuration.
Source§impl ErrorSpec
impl ErrorSpec
Sourcepub fn source(&self) -> &ELTLExpression
pub fn source(&self) -> &ELTLExpression
Get the ELTL property this specification was derived from
Sourcepub fn error_formula(&self) -> &ErrorFormula
pub fn error_formula(&self) -> &ErrorFormula
Get the formula describing the violations of the property
Sourcepub fn create_tas_to_check<T: ModifiableThresholdAutomaton>(
&self,
ta: &T,
) -> impl Iterator<Item = (ErrorTarget, T)>
pub fn create_tas_to_check<T: ModifiableThresholdAutomaton>( &self, ta: &T, ) -> impl Iterator<Item = (ErrorTarget, T)>
Create the threshold automata that need to be checked
Trait Implementations§
Source§impl<C: ModelCheckerContext> SpecificationTrait<C> for ErrorSpec
impl<C: ModelCheckerContext> SpecificationTrait<C> for ErrorSpec
Source§type TransformationError = ExtractionError
type TransformationError = ExtractionError
Source§type InternalSpecType = ErrorTarget
type InternalSpecType = ErrorTarget
Source§fn try_from_eltl(
spec: impl Iterator<Item = (String, ELTLExpression)>,
_ctx: &C,
) -> Result<(Vec<Self>, Vec<String>), Self::TransformationError>
fn try_from_eltl( spec: impl Iterator<Item = (String, ELTLExpression)>, _ctx: &C, ) -> Result<(Vec<Self>, Vec<String>), Self::TransformationError>
Source§fn transform_threshold_automaton<TA: ThresholdAutomaton + ModifiableThresholdAutomaton>(
ta: TA,
specs: Vec<Self>,
_ctx: &C,
) -> Vec<(String, Self::InternalSpecType, TA)>
fn transform_threshold_automaton<TA: ThresholdAutomaton + ModifiableThresholdAutomaton>( ta: TA, specs: Vec<Self>, _ctx: &C, ) -> Vec<(String, Self::InternalSpecType, TA)>
impl StructuralPartialEq for ErrorSpec
Auto Trait Implementations§
impl Freeze for ErrorSpec
impl RefUnwindSafe for ErrorSpec
impl Send for ErrorSpec
impl Sync for ErrorSpec
impl Unpin for ErrorSpec
impl UnsafeUnpin for ErrorSpec
impl UnwindSafe for ErrorSpec
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