Giter Site home page Giter Site logo

reliaqualassociates / ramstk Goto Github PK

View Code? Open in Web Editor NEW
37.0 6.0 12.0 105.27 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.66% Makefile 0.30% Shell 0.04%
reliability safety analysis ram rams analyses fmea

ramstk's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

ramstk's Issues

Add All Reliability Information to the copy_hardware() Method

The copy_hardware() method in the Hardware BoM class does not copy all reliability related information. The following information needs to be added to the copy:

1. Additive adjustment factor
2. Failure distribution
3. Failure parameter 1
4. Failure parameter 2
5. Failure parameter 3
6. Hazard rate method
7. Hazard rate model
8. Multiplicative adjustment factor
9. Survival analysis
10. User float values 1-20
11. User integer values 1-10
12. User string values 1-5

No set_attributes()/request_set_attributes() Methods

The Revision data model is missing the set_attributes(revision_id, attributes) method and the data controller is missing the corresponding request_set_attributes(revision_id, attributes) method. These methods were added to the base data model and base data controller after the last revision_sprint. They are currently not needed, but should be added in a future sprint.

RTKTreeView() Rows Do Not Auto Size When Width is Adjusted

When resizing the width of a column in an RTKTreeView(), the height of the row does not change automatically to accommodate wrapped text. The row should automatically increase/decrease in height as required to allow all wrapped text to be viewable.

No Availability Calculations for Hardware

There are no availability calculations for the Hardware class. Availability cannot be calculated until the maintainability analysis is added to the Hardware class.

No Check of Management Strategy

When checking the feasibility of a reliability growth test plan, the management strategy isn't checked. Add this check and use the following to set the risk levels:

- < 0.9 => high risk
- > 0.95 => high risk
- 0.9 - 0.925 => medium risk
- 0.925 - 0.95 => low risk

No get_attributes()/request_get_attributes() methods

The Revision data model is missing the get_attributes(revision_id) method and the data controller is missing the corresponding request_get_attributes(revision_id) method. These methods were added to the base data model and base data controller after the last revision_sprint. They are currently not needed, but should be added in a future sprint.

No Method to Undo/Redo Changes

Currently no method exists to undo and redo changes made to the RTK Program database. Please add this functionality. This will likely require the use of database transactions. Undo and redo level should be at least 25 and preferably will be user-selectable up to a maximum level.

Revision Sprint 2.0.0 Coding Convention Updates

This issue is for collecting changes that will be required during the next Revision sprint resulting from changes to the RTK coding conventions. None of these issues affect performance or reliability if left uncorrected.

rtk.gui.gtk.listviews.FailureDefinition.py:

1. Rename _on_cell_edited() to _do_edit_cell()
2. Rename _on_button_press() to _do_press_button()
3. Rename _request_delete() to _do_request_delete()
4. Rename _request_insert() to _do_request_insert()
5. Rename _request_update_all() to _do_request_update()
6. Rename _create_toolbar() to _make_toolbar()
7. Add method _do_change_row()
8. Have _do_change_row() method send 'selectedFailureDefinition' message
9. Have _do_edit_cell() method send 'lvwEditedFailureDefinition' message

rtk.gui.gtk.listviews.Revision.py:

rtk.gui.gtk.listviews.UsageProfile.py:

1. Rename _on_cell_edited() to _do_edit_cell()
2. Rename _on_button_press() to _do_press_button()
3. Rename _request_delete() to _do_request_delete()
4. Rename _request_insert() to _do_request_insert()
5. Rename _request_update_all() to _do_request_update()
6. Rename _create_toolbar() to _make_toolbar()
7. Rename _on_row_changed() to _do_change_row()
8. Rename _load_tree() to _do_load_tree()
9. Have _do_change_row() method send 'selectedUsage' message
  1. Have _do_edit_cell() method send 'lvwEditedUsage' message

rtk.gui.gtk.moduleviews.Revision.py:

rtk.gui.gtk.workviews.Revision.py:

1. Rename _create_toolbar() to _make_toolbar()
2. Rename _create_general_data_page() to _make_general_data_page()
3. Rename _create_assesment_results_page() to _make_assessment_results_page()
4. Rename _request_calculate() to _on_request_calculate()
5. Rename _request_delete() to _on_request_delete()
6. Rename _request_insert() to _on_request_insert()
7. Rename _request_save() to _on_request_update()

Work Book widgets not updated when Hardware Module Book is edited.

The Work Book widgets are not updated immediately when the Module Book is edited. After editing the Module Book, the edited row must be unselected and re-selected to see the edit in the Work Book. The edit should be visible in the Work Book as soon as the cell being edited in the Module Book is no longer active.

No Reports for Requirements Module

There are no reports available for the Requirements module. The following, minimum, reports should be available:

1. Stakeholder Inputs
    - List format
    - For selected Revision only
    - Sorted by ID, description, priority, affinity group, and overall weighting
    - Available as Excel, LibreOffice/OpenOffice, pdf, and text
2. Requirements
    - Hierarchical list format
    - For selected Revision only
    - Sorted by ID, requirement type, validated date, owner, priority
    - Grouped by requirement type, owner, priority, validated date
    - Available as Excel, LibreOffice/OpenOffice, pdf, and text
3. V&V Tasks
    - Nested list format
    - For selected Revision
    - Sorted by Requirement
    - Available as Excel, LibreOffice/OpenOffice, pdf, and text

Can Not Find and/or Replace in RTK

There is no method to find, find next, find previous, or find/replace in RTK. Please add the find and find/replace functionality to RTK.

No Pop-Up Menu for Module View

When right-clicking on the Requirements Module View RTKTreeView, a pop-up menu with the following options should appear:

  1. Add top-level requirement
  2. Add derived requirement
  3. Delete selected requirement
  4. Save requirements

Create Failure Definition Reports

Please create savable and printable reports for the Failure Definitions. These reports should include, at minimum:

1. Excel (*.xls[x])
2. LibreOffice/OpenOffice (*.ods)
3. XML
4. Text
5. Delimited text (*.csv)

No Mission Time Unit Selection

There is no way to select the units for mission time (e.g., minutes, hours, cycles, etc.). Please provide a method to select and display mission time units. Units are not needed for calculations so this is only an enhancement.

Add Embedded Review Checklists for Various Analyses

To support design and other review, there should be a method for the user to work through a checklist to verify the completeness of an analysis. A list of basic questions should be provided by RTK "out of the box", but this list should be editable and addable by the end-user. At a minimum, the following checklists should be provided:

1. LCC analysis
2. Reliability assessment.
3. FMEA/FMECA (functional and hardware)
4. Allocation
5. Hazards analysis

In addition, there should be design review checklists provided for PDR, CDR, and TRR. A checklist should be associated with the following:

1. Revision module to assess the overall RAM program.
2. Requirements module to assess the quality of the requirement/specification (analysis page already provides base questions, will need to re-format this to a RTKTreeView() to allow editing and addition of questions by the end-user).
3. Hardware module to assess the individual Hardware item.
4. Software module to assess the individual Software item (risk analysis page already provides base questions, will need to re-format this to a RTKTreeView to allow editing and addition of questions by the end-user).

The purpose of making these checklists addable by the end-user is to allow institutional knowledge to be captured for posterity.

Add Functional Block Diagrams

There is no functionality for creating/displaying functional block diagrams in the Function module. Please add Functional Block Diagrams to the Function module.

Power Law Model Needs GoF Test

The goodness of fit test using the Cramer-vonMises statistic needs to be implemented for the Power Law model. Currently the CvM function to calculate the test statistic, but this is not being compared to the critical value and a decision made.

Provide Robust Design Analyses

Please provide the ability to capture information for Robust Design activities. The ability to link to the Hardware FMEA as the starting point should exist.

No Pop Up Menu for ModuleView

When right-clicking the Function Module View, a pop-up menu with the following should appear:

1. Add sibling function.
2. Add child function.
3. Delete selected function.
4. Calculate functions.
5. Save functions.

Please add a pop-up menu to the Function Module View.

No Overstress Calculation for Fuses

There is currently no overstress calculation for the fuse component type. Overstress conditions for fuses need to be determined and added to RTK.

Add Maintainability Analysis

The Hardware class currently has no maintainability analysis. Add maintainability analysis per MIL-STD-471, MIL-HDBK-470, and MIL-HDBK-472.

Select All Not Possible in RTKTreeViews

It is not currently possible to select all the rows (rubber banding) in every RTKTreeView(). It should be possible to select all rows in every RTKTreeView().

Missing Overstress Calculation for Resistors

There is currently no temperature limit or voltage ratio overstress calculation for the resistor component type. Temperature limit and voltage ratio overstress conditions for resistors need to be determined and added to RTK.

No Error Handling for insert() Method

In the insert() method in the Hardware BoM data model when no parent_id is passed to the method an error code isn't set. The parent_id is simply set to zero. An error code shall be set and the method returned. The view should handle the error.

Licence file

I would like to use this project but copyright laws prevent certain use without a license included in the software. I would recommend BSD-3, however, the decision is up to you.

List View Not Updating When Editing Work View

When editing Hardware module Work View widgets, the corresponding fields in the List View are not updated. The RTK Program database must be closed and re-opened for the changes to be viewed in the List View. The edits should be viewable in the List View immediately.

Create Mission and Environmental Profile Report(s)

Need to create saveable and printable reports for the Mission and Environmental Profile. These reports should include at minimum:

1. Excel
2. XML
3. Text

This will also require connecting the menu item in WorkBook.py to a report creation method or Assistant.

Add Reliability Target Fields

There is currently no field to hold and display the reliability targets. There should be a field for the reliability target, at minimum. Fields for failure rate and MTBF may be provided as well.

No Method to Select Confidence Bound Types for RG Assessments

Currently RTK defaults to Crow bounds for the Crow-AMSAA assessment model. There should be a method for the user to select from Crow, Fisher, or Bootstrap bounds. Add a rtk.Combo() for the user to select the confidence method. This may require changes to one or more RTK Program database tables.

Existing Failure Modes Not Automatically Removed

Currently when the component category/sub-category are changed, the new failure modes are appended to the list of old failure modes. Please change this so existing failure modes are removed (along with attendant information) whenever the component category/sub-category is changed.

Removal of the failure mode(s) can be automatic, user-OK'd, or the option can be set in the RTK configuration file.

No Availability Calculations for Revision

There are no availability calculations for the Revision module. Availability can be calculated using specified MTTR inputs and do not require waiting for the maintainability analysis to be added to the Hardware module.

No Availability Calculations for Function Module

There are no availability calculations for the Function module. Availability calculations can be made using specified MTTR and do not have to wait until the maintainability analysis is added to the Hardware module.

No Method to Export RTK Data

There is no method for sending RTK data to external files. RTK shall be able to output data to the following types of files, at minimum:

1. Excel (*.xls[x])
2. LibreOffice/OpenOffice (*.ods)
3. Text
4. Delimited text (*.csv)
5. PDF
6. *.jpeg, *.png, *.svg (graphics only)

RTK may also support the following files types:

1. LaTeX (*.tex)
2. *.bmp (graphics only)

Default reports for each RTK module are documented in separate issues.

Cannot Import Complete Project

RTK currently provides only functionality to import Hardware and Incident module information. Please add support for importing information into other RTK modules. At minimum, the import routines should support Excel (.xls[x]), text, and delimited text (.csv) file formats.

No Pop-Up Menu for Revision Module View

When right-clicking the Revision Module View, a pop-up menu with the following options should appear:

1. Add revision.
2. Delete selected revision.
3. Calculate selected revision.
4. Save selected revision.
5. Save all revisions.

No Method to Cut/Copy/Paste

There is no cut/copy/paste functionality in RTK other than that which is inherent to the widgets used to display information. Cut/copy/paste should be available in all the gtk.TreeView() and Work View widgets. Paste should only be available in read-write gtk.CellRenderer()s and gtk.Entry().

No Method to Document Selected Test Techniques

In the Software module test planning tables, there is no way to indicate which test technique(s) were selected for the module/unit. Another field needs to be added to the Software test planning tables to allow the user to document which test technique(s) were selected.

This will be easiest to implement by adding a checkbox at the end of each row. It will also require a new field in the RTK Program database table.

Calendar Launch Button Needed in RG Test Planning Inputs Treeview

In the reliability growth test planning treeview, the start date and end date must be manually entered in the correct format for each test phase. A calendar widget and associated button to launch the calendar should be made available for easier date selection.

Add Pugh Concept Selection Matrix

Please add a Pugh concept selection matrix page to the Revision List View. This will also require RTK Program database table(s) and a model/controller pair.

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.