The Unified Modeling Language User Guide