Using UML : software engineering with objects and components - Stevens, Perdita (The Addison-Wesley object technology series, 2000)