Text this: A Formal Semantics of UML: The ASM Approach