BAHAMAS Input Configuration (TOML Syntax)

Purpose: This configuration file defines the parameters, input file paths, and analysis options for the BAHAMAS input system. The TOML syntax follows the JSON schema validation described in the BAHAMAS/bahamas/validation.py.

Software Failure Evaluation

The configuration file contains one top-level table:

[BBN]

This table includes three nested subtables:

  • [BBN.params] — Defines sampling and reproducibility parameters.

  • [BBN.files] — Specifies paths to required data files.

  • [BBN.analysis] — Selects the type of analysis to perform.

BBN.params

Description: Defines the analysis sampling configuration.

Syntax Example:

[BBN.params]
samples = 40000
seed = 2

Parameters:

  • samples (integer, required) The number of samples used in the analysis. Must be an integer greater than or equal to 1. Example: samples = 40000.

  • seed (integer, optional) The random number seed to ensure reproducibility. Must be a positive integer. Example: seed = 2.

BBN.files

Description: Specifies input file paths required for the analysis.

Syntax Example:

[BBN.files]
task = "../data/Task_List.xlsx"
defect = "../data/Defect_Data.xlsx"
approx = "../data/sdlc_macro.xlsx"

File Entries:

  • task (string, conditionally required) Path to the task list file. Required only when [BBN.analysis].type = "precise".

  • defect (string, required) Path to the defect data file.

  • approx (string, conditionally required) Path to the SDLC macro data file. Required only when [BBN.analysis].type = "approx".

Notes: All paths should be valid relative or absolute file paths, and may use URI-style notation.

BBN.analysis

Description: Defines the type of analysis to be performed.

Syntax Example:

[BBN.analysis]
type = 'precise'

Parameters:

  • type (string, required) Defines the analysis mode. Acceptable values:

    • 'precise' → Task-level assessment.

    • 'approx' → Stage-level assessment.

Conditional Logic:

  • If type = 'precise'[BBN.files].task must be provided.

  • If type = 'approx'[BBN.files].approx must be provided.

Example Full Configuration

Complete Example:

[BBN]

[BBN.params]
samples = 40000
seed = 2

[BBN.files]
task = "../data/Task_List.xlsx"
defect = "../data/Defect_Data.xlsx"
approx = "../data/sdlc_macro.xlsx"

[BBN.analysis]
type = 'precise'

Validation Summary

  • samples and defect are always required.

  • seed is optional.

  • task or approx is required, depending on the analysis type.

  • No additional keys beyond those listed are allowed in the BBN table.

Common Cause Failure Input Configuration (TOML Syntax)

Purpose: This defines the file inputs and (optionally) which common cause component groups (CCCGs) to generate and how to name the outputs.

Overall Structure

The configuration has one top-level table:

[CCF]

This table may contain two subtables:

  • [CCF.files]Required. Declares the input structure file.

  • [CCF.generate] — Optional. Selects which CCCGs to generate, and sets output naming/options.

CCF.files

Description: CCF file configurations.

Syntax Example:

[CCF.files]
structure = "../data/Scenario_6.csv"

Entries:

  • structure (string, required) Path to the structure file. Example: structure = "../data/Scenario_6.csv".

Warning

structure must be provided in order for the configuration to be valid.

CCF.generate

Description: Optional settings to generate CCCGs and control output naming and type.

Syntax Example:

[CCF.generate]
output_file_base = "s6_cccg"
output_type = "csv"
final = true
single = true
double = true
triple = true

Parameters:

  • output_file_base (string, optional) Base name used for generated output files. Example: "s6_cccg".

  • output_type (string, optional; enum) Type/format of the output file. Allowed values: "csv". Example: output_type = "csv".

  • final (boolean, optional) Generate the final CCCGs output if true.

  • single (boolean, optional) Generate single CCCGs output if true.

  • double (boolean, optional) Generate double CCCGs output if true.

  • triple (boolean, optional) Generate triple CCCGs output if true.

Note

All [CCF.generate] keys are optional; include only the ones relevant to your run.

Example Full Configuration

Complete Example:

[CCF]

[CCF.files]
structure = "../data/Scenario_6.csv"

[CCF.generate]
output_file_base = "s6_cccg"
output_type = "csv"
final = true
single = true
double = true
triple = true

Validation Summary

  • Required - CCF.files.structure (string).

  • Optional - All keys under [CCF.generate] (strings/booleans as defined above)

  • Types & Constraints - output_type must be one of: "csv".