Вы не можете иметь две композиции для Borger , потому что составная агрегация является сильной формой агрегирования, требующей, чтобы объект детали включался в не более чем в один составной объект за раз (§ 9.5.3, стр. 112 из formal-17-12-05.pdf ), но иметь состав ( AggregationKind - составной )и агрегация (с AggregationKind - shared ) возможна.
Точная семантика AggregationKind при оценке shared равнане указано в норме: точная семантика общего агрегирования зависит от области приложения и моделирующего устройства (по-прежнему § 9.5.3 стр. 112 из formal-17-12-05.pdf ), поэтомувы можете решить его значение, позволяя быть совместимым с вашим делом выше.
Однако ваш случай немного странен, и я рекомендую использовать композицию и простое свойство ( AggregationKind равно нет ) для удобства чтения.
Обратите внимание, что в Java вы всегда используете указатели, экземпляр Borger не может быть действительно частью (но это возможно, например, в C ++).