Я знаю, что в UML композиция означает, что один класс в основном включает другой с пожизненной зависимостью, т.е. когда этот класс уничтожается, класс-составитель также уничтожается. В отличие от агрегации, класс не является общим. Но потом я увидел - на конференции системных дизайнеров это:
[A Plane]<>COMPOSITION---------[Passenger]0,1--------<>[Seat]
Это будет означать, что если самолет уничтожен, все пассажиры будут уничтожены (пока правильно), НО пассажиры тогда были в агрегации (или ассоциации) с сиденьем, где каждый набор может иметь 0 или 1 пассажира. Но разве в этом случае не разделение пассажиров? На самом деле с современными языками (например, C#), если только Seat содержит ссылку на пассажира, он все равно будет существовать, независимо от того, что класс Plane был уничтожен.