dist_structure: System survival via reliability composition

surv.dist_structureR Documentation

System survival via reliability composition

Description

Returns a closure ⁠function(t, ...)⁠ where surv(x)(t) equals ⁠reliability(x, surv(component(x, j))(t) for each j)⁠. This is the classical identity S_sys(t) = R(S(t)) realized as a composition.

Returns a closure ⁠function(n, ...)⁠ that draws n system lifetimes by sampling each component independently and applying system_lifetime() to combine.

dist_structure is the virtual S3 class for distributions whose random variable has internal component structure: coherent reliability systems decomposed into components arranged by a structure function. Every concrete implementation (coherent_dist, series_dist, parallel_dist, kofn_dist, bridge_dist, or user-defined subclasses) should include "dist_structure", the algebraic.dist ancestor "univariate_dist", and "dist" in its class vector.

Usage

## S3 method for class 'dist_structure'
surv(x, ...)

## S3 method for class 'dist_structure'
cdf(x, ...)

## S3 method for class 'dist_structure'
sampler(x, ...)

Arguments

x

A dist_structure object.

...

Ignored.

Details

Concrete implementations provide S3 methods for the generics in this package. The minimum required methods are ncomponents(), component(), and one of phi() or min_paths(); every other generic has a default method on dist_structure that composes the primitives.

If both ⁠phi.<class>()⁠ and ⁠min_paths.<class>()⁠ are provided, the implementor is responsible for keeping them consistent: phi derives the in-package generics reliability, critical_states, and is_coherent; min_paths derives min_cuts and system_signature. Inconsistent implementations produce silently inconsistent results.

Value

This help topic documents the virtual base class together with the three distribution-algebra default methods that compose component distributions through the topology:

  • surv.dist_structure() returns a closure ⁠function(t, ...)⁠ that evaluates the system survival function via the reliability identity S_sys(t) = R(S_1(t), ..., S_m(t)).

  • cdf.dist_structure() returns a closure ⁠function(t, ...)⁠ equal to 1 - surv(x)(t).

  • sampler.dist_structure() returns a closure ⁠function(n, ...)⁠ that draws n independent system lifetimes by sampling each component and combining via system_lifetime().

Concrete subclasses override any of these for closed-form speed; see the closed-form specializations under the See Also entries.

See Also

validate_dist_structure() for an implementor-side construction-time validator. phi() and min_paths() for the bidirectional protocol primitives. The closed-form families (exp_series(), wei_kofn(), etc.) for reference implementations.


dist.structure documentation built on May 13, 2026, 1:07 a.m.