Диссертация (1090633), страница 8
Текст из файла (страница 8)
[44].В [45] предложено формальное представление онтологии в виде объектноориентированной семантической сети. Предложено выделять две структурные части онтологии — онтология представления знаний, и онтология представленияданных:O={OP, OD}(1)где O онтология; OP онтология представления знаний; OD онтология представления данных.Уровень знаний обеспечивается онтологией представления знаний OP.
Этаонтология должна обеспечивать представление как понятий предметной и проблемной области ИИС, так и разнообразных семантических связей между ними.Она также должна позволять выстраивать понятия в иерархию «общее – частное»,поддерживать наследование свойств по этой иерархии, должна предоставлять воз32можность задания ограничений на значения возможных свойств объектов – экземпляров понятий онтологии. Онтологии представления данных и знаний тесно связаны, в частности, вторая задает интерпретацию первой.Онтология представления знаний описывается как объектно-ориентированная сеть следующего вида:Op C , R, T , D, A, F , Ax ,гдеC C1 ,..., Cn – конечное непустое множество классов, описывающих понятиянекоторой предметной или проблемной области;R R1 ,..., Rm , Ri C C – конечное множество бинарных отношений,заданных на классах (понятиях), причем = ∪ ∪ ;SubClassOf – антисимметричное, транзитивное, нерефлексивное бинарноеотношение наследования, задающее частичный порядок на множестве понятий C;PartOf– бинарное транзитивное отношение включения(«часть-целое»),RA– конечное множество ассоциативных отношений,T – множество стандартных типов;D { d1 ,..., d n } – множество доменов d i = {s1,…,sk}, где si – значениестандартного типа string;TD T D – обобщенный тип данных, включающий множество стандартныхтипов и множество доменов;A a1 ,..., aw , A C TD RA TD – конечное множество атрибутов, т.е.бинарных отношений вида ai (C j , td k ) или ai ( R j , td k ) , описывающих свойства понятий C и отношений RA;F – множество ограничений на значения атрибутов понятий и отношений,т.е.
предикатов вида pi(e1,…,em), где ek – это либо имя атрибута (ek A), либоконстанта (ektdj, где tdj TD);Ax – множество аксиом, определяющих семантику классов и отношенийонтологии.Особенность отношения SubClassOf состоит в том, что при наследовании отродительского класса его классу-потомку передаются не только все атрибуты, нои отношения. Отношение включения «часть-целое» PartOf наделено свойствомтранзитивности, благодаря этому при поиске объектов можно осуществлять транзитивное замыкание по этому отношению.33Набор ассоциативных отношений RA определяется пользователем.
Наличиетаких отношений позволяет организовать содержательный поиск и навигацию поинформационному контенту ИС. Важной особенностью отношений RA являетсято, что они могут иметь собственные атрибуты, специализирующие связь междуаргументами. Свойства этих отношений описываются аксиомами, включеннымив Ax .Онтология представления знаний, вводя формальные описания понятий проблемной области и области знаний ИС в виде классов объектов и отношениймежду ними, задает структуры для представления контента ИС в виде реальныхобъектов и отношений предметной и проблемной области ИС.Онтология представления данных в ИС – это объектно-ориентированная сетьследующего вида:OD=<Ob, R, AOb, AR, T, D>,(2)где Ob – множество объектов, каждый из которых включает непустое множествоатрибутов из множества, AOb, определенных на типах из T или доменах из D,R=Ob×Ob – множество бинарных отношений на объектах из Ob.
Отношениям могут быть сопоставлены наборы атрибутов из множества AOb, определенных на типах из T или доменах из D и служащих для специализации (уточнения) связимежду объектами (аргументами отношения).2.1.4. Методы многоуровневого объектно-ориентированного моделированияНесмотря на то, что часто предметная область обладает структурой,представленной несколькими логическими уровнями, традиционный подход кмоделированию, использующий языки моделирования, основанные наметамоделях, подобных MOF [46], основан на ограниченном количестве уровнеймоделирования. Как представленная ранее объектно-ориентированнаясемантическая сеть, так и известные технологии метамоделирования, такие какEMF [47], предоставляют два уровня классификации метамодель,предоставляющую классы, и модель, содержащую объекты классов метамодели.При этом, как правило, для изменения доступен только уровень модели.Мультиуровневый подход к проектированию не ограничивает число уровней.
Приналичии нескольких уровней соотношение между классами и объектами требуетуточнения, поскольку использование отношение класс-объект (instanceOf)возможно только в моделях с двумя уровнями моделирования.В [48] была предложена методология разработкипрограммногообеспечения, в дальнейшем представленная в стандарт ISO24744, в которойвведены понятия power type и clabject.
Целью предложенной методологииявляется:предоставлениевозможностипостроениямножестваклассификационных уровней, объединенных в мультиуровневую объектноориентированную модель. Основная проблема, решенная в представленной34методологии состояла в построении унифицированного и адаптируемого методаклассификации элементов предметной области. Под унифицированиемпонимается возможность отображения всех моделей всех уровней моделированиячерез ограниченный набор концепций и символов. Адаптируемостьобеспечивается тем, что все концепты моделей всех уровней представлены как«soft», т.е.
в виде редактируемых данных и могут быть изменены в процессевзаимодействия. Изменение элемента на любом уровне отражается на всехсвязанных с ним элементах немедленно. В методологии введены три уровнямоделирования — метамодели, метода и проекта.Предложеннаяобъектно-ориентированнаямногоуровневаямодельпредставлена на рисунке 9.Рис.9. Многоуровневая модельИз рисунка 9 видно, что между элементом power type Task/*Task и clabject#WriteMethodCode установлено отношение instanceOf.
Можно сказать, чтоопределен класс Task/*Task , специализирующий класс «паттерн power type»,который на уровне проекта представлен объектом WMC1. Отметим, что атрибутыобъекта зеркально не отражают атрибуты clabject. Проводя исследованиепроцесса метамоделирования, авторы отмечают, что, следуя концепции «строгогометамоделирования», в большинстве методологий классы метамоделииспользуются для построения классов уровня методов путем их специализации,проводимой через установление отношения реализации (instanceOf).
Классыуровня метода реализуются через объекты уровня проекта. Это создаетпротиворечие: методология представленаколлекцией классов, проект коллекцией объектов, а способ «волшебного» превращения классов в объекты вметодологиях не определен. Методология позволяет вводить контроль надпреобразованием, проводимым на границе между уровнем метода и уровнемпроекта.35Классы уровня метамодели рассматриваются как «сильные типы» (powertype) для классов слоя метода.
Каждому объекту power type класса ставится всоответствие группа объектов класса слоя метода, наследующего power type класс,при этом классы уровня метода становятся «partitioned» и определяют разделениена группы объекты в слое проекта. Таким образом, в то время как power typesзадают разделение объектов в слое метода, partitioned типы задают разбиениеобъектов в слое проекта. Авторы назвали такое представление двойнымпредставлением.Строгоенаследованиечастичноподменяетсяпрототипированием следованием некоторому образцу, при котором наличиесвязи между объектами power type классов на уровне метамодели, задающихклассификацию, определяет необходимость установления связи такого же типамежду классами уровня метода, классифицированными этими объектами.Каждому классу и его объекту уровня проекта ставится partitioned класс уровняметода и объект power type класса уровня метамодели.
Такая композиция иполучила название clabject. Моделирование в понятиях clabject обеспечиваетвозможность того, что характеристики элементов и правила их организации какуровня метода, так и уровня проекта могут быть определены в метамодели и затемпереданы на необходимые уровни, вниз через специализацию и классификацию,вверх — через создание иерархий.Atkinson и Kühne [49], расширяя представленную модель, ввели понятие«potency» и метод «deep instantiation» порождения объектов между уровнямииерархии специализации, основанный на понятии features (attributes и relationships).
При этом «традиционный» метод порождения объектов из классов,присущий объектно-ориентированному подходу, рассматривается как частныйслучай более общего механизма, названного «deep instantiation», при которомпроизводится специализация между clabjects, а не между классами и объектами.При специализации clabject А на основе некоторого clabject B каждойвозможности (feature) элемента (атрибуту и связи) приписывается числовойатрибут «potency», значение которого определяет способ трансформациивозможности элемента.
Для каждой возможности элемента A со значениемpotency > 0 в элементе B определяется возможность со значением potency,уменьшенным на 1. При нулевом значении potency возможность атрибутаэлемента А представляется в элементе B как атрибут простого типа , а ассоциацияэлемента А представляется в элементе B ссылкой на элемент с potency=0.На всех уровнях моделирования элементы уровней характеризуютсяатрибутами двух типов.— с potency > 0 и с potency = 0. Проектный уровеньпредставлен элементами, атрибуты которых имеют значение potency = 0.Введение понятия potency позволяет избавиться от отношения power type,определяет способ образования объектов проектного уровня из классов уровняметода с учетом спецификаций, задаваемых уровнем метамодели. Таким образомпоказано существование унифицированного концепта (clabject), позволяющего36проводить многоуровневое моделирование для различных предметных областей.Для обеспечения многоуровневого моделирования была предложена архитектураортогональной классификации OCA (Orthogonal Classification Archtectute),основанной на применении принципов строгого метамоделирования и deep instantiation.