Synthesis of Embedded Software: Frameworks and Methodologies for Correctness by Construction