Modeling in Event-B -- System and Software Engineering Jean-Raymond Abrial Cambridge University Press