Interface Flow
From MAGEEC
This page describes the interfaces and basic flow of how the three components of MAGEEC will communicate. Between the components are the direction of communication along with what data is communicated.
Compiler | MAGEEC | ML | Comment | |||
---|---|---|---|---|---|---|
plugin_init | -> v/target | |||||
init | -> | |||||
init | ||||||
<- | ||||||
<- | needpass? | (only if needed) | ||||
genpasslist | ||||||
-> | ||||||
build/load list | -> list + vtarget | |||||
load_db | (based of v/target) | |||||
<- | ||||||
<- | ||||||
gen_features | ||||||
-> src/name | (Need to define features for here + what to do if not avail) | |||||
-> features | ||||||
decision | (Initial decision, pass list of N passes for each pass) | |||||
<- pass list | (list of passes each list with metric) | |||||
<- pass 1 | ||||||
Start of Loop | ||||||
run pass | ||||||
stats_gen | ||||||
-> stats/IR | ||||||
next_pass | ||||||
mod_stats | Update features based on either stats/IR | |||||
-> features | ||||||
decision | (Updated decision) | |||||
<- pass list | ||||||
<- | ||||||
End of Loop | ||||||
end | ||||||
-> | ||||||
end | ||||||
-> | ||||||
end |