Software engineering 2 : specification of systems and languages - Bjørner, Dines