Text this: UML 2 semantics and applications