Reasoning on UML Class Diagrams with OCL Constraints | doi.page