Как можно определить, насколько один инструмент моделирования совместим с другим?

В UML существует понятие уровень совместимости (compliance level). Всего существует четыре уровня совместимости: L0, L1, L2, L3. Каждый уровень определяет некоторый набор конструкций UML (language unit).

Уровень L0 определяет минимальный набор, а каждый последующий уровень этот набор раcширяет.

Все конструкции, которые описаны в стандарте, входят в L3.

Уровни совместимости введены для того, чтобы классифицировать инструменты моделирования по набору поддерживаемых ими конструкций и, как следствие, определяется возможность обмена моделями между инструментами.

Например, в список конструкций уровня L0 (среди прочих) входит Class. Это значит, что любой инструмент должен уметь во внутреннем представлении модели сохранять информацию о классах.

В список конструкций уровня L1 в сравнении с L0 (среди прочих) добавлен Use Case. Это значит, что любой инструмент поддерживающий уровень L1 и выше должен уметь работать с вариантами использования. При этом никто не гарантирует, что модель, созданная в инструменте с уровнем L1 откроется в инструменте с уровнем L0. 

Оригинал тут .

{smfdispute}