Giter Site home page Giter Site logo

tahaentezari / ramstk Goto Github PK

View Code? Open in Web Editor NEW

This project forked from reliaqualassociates/ramstk

0.0 0.0 0.0 98.7 MB

Reliability, Availability, Maintainability, Safety (RAMS) analysis program.

Home Page: https://www.reliaqual.com/rtk/

License: BSD 3-Clause "New" or "Revised" License

Python 99.65% Makefile 0.31% Shell 0.04%

ramstk's Introduction

The RAMS ToolKit (RAMSTK)

A ToolKit for Reliability, Availability, Maintainability, and Safety (RAMS) analyses.

Documentation Documentation Status
Tests GitHub Workflow Status Coverage Status
Quality CodeFactor Deep Code Quality Gate
Packages GitHub release (latest SemVer including pre-releases) PyPI

๐Ÿšฉ 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
  • Validation Module
    • Task description
    • Task acceptance value(s)
    • Task time
    • Task cost
    • Overall validation plan time/cost estimates

๐Ÿ’พย  Installing

These instructions will get RAMSTK up and running on your local machine . Note that the Makefile contains all the commands needed to install or work with RAMSTK. You should consult the help output for more information.

Prerequisites

I use pip-tools to manage the dependencies for RAMSTK while I'm developing so the requirements.txt file is formated for use with the pip-sync command. However, it will also work with pip.

$ make requirements
$ pip install -r requirements.txt

should get all the needed runtime requirements installed if they're not already. The first command is needed to ensure the requirements.txt file is updated for your Python version; some dependency versions differ with Python version.

If you're planning to do some development work on RAMSTK, the following would be the better approach:

$ pip install pyenv
$ make mkvenv
$ make usevenv ramstk-venv
$ pip install pip-tools
$ make requirements
$ make depends

This will install pyenv, create a virtual environment with the default name of ramstk-venv, activate that virtual environment, install pip-tools, and then install all the RAMSTK dependencies needed for testing, development, and runtime.

RAMSTK uses postgresql for it's database engine. You'll need to have a user with read/write access to a postgresql server to use RAMSTK.

Download

Install any missing RAMSTK dependencies using pip, your package manager, and/or build from source. Then download the <version> of RAMSTK source from GitHub Releases 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

RAMSTK is also available from PyPi so you can use pip to install as well.

$ pip install

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.

ramstk's People

Contributors

weibullguy avatar dependabot-support avatar dependabot[bot] avatar rakhimov avatar dependabot-preview[bot] avatar github-actions[bot] avatar imgbotapp avatar snyk-bot avatar tahaentezari avatar imgbot[bot] avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.