Software Engineering 2 : specification of systems and languages - Bjørner, Dines (Texts in theoretical computer science, 2006)