Научная статья на тему 'Объектно-ориентированная дескриптивная логика'

Объектно-ориентированная дескриптивная логика Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
328
73
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ДЕСКРИПТИВНАЯ ЛОГИКА / ОБЪЕКТНАЯ МОДЕЛЬ / ОО-ПРОЕКЦИЯ / ОБЪЕКТНАЯ ТЕОРИЯ / БАЗА ЗНАНИЙ / ЯЗЫК ПРОГРАММИРОВАНИЯ LIBRETTO

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Малых Антон Александрович, Манцивода Андрей Валерьевич

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Object Oriented Description Logic

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.

Текст научной работы на тему «Объектно-ориентированная дескриптивная логика»

Серия «Математика»

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)

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Язык ОО-проекций позволяет

- моделировать выделенное значение 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-программе:

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

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 (malykh@baikal.ru)

Манцивода Андрей Валерьевич, Институт математики,экономики и информатики, Иркутский государственный университет, 664003, Иркутск, ул. К. Маркса, 1 тел.: (3952)242210 (andrei@baikal.ru)

Anton Malykh, Irkutsk State University, 1, K. Marks St., Irkutsk, 664003 Phone: (3952)242210 (malykh@baikal.ru)

Andrei Mantsivoda, Irkutsk State University, 1, K. Marks St., Irkutsk, 664003 Phone: (3952)242210 (andrei@baikal.ru)

i Надоели баннеры? Вы всегда можете отключить рекламу.