OpenU.Ru
Ситуация, при которой атрибут или операция с одним и тем же именем наследуется от нескольких классов одновременно, или когда одно и то же событие запускает более одного перехода, или же любая подобная ситуация, когда при соблюдении стандартных правил, возможно появление результатов, обратных ожидаемым. В зависимости от семантики каждого вида элемента модели конфликт разрешается с помощью определенного правила. Конфликт может быть разрешенным, однако порой может привести к неопределенным результатам или указывать на то, что модель плохо согласована.
Обсуждение
Конфликтов можно избегать, если пользоваться правилами их разрешения, например:
если одна и та же черта определяется сразу несколькими суперклассами,
используйте то определение, которое было у самого старшего суперкласса (для
этого суперклассы должны быть определённым образом упорядочены). Вообще, в UML
очень немного правил для разрешения конфликтов. Если полагаться исключительно
на эти правила, не избежать недосмотров, так как часто конфликт является симптомом
более серьезных проблем модели. Лучше пусть проектировщик разберется в ситуации
сам, нежели будет полагаться на нечеткие и, возможно, сбивающие с толку правила.
В инструментах моделирования или языках программирования такие правила более
уместны, так как там они имеют конкретную подоплёку. Было бы удобно, если бы
инструменты моделирования давали проектировщику знать, когда в модели возникает
конфликтная ситуация, чтобы он мог принять меры.