To follow your archiMate example:
Define Abstract Stereotype 'Element' (may extend Concept if you're following their metamodel)
Abstract Stereotype 'Motivation Element' specializes Element (possibly indirectly)
Concrete Stereotypes 'Value', 'Meaning', 'Driver', 'Assesment', 'Goal', 'Outcome', 'Principle', and 'Requirement' all specialize 'Motivation Element'
Concrete Stereotype 'Constraint' specializes requirement.
I'm not describing the extension connectors.
Create a stereotype «stereotyped relationship» {stereotype=Composition} to a «metaclass» with one of the names in my previous post. In all cases each of the stereotypes will be allowed to have a composition to other elements with the same stereotype. How they differ is in the behavior of Requirement and Constraint.
If the target is 'source.metatype' Neither Requirement or Constraint will be able to have a composition relationship to the other.
If the target is 'source.metatype.general', Constraint can have a composition to Requirement.
If the target is 'source.metatype.specific', Requirement can have a composition to Constraint.
If the target is 'source.metatype.both', both can have a composition to the other. (Which happens to match the relationship table in the ArchiMate specification)
Which one is your interpretation of "every element in the language can have composition, aggregation, and specialization relationships with elements of
the same type"?