The Object Constraint Language (OCL) was introduced as part of the Unified Modeling Language (UML). Its main purpose is to make UML models more precise by providing a constraint language. For example, operation contracts and statechart guard conditions can be precisely defined using OCL. There has been an ongoing debate on the usefulness of using OCL in UML-based development, questioning whether the additional effort and formality were worth the benefit. This paper presents the results of a controlled experiment that investigates the impact of using OCL on model comprehension and maintainability. Current results show that, once past an initial learning curve, significant benefits can be obtained by using OCL in combination with UML diagrams.

Additional Metadata
Persistent URL dx.doi.org/10.1109/ICSM.2004.1357823
Conference Proceedings - 20th IEEE International Conference on Software Maintenance, ICSM 2004
Citation
Briand, L.C., Labiche, Y, Yan, H.-D., & Di Penta, M. (2004). A controlled experiment on the impact of the object constraint language in UML-based maintenance. Presented at the Proceedings - 20th IEEE International Conference on Software Maintenance, ICSM 2004. doi:10.1109/ICSM.2004.1357823