(+1) Для правильного вопроса я не видел, кто положил «-1», не указав причину.
OCL & UML используются togheter. Новые типы данных не определяются непосредственно в OCL, но сначала в UML. Позже вы использовали новый объявленный тип данных в OCL.
Значения перечисления являются примером объявления нового типа данных.
Suppouse Вы моделируете программное обеспечение для автомобилей. Вы описываете транспортные средства, имеют двигатель, и каждый двигатель имеет «состояние» или «статус».
Состояние двигателя ограничено перечислением, набором значений.
В U.M.L. диаграммы классов, новый статус описывается как поле , аналогичное классу со значениями и может иметь другие классы, , которые относятся к этому новому типу.
....................................................................
..+----------------------+.........+-----------------------------+..
..| <<enum>> |.........| <<class>> |..
..| EngineStatusEnum |.........| MotorClass |..
..+----------------------+.........+-----------------------------+..
..| * Unknown +---------+ [+] EngineStatusEnum Status |..
..| * Stopped |.........| [+] ... other members |..
..| * Running |.........+------------+----------------+..
..| * Testing |......................|...................
..| * Damaged |......................|...................
..+----------------------+.........+--------------+---------\--+....
...................................| \ |....
...................................| (Status <= Stopped &&) \|....
...................................| (Status >= Running) |....
...................................| |....
...................................+---------------------------+....
....................................................................
И примечание, отображающее какое-либо условие в OCL, применяя объявленный новый тип.
Я использую USE: среда спецификации на основе UML для моделирования и проверки дизайна с использованием OCL. Я не могу найти способ определить новый тип в модели UML в USE. Я был бы очень признателен, если бы вы могли дать мне некоторые рекомендации по определению нового типа в USE. –
@RumeshKavinda USE - странный инструмент, изобретенный в Университете Бремена, Германия. Инструмент не поддерживает стандартное моделирование классов UML, а не стандартный формат данных обмена UML * .xmi. Вы можете попытаться получить определенную поддержку, отправив почту по контактному адресу, указанному в файле readme, или разместив вопрос на форуме поддержки инструмента - http://sourceforge.net/p/useocl/discussion/928881/ – xmojmr