Software engineering 3: domains, requirements, and software design - Bjorner, D (Springer, 2006)