Серия «Математика»
2011. Т. 4, № 1. С. 57-72
Онлайн-доступ к журналу: http://isu.ru/izvestia
УДК 510.62:004.82
Объектно-ориентированная дескриптивная логика *
А. А. Малых, А. В. Манцивода
Иркутский государственный университет
Аннотация. В работе развиваются логические формализмы, связанные с объектноориентированным моделированием. В частности, анализируется опыт работы с дескриптивными логиками, ориентированными на построение объектных моделей логическими средствами (т.н. ОО-проекциями), и рассматриваются вопросы дальнейшего развития этих формализмов. Вводится понятие объектной теории как расширение определения ОО-проекций.
Ключевые слова: дескриптивная логика, объектная модель, ОО-проекция, объектная теория, база знаний, язык программирования Libretto
ОО-проекции [2] представляют собой простую дескриптивную логику [8], моделирующую структуру хранилища данных и знаний в рамках системы Libretto [3]. Эта система базируется на концепции логических архитектур [2]. Логические архитектуры состоят из набора вложенных друг в друга логик, каждая из которых обладает своим соотношением эффективность/выразительность и моделирует определенный набор функций системы. В частности, система Libretto обладает двухуровневой логической архитектурой, в которой легкая логика, моделирующая концепцию объектных моделей (ОО-проекция), определяет структуру хранилища данных и знаний, а более тяжелая, но выразительная логика (S'HOXN(D) [5]) лежит в основе языка запросов (язык Libretto), а также позволяет накладывать более сложные ограничения (аксиомы) на базы знаний.
* Работа выполнена при финансовой поддержке Федеральной целевой программы «Научные и научно-педагогические кадры инновационной России» на 2009-2013 гг., государственный контракт № 16.740.11.0137 от 01.09.2010.
1. Введение
В процессе работы был накоплен список проблем, связанный с использованием ОО-проекций. Стало очевидным, что данный формализм нуждается в дальнейшей настройке для того, чтобы более адекватно и эффективно решать свои задачи. Данная работа посвящена развитию концепции ОО-проекции как логической модели хранилища данных и знаний.
2. Объектно-ориентированные проекции
В этом пункте формулируется базовое определение ОО-проекции. Пусть
Ъ = {VI,..., Vk >
некоторая область данных с попарно непересекающимися непустыми типами данных VI,..., V. Примерами ^ могут служить целые и вещественные числа, строки, даты и т.д. В дальнейшем константы ь,Уг будут обозначать элементы типов данных - все элементы будем считать выделенными. Обозначим |Ъ| = 1^=1 V.
Словарь дескриптивной логики включает символы концептов, ролей, атрибутов и объектов. Концепты выделяют в множестве объектов предметной области совокупности объектов, обладающих определенными свойствами. В дальнейшем концепты обозначаются через В,С,Е, причем В, С обозначают именованные (атомарные) концепты, а Е -произвольные концепты (формулы). Роли (о-свойства) определяют отношения между объектами предметной области и обозначаются через Я, Яг. Атрибуты (т-свойства), обозначаемые через Р,Рг, привязывают элементы области данных к объектам. Через О, О г обозначаем имена объектов предметной области. Словарь - это четверка {С, Я, V, 0>, где С - множество именованных концептов, Я - множество ролей, V - множество атрибутов, О - множество имен объектов. Область данных Ъ считается фиксированной, поэтому ее компоненты в словари не входят.
ОО-проекции - это подлогики выразительной дескриптивной логики БИОТЫ (О), лежащей в основе языка семантического веба OWL БЬ [9]. Основные структуры и семантика БИОТЫ (О) представлены на рис
1. В таблице на этом рисунке Я1 могут обозначать как произвольные концепты Ег, так и имена типов данных Ог, а Т - могут быть как ролями Яг, так и атрибутами Рг.
Описание предметной области в БНОТЫ(О), как и в любой другой дескриптивной логике, состоит из двух блоков - А-бокса и Т-бокса. ТВох содержит описание знаний концептуального (терминологическо-
Концепт Пример Семантика
C Woman C (x) имен. концепт
Ei П E2 Woman П Manager Ei(x) Л E2(x) конъюнкция
Ei U E2 Woman U Man Ei(x) V E2(x) дизъюнкция
—C —Man —C (x) отр. атом. концептов
{o} {john} x=o объекты
{v} {29} x=v значения типов
VT.F VhasChild.W oman Vy.(T(x,y) ^ F (y)) V р. г о
3T.F 3Age.{29} ()y (F Л )y (x, ((T y. З огр. З
.F -. T V VhasChild- .Man Vy.(T(y,x) ^ F (y)) V т. а р б о
3T -.F 3hasChild- .Man ()y (F Л )x (y, ((T y. З З т. а р б о
> n.T > l.hasChild 3y-n.T (x,y) шіп-кардинальность
< n.T < 2.hasChild 3y-n.T (x,y) шах-кардинальность
Т 3hasChild.T true все объекты
VhasChild.± false пусто
Рис. 1. Логика SHOIN(D)
го) уровня и состоит из аксиом включения:
Е\ С Е2, Vх.(Е\(х) ^ Е2(х))
К1 С К2, ^х^у.(К\(х, у) ^ Е2(х, у))
Р1 С Р2, VxVv.(P1(x,v) ^ Р2(х,у))
Е1 = Е2 - сокращенная запись двух аксиом (Е1 С Е2) и (Е2 С Е1). АВох описывает предметную область на уровне конкретных данных. А-бокс может содержать аксиомы следующих типов: С (О) - принадлежность объекта концепту, К(О1,О2) - отношение между объектами, Р (О, V) - значение атрибута объекта для С е С, К е Я и Р е Р.
Обратимся теперь к определению ОО-проекций. Язык ОО-проекций включает атомарные концепты С г, роли Кг, конъюнкцию П и квантор всеобщности VК.C, где С - атомарный концепт. Вместе с ролями Кг мы можем определять атрибуты объектов Рг, которые привязывают к объектам значения типов данных из V, например, VРг.Dj. Здесь Dj,] е 1, к,
- имена типов данных из V. Также у нас имеются две логические
константы Т (универсальный концепт) и ± (нижний концепт). ОО-
проекции - это дескриптивные логики, поэтому любая интерпретация I этих конструкций на множестве объектов А должна удовлетворять правилам:
Т1 = А I.1 = 0
= Vг еV С,1 С А К1 С А х А Р/ С А х |Ф|
(г п с)1 = г1 п с1
(уК.С) = {о I о е А апё Vo'.(К(о,ог) ^ С(о;))} (VP.Dг)I = {о | о е А апё Vv.(К(o,v) ^ V е 'Ог)}
Для типизации атомарных ролей и атрибутов вводится оператор типизации в, который:
1. привязывает роли К еЯ к парам в(К) = [Са, Сг], где Са, Сг е С;
2. привязывает атрибуты Р к парам в(Р) = [Са^г], где Са е С и Dr е Ф.
С а называется областью определения роли К (атрибута Р), Сг ^г) называется областью значений роли К (атрибута Р).
Будем говорить, что интерпретация I согласована с в, если
VК е Я.(в(К) = [Са, Сг] ^ К1 С С1 х С)
VP е Р.(в(Р) = [Са, Dr] ^ Р1 С С^ х DІ) (21)
Интерпретация I согласована со словарем {С, Я, Р, О), если для любого объекта о е А существует имя О е О такое, что о = О1 (т.е.
все объекты выделенные). В дальнейшем будем рассматривать только интерпретации, согласованные с в и словарем. К |= Е будет обозначать, что Е истинна в любой согласованной интерпретации К. В отличие от этого К \~ Е означает, что Е выводима из К в некотором полном исчислении (например, с помощью табличных алгоритмов), а значит, истинна в любой интерпретации.
Пусть № = {С, Я, Р, О) - словарь.
Определение 1 (ОО-концепт). Концепт вида
С1 п ... п С1 п ... пVКg.Ед ПVP1.D1 п ... nVPh.Dk
называется ОО-концептом, где Ег - ОО-концепты, С, Сг е С, Кг е Я, Рг еР и Т>г е Ф. Если все Ег е С, то ОО-концепт называется примитивным.
Определение 2 (ОО-определение). Аксиома
ССЕ
где Е - примитивный ОО-концепт, называется объектно-ориентированным определением (ОО-определением).
В ОО-определении
С С С1 П ... П Сп ПVК1.B1 П ... ПVКk .вк ^Р1^1 П ... ^Рг^1 (2.2)
атомарные концепты С,Сг,Вг играют роль объектно ориентированных классов, С1 П ... П Сп обозначает наследование, и если п > 1, тогда мы
имеем множественное наследование. Каждое выражение УКі.Ві обозначает поле Кі, значения которого являются объектами класса Ві. Каждое выражение УРі.Бі соответствует полю, значения которого являются элементами предопределенного типа данных с именем Пі.
Определение 3 (наследование). Концепт С в ОО-определении (2.2) непосредственно наследует от Сі, і Є 1,п, (обозначаем С -< Сі).
Пусть А = {Сі Ц Еі} - множество ОО-определений. Сі наследует от С] (Сі -<* С]), если либо Сі -< С], либо существует Сі такой, что Сі -<* Сі и Сі -<* С]. А называется ацикличным, если для каждого Сі, выполняется Сі * Сі.
Схожим образом, если концепт С определен с помощью ОО-опреде-ления (2.2) в множестве ОО-определений А, то мы говорим, что концепт С непосредственно зависит от ролей К\,... ,Кк и атрибутов Р\,... ,Рі. С зависит от роли К (атрибута Р), если он непосредственно зависит от роли (атрибута), или существует С' в А, который непосредственно зависит от К (Р), и С -< С.
Теперь обратимся к определению ОО-проекции. Пусть С - дескриптивная логика, содержащая БНОХМ(Б) как подлогику, и К = ТВохк и АВохк - С-описание предметной области в словаре Н = {С, Я, V, О). Пусть Но = {Со, Яо, Р0, О о) - подсловарь Н, О0 ={0\,... ,01}, а в -оператор типизации на Н0.
Определение 4 (ОО-проекция).
К0 = ТВох0 и АВох0
- ОО-проекция словаря Н0 и оператора в, если
1. ТВох0 - ацикличное множество ОО-определений, любая интерпретация которого согласована с в;
2. для каждого ОО-определения А Є ТВох0 выполняется К \~ А;
3. любая роль и атрибут из словаря Н0 входит в ОО-определения ТВох0 не более одного раза;
4. АВох0 С АВохк и
- для любого С (О) Є АВох0: О Є О0 и С Є С0, причем для каждого
О такой С является единственным;
- для любого К(0,0г) Є АВох0: 0,0' Є О0, К Є Я0 такие, что С(0),С'(0') Є АВох0, причем К0 \= С Ц Са, К0 = С' Ц Сг и в (К) = [Са, Сг ];
- для любого Р(0,у) Є АВох0: 0 Є О0, Р Є Р0, С(0) Є АВох0 и
V Є Vr, где в(Р) = [Са, Бг], и К0 \= С Ц Са.
Определение ОО-проекций настроено на использование в рамках логических архитектур. Являясь очень легким формализмом, ОО-проекции исполняют роль наименьшего элемента в иерархии логик логической архитектуры. Поэтому определение ОО-проекции содержит
’’большую” логику L - наибольший элемент иерархии, подлогикой которого ОО-проекция должна быть. В этой терминологии Ко - маленькая но эффективная объектная модель, являющаяся подмоделью большой, но, возможно, тяжелой модели К.
В [2] было показано, что иерархии концептов ОО-проекций изоморфно отображаются в иерархии типов данных некоторого объектно-ориентированного языка программирования с множественным наследованием, что обосновывает гипотезу о том, что ОО-проекции ведут себя как объектные модели.
3. Критика ОО-проекций
ОО-проекции оказались весьма полезным инструментом, позволившим построить логически корректное понятие объектных моделей, а также логическую семантику ядра языка Libretto. Однако дальнейший опыт работы с ОО-проекциями показал, что эти логики обладают рядом недостатков, которые усложняют их использование. По большому счету ОО-проекции обладают тремя крупными проблемами, которые существенно влияют на точность логического представления объектных моделей:
1. В определении ОО-проекций имеются концептуальные изъяны, снижающие качество представления объектных моделей.
2. В ОО-проекциях слабо представлена возможность управления значениями свойств у объектов.
3. В ОО-проекциях отсутствует возможность определения инверсных свойств.
Эти проблемы носят не только концептуальный, но и практический характер, поскольку управление значениями свойств и инверсные отношения реализованы в системе Libretto. Поэтому отсутствие этих средств в ОО-проекциях не позволяет строить на их основе полноценные семантики языка.
Рассмотрим проблемы более подробно.
Проблема 1.1. Начнем с вопросов, связанных с декларированием доменов и рангов свойств. Оператор в используется в ОО-проекциях для задания домена и ранга как ролей, так и атрибутов. Но ОО-определения тоже позволяют задавать домены и ранги. Например, в определении (2.2) наличие подформулы 'iRj.Bj содержательно интерпретируется как ”для объектов класса C рангом свойства Ri является класс Bj”. Таким образом, получается, что для объектов класса C мы имеем двойное определение ранга, и результирующее ограничение должно выглядеть как Cr П Bj, где e(Ri) = [Cd,Cr]. То же самое происходит и с областью определения Rj: для объектов класса C имеем область определения C П Cd. Возможность задавать ранг свойств была введена в ОО-
определения с целью повышения гибкости и выразительности формализма, однако дальнейшее использование ОО-проекций показало, что эти средства мало что дают, принося при этом ряд проблем. Среди других неприятностей оказалось, что эти средства очень легко приводят к нарушению одного из базовых принципов объектного подхода -принципа подстановки Б. Лисков [б].
Проблема 1.2. Сам оператор в составляет еще одну концептуальную проблему. Поскольку в не является частью логики ОО-проекций и представляет собой набор внешних ограничений на роли и атрибуты, это усложняет весь формализм в целом и затрудняет использование ОО-проекций, в частности, для описания семантики языка Libretto. Для решения этой проблемы данные ограничения должны быть выражены формульно внутри самой логики (например, в виде набора дополнительных аксиом). Однако слабая выразительная сила ОО-проекций не позволяет это сделать. Очевидным образом этот недостаток снижает эффективность ОО-проекций при решении задач, связанных с обработкой знаний в рамках объектных моделей. Например, используя только язык ОО-проекций невозможно определить, что есть объектная модель.
Проблема 2. Существенной проблемой ОО-проекций является то, что они не обладают средствами для управления количеством значений свойств объекта. Пусть объект с именем o имеет свойство T (неважно, роль или атрибут), значениями которого являются некоторые ti,... ,tk. Это означает, что в ABox ОО-проекции должны содержаться аксиомы
T(o,ti),..., T(o,tk)
Язык ОО-проекций позволяет
- моделировать выделенное значение null (NULL в базах данных и т.д.) - это случай, когда k = О;
- моделировать множественные значения (абстрактный аналог множеств, списков, массивов) - случай к > 1.
Однако выразительности ОО-проекций не хватает для того, чтобы отличить поля с единственным значением и поля, содержащие коллекцию элементов. Например, в Java легко отличить переменные, содержащие единственное значение, от переменных, содержащих массив значений:
Object single;
Object[] array = new Object[115];
В ОО-проекциях эти случаи неотличимы - и в том, и в другом соответствующее ОО-определение будет содержать подформулу:
Vsingle.Object (з i)
Varray.Object
С содержательной точки зрения невозможность управлять количеством значений также серьезно обедняет выразительные возможности ОО-проекций при построении баз знаний. Например, юридически у человека должна быть ровно одна фамилия, но это ограничение в ОО-проекциях не выразимо.
Проблема З. В ОО-проекциях отсутствуют инверсные роли и атрибуты. Инверсные свойства не имеют прямых аналогов в объектных моделях, однако они позволяют формульно выразить ряд важных характеристик. Кроме того, они являются выразительным средством, реализованным в системе Libretto и весьма полезным на практике.
Проблема 1.1 может быть решена с помощью консервативной корректировки определения ОО-проекций, в то время, как решение проблем 1.2, 2 и З требует расширения их языка.
4. Корректировка определения ОО—проекций
Прежде чем переходить к расширению формализма, уточним поведение ОО-проекций при определении домена и ранга свойств, решив тем самым первую часть проблемы 1. Как уже говорилось выше, основная неприятность заключается во вхождении в ОО-определения вида (2.2) подформул yR.Bj и yP.Dj, которые вовлекают Bj и Dj в определение ранга, а C в определение домена ролей Rj и атрибутов Pj. Решение этой проблемы состоит в исключении возможности дублирования при определении доменов и рангов. Для этого заменим определение 2 на следующее:
Определение 5. Назовем ОО-определением аксиому вида
C Ц Ci П ... П Cn, (4.1)
где C, Ci,...,Cn ев.
После этой замены только оператор в будет отвечать в ОО-проекции за декларирование домена и ранга свойств. Отметим, что (4.1) является частным случаем (2.2), поэтому перестройка ОО-определения лишь ограничивает множество допустимых ОО-проекций. С другой стороны, данная корректировка позволяет нам разделить инструменты, ответственные за определение иерархии наследования (ОО-определения) и структуры, ответственные за декларирование доменов и рангов свойств (оператор в). С этого момента определение 2 упраздняется, и вместо него применяется определение 5.
5. Определение логики OODL
Выразительные средства, необходимые для решения проблем 1-3, содержатся в логике SHOIN(D). Поэтому все, что нам нужно, это аккуратно расширить откорректированное в предыдущем пункте понятие ОО-проекции в рамках SHOIN(D). Очевидно, что добавлений должно быть минимальное количество - для того, чтобы в наименьшей степени задеть алгоритмическую легкость ОО-проекций как минимального элемента иерархии логик в логической архитектуре.
Определим дескриптивную логику OODL как модернизацию ОО-проекций. Язык OODL включает язык ОО-проекций за исключением конъюнкции П: имена концептов Cj, имена ролей Rj, имена доменов Dj, имена объектов Oj, логические константы Т и ± и квантор всеобщности VT.F, где T - роль или атрибут, а F - атомарный концепт, либо имя типа данных из D. Расширим этот набор
- инверсными ролями при кванторах всеобщности: VT-.F, где T -либо роль, либо атрибут, а F - либо атомарный концепт, либо имя типа данных;
- кардинальностями > n.T и < n.T, где n е N0, а Т - либо роль, либо атрибут, либо инверсия роли/атрибута.
Семантика инверсных свойств и кардинальностей определена на рис. 1.
Добавление данных конструкций существенно усиливает выразительные возможности. Например, с помощью кардинальности можно выразить неограниченный квантор существования 3:
3R =f > 1.R
Данный концепт выделяет все объекты, у которых существуют значения свойства R. Он эквивалентен выражению 3R.T в логике SHOIN(D).
6. Решение проблем ОО—проекций
Обогатив язык ОО-проекций, возвратимся к решению проблем 1-3, начав с проблемы 2.
Решение проблемы 2. Эта проблема решается с помощью минимальной и максимальной кардинальности. Например, теперь вместо (3.1) мы можем записать
Vsingle. Object < 1. single > 1. single (6 1)
Varray.Object < 115.array > 115.array ^ '
Введем сокращение пары аксиом
= n.T = {< n.T, > n.T}
которое позволяет выразить мысль о том, что свойство Т должно иметь ровно п значений. Кардинальности позволяют определять и допустимые отрезки значений, например, то, что свойство имеет не меньше 10 и не больше 100 значений:
> 10.Т < 100.Т.
Решение проблемы 3. Добавленные инверсные роли в сочетании с квантором всеобщности и кардинальностями позволяют характеризовать не только область значений, но и область определений свойств. Например, теперь мы можем выделить элементы, принадлежащие области значений свойства Я:
> 1. Я-
что с использованием сокращения записывается как ЭЯ-. Появившиеся выразительные возможности помогут нам решить следующую проблему.
Проблема 1.2. В пункте 4 мы уже решили первую часть проблемы
1, откорректировав понятие ОО-определения, поэтому нам осталось избавиться от оператора в. Верно следующее утверждение:
Лемма 1. Условия оператора в ОО-проекций формульно выразимы на языке логики OOVC.
Доказательство. Пусть К - ОО-проекция в словаре ^ = {С, V,, V, О) с оператором в, и для некоторого Я ЄЯ выполняется
в(Я) = [Са, Сг]
где Са,Сг Є С. Тогда в соответствии с (2.1) на интерпретациях, согласованных с в, должна выполняться
УЯ Є П.(в(К) = [Са, Сг] ^ Я1 с СІ х Саг)
Используя выразительные средства ООТ>С, мы можем определить эти требования формульно. Множество всех объектов, обладающих свойством Я, выделяется с помощью концепта ЭЯ. Множество всех значений свойства Я выделяется с помощью концепта ЭЯ- (напомним, что ЭЯ есть сокращение для формулы > 1.Я). Тогда оператор в для свойства Я определяется с помощью двух аксиом:
ЭЯ Ц Са (6 2)
ЭЯ- ц сг (6'2)
Для атрибутов вторая аксиома будет выглядеть ЭР- Ц Ві, где В і -имя типа данных.
Назовем первую и вторую аксиомы из (6.2) аксиомой домена и аксиомой ранга, соответственно. Пусть М# - множество аксиом домена и ранга, описывающих оператор в для каждого Т Є (КиР).
Лемма 2. Интерпретация I согласована с в тогда и только тогда, когда I \= М#.
Доказательство. Лемма доказывается непосредственной проверкой на основе определений оператора в и аксиом домена и ранга с учетом леммы 1.
Последние две леммы говорят о том, что нам для типизации свойств уже не нужен оператор в, поскольку соответствующие ограничения на домен и ранг свойств выразимы на языке ООТ>С. Проблема 1.2 решена. Таким образом переход на логику ООТ>С позволяет решить все три проблемы ОО-проекций.
7. Выразимость аксиом домена и ранга
Следует отметить, что аксиома ранга выразима на языке ОО-проекций, о чем говорит следующая лемма.
Лемма 3. Аксиомы ЗТ- Ц Сг и ТС УТ.СГ эквивалентны.
Доказательство. Рассмотрим утверждение для ролей. Случай атрибутов рассматривается аналогично.
Необходимость. Предположим, что на некоторой интерпретации I вторая аксиома не верна. Тогда по определению квантора всеобщности существуют объекты о и О такие, что
1= Т(о, О") л —Сг (О)
По определению инверсного свойства I = Т-(о',о). Отсюда следует, что о' принадлежит концепту ЗТ-, и поскольку I = —Сг(о'), то первая аксиома также не верна.
Достаточность доказывается в том же стиле. Пусть первая аксиома неверна. Тогда существует объект о' такой, что для некоторого о выполняется Т-(о',о) и не выполняется Сг(о'), то есть I = —Сг(о'). Теперь ложность второй аксиомы получаем по определению инверсного свойства и квантора всеобщности.
Выражение Т Ц УТ.СГ из формулировки леммы - это аксиома языка ОО-проекций, эквивалентная аксиоме ранга. К сожалению, в отличие от аксиомы ранга, аксиома домена на языке ОО-проекций не выразима. Минимальным расширением языка ОО-проекций, достаточным для того, чтобы избавиться от оператора в является добавление шт-кардинальности:
Лемма 4. Условия оператора в формульно выразимы на языке ОО-проекций, расширенном оператором тт-кардинальности.
Доказательство. Аксиома домена формулируется с помощью min-кардинальности, в то время, как аксиома ранга формульно выразима в ОО-проекции на основании леммы 3
Конечно, аналогичный эффект можно получить с помощью других расширений. Для иллюстрации приведем пример альтернативного расширения, позволяющего по-иному выразить аксиому домена: вместо min-кардинальности добавим дизъюнкцию. Тогда аксиома примет вид:
Для нас же важно, что мы смогли выразить аксиому домена в качестве побочного эффекта за счет средств, уже добавленных в ОО-проекцию при решении других проблем, избежав таким образом излишних усложнений формализма.
В предыдущих пунктах нами выделено пять схем аксиом, описывающих объектные модели в рамках логики ООТ>С. Это
Определение 6. Объектной теорией O логики OODL в словаре W = {C, R, P, O) назовем непротиворечивую теорию, TBox которой состоит из конечного множества аксиом наследования, домена, ранга, max-и min-кардинальности, удовлетворяющую следующим условиям:
1. множество аксиом наследования в O ациклично;
2. каждое свойство T е (RUP) обладает в O ровно одной аксиомой домена и ровно одной аксиомой ранга.
Заметим, что TBox любой объектной теории без аксиом кардинальности непротиворечив, то есть имеет хотя бы одну интерпретацию. В качестве такой интерпретации можно выбрать одноэлементное множество Д = {о}, определив для всех C е C: C1 = Д, и всех T е (RWP): T1 = 0. Поэтому требование непротиворечивости накладывает условия только на аксиомы кардинальности и ABox объектной теории, согласовывая его с ограничениями, содержащимися в TBox.
Прежде чем перейти к основному результату, сформулируем очевидную лемму:
Т С VT.± U Cd
8. Погружение ОО-проекций в OODL
Cd С > n.T Cd С < n.T
Cl С C2 3T С Cd 3T- С C,
(аксиома наследования) (аксиома домена) (аксиома ранга) (аксиома шт-кардинальности) (аксиома шах-кардинальности)
Лемма 5. В любой ОО-проекции ОО-определение вида (4.1) эквивалентно некоторому набору аксиом наследования.
Доказательство. По свойствам логических связок аксиома вида (4.1) эквивалентным образом может быть представлена в виде набора аксиом наследования С Ц Сг ,г Е 1,п. □
Сформулируем основной результат данной работы.
Теорема 1. Для любой непротиворечивой ОО-проекции К с оператором в в словаре № = {С, Я, V, О) существует эквивалентная ей объектная теория О логики ООТ>С.
Доказательство. Пусть К - ОО-проекция в словаре №. Построим соответствующую ей объектную теорию О следующим образом:
1. Для каждого ОО-определения вида (4.1) добавляем в О п аксиом
С Ц СЪ...,С Ц Сп
определяющих наследование класса С от классов С\,..., Сп.
2. Для каждой роли К Е Я, в(Е) = [Са,Сг], добавляем в О по одной аксиоме домена и ранга:
ЗК Ц Са ЗК- Ц Сг
3. Для каждого атрибута Р Е V, в(Р) = [Са,БГ], добавляем в О по одной аксиоме домена и ранга:
ЗР Ц Са ЗР- Ц Бг
4. В качестве АВох теории О берем АВох ОО-проекции К.
Прежде всего отметим, что О не содержит аксиом кардинальности. В первую очередь нам необходимо доказать, что получившееся множество О действительно является объектной теорией. Для этого, по определению, нужна ацикличность аксиом наследования - но она напрямую следует из ацикличности К. Второе условие определения также выполняется, поскольку по пп. 2 и 3 построения О каждое свойство обладает ровно одной аксиомой домена и одной аксиомой ранга. Осталось проверить непротиворечивость. Для этого докажем, что произвольная интерпретация I, I = К, является интерпретацией и для О (по условию теоремы К - непротиворечивая теория, поэтому как минимум одна такая интерпретация существует). Поскольку А-боксы в К и О совпадают (по п. 4 построения), нам достаточно проверить, что каждая аксиома наследования, домена и ранга из О выполняется на I. Аксиомы наследования выполняются по лемме 5 и по п. 1 построения О. Истинность аксиом домена и ранга следует из семантики оператора в и леммы
2. По определению интерпретации ОО-проекций, любая интерпретация должна быть согласована с этим оператором. Таким образом, мы показали
для любой I, что не только доказывает, что О - объектная теория, но и является необходимым условием теоремы.
Достаточность. Предположим, что I = О. Покажем, что I согласована с оператором в. Пусть для некоторого К Е Я в (К) = [Са,Сг ]. Тогда по п.2 построения ЗК Ц Са Е О и ЗК- Ц Сг Е О, которые означают, что для любой пары {о, о') Е К1 следует, что о Е С\ по первой аксиоме и о' Е СI по второй и, таким образом, выполняется условие согласованности (2.1). Аналогично рассматривается случай с атрибутами. Истинность на I ОО-определений К напрямую вытекает из леммы 5. Теперь утверждение теоремы следует из п. 4 построения О, который говорит о том, что АВохо = АВохк. □
Продемонстрируем то, как соотносятся механизмы описания моделей в виде объектных теорий логики OODL с соответствующими конструкторами объектно-итерационного языка Libretto [7][3]. Например, определение на Libretto
class Человек extends Примат { супруг Человек[0,1]; фамилия v:string[1,1]
}
которое задает класс Человек, обладающий ролью (о-свойством) супруг и атрибутом (т-свойством) фамилия, эквивалентно следующему набору аксиом объектной модели
Заметим, что Libretto позволяет определять все аксиомы по отдельности, за исключением аксиом кардинальности - кардинальность должна быть привязана к классам или типам данных. Например, предыдущее определение на Libretto эквивалентно следующей Libretto-программе:
class Человек extends Примат;
9. Объектные теории и язык Libretto
3 супруг С Человек 3 супруг- С Человек 3 фамилия С Человек 3 фамилия- С string
Человек С Примат Человек С К І . супруг Человек С = І . фамилия
class Человек {
супруг Человек[0,1]
}
class Человек {
фамилия v:string[1,1]
}
Таким образом Libretto позволяет создавать базы знаний постепенно, через последовательное уточнение информации о классах и других сущностях описываемой предметной области. На практике такое качество оказывается весьма полезным.
10. Заключение
Определение логики OODL и понятия объектной теории, представленное в данное работе, решает две основные задачи:
1. С концептуальной точки зрения - построение логического формализма, наиболее точно отражающего содержательное понятие объектных моделей.
2. С практической точки зрения - приближение логического описания абстрактного хранилища данных к реализации системы OntoBox -хранилища онтологий, с которыми работает язык Libretto, что дает инструменты для описания точной денотационной семантики более широкого сегмента Libretto, чем это было представлено в работе [7].
Существует еще одна проблема, которая не затронута в данной работе
- проблема упорядочения значений свойств. На практике в наибольшей степени используются структуры данных, элементы которых упорядочены - достаточно упомянуть массивы, списки и итераторы. В дескриптивных логиках в качестве коллекций значений выступают множества, поэтому введение в декскриптивные логики порядка принципиально усложняет как сам формализм, так и его алгоритмические качества. С нашей точки зрения, данную проблему лучше всего решать в рамках теории GES [1][4] с использованием наследственно-конечных списочных надстроек над моделями. Это решение является весьма кардинальным, поскольку означает переход от дескриптивных логик к специальным логикам первого порядка. Однако такой шаг представляется весьма перспективным, поскольку теория GES обеспечивает необходимые нам качества при сохранении гибкости в регулировании соотношения выразительность/эффективность.
Список литературы
1. Гончаров С. С. ^-программирование / С. С. Гончаров, Д. И. Свириденко // Вычисл. системы. - Новосибирск, 1985. - Вып. 107. - С. 3-29.
2. Малых А. А. Логические архитектуры и объектно-ориентированный подход / А. А. Малых, А. В. Манцивода, В. С. Ульянов // Вестн. НГУ. Сер.: Математика, механика, информатика. - 2009. - Т. 9, № 3. - С. 64-85.
3. Объектно-итерационный язык Libretto [Электронный ресурс]. - URL: http://ontobox.org.
4. Ershov Yu. L. Semantic Programming / Yu. L Ershov, S. S. Goncharov, D. I. Sviridenko // Information processing, Proc. IFIP 10th World Comput. Congress, Dublin. - 1986. - Vol. 10. - P. 1093-1100.
5. Horrocks I. Patel-Schneider. Reducing OWL entailment to description logic satisfiability / Ian Horrocks and F. Peter // : Proc. of the 2003 International Semantic Web Conference (ISWC 2003)/ eds. D. Fensel, K. Sycara, J. Mylopoulos.
- Springer, 2003. - Lecture Notes in Computer Science 2870. - P. 17-29.
6. Liskov B. A behavioral notion of subtyping / Barbara Liskov, Jeannette Wing // ACM Transactions on Programming Languages and Systems (TOPLAS). - 1994.
- Vol. 16, Iss. 6. - P. 1811-1841.
7. Malykh A. A Query Language for Logic Architectures / A. Malykh, A. Mantsivoda // Perspectives of System Informatics : Proceedings of 7th International Conference. - Springer-Verlag Berlin Heidelberg, 2010. - Lecture Notes in Computer Science 5947. - P. 294-305.
8. The Description Logic Handbook: Theory, Implementation, Applications / F. Baader, D. Calvanese , D. L. McGuinness, D. Nardi, P.F. Patel-Schneider. -Cambridge, 2003. - P.574.
9. Web Ontology Language (OWL) [Electronic resource]. - URL: www.w3.org/2004/0WL.
A. V. Mantsivoda, A. A. Malykh Object Oriented Description Logic
Abstract. In this paper logical formalisms connected to object-oriented modeling are considered. In particular, the experience of the application of description logics intended for logical object model development (so-called OO-projections) is analyzed, and the issues of the further development of the approach are presented and discussed. The notion of an object theory is introduced as an extension of OO-projections.
Малых Антон Александрович, Институт математики,экономики и информатики, Иркутский государственный университет, 664003, Иркутск, ул. К. Маркса, 1 тел.: (3952)242210 ([email protected])
Манцивода Андрей Валерьевич, Институт математики,экономики и информатики, Иркутский государственный университет, 664003, Иркутск, ул. К. Маркса, 1 тел.: (3952)242210 ([email protected])
Anton Malykh, Irkutsk State University, 1, K. Marks St., Irkutsk, 664003 Phone: (3952)242210 ([email protected])
Andrei Mantsivoda, Irkutsk State University, 1, K. Marks St., Irkutsk, 664003 Phone: (3952)242210 ([email protected])