# GUI Front-End¶

Note

The GUI front-end does not provide access to all the features implemented in SCRAM.

The GUI front-end is developed with Qt5 and Qt Creator.

The front-end can be launched from the command-line with scram-gui. Run scram-gui --help to get more information.

Translation and localization status can be found at Crowdin.

## GUI Concerns¶

• Construction and visualization of risk analysis models (fault trees, event trees, etc.).
• Configuration of the analysis.
• Delegation of the analysis to the core.
• Presentation of the analysis results.

## Design Goals/Principles¶

• The GUI design relates to the user, not the system architecture.
• The GUI must be so intuitive, discoverable, and transparent that developers can get away with minimal or no documentation of the GUI.
• If the GUI tutorial is needed, the design is failure.
• If screen-shots are needed to discover a feature, the design is failure.

## Design Constraints¶

• Loose coupling with the SCRAM core
• Functionality
• Efficiency and Performance (Soft = 50ms)
• Correct by construction (guaranteed validity upon model construction).

## Design Assumptions¶

• Visualization and construction of analysis models are meant for human consumption and analysis, not for demonstration of how complex/complicated/large the system is.
• Risk analysis models (e.g. fault trees) of engineering systems have natural modularity; the system can be described by an interrelated/interconnected collection of components.
• A monolithic description of a component with a large number of elements (e.g. 100 or more) is practically incomprehensible for human consumption, unmaintainable, and error-prone, hiding the modeling errors.
• A myriad (10 or more) of failure scenarios describing the model is practically incomprehensible for the analyst.
• Qualitative and quantitative metrics (e.g. total probability, # of scenarios, etc.) together with data analysis and visualization help the analyst filter out the most important/relevant information to focus and act upon.
• The analyst is computer-literate and knowledgeable of risk analysis tools and techniques.

## GUI Features¶

• Full screen mode
• Dynamic/Interactive
• Scrolling/Dragging/Magnification
• Printing capability
• Find and replace
• Warning pane
• Status line
• Multi-level undo
• Hot keys/Shortcuts
• Auto-Save
• Separate editors for analysis components
• Convenient, effective view of analysis results
• Context menu
• Smart defaults