Formal Synthesis of Controllers for Safety-Critical Autonomous Systems: Developments and Challenges