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].taskmust be provided.If
type = 'approx'→[BBN.files].approxmust 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
samplesanddefectare always required.seedis optional.taskorapproxis required, depending on the analysistype.No additional keys beyond those listed are allowed in the
BBNtable.
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_typemust be one of:"csv".