Unified Modeling Language (UML) is a general modeling language for model-driven (software) engineering (MDE) applications. The UML specification defines a set of language concepts that is used to model the (static) structure and (dynamic) behavior of a system. The UML concepts include (1) an abstract syntax that defines the language concepts and is described by a metamodel, and (2) a concrete syntax, or notation, that defines how the language concepts...