Расслоение производных объектов в папирусе с помощью OCL
Отсутствие обмена информацией об этом, будучи новичком в UML/OCL/Papyrus, дает мне ощущение, что я могу ошибиться:
Работая над диаграммой классов, я хотел бы создать слой а) всех объектов, которые являются членами композиции, и б) всех интерфейсов, которые наследуются от другого интерфейса. То есть, я бы сказал, наслоение по прямой и косвенной ассоциации.
В папирусе я мог бы сделать это, просто добавив элементы в слой. Более удобным было бы использование слоев Reg Exp, которые выбирают все элементы, возвращающие TRUE в логическом выражении OCL. Например, легко поместить один элемент на его собственный слой через self.element.oclAsType(uml::NamedElement).name='myclass'
Но я также хотел бы поместить все (нисходящие) связанные элементы "myclass" на этот слой. Какие-либо предложения?
1 ответ
Ответ от: https://www.eclipse.org/forums/index.php/mv/msg/1087968/1769850/
В то время как слои могут позволять вам складывать несколько логических диаграмм в одну диаграмму, это кажется очень ошибочным.
Я считаю, что как только диаграммы становятся нетривиальными, полезно нарисовать одну диаграмму, показывающую архитектуру наследования, другую - архитектуру сдерживания и, возможно, дальнейшие диаграммы для построения / разрушения, архитектуры связи. Вынужденное совместное использование со слоями, кажется, создает нежелательное ограничение. Помните, что UML Diagram - это представление базовой модели. У вас может быть много диаграмм для разных видов.