A UML pattern language / Paul Evitts. - Evitts, Paul (Software engineering series, 2000)