Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


Язык объектных ограничений OCL




Один из самых серьезных и справедливо критикуемых недостатков языка моделирования UML — предоставление разработчику только визуальных средств моделирования. Эти средства абстрактны и поэтому далеко не всегда способны точно и формально отразить тот или иной нюанс функционирования проектируемой системы. В результате проектировщик не находит достаточно выразительных средств, позволяющих уточнить ограничения на применение создаваемых структур, специфицировать способы и нюансы их внутреннего функционирования, ввести условия использования и так далее. Конечно, можно представить эти особенности программным кодом конкретной среды программирования. Однако язык UML нацелен, прежде всего, на создание платформно-независимых моделей. Поэтому применяемый для этого текстовый язык, связанный с моделями UML, как минимум, тоже должен быть независим от операционной системы и среды разработки.

В начале 1990-х годов в корпорации IBM разрабатывалась методика объектно-ориентированного анализа и проектирования Syntropy. Она включала математический язык текстовых описаний элементов визуальных моделей, который оказался сложен для массового практического использования.

Впоследствии на его основе был создан язык объектных ограничений ОСЬ (Object Constraint Language), который применялся тогда как язык моделирования. Сильной стороной языка OCL оказалась независимость от платформы реализации и легкая адаптация к разным средам программирования. Он активно применялся для описания особенностей объектных информационных систем и в 1997 году вошел в стандарт языка UML 1.1.

До появления языка OCL в системах визуального моделирования при уточнении ограничений на диаграммах UML применялись комментарии или рекомендации на естественном языке. Они нередко трактовались неоднозначно.

Язык OCL снял множество проблем при проектировании моделей UML. Он предоставил разработчику набор формальных средств взаимодействия с объектами создаваемого приложения. Со временем язык OCL перерос границы стандарта UML. Он нередко задействуется как универсальный и, главное, платформ-но-независимый язык описания бизнес-логики. Например, сценарии OCL можно выделять и настраивать в проекте независимо от программного кода на конкретном языке.

Язык OCL не является языком программирования. Он предназначен для формального определения выражений, обрабатывающих объекты. Выражение OCL обычно привязано к определенному классу UML и задает множество экземпляров этого класса. Команды OCL выполняют также фильтрацию этого множества или, например, определяют число его элементов.

Язык OCL содержит развитые средства манипуляции над множествами объектов, поэтому он хорошо подходит для решения задач, где обычно применяется язык запросов к реляционным базам данных SQL. Язык OCL позволяет организовывать запросы с большей эффективностью и на более высоком, модельном уровне абстракции, нежели язык SQL.

Выражение OCL фактически задает условие, которому должны удовлетворять все экземпляры соответствующего объекта UML. Результатом выполнения выражения OCL является множество объектов, удовлетворяющих этому условию. Условие, которое задается выражением OCL, называется инвариант. Оно представляет собой набор правил или шаблон, накладываемый на описание объекта. Значением инварианта является логическая величина (True или False). Выражения OCL встраиваются в модели UML или задаются в сопроводительной документации.

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

Привязка выражения OCL к объекту UML происходит через так называемое объявление контекста. В начале выражения задействуется наименование нужного класса объекта. Может также указываться ключевое слово self (ссылка на текущий объект). Оно допускается, если контекст вычисляемого выражения однозначен, очевиден и может быть связан с выражением автоматически.


Поделиться:

Дата добавления: 2015-04-04; просмотров: 224; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.006 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты