Formal methods for Programming and Analysis of Robust Behaviors of Autonomous Systems