Universal Modeling Language, in the end, is not capable of describing the subtleties of relationships between objects in a software system. As a prescriptive pattern of software design, it functions best as a quick way to model taxonomical object systems, but there's a discontinuity of effort at the margins of system design at the foot of which it falters. For covering these boundary cases, higher-level domain specific languages, or DSLs are far superior.
Model Driven Architecture, because it is based on UML, falls into this pit of expressive discontinuity.