Executable UML: How to Build Class Models