The Composition relationship or "black diamond" in the Unified Modeling Language (UML) is recognised for a long time as a key modeling construct. While prior research works demonstrated that this modeling operator had a dubious semantics, new expectations in the field of Component-Based Software Engineering especially, lead to revisit this operator so that it supports dynamical composition, and more precisely, composition modeling expressions and implementations that safely refer to states of software components. At first, the revision of the UML Composition must rely on well-formalized static dependencies between components as, for instance, the property of lifetime dependency between compound and constituent entities. This papers offers a UML metamodel and some associated logical assertions to strengthen the Composition relationship in UML 2. Despite the presence of new diagram types dedicated to composition (i.e., Composite Structure Diagrams), the UML 2 composition model is not yet sufficiently exhaustive and formal for dealing with all cases of composition, including those relating to agent, component or service computing and modeling.