A tool to manage RAMS data and analyses.
Project description
The RAMS ToolKit (RAMSTK)
A ToolKit for Reliability, Availability, Maintainability, and Safety (RAMS) analyses.
Documentation | |
---|---|
Tests | |
Quality | |
Packages |
🚩 Table of Contents
Disclaimer
RAMSTK attempts to use Semantic Versioning 2.0.0. Per
4, major version 0 is for initial development and anything may change at
any time. That is certainly the case for RAMSTK! Because RAMSTK is a one
developer show, there is no active develop branch at the moment. This may
change after release of 1.0.0. Until then, tagged releases can be used, but
the latest
tag may not work and may not be backwards-compatible. While major
version is at 0, breaking changes will be reflected in bumps to the minor
version number. That is, version 0.15.0 is not compatible with version 0.14.0.
Also at this time, patch versions will not be released. This will change after
version 1.0.0 is released.
🎨 Features
RAMSTK is built on the concept of modules where a module is a collection of related information and/or analyses pertinent to system development. The modules currently included in RAMSTK are:
- Function Module
- Functional decomposition
- Hazards analysis
- Requirements Module
- Stakeholder input prioritization
- Requirement development
- Analysis of requirement for clarity, completeness, consistency, and verifiability
- Hardware Module
- Reliability allocation
- Equal apportionment
- AGREE apportionment
- ARINC apportionment
- Feasibility of Objectives
- Hardware reliability predictions using various methods
- Similar items analysis
- MIL-HDBK-217F parts count
- MIL-HDBK-217F parts stress
- FMEA/FMECA
- RPN
- MIL-STD-1629A, Task 102 Criticality Analysis
- Physics of failure analysis
- Reliability allocation
- Validation Module
- Task description
- Task acceptance value(s)
- Task time
- Task cost
- Overall validation plan time/cost estimates
💾 Installing
These instructions will hopefully get RAMSTK up and running on your local machine. RAMSTK uses a Makefile to install/uninstall itself because there are various icon, data, and configuration files that also need to be installed outside site-packages. Thus, only the actual RAMSTK application is available at PyPi and the initial installation must be done using the source asset at GitHub for the release you wish to install or cloning the RAMSTK repository if you'd like the latest code.
RAMSTK uses postgresql for its database engine. You'll need to have a user with read/write access to a postgresql server to use RAMSTK.
Download and Install
Install any missing RAMSTK dependencies using pip, your package manager, and/or build from source. Then download the <version> of RAMSTK source from GitHub you wish to install.
$ wget https://github.com/ReliaQualAssociates/ramstk/archive/v<version>.tar.gz
$ tar -xf v<version>.tar.gz
$ cd ramstk-<version>
$ make install
The install target recognizes PREFIX= so you can install RAMSTK in your $HOME or a virtual environment. Since RAMSTK is still a version 0 product, it's highly recommended that you install in a virtual environment.
$ wget https://github.com/ReliaQualAssociates/ramstk/archive/v<version>.tar.gz
$ tar -xf v<version>.tar.gz
$ cd ramstk-<version>
$ make PREFIX=$VIRTUAL_ENV install
When upgrading RAMSTK, you can simply:
$ pip install
This will only install the latest RAMSTK version from PyPi and will leave configuration, data, and icon files untouched. If you are using the latest code from GitHub, you can also use the Makefile:
$ make install.dev
Development Dependencies
I use poetry to manage the dependencies for RAMSTK while I'm developing. Using the Makefile, install as follows:
$ make depends
This should get all the needed development and runtime requirements installed if they're not already.
Running the Tests
To run the entire test suite for RAMSTK after installing, simply execute:
$ make test
To run the test suite with coverage, execute:
$ make coverage
To run specific tests or groups of tests, use pytest:
$ pytest -m integration tests/modules/test_allocation.py
$ pytest -m calculation tests/analyses/prediction
🔨 Usage
After installing RAMSTK, it can be launched from a terminal emulator:
$ ramstk
This is a good option if you need to file an issue as the output should be included in your report.
RAMSTK installs a *.desktop file and can be found where ever applications in the category Math or Science are listed.
Documentation
Documentation for RAMSTK can be found at Read the Docs You should check it out!
💬 Contributing
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.
Also read DEVELOPMENT_ENV.md for instructions on setting up a development environment to work on and test RAMSTK.
🍞 Authors
- Doyle 'weibullguy' Rowland - Initial work - weibullguy
📜 License
This project is licensed under the BSD-3-Clause License - see the LICENSE file for details.
RAMSTK is also registered with the United States Copyright Office under registration number TXu 1-896-035.
Similar Products
The following are commercially available products that perform RAMS analyses . We are not endorsing any of them; they are all fine products and may be a better fit for you or your organization depending on your needs and budget . Obviously, we would prefer you use RAMSTK.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.