2015-10-30 10 views
0

я прочитал здесь https://wiki.eclipse.org/OCL/FAQ чтоOCL: навигация однонаправленных ассоциаций против направления размерной стрелки

Как получить доступ к несудоходны противоположностям в Ecore

В UML, ассоциация, которая предназначена только для навигации в один Направление во время выполнения может быть нарисовано однонаправленной стрелкой.

Оценка OCL происходит во время анализа и может перемещаться в направлениях независимо от стрелок.

Является ли эта часть стандарта OCL или только предметом экологического затмения?

Пример: для двух классов A и B и однонаправленной связи от A до B (но не от B до A). На диаграмме классов это можно проиллюстрировать стрелкой от A до B (линия с одной стрелкой, указывающей на B).

Является ли это на самом деле является частью стандарта писать OCL ограничение, навигации против этого направления стрелки?

Я ничего не мог найти об этом в спецификации OCL, см. here.

+1

Не уверен относительно OCL, но кажется логичным, что OCL может перемещаться с обеих сторон. Он предназначен для проверки модели во время разработки независимо от того, какие ограничения могут применяться на уровне реализации. –

ответ

2

Индикация навигации в UML не является абсолютной, а просто индикатором того, как вы можете легко перемещаться.

Из UML 2.5 спецификации

судоходностью означает, что экземпляры, участвующие в ссылке во время выполнения (экземпляров Ассоциации) можно получить эффективно из экземпляров на других концах Ассоциации. Точный механизм , благодаря которому достигается такой эффективный доступ, специфичен для реализации. Если конец не является судоходным, доступ с других концов может быть или не быть возможно, и если да, то это может быть неэффективно.

Поэтому, я думаю, OCL должен иметь возможность перемещаться в обоих направлениях, независимо от навигационной способности.