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 void | Validate() const override<br>Validates the expression. |
| virtual double | value() override |
| virtual Interval | interval() 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 bool | IsDeviate()<br>Determines if the value of the expression contains deviate expressions. |
| double | Sample() |
| void | Reset()<br>This routine resets the sampling to get new values. |
Protected Functions inherited from scram::mef::Expression
| Name | |
|---|---|
| void | AddArg(Expression * arg)<br>Registers an additional argument expression. |
Public Functions Documentation
function PeriodicTest
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
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
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
inline virtual void Validate() const overrideValidates the expression.
Exceptions:
- DomainError The argument value domains are invalid.
- ValidityError The arguments are invalid for setup.
Reimplements: scram::mef::Expression::Validate
This late validation is due to parameters that are defined late.
function value
inline virtual double value() overrideReturn: The mean value of this expression.
Reimplements: scram::mef::Expression::value
function interval
inline virtual Interval interval() overrideReturn: The domain interval for validation purposes only.
Reimplements: scram::mef::Expression::interval
Updated on 2025-11-11 at 16:51:08 +0000
