ScEpTIC.emulator.intermittent_executor package
Subpackages
- ScEpTIC.emulator.intermittent_executor.interruption_managers package
- Submodules
- ScEpTIC.emulator.intermittent_executor.interruption_managers.base module
InterruptionManager
InterruptionManager.collect_memory_trace
InterruptionManager.do_data_anomaly_check
InterruptionManager.has_stack_activation_record_anomalies()
InterruptionManager.input_lookup_enabled
InterruptionManager.intermittent_execution_required()
InterruptionManager.requires_static_checkpoint
InterruptionManager.run_with_intermittent_execution()
- ScEpTIC.emulator.intermittent_executor.interruption_managers.energy_measure module
- ScEpTIC.emulator.intermittent_executor.interruption_managers.input module
- ScEpTIC.emulator.intermittent_executor.interruption_managers.memory_evaluate module
- ScEpTIC.emulator.intermittent_executor.interruption_managers.memory_locate module
- ScEpTIC.emulator.intermittent_executor.interruption_managers.memory_size module
- ScEpTIC.emulator.intermittent_executor.interruption_managers.output module
- ScEpTIC.emulator.intermittent_executor.interruption_managers.profiling module
- Module contents
Submodules
ScEpTIC.emulator.intermittent_executor.anomalies module
- class ScEpTIC.emulator.intermittent_executor.anomalies.BaselineDataAnomaly(cell_address, checkpoint_pc, causing_pc)
Bases:
object
- class ScEpTIC.emulator.intermittent_executor.anomalies.BaselineInputAnomaly(input_name, first_checkpoint_pc, second_checkpoint_pc, required_access_model, shown_access_model)
Bases:
object
- class ScEpTIC.emulator.intermittent_executor.anomalies.DataAnomaly(cell, current_pc, read_clock, is_false_positive)
Bases:
object
Representation of a data anomaly
- get_type()
Returns the type of the data anomaly.
- raise_exception()
Raises an exception to signal the anomaly.
- class ScEpTIC.emulator.intermittent_executor.anomalies.InputPolicyAnomaly(checkpoint_pc, access_clock, access_pc, checkpoint_clock, input_name, measured_consistency_model, imposed_consistency_model)
Bases:
object
Represents an Input Policy Anomaly
- get_type()
- class ScEpTIC.emulator.intermittent_executor.anomalies.LinearAnomaly(consumer_op, producer_op, consumer, producer, false_positive)
Bases:
object
Represents a Base anomaly for the DataLinearInterruptionManager
- add_element(anomaly)
Add an element to the anomaly element list
- add_other_pc(other_anomaly)
Add another call path that causes the same anomaly
- get_consumer_pc()
Returns a textual representation of the consumer program counter
- get_debug_data_element()
- get_element()
Return the only element of the newly found anomaly
- get_producer_pc()
Returns a textual representation of the producer program counter
- heap_memory_traces = ['allocation', 'deallocation']
- class ScEpTIC.emulator.intermittent_executor.anomalies.MemoryAccessAnomaly(generating_pc, generating_clock, current_pc, current_clock, checkpoint_pc, message)
Bases:
object
- get_type()
- class ScEpTIC.emulator.intermittent_executor.anomalies.MemoryMapAnomaly(cell, current_pc, read_clock, is_false_positive)
Bases:
DataAnomaly
Representation of a Memory Map anomaly
- get_type()
Returns the type of the data anomaly.
- class ScEpTIC.emulator.intermittent_executor.anomalies.OutputAnomaly(checkpoint_pc, access_clock, access_pc, checkpoint_clock, output_name, measured_consistency_model, imposed_consistency_model)
Bases:
object
Represents an output anomaly
- get_type()
- class ScEpTIC.emulator.intermittent_executor.anomalies.SingleStackARAnomaly(dump_cell, current_cell, element, is_false_positive)
Bases:
object
Represents a single element of a Stack Activation Record anomaly.
- class ScEpTIC.emulator.intermittent_executor.anomalies.StackARAnomaly(anomalies, checkpoint_pc, checkpoint_clock, reset_pc)
Bases:
object
- get_type()
- class ScEpTIC.emulator.intermittent_executor.anomalies.WARAnomaly(cell, current_pc, read_clock, is_false_positive)
Bases:
DataAnomaly
Representation of a Write After Read anomaly
- get_type()
Returns the type of the data anomaly.
ScEpTIC.emulator.intermittent_executor.profiling module
- class ScEpTIC.emulator.intermittent_executor.profiling.ProfilingChangeInputVal(name, value)
Bases:
Instruction
Changes input value at runtime. Used as marker by the corresponding interruption manager.
- get_uses()
Returns a list containing the names of the registers used by this instruction. (used by register allocation)
- get_val()
- name = 'sceptic_change_input'
- replace_reg_name(old_reg_name, new_reg_name)
Skeleton. Replaces the name of a register used by the instruction with a new one. (used by register allocation)
- tick_count = 0
- class ScEpTIC.emulator.intermittent_executor.profiling.ProfilingLog(name, variable)
Bases:
Instruction
Profiling log operation for profiling purposes. Used as marker by the corresponding interruption manager.
- get_run_info(run_id)
- get_uses()
Returns a list containing the names of the registers used by this instruction. (used by register allocation)
- get_val()
- name = 'sceptic_log'
- power_failures = None
- replace_reg_name(old_reg_name, new_reg_name)
Skeleton. Replaces the name of a register used by the instruction with a new one. (used by register allocation)
- tick_count = 0
- tracking = None
- class ScEpTIC.emulator.intermittent_executor.profiling.ProfilingReset(mode, value)
Bases:
Instruction
Reset operation for profiling purposes. Used as marker by the corresponding interruption manager.
- evaluate_reset_condition(power_failures)
- get_uses()
Returns a list containing the names of the registers used by this instruction. (used by register allocation)
- get_val()
- name = 'sceptic_reset'
- replace_reg_name(old_reg_name, new_reg_name)
Skeleton. Replaces the name of a register used by the instruction with a new one. (used by register allocation)
- class ScEpTIC.emulator.intermittent_executor.profiling.RunInfo(io_type, pc, global_clock, run_id, function_name, io_name, io_value)
Bases:
object
- ScEpTIC.emulator.intermittent_executor.profiling.pre_parse_profiling_log(text, ir_function_prefix)
Pre parse profiling log, so to avoid errors due to the lack of profiling_log definition in the C source code.
- ScEpTIC.emulator.intermittent_executor.profiling.process_profiling_calls(ir_function_prefix, functions, declarations)
Processes the calls to profiling operations in each function.