Помощь в написании студенческих работ
Антистрессовый сервис

Связь компонентной и объектной моделей

РефератПомощь в написанииУзнать стоимостьмоей работы

При этом ОСц, ОС12, ОС2, ОС3 — исходные интерфейсы в компонентной модели. Между объектными и компонентными интерфейсами установлено однозначное отображение, а для объектной и компонентной моделей такого отображения не существует, так как компонент Сотр3 имеет два входных интерфейса, т. е. функциональность классов 03 и 04 реализована в одном компоненте. Между объектным и компонентным… Читать ещё >

Связь компонентной и объектной моделей (реферат, курсовая, диплом, контрольная)

Результатом сопоставления определений алгебраических систем и изоморфизма этих систем является следующая теорема.

Теорема 7.5. Отображение О —> С создает сложный объект из КИИ и его реализацию, изоморфизм объектной и компонентной моделей задается моделью типа .

Отображение сопоставляет каждому объекту входной интерфейс. Изоморфизмы алгебраических моделей типа 2(0; R0), (/; RI) и (/; RI), {С, RC) превращают точки вариабельности / варианты сложных объектов в точки вариабельности / варианты интерфейсов и КИИ.

Связь компонентной модели с объектной ОМ проследим с помощью процесса функционирования компонентов Create и интерфейса Cfac, порождающего экземпляры компонентов: Связь компонентной и объектной моделей.

где Cins — экземпляр-компонента, который предоставляет свою функциональность с помощью интерфейса IntFunc1 и обеспечивает реализацию этого интерфейса с помощью Imp Fund; IinsV — уникальный идентификатор экземпляра компонента.

Пусть существует некоторая объектная система, представленная диаграммой классов:

Связь компонентной и объектной моделей.

где OClass = {OClass'} — множество классов; G — объектный граф, отражающий связи и отношения между классами и экземплярами.

Каждый класс представлен в виде.

Связь компонентной и объектной моделей.

где ClassNamd — имя класса; Method'* = {Methodj) — множество методов; Field1 — {FieldJ,} — множество переменных, определяющих состояние экземпляров класса.

Переход от объектной к компонентной структуре связан с преобразованием объектов и интерфейсов ОМ к компонентам и интерфейсам (рис. 7.5).

Структура связи компонентов и интерфейсов в классе.

Рис. 7.5. Структура связи компонентов и интерфейсов в классе.

На рисунке показаны структура компонентов Сотр{ и Сотръ соответствующие интерфейсы. Int]} Intox и IntI2> IntI02 в классе компонентов OClass, OClass2 и OClass3.

Каждый Oclass представляется как модель класса.

Связь компонентной и объектной моделей.

где OClass = {ОClass1} — множество классов; ClassNamd — имя класса; Method'= = {Methodj} — множество методов; Field = {Field'п} — множество переменных, определяющих состояние экземпляров класса.

Пусть Pfield1 с Field1 — множество внешних переменных {public), доступные извне. Каждому Pfieldj, е Pfield7 ставятся в соответствие методы ln> и set ln> для присвоения и выборки значений переменной. Другими словами, эти переменные становятся атрибутами в современных компонентных моделях.

В других классах вместо непосредственного обращения к таким переменным будут использоваться указанные методы.

Введем новое множество методов:

Связь компонентной и объектной моделей.

которым сопоставим интерфейс Ifunc*, состоящий из прототипов методов, которые входят в Imethod*.

Вместе с Osyst рассмотрим систему Isyst = {Ifunc, IG), где Ifunc = = {Ifunc1} — множество интерфейсов; IG — интерфейсный граф, идентичный графу G.

Класс Oclass' порождает свои экземпляры (объекты) Objf = {ObjName, Method1, Field1}, которым в системе Isyst будут соответствовать интерфейсные элементы Iobj = [Inamelk, Ifunc1}.

Для каждого такого элемента не определена реализация соответствующего интерфейса. Сопоставив некоторому интерфейсу реализацию ImpFund (которая обеспечивает выполнения методов интерфейса), сформируем элемент Iobjf = {1пате, Ifunc1, ImpFund), который, по своей сути, эквивалентен экземпляру компонента Cins = {IinsIntFund, ImpFund).

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

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

Типы отношений между компонентами в ОКМ задаются в виде.

Связь компонентной и объектной моделей.

К ним относятся следующие отношения:

  • наследование двух компонентов определяется установлением отношения наследования для входных интерфейсов (как наследования в ООП);
  • экземпляризация создастся соответственно определенному входному интерфейсу CIntP. Выражение Clns’l = (Ilnstf, IntFunc*, Imp Fund) описывает экземпляр компонента Comp. Здесь IIns% — уникальный идентификатор экземпляра, IntFunc* — функциональность интерфейса CIntP е Clnt, ImpFund — программный элемент, который обеспечивает реализацию CImp1 е е CImp]
  • интерфейс между компонентами Сотрх и Сотр2 в виде выражения Cont2 = (Clnt", Clnt2, IМар1™), где CInt e CIntx — исходный интерфейс первого компонента, Clnt™ е CInt2 — входной интерфейс второго компонента; Шарх — отображение соответствия между методами, входящими в состав обоих интерфейсов с учетом сигнатур и ТД, которые передаются. Отношения контракта существует, если компонент Сотр2 имеет реализацию интерфейса Clnt™, выполняющего функциональность IntFuncх и интерфейс CInt
  • связывание компонентов Сотрх и Сотр2 с помощью отношения контракта Cont" !}, в котором между экземплярами CInslJ{k = (Ilns^ IntFund, ImpFund) и CIns™(; = (IlnsIntFuncmf ImpFunc(i) существует отношение связывания через контракт Cont™, который описывается выражением Bind (Ilnsfa, IIns™jj> Cont™).

Между объектным и компонентным представлениями систем существует неоднозначность, которая порождается тем, что определенный компонент может иметь несколько интерфейсов Isyst. В случае если каждый отдельный компонент использует один интерфейс, то существует единое эквивалентное отображение между объектными и компонентными представлениями.

Пример объектного и компонентного описания сложной системы из объектов и компонентов показан на рис. 7.6.

В нем используются:

Сотрх(ОС1{у ОС12), Сотр2 (2, ОС2), Сотр3 (/С3, 4 ОС3) — компоненты ПрО с входными и выходными параметрами;

Oj, 02, 03, 04 — классы объектов ОМ;

/02, /03, Юа — входные объектные интерфейсы;

23, 4 — входные параметры компонентов (штрихпунктирные линии).

В интерфейсном представлении ISyst существуют компонентные интерфейсы /С2, /С3,А (штрихпунктирные линии).

При этом ОСц, ОС12, ОС2, ОС3 — исходные интерфейсы в компонентной модели. Между объектными и компонентными интерфейсами установлено однозначное отображение, а для объектной и компонентной моделей такого отображения не существует, так как компонент Сотр3 имеет два входных интерфейса, т. е. функциональность классов 03 и 04 реализована в одном компоненте.

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

Структура программы в ОКМ.

Рис. 7.6. Структура программы в ОКМ:

— связи между объектами; Связь компонентной и объектной моделей. — информационные связи.

Показать весь текст
Заполнить форму текущей работой