Следуйте инструкциям, чтобы удалить красную линию, которая является просто полем. Это называется правым полем. Перейти в меню
Tools ->Options -> Editor -> Formatting
установить
right margin = 0
Быстрое решение ограничений:
контекст Отдел инв: 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)
Мы также можем добавить проверки, чтобы увидеть если у сотрудника есть руководитель до проведения сравнения
Наконец-то есть кое-что хорошее!
Это очень информативный документ (PDF) от Object Management Group (OMG):
Спецификация языка объектных ограничений
Я люблю отвечать на свои вопросы :)
Новичкам я бы порекомендовал эту книгу: «Язык объектных ограничений: подготовка моделей к MDA» Джоса Вармера и Аннеке Клеппе (Джос был одним из основных создателей OCL).
Также есть это бесплатное руководство по OCL (pdf + слайды)
Мне также очень нравится официальная спецификация, которую вы уже нашли (особенно глава, предлагающая неформальное описание языка).