Publication Date



Technical Report: UTEP-CS-14-20


A qualified association in the Unified Modeling Language (UML) is an association that allows one to restrict the objects referred in an association using a key called a qualifier. A qualified association can appear in a constraint written in the Object Constraint Language (OCL) to specify a precise UML model. However, the OCL notation fails to provide appropriate support for expressing certain types of constraints written using qualified associations. In this paper we first describe a deficiency of OCL in expressing qualified associations and then propose a small extension to OCL to make it more expressive. The key idea of our extension is to view a qualified association as a map and provides a language construct to manipulate it as a first class entity in OCL. For this, we also extend the OCL standard library to introduce a wide range of map-specific collection operations. Our extension makes OCL not only more expressive but also amenable to a more direct translation to programming languages for various implementation uses of OCL constraints.