Correct-by-Construction Transformations across Design Environments for Model-Based Embedded Software Development