The "Composition" aggregation depicted in Fig. 26, p. 95 of ISO/DIS 19107 goes from GM_Composite to GM_Primitive. It is also specialized to relate the following classes:
GM_CompositePoint -> GM_Point
* GM_CompositeCurve -> GM_OrientableCurve
* GM_CompositeSurface -> GM_OrientableSurface
* GM_CompositeSolid -> GM_Solid
The backwards direction (against the arrow in the UML) is named in all these associations, translating to a getComposite() property on the following GeoAPI interfaces:
Note that the reverse direction is not implemented on the Point or Solid interfaces. Resolving this problem involves making a determination as to whether to believe the arrow on the UML diagram or the fact that the reverse direction is named and has a multiplicity defined (0..n). Whatever the decision may be, it should be a consistent decision for Primitive and all subinterfaces.