Add common-cause failure models (beta-factor, Multiple Greek Letter, alpha-factor) that couple otherwise-independent components through a shared failure cause.
The independence assumption is currently baked into the exact engine, so CCF is a meaningful generalisation — and it is essential for credibility with safety-critical users (nuclear, process, rail, aerospace).
Estimate
Effort: L (~1–2 weeks) · Value: High
Shipped in PR #65 as CCFGroup(members, model) on NonRepairableRBD (ccf_groups=):
The exact engine is not rewritten: system reliability is computed by conditioning on each group's mutually-exclusive shock outcomes and reusing the ordinary independent system_probability per branch, so beta = 0 reproduces the independent result exactly. Honoured by sf()/ff() and persisted through serialisation; probability-dependent importance/sensitivity and condition-based methods raise a clear error on a CCF RBD for now (structural_importance, being probability-free, is unaffected).
Add common-cause failure models (beta-factor, Multiple Greek Letter, alpha-factor) that couple otherwise-independent components through a shared failure cause.
The independence assumption is currently baked into the exact engine, so CCF is a meaningful generalisation — and it is essential for credibility with safety-critical users (nuclear, process, rail, aerospace).
Estimate
Effort: L (~1–2 weeks) · Value: High
Shipped in PR #65 as
CCFGroup(members, model)onNonRepairableRBD(ccf_groups=):BetaFactor(beta)) — all-or-nothing shared cause.MGL(beta, gamma, ...)) — partial common causes (a cause failing some but not all of a group);MGL(beta)on two members is exactlyBetaFactor(beta).The exact engine is not rewritten: system reliability is computed by conditioning on each group's mutually-exclusive shock outcomes and reusing the ordinary independent
system_probabilityper branch, sobeta = 0reproduces the independent result exactly. Honoured bysf()/ff()and persisted through serialisation; probability-dependent importance/sensitivity and condition-based methods raise a clear error on a CCF RBD for now (structural_importance, being probability-free, is unaffected).