Software Synthesis
All the software nodes are to be together and augmented by send-receive.
Each software node is called a codeblock which is technology dependent and represents the node functionality.
Software synthesis process needs to stitch together these codeblocks and form a single program to be executed by the processor.
Use flattened ordering that consider the schedule from partitioning and includes send-receive nodes.