PER Firmware
Loading...
Searching...
No Matches
faultgen Namespace Reference

Functions

 validate_fault_configs (List[FaultModule] fault_modules)
 
str validate_fault_injection (List[Node] nodes, List[FaultModule] fault_modules, Dict bus_configs)
 
 inject_fault_messages (List[Node] nodes, List[FaultModule] fault_modules, Dict bus_configs, str fault_bus_name, Dict custom_types)
 
 inject_fault_types (Dict custom_types, List[FaultModule] fault_modules)
 
 augment_system_with_faults (List[Node] nodes, Dict bus_configs, Dict custom_types)
 
 generate_fault_data (SystemContext context)
 

Detailed Description

faultgen.py

Author: Irving Wang (irvingw@purdue.edu)

Function Documentation

◆ augment_system_with_faults()

faultgen.augment_system_with_faults ( List[Node] nodes,
Dict bus_configs,
Dict custom_types )
Middleware: Enriches Nodes with fault communication protocols and 
registers fault types in the global type system. (Change B)

◆ generate_fault_data()

faultgen.generate_fault_data ( SystemContext context)
Entry point for implementation generation. Consumed by build.py.

◆ inject_fault_messages()

faultgen.inject_fault_messages ( List[Node] nodes,
List[FaultModule] fault_modules,
Dict bus_configs,
str fault_bus_name,
Dict custom_types )
Inject TX and RX messages for faults into Node objects.

◆ inject_fault_types()

faultgen.inject_fault_types ( Dict custom_types,
List[FaultModule] fault_modules )
Inject fault_id_t enum into the common types list.

◆ validate_fault_configs()

faultgen.validate_fault_configs ( List[FaultModule] fault_modules)
Semantic validation for faults.

◆ validate_fault_injection()

str faultgen.validate_fault_injection ( List[Node] nodes,
List[FaultModule] fault_modules,
Dict bus_configs )
Check for potential issues that would prevent successful injection.
Runs BEFORE inject_fault_messages to ensure 'clean' state.