leaf components

composite components

 
   

name

name

 

inputs

inputs

 

outputs  

outputs

 
 

routing table (“wires” ; “netlist”)

 
 

children Components

 

code

  
   

outputs not wired directly to other components

  

outputs sent to parent (composite components) for routing

parent determines routing of events (aka dataflow) between children

 
 

indirection provides flexibility during Architectural stage

 
 

indirection can be optimized away in certain cases