Releases: rakhimov/scram
Releases · rakhimov/scram
v0.6.0: Common Cause Failure Models
Release Notes
Incorporation of Common Cause Failure.
Major Changes
- Common Cause Failure models:
- Beta Factor
- Multiple Greek Letters
- Alpha Factor
- Phi Factor
Since v0.5.0
- 42 commits resulted in 50 files changed, 2740 insertions(+), 304 deletions(-)
v0.5.0: New algorithms, Importance Analysis, and Fault Tree Preprocessing
Release Notes
This release introduces a new cut set generation algorithm that is faster than the previous algorithm. In addition, the release adds importance analysis and initial attempts to preprocess and simplify fault trees. A new analysis engine is introduced for easier preprocessing.
Major Changes
- New algorithms to efficiently generate cut sets (at least 10x improvement):
- Early set uniqueness detection
- Local minimality detection upon cut set expansions
- Fault tree preproccessing:
- Constant propagation
- Application of Boolean algebra basics for fault tree simplifications
- Complex gate expansions for XOR and ATLEAST
- Original module (independent sub-tree) detection
- Simple new module creation
- Importance analysis:
- Fussel-Vesely
- Birnbaum
- Critical Importance Factor
- Risk Reduction Worth
- Risk Achievement Worth
- Importance factors only for basic events in minimal cut sets. The other basic events are 0 importance.
- Calculations without probability information assume House event state as false.
- Separate consideration for certain basic events for uncertainty analysis:
- Only basic events with distributions are left in probability equation.
- Multiple input files with fault trees and model data are accepted for analysis.
- Simple logging system for debugging or warning.
Fixed Bugs
- House events are treated as constant in the fault tree not as regular basic events.
- House events are not included in minimal cut sets or reported with probability information anymore.
- Unity is treated in Boolean algebra for minimal cut sets. The special case of Unity top gate is handled.
- Repeated children are detected in input files. One gate cannot have the same two children in input.
Since v0.4.0
- 116 commits resulted in 226 files changed, 5342 insertions(+), 37071 deletions(-)
v0.4.0: Uncertainty Analysis
Release Notes
This release introduces uncertainty analysis and more support for OpenPSA expressions.
Major Changes
- Uncertainty analysis with Monte Carlo method
- Automated performance testing
- Probability calculation performance optimization (up to 10x faster)
- The default number of series in probability calculations is set to 7 (conservative result with acceptable performance).
- cppclean code problem check
- Lowered cyclomatic complexity of the core code (CCN < 15)
- Bug fixes of wrong output into a file
- Bug fix in log-normal distribution
- OpenPSA MEF support additions:
- Expressions:
- Constant expressions
- System mission time
- Parameter
- Random deviate (normal, log-normal, histogram, uniform, gamma, beta)
- Built-in expressions (exponential with two parameters, exponential with four parameters, Weibull)
- Expressions:
- More theory information in documentations.
- Re-introduction of deprecated Inhibit gate, Conditional and Undeveloped events.
Deprecated Features
- Vote gate is renamed to "atleast".
Since v0.3.1
- 124 commits resulted in 120 files changed, 10455 insertions(+), 3244 deletions(-)
v0.3.1: More platforms and XML support
Release Notes
Major Changes
- Pre-expansion of gates (around 4x faster tree expansion).
- Verified building for Mac OS X with macports.
- Verified building for Windows with Cygwin.
- Various statistical distributions for Monte Carlo Method and random number generator.
- OpenPSA MEF support additions:
- Several fault trees in one input file.
- Attributes
- Label
- Warnings for unused primary events.
- More example fault tree inputs.
- KDE CMake coding style and corrected function declarations according to Google Style.
- Start of GUI development with Qt
- CDash reporting.
Since v0.3.0
- 93 commits resulted in 265 files changed, 79505 insertions(+), 31439 deletions(-)
v0.3.0: OpenPSA Model Exchange Format Support
Release Notes
This release introduces a refactored structure of the core code and support for XML input files.
Major Changes
- XML input files formatted according to OpenPSA Model Exchange Format
- RelaxNG validation of input files.
- Refactored code structure conceptually similar to the structure of the XML tree from the input file.
- Three entities: Gates, Basic events, House events.
- Performance optimization of the tree expansion (around 1.5x faster) and MCS generation (around 3x faster)
- Cut-off probability for cut sets is introduced for faster probability calculations (around 40-50x faster)
- Gates can be easily re-used without creating TransferIn/Out input files
- The fault tree generator script outputs XML input file
Deprecated Features
- The previous custom input formats for a fault tree and event probabilities
- L-model probability description with failure rates (This will be implemented by more broad expressions in future)
- TransferIn and TransferOut are not gate-like types but symbols to represent the re-use of gates.
- Undeveloped/Conditional event will be treated just like a basic event with an additional description.
Since v0.2.0
- 131 commits resulted in 305 files changed 15863 insertions and 22968 deletions.
v0.2.0: Static Fault Tree Analysis
Release Notes
- New Gates and Event types:
- NULL
- NOT
- NOR
- NAND
- XOR
- VOTE
- Inhibit
- Conditional Event
- Performance improvements for minimal cut set generation.
- Initial Complexity analysis for main functions.
- Probability calculation from failure rates.
- MCUB Approximation for probability calculations.
- Better output formatting.
- Better graphing with colors.
- Time reporting.
- Bug fixes related to name clashes.
- Documentation of API and publishing by Doxygen.
- Better documentation website.
- References and information about most used MCS algorithms: MOCUS and BDD.
Since v0.1.2
- SCRAM: 97 commits resulted in 89 files changed with 3782 insertions and 953 deletions.
v0.2.0-rc2:Needs better installation instructions.
Complexity analysis for probability calculation functions. Closes #7.
v0.2.0-rc1: Needs Tests, Refactoring, Documentation
Colors are added for graphing fault trees.
v0.1.2: Transfer Trees and Documentation
Release Notes
- Analysis and graphing of a sub-tree without a main tree input file.
- Bug fixes related to analysis of a sub-tree and its graphing.
- Documentation is published on gh-pages.
Since v0.1.1
- SCRAM: 21 commits resulted in 50 changed files encompassing a net 4137
line insertions(+) and 665 deletions(-).
v0.1.1: Testing, Bug Fixes, Benchmarking
Release Notes
This release introduces unit, integration, and benchmarking tests, as well as several bug fixes.
Major changes
- Testing suite
- unit tests
- integration tests
- benchmarking tests
- Continuous Integration by Travis-CI.
- Automated Coverity scan for code quality and resource leak analysis.
- Test coverage check by Coveralls.
- Several bug fixes for input file parsing and fault tree instantiation.
- Better memory management with boost smart pointers.
Since v0.1
- SCRAM: 116 commits resulted in 107 changed files encompassing a net 4799
line insertions(+) and 923 deletions(-).