Advanced systems design with Java, UML, and MDA - Lano, K. (Elsevier Butterworth-Heinemann, 2005)