Skip to content

praxis_cli / cli / fault_tree


Module fault_tree

Contents

Quick Reference

ItemKindDescription
FaultTreePreStatestruct
FaultTreeOutputsstruct
FaultTreePreOutcomeenum
cli_build_optionsfn
build_pdag_and_bddfn
enumerate_cut_setsfn
diagram_cut_set_countfn
choose_zbdd_filters_interactivelyfn
print_cut_sets_summaryfn
zbdd_wf1_no_approx_no_limitsfn
zbdd_wf2_approx_no_limitsfn
zbdd_wf3_no_approx_limitsfn
zbdd_wf4_approx_limitsfn
apply_zbdd_filtersfn
compute_approxfn
run_pre_event_tree_implfn
run_pre_event_tree_parsedfn
run_post_event_treefn
BuiltPdagAndBddtype

Structs

FaultTreePreState

rust
struct FaultTreePreState {
    pub fault_tree: praxis::core::fault_tree::FaultTree,
    pub result: praxis::analysis::fault_tree::AnalysisResult,
    pub computed_cut_sets: Option<Vec<praxis::algorithms::mocus::CutSet>>,
}

Trait Implementations

impl<ST> CastableFrom for FaultTreePreState
impl Instrument for FaultTreePreState
impl IntoEither for FaultTreePreState
impl Pointable for FaultTreePreState
  • <span id="faulttreeprestate-pointable-const-align"></span>const ALIGN: usize

  • <span id="faulttreeprestate-pointable-type-init"></span>type Init = T

  • <span id="faulttreeprestate-pointable-init"></span>unsafe fn init(init: <T as Pointable>::Init) -> usize

  • <span id="faulttreeprestate-pointable-deref"></span>unsafe fn deref<'a>(ptr: usize) -> &'a T

  • <span id="faulttreeprestate-pointable-deref-mut"></span>unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

  • <span id="faulttreeprestate-pointable-drop"></span>unsafe fn drop(ptr: usize)

impl Read for FaultTreePreState
impl Same for FaultTreePreState
  • <span id="faulttreeprestate-same-type-output"></span>type Output = T
impl<SS> SupersetOf for FaultTreePreState
  • <span id="faulttreeprestate-supersetof-to-subset"></span>fn to_subset(&self) -> Option<SS>

  • <span id="faulttreeprestate-supersetof-is-in-subset"></span>fn is_in_subset(&self) -> bool

  • <span id="faulttreeprestate-supersetof-to-subset-unchecked"></span>fn to_subset_unchecked(&self) -> SS

  • <span id="faulttreeprestate-supersetof-from-subset"></span>fn from_subset(element: &SS) -> SP

impl<V> VZip for FaultTreePreState
  • <span id="faulttreeprestate-vzip"></span>fn vzip(self) -> V
impl WithSubscriber for FaultTreePreState

FaultTreeOutputs

rust
struct FaultTreeOutputs {
    pub fault_tree: praxis::core::fault_tree::FaultTree,
    pub result: praxis::analysis::fault_tree::AnalysisResult,
    pub computed_cut_sets: Option<Vec<praxis::algorithms::mocus::CutSet>>,
    pub computed_monte_carlo: Option<praxis::mc::core::MonteCarloResult>,
    pub computed_monte_carlo_config: Option<praxis::mc::core::MonteCarloRunConfig>,
}

Trait Implementations

impl<ST> CastableFrom for FaultTreeOutputs
impl Instrument for FaultTreeOutputs
impl IntoEither for FaultTreeOutputs
impl Pointable for FaultTreeOutputs
  • <span id="faulttreeoutputs-pointable-const-align"></span>const ALIGN: usize

  • <span id="faulttreeoutputs-pointable-type-init"></span>type Init = T

  • <span id="faulttreeoutputs-pointable-init"></span>unsafe fn init(init: <T as Pointable>::Init) -> usize

  • <span id="faulttreeoutputs-pointable-deref"></span>unsafe fn deref<'a>(ptr: usize) -> &'a T

  • <span id="faulttreeoutputs-pointable-deref-mut"></span>unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

  • <span id="faulttreeoutputs-pointable-drop"></span>unsafe fn drop(ptr: usize)

impl Read for FaultTreeOutputs
impl Same for FaultTreeOutputs
  • <span id="faulttreeoutputs-same-type-output"></span>type Output = T
impl<SS> SupersetOf for FaultTreeOutputs
  • <span id="faulttreeoutputs-supersetof-to-subset"></span>fn to_subset(&self) -> Option<SS>

  • <span id="faulttreeoutputs-supersetof-is-in-subset"></span>fn is_in_subset(&self) -> bool

  • <span id="faulttreeoutputs-supersetof-to-subset-unchecked"></span>fn to_subset_unchecked(&self) -> SS

  • <span id="faulttreeoutputs-supersetof-from-subset"></span>fn from_subset(element: &SS) -> SP

impl<V> VZip for FaultTreeOutputs
  • <span id="faulttreeoutputs-vzip"></span>fn vzip(self) -> V
impl WithSubscriber for FaultTreeOutputs

Enums

FaultTreePreOutcome

rust
enum FaultTreePreOutcome {
    ExitOk,
    Continue(Box<FaultTreePreState>),
}

Trait Implementations

impl<ST> CastableFrom for FaultTreePreOutcome
impl Instrument for FaultTreePreOutcome
impl IntoEither for FaultTreePreOutcome
impl Pointable for FaultTreePreOutcome
  • <span id="faulttreepreoutcome-pointable-const-align"></span>const ALIGN: usize

  • <span id="faulttreepreoutcome-pointable-type-init"></span>type Init = T

  • <span id="faulttreepreoutcome-pointable-init"></span>unsafe fn init(init: <T as Pointable>::Init) -> usize

  • <span id="faulttreepreoutcome-pointable-deref"></span>unsafe fn deref<'a>(ptr: usize) -> &'a T

  • <span id="faulttreepreoutcome-pointable-deref-mut"></span>unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

  • <span id="faulttreepreoutcome-pointable-drop"></span>unsafe fn drop(ptr: usize)

impl Read for FaultTreePreOutcome
impl Same for FaultTreePreOutcome
  • <span id="faulttreepreoutcome-same-type-output"></span>type Output = T
impl<SS> SupersetOf for FaultTreePreOutcome
  • <span id="faulttreepreoutcome-supersetof-to-subset"></span>fn to_subset(&self) -> Option<SS>

  • <span id="faulttreepreoutcome-supersetof-is-in-subset"></span>fn is_in_subset(&self) -> bool

  • <span id="faulttreepreoutcome-supersetof-to-subset-unchecked"></span>fn to_subset_unchecked(&self) -> SS

  • <span id="faulttreepreoutcome-supersetof-from-subset"></span>fn from_subset(element: &SS) -> SP

impl<V> VZip for FaultTreePreOutcome
  • <span id="faulttreepreoutcome-vzip"></span>fn vzip(self) -> V
impl WithSubscriber for FaultTreePreOutcome

Functions

cli_build_options

rust
fn cli_build_options(cli: &crate::cli::args::Args) -> praxis::algorithms::build::BuildOptions

build_pdag_and_bdd

rust
fn build_pdag_and_bdd(fault_tree: &praxis::core::fault_tree::FaultTree, opts: praxis::algorithms::build::BuildOptions) -> Result<(praxis::algorithms::pdag::Pdag, Vec<praxis::algorithms::pdag::NodeIndex>, praxis::algorithms::bdd_engine::Bdd, praxis::algorithms::bdd_engine::BddRef), Box<dyn std::error::Error>>

enumerate_cut_sets

rust
fn enumerate_cut_sets(zbdd: &praxis::algorithms::zbdd_engine::ZbddEngine, root: praxis::algorithms::zbdd_engine::ZbddRef, pdag: &praxis::algorithms::pdag::Pdag, order: &[praxis::algorithms::pdag::NodeIndex]) -> Vec<praxis::algorithms::mocus::CutSet>

diagram_cut_set_count

rust
fn diagram_cut_set_count(zbdd: &praxis::algorithms::zbdd_engine::ZbddEngine, root: praxis::algorithms::zbdd_engine::ZbddRef) -> u64

choose_zbdd_filters_interactively

rust
fn choose_zbdd_filters_interactively(cli: &crate::cli::args::Args, zbdd: &mut praxis::algorithms::zbdd_engine::ZbddEngine, root: praxis::algorithms::zbdd_engine::ZbddRef) -> praxis::algorithms::zbdd_engine::ZbddRef
rust
fn print_cut_sets_summary(label: &str, ft_id: &str, cut_sets: &[praxis::algorithms::mocus::CutSet], verbosity_level: u32)

zbdd_wf1_no_approx_no_limits

rust
fn zbdd_wf1_no_approx_no_limits(cli: &crate::cli::args::Args, fault_tree: &praxis::core::fault_tree::FaultTree, pdag: &praxis::algorithms::pdag::Pdag, order: &[praxis::algorithms::pdag::NodeIndex], bdd: &mut praxis::algorithms::bdd_engine::Bdd, bdd_root: praxis::algorithms::bdd_engine::BddRef, verbosity_level: u32) -> Result<(Vec<praxis::algorithms::mocus::CutSet>, f64), Box<dyn std::error::Error>>

zbdd_wf2_approx_no_limits

rust
fn zbdd_wf2_approx_no_limits(cli: &crate::cli::args::Args, fault_tree: &praxis::core::fault_tree::FaultTree, pdag: &praxis::algorithms::pdag::Pdag, order: &[praxis::algorithms::pdag::NodeIndex], bdd: &mut praxis::algorithms::bdd_engine::Bdd, bdd_root: praxis::algorithms::bdd_engine::BddRef, verbosity_level: u32) -> Result<(Vec<praxis::algorithms::mocus::CutSet>, f64), Box<dyn std::error::Error>>

zbdd_wf3_no_approx_limits

rust
fn zbdd_wf3_no_approx_limits(cli: &crate::cli::args::Args, fault_tree: &praxis::core::fault_tree::FaultTree, pdag: &praxis::algorithms::pdag::Pdag, order: &[praxis::algorithms::pdag::NodeIndex], bdd: &mut praxis::algorithms::bdd_engine::Bdd, bdd_root: praxis::algorithms::bdd_engine::BddRef, verbosity_level: u32) -> Result<(Vec<praxis::algorithms::mocus::CutSet>, f64), Box<dyn std::error::Error>>

zbdd_wf4_approx_limits

rust
fn zbdd_wf4_approx_limits(cli: &crate::cli::args::Args, fault_tree: &praxis::core::fault_tree::FaultTree, pdag: &praxis::algorithms::pdag::Pdag, order: &[praxis::algorithms::pdag::NodeIndex], bdd: &mut praxis::algorithms::bdd_engine::Bdd, bdd_root: praxis::algorithms::bdd_engine::BddRef, verbosity_level: u32) -> Result<(Vec<praxis::algorithms::mocus::CutSet>, f64), Box<dyn std::error::Error>>

apply_zbdd_filters

rust
fn apply_zbdd_filters(zbdd: &mut praxis::algorithms::zbdd_engine::ZbddEngine, root: praxis::algorithms::zbdd_engine::ZbddRef, limit_order: Option<usize>, cut_off: Option<f64>) -> praxis::algorithms::zbdd_engine::ZbddRef

compute_approx

rust
fn compute_approx(zbdd: &praxis::algorithms::zbdd_engine::ZbddEngine, root: praxis::algorithms::zbdd_engine::ZbddRef, approximation: Option<crate::cli::args::Approximation>) -> f64

run_pre_event_tree_impl

rust
fn run_pre_event_tree_impl(cli: &crate::cli::args::Args, fault_tree: praxis::core::fault_tree::FaultTree, verbose: bool, verbosity_level: u32) -> Result<FaultTreePreOutcome, Box<dyn std::error::Error>>

run_pre_event_tree_parsed

rust
fn run_pre_event_tree_parsed(cli: &crate::cli::args::Args, fault_tree: praxis::core::fault_tree::FaultTree, verbose: bool, verbosity_level: u32) -> Result<FaultTreePreOutcome, Box<dyn std::error::Error>>

run_post_event_tree

rust
fn run_post_event_tree(cli: &crate::cli::args::Args, pre: FaultTreePreState, verbose: bool, verbosity_level: u32) -> Result<FaultTreeOutputs, Box<dyn std::error::Error>>

Type Aliases

BuiltPdagAndBdd

rust
type BuiltPdagAndBdd = (praxis::algorithms::pdag::Pdag, Vec<praxis::algorithms::pdag::NodeIndex>, praxis::algorithms::bdd_engine::Bdd, praxis::algorithms::bdd_engine::BddRef);