Ваш вопрос близок к приведенному выше примеру, который мы использовали в течение многих лет в наших тренингах по UML в моей компании BITPlan.
В этом примере есть класс ProjectAssignment, и правило состоит в том, что для каждого момента времени может быть только один ProjectAssignment с «liability = true». Сотрудник с этим присвоением Project является ProjectManager. Этот стиль также может быть применен, когда подпроект вступает в игру, и вы хотите смоделировать целую иерархию менеджеров, которая может меняться со временем.
Лично я думаю, что зачастую гораздо лучше указывать такие ограничения в прозе в документации модели, чем пытаться показать ее в структуре с использованием наследования и количества элементов.