Skip to content

scram::mef::PeriodicTest

Periodic test with 3 phases: deploy, test, functioning.

#include <exponential.h>

Inherits from scram::mef::Expression, boost::noncopyable

Public Functions

Name
PeriodicTest(Expression * lambda, Expression * tau, Expression * theta, Expression * time)<br>Periodic tests with tests and repairs instantaneous and always successful.
PeriodicTest(Expression * lambda, Expression * mu, Expression * tau, Expression * theta, Expression * time)<br>Periodic tests with tests instantaneous and always successful.
PeriodicTest(Expression * lambda, Expression * lambda_test, Expression * mu, Expression * tau, Expression * theta, Expression * gamma, Expression * test_duration, Expression * available_at_test, Expression * sigma, Expression * omega, Expression * time)<br>Fully parametrized periodic-test description.
virtual voidValidate() const override<br>Validates the expression.
virtual doublevalue() override
virtual Intervalinterval() override

Additional inherited members

Public Functions inherited from scram::mef::Expression

Name
Expression(std::vector< Expression * > args ={})<br>Constructor for use by derived classes to register their arguments.
virtual~Expression() =default
const std::vector< Expression * > &args() const
virtual boolIsDeviate()<br>Determines if the value of the expression contains deviate expressions.
doubleSample()
voidReset()<br>This routine resets the sampling to get new values.

Protected Functions inherited from scram::mef::Expression

Name
voidAddArg(Expression * arg)<br>Registers an additional argument expression.

Public Functions Documentation

function PeriodicTest

cpp
PeriodicTest(
    Expression * lambda,
    Expression * tau,
    Expression * theta,
    Expression * time
)

Periodic tests with tests and repairs instantaneous and always successful.

Parameters:

  • lambda The failure rate (hourly) when functioning.
  • tau The time between tests in hours.
  • theta The time before the first test in hours.
  • time The current mission time in hours.

function PeriodicTest

cpp
PeriodicTest(
    Expression * lambda,
    Expression * mu,
    Expression * tau,
    Expression * theta,
    Expression * time
)

Periodic tests with tests instantaneous and always successful.

Parameters:

  • lambda The failure rate (hourly) when functioning.
  • tau The time between tests in hours.
  • theta The time before the first test in hours.
  • time The current mission time in hours.
  • mu The repair rate (hourly).

function PeriodicTest

cpp
PeriodicTest(
    Expression * lambda,
    Expression * lambda_test,
    Expression * mu,
    Expression * tau,
    Expression * theta,
    Expression * gamma,
    Expression * test_duration,
    Expression * available_at_test,
    Expression * sigma,
    Expression * omega,
    Expression * time
)

Fully parametrized periodic-test description.

Parameters:

  • lambda The failure rate (hourly) when functioning.
  • tau The time between tests in hours.
  • theta The time before the first test in hours.
  • time The current mission time in hours.
  • mu The repair rate (hourly).
  • lambda_test The component failure rate while under test.
  • gamma The failure probability due to or at test start.
  • test_duration The duration of the test phase.
  • available_at_test Indicator of component availability at test.
  • sigma The probability of failure detection upon test.
  • omega The probability of failure at restart after repair/test.

function Validate

cpp
inline virtual void Validate() const override

Validates the expression.

Exceptions:

Reimplements: scram::mef::Expression::Validate

This late validation is due to parameters that are defined late.

function value

cpp
inline virtual double value() override

Return: The mean value of this expression.

Reimplements: scram::mef::Expression::value

function interval

cpp
inline virtual Interval interval() override

Return: The domain interval for validation purposes only.

Reimplements: scram::mef::Expression::interval


Updated on 2025-11-11 at 16:51:08 +0000