Как преобразовать естественный язык в ограничение OCL?

У меня есть диаграмма классов, которые состоят из класса по имени SYSTEM. Я написал ограничение на доступность этой системы.

Например:

Система должна быть доступна 24/7.

Теперь я хочу преобразовать вышеупомянутое утверждение в ограничение OCL. Я новичок в OCL. Я искал и пробовал некоторые исследовательские работы и видео, но не нашел ничего конкретного для доступности.

1 ответ

Ar run time: OCL оценивает и проверяет запрос, используя мгновенное состояние системы.

OCL не поддерживает время, но вы можете использовать Google для Temporal OCL, чтобы посмотреть, что делают различные исследователи. В более широком смысле время является активной областью исследований без твердых решений. Без изменений, OCL может получить доступ только к переменной времени работы и проверить, что она превышает 24 часа... При первом запуске ваша система должна давать сбой, потому что она не была доступна 24/7?

Если вы рассматриваете ваш конкретный запрос, это, очевидно, невозможно. На практике проектировщики могут анализировать частоту отказов в системах с одной / двумя / тремя /… кратными избыточностями в отношении соответствующих предсказуемых механизмов отказов. Ни одна система не сможет пережить непредвиденный сбой, не говоря уже о враждебном действии со стороны какого-то инсайдера или хорошо информированного постороннего лица. Опять же более реалистично, должен быть SLA, который принимает определенное количество времени простоя в год, чем меньше время простоя, тем выше стоимость.

Во время разработки вы можете использовать OCL в качестве формулировки ограничений вашего дизайна. например, математика, которая вычисляет совокупную частоту отказов одного сервера, или составную частоту отказов избыточных серверов. Но OCL не будет моим первым выбором для сложных вычислений с плавающей запятой.

Другие вопросы по тегам