Reactive Systems: Modelling, Specification and Verification