Рекурсия в OCL

Да предположим, че имам тази класова диаграма в UML:

рекурсия в OCL

Как мога да направя в OCL, за да посоча, че екземпляр на A не е включен в list_of_As рекурсивно? С други думи, екземпляр на A може да не бъде включен в A.list_of_As и да не бъде включен във всички list_of_As на всички екземпляри на A в A.list_of_As и т.н...?


person Julien Mellerin    schedule 23.12.2012    source източник


Отговори (1)


Можете да използвате преходно затваряне оператор, closure(), за да получите списък с A. След това просто проверете за несъществуването на елемента, който не искате да виждате в този списък.

person Community    schedule 23.12.2012