Кто-либо знает хорошее учебное руководство по Объектному ограничительному языку (OCL)?

Следуйте инструкциям, чтобы удалить красную линию, которая является просто полем. Это называется правым полем. Перейти в меню

Tools ->Options -> Editor -> Formatting 

установить

right  margin = 0
6
задан user 28 October 2014 в 06:17
поделиться

3 ответа

Быстрое решение ограничений:

контекст Отдел инв: self.staff -> forAll (s1, s2 | s1.manager = s2.manager)

context Инв. компании: self.employee-> forAll (e | e.manager <> e)

context Компания inv: self.employee-> forAll (e | e.salary <= e.manager.salary)

Кстати, я действительно не вижу необходимости в классе Company (сколько объектов типа company у вас в системе ?). Если ограничения два и три верны для всех компаний, то они могут быть выражены с использованием Person в качестве контекста следующим образом (например, с номером 2): context Person inv: self.manager <> self)

Мы также можем добавить проверки, чтобы увидеть если у сотрудника есть руководитель до проведения сравнения

3
ответ дан 8 December 2019 в 14:46
поделиться

Наконец-то есть кое-что хорошее!

Это очень информативный документ (PDF) от Object Management Group (OMG):

Спецификация языка объектных ограничений

Я люблю отвечать на свои вопросы :)

5
ответ дан 8 December 2019 в 14:46
поделиться

Новичкам я бы порекомендовал эту книгу: «Язык объектных ограничений: подготовка моделей к MDA» Джоса Вармера и Аннеке Клеппе (Джос был одним из основных создателей OCL).

Также есть это бесплатное руководство по OCL (pdf + слайды)

Мне также очень нравится официальная спецификация, которую вы уже нашли (особенно глава, предлагающая неформальное описание языка).

4
ответ дан 8 December 2019 в 14:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: