Object-Oriented Methods: A Foundation, UML Edition (2nd Edition)