reliaqualassociates / ramstk Goto Github PK
View Code? Open in Web Editor NEWReliability, Availability, Maintainability, Safety (RAMS) analysis program.
Home Page: https://www.reliaqual.com/rtk/
License: BSD 3-Clause "New" or "Revised" License
Reliability, Availability, Maintainability, Safety (RAMS) analysis program.
Home Page: https://www.reliaqual.com/rtk/
License: BSD 3-Clause "New" or "Revised" License
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
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.
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.
in the Software module, replace all instances of 'self._app.debug_log.' with rtk_error, rtk_warning, or rtk_question dialogs as appropriate. Existing 'self._app.debug_log.' calls may remain if the information being logged could be helpful in troubleshooting problems.
There are no availability calculations for the Hardware class. Availability cannot be calculated until the maintainability analysis is added to the Hardware class.
There is currently no method to "close" or disconnect from the open RTK Program database other than closing the RTK application. Please add the ability to close the currently open RTK Program database and keep the RTK application running.
There is no callback function/method for the Recommended and Selected columns in either the unit or module test technique selection matrices. These are the only columns that need a callback function/method.
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
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.
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.
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
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()
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.
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
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.
When right-clicking on the Requirements Module View RTKTreeView, a pop-up menu with the following options should appear:
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)
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.
There is currently no contact power overstress calculation for the switch component type. Contact power overstress conditions for switches need to be determined and added to RTK.
The Hardware risk map is not loaded with saved results. It must be calculated each time a new Hardware item is selected. This may require changes to the backend database structure.
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.
There is no functionality for creating/displaying functional block diagrams in the Function module. Please add Functional Block Diagrams to the Function module.
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.
There is no field in the RTK Program database table rtk_stress to hold the reason the component is over-stressed. There needs to be a BLOB field for this information.
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.
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.
There is currently no overstress calculation for the fuse component type. Overstress conditions for fuses need to be determined and added to RTK.
The Hardware class currently has no maintainability analysis. Add maintainability analysis per MIL-STD-471, MIL-HDBK-470, and MIL-HDBK-472.
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().
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.
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.
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.
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.
There is currently no contact power overstress calculation for the relay component type. Contact power overstress conditions for relays need to be determined and added to RTK.
When updating the RG planning and feasibility treeviews, the values that are edited are only set if the Tab key is used to leave the cell. The values should update when using the Enter key and when selecting a new cell with the mouse.
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.
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.
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.
When using the Power Law model, there is no way to use/select Crow or Fisher methods for estimating confidence bounds on the MTBF or failure rate.
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.
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.
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.
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.
When saving a Hardware item or saving all Hardware items, there is no busy cursor while the save operation is in progress.
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.
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.
in the Testing module, replace all instances of 'self._app.debug_log.' with rtk_error, rtk_warning, or rtk_question dialogs as appropriate. Existing 'self._app.debug_log.' calls may remain if the information being logged could be helpful in troubleshooting problems.
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().
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.
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.
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.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.