Refinement of UML diagrams