автореферат диссертации по информатике, вычислительной технике и управлению, 05.13.17, диссертация на тему:Динамическая информационная модель DIM. Проблемы реализации входных форм

кандидата физико-математических наук
Юсупов, Андрей Рашидович
город
Ярославль
год
2004
специальность ВАК РФ
05.13.17
Автореферат по информатике, вычислительной технике и управлению на тему «Динамическая информационная модель DIM. Проблемы реализации входных форм»

Автореферат диссертации по теме "Динамическая информационная модель DIM. Проблемы реализации входных форм"

На правах рукописи

Юсупов Андрей Рашидович

Динамическая информационная модель DIM. Проблемы реализации входных форм

специальность 05.13.17 -теоретические основы информатики

автореферат

диссертации на соискание ученой степени кандидата физико-математических наук

Ярославль - 2004

Работа выполнена в Ярославском государственном университете им.П.Г.Демидова

Научный руководитель

кандидат физико-математических наук, доцент Рублев Вадим Сергеевич

Официальные оппоненты: доктор технических наук, профессор Дулин Сергей Константинович, кандидат физико-математических наук, доцент Зафиевский Александр Владимирович

Ведущая организация

Рыбинская государственная авиационная технологическая академия им. П. А. Соловьева

на заседании диссертационного совета К 212.002.04

при Ярославском государственном университете им. П.Г.Демидова

по адресу: 150000, г.Ярославль, ул.Советская, д. 14

С диссертацией можно ознакомиться в библиотеке Ярославского государственного университета им. П.Г.Демидова

по адресу: г.Ярославль, ул.Полушкина роща, д.1

Защита состоится

.. 2004 г. в. час.. 9.9. .мин.

Автореферат разослан ",

2004 г.

Ученый секретарь диссертационного

Общая характеристика работы

Актуальность проблемы

Современные технологии накопления, хранения и переработки информации, позволяющие хранить информацию в так называемых базах данных, являются одним из самых мощных способов представления информации о реальном мире. Их мощь определяется программными продуктами, называемыми системами управления базами данных (СУБД). Архитектура последних весьма разнообразна, но в настоящее время базируется в своей основе на одной моделей: реляционной и объектно-ориентированной1.

Реляционная модель, введенная Э.Коддом2 и получившая широкое развитие, позволяет описывать любые системы связанных между собой данных. Базирующаяся на простом понятии отношения данных и многократно его использующая (таблицы как простейшие отношения данных, отношения между таблицами как способ получения любых сложных структур данных) эта модель получила сильное развитие благодаря введению реляционной алгебры, основанной на известной связи алгебры множеств и алгебры логики (предикатов).

Наряду с рядом достоинств реляционная модель обладает и недостатками:

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

2) Программное обеспечение, разработанное для реляционной базы данных, обычно оказывается жестко завязанным на структуру реляционных таблиц. Если в дальнейшем будет принято реше-

1 Гарсиа-Молина Г., Ульман Дж.Д., Увдом Дж. Системы баз данных. Полный курс // изд. "Вильяме", 2003

2Codd E.F. A relational model for large shared data banks // CommACM, 13:6 (1970), p.377-387

Codd E.F. Further normalization of the database relational model, in Database Systems (R.Rustin, ed.) // Prentice Hall, Englewood i

ние изменить структуру таблиц, то все программное обеспечение, разработанное для прежней структуры таблиц, придется изменять.

Из этих недостатков вытекает трудность проектирования сложных систем, и это вынудило разработчиков СУБД искать подход, связанный с возможностью описывать объекты.

Объектно-ориентированный подход3 позволил повысить уровень манипуляции данными. Сам подход базируется на концепциях объекта и идентификатора объекта, атрибутов и методов, классов, иерархии и наследования классов. Специфика применения объектно-ориентированного подхода в области баз данных потребовала уточнения и некоторого расширения классических концепций. Документом, определившим направления развития ООБД, явился «Манифест систем объектно-ориентированных баз данных»4. Наибольшее же развитие этот подход получил в модели ODMG5.

Наряду с достоинствами этой модели такие недостатки как сложность использования языка манипулирования данными; отсутствие средств поддержания целостности; трудность описания отношений, в которых участвуют более двух объектов; трудности изменения данных при их избыточности; плохая совместимость с реляционной парадигмой (и возможно другие недостатки объектно-ориентировднных СУБД) привели их «на грань полного краха», как отмечено в уже упоминавшейся книге Гарсиа-Молины «Системы баз данных».

Возникшие обстоятельства привели к построению других объектных систем, совмещающих реляционную и объектную идею6. Сторонники этого подхода придерживаются принципа эволюционного развития возможностей СУБД без коренной ломки традиционных принципов и с сохранением преемственности с системами предыдущего поколения.

Основное содержание «Манифеста систем баз данных третьего по-

3Ким В. Технология объектно-ориентированных баз данных. // Открытые системы. 1994. N 4. С. 30-42.

4Аткинсон М. и др. Манифест систем объектно-ориентированных баз данных // СУБД. 1995. N 4. С. 142-155.

5Cattell R.G.G., Barry D.K. The Object Data Standard: ODMG 3.0 // Morgan Kaufmann Publishers, San-Francisco, 2001

Калиниченко Л.А. Стандарт систем управления объектными базами данных OEDMG-93: краткий обзор и оценка состояния. // СУБД. 1996. N 1. С. 102-109.

6Стоугтбрейкер М. Объектно-реляционные системы баз данных. // Открытые системы. 1994. N 4. С. 43-49.

коления»7 сводится к трем принципам, определяющим понятие «СУБД третьего поколения», и тринадцати предложениям, которым должна удовлетворять подобная система. Однако этот подход в первоначальном виде, по-видимому, также не свободен от недостатков и был подвергнут критике. В результате многолетних исследований, проведенных К.Дж. Дейтом и X. Дарвеном, ими выработаны «Основы будущих систем баз данных»8. Эта работа в качестве основы сохраняет реляционный подход и с этой точки зрения подвергает основательной критике другие неаккуратные в сохранении реляционности подходы.

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

Итак, все рассматриваемые модели построения системы базы данных обладают как достоинствами, так и недостатками. К тому же во всех этих построениях весьма мало внимания уделяют развитию динамики объектов. Хотя в некоторых статьях9 авторы пытались расширить эти модели с помощью разнообразных способов добавления функциональности к различным системам с помощью программных надстроек, но реализация интерфейса практически всегда получалась сложной и запутанной для пользователя, а потому практически неприменима для решения общего круга задач. И практически все имеющиеся объектные и объектно-реляционные модели СУБД основаны на неизменности типа объекта. Но практика показывает, что довольно часто тип объекта приходится переопределять либо еще в процессе разра-

7Дарвин X., Дейт К. Третий манифест // СУБД. 1996. N 1. С. 110-123

8Date C.J., Darwen H. Foundation for Future Database Systems: The Third Manifesto. Second Edition

9M. Dumas, C. Daassi, M.-C. Fauvet, L. Nigay. Pointwise Temporal Object Database Browsing. K.R.Dittrich et al. (Eds.): Object and Database 2000, LNCS 1944, pp. 170184, 2001.

M. Dumas, M.-C. Fauvet, and P.-C. Scholl. TEMPOS: A Temporal Database Model Seamlessly Extending ODMG. Research report 1013-I-LSR-7, LSR- IMAG, Grenoble (France), March 1999.

S. Fernandes, U. Schiel, and T. Catarci. Visual query operators for temporal databases. In Proc. of the 4th Int. Workshop on Temporal Representation and Reasoning (TIME), May 1997.

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

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

Методы исследования

В диссертационной работе были использованы идеи введения базовых отношений между классами как множествами объектов и между объектами, а также идеи построения объектного языка запросов.

Обоснование полноты полученной системы и объектного языка для нее получено аналитическими методами.

Цели работы

1) построение новой концепции динамической информационной модели отражающей возможность гибкого изменения типов объектов и методов их обработки, возможность моделирования процессов динамического изменения данных, возможность использования объектного языка запросов;

2) обоснование этой концепции;

3) решение проблем реализации новой модели.

Научная новизна работы

1) выделены базовые и дополнительные отношения между класса-

ми объектов (наследования, включения, идентификации, выбора, истории, взаимодействия), введены аналогичные отношения для объектов;

2) на основании базовых отношений введено новое определение типа объектов;

3) обоснована полнота введенной системы классов и объектов для описания любых динамических детерминированных систем;

4) разработан объектно-динамический язык запросов для манипулирования данными системы и обоснована его полнота для выделения любого набора свойств любого связанного отношениями множества объектов;

5) выделено отношение взаимодействия объектов как основы для доступа и изменения данных.

Положения, которые выносятся на защиту

1) предложена концепция новой модели данных DIM, устойчивой к изменению типов данных; выделены базовые отношения объектов и классов; введено новое определение типа данных;

2) обоснована полнота этой модели с точки зрения реализации любых динамических детерминированных систем;

3) предложен новый объектно-динамический язык запросов ODQL для DIM;

4) обоснована полнота языка ODQL с точки зрения получения любых наборов свойств любой совокупности связанных базовыми отношениями объектов;

5) предложен новый способ взаимодействия пользователя с системой, при котором пользователь и задача включаются как объекты в систему и используются отношения взаимодействия объектов;

Практическая ценность работы

1) разработан подход и реализация системы с помощью «гибких таблиц»;

2) разработан транслятор объектно-динамического языка запросов;

3) создан навигатор объектов;

4) разработана система автоматической генерации входных форм для взаимодействия с пользователем;

Апробация работы

Основные результаты работы докладывались и обсуждались на научных конференциях:

1) "Проблемы теоретической кибернетики", XIII Международная конференция (Казань), Москва, 2002;

2) "V International Congress on Mathematical Modelling". Дубна, 2002;

3) "Дискретные модели в теории управляющих систем", V Международная конференция, Ратмино, 2003;

4) Восьмой международный семинар "Дискретная математика и ее приложения", Москва, МГУ, 2004.

Публикации и вклад автора

Материалы диссертации опубликованы в 10 печатных работах: 5 статьях и 5 тезисах докладов.

Структура и объем диссертации

Диссертационная работа состоит из введения, пяти глав, заключения и списка литературы, содержащего 51 наименование. Диссертация содержит 9 иллюстрированных рисунков. В приложениях приведены примеры компиляции запросов, список процедур реализации системы DIM, программная реализация генератора запросов, DIM Tools и DIM Client. Объем диссертации без приложений составляет 116 страниц.

Краткое содержание работы

Введение

Обосновывается актуальность темы диссертационной работы, сформулированы цели работы, указана научная новизна и практиче-

ская значимость результатов работы, приведены структура и содержание диссертации.

Обзор современных технологий

Производится обзор современных технологий, на основе которых построены реляционная, объектно-ориентированная и объектно-реляционная модели СУБД. Описываются основные идеи, достоинства и недостатки.

Концепции объектной динамической информационной модели

Ставится задача создания новой информационной модели данных, которая была бы устойчивой к изменению не только данных, но и типов данных. При этом под устойчивостью мы понимаем минимальные изменения, которые необходимо провести с данными объектов изменяющегося типа и с методами их обработки. Мы называем такую модель Динамической информационной моделью (DIM) и желаем, чтобы она удовлетворяла следующим свойствам:

1) Модель должна быть объектной, то есть позволять структуризи-ровать данные и методы их обработки.

2) Модель должна давать возможность изменять тип и методы обработки данных типа, сохраняя "старые" тип, данные и методы обработки.10

3) Модель должна давать возможность применять методы обработки, как к данным, соответствующего типа, так и к данным последующего или предыдущего типов в цепочке изменения типов.

4) Модель должна давать возможность моделировать процесс динамики изменения данных за счет введения режима автоматическо-

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

го вызова методов изменения данных.11

5) Модель должна давать возможность использовать некоторые свойства реляционной модели, выражающиеся в использовании алгебры логики.

Каждое из описаний моделей реального мира начинается с выделения объектов, которые порождаются сущностями реального мира. При этом мы выделяем в модели существенные для этих сущностей свойства, связи с другими сущностями и поведение, называя образы сущностей объектами модели. Каждая сущность реального мира уникальна, но по отношению к выделенному набору А свойств объект теряет свою уникальность, и, чем уже этот набор и шире множество УА значений свойств (прямого произведения), тем большая совокупность ОА объектов выделяется при этом. С выделенным поведением сущностей мы связываем множество РА операций с такими объектами, а полученная тройка характеризует класс объектов

CA = С(А,Уа,Р),

как множество объектов, с каждым из которых связаны свойства А, значение этих свойств из УА, и множество операций РА.

Выделение набора свойств объектов (и множества их значений), которое составляет классификацию объектов, мы можем произвести различным образом. Если при этом наборы А и В таковы, что

то это устанавливает отношение (в математическом смысле) между множеством объектов класса С в и множеством объектов класса СА, которое в терминах объектно-ориентированных баз данных трактуется как отношение наследования между этими классами. Это отношение типа "многие к одному" мы также будем называть отношением наследования, а класс С, родителем класса Св. Также для любого объекта Ов €СВ однозначно определяемый образ ОА £ СА будем называть родительским объектом (или родителем) объекта О в.

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

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

С учетом введенного понятия родительский объект аналогичным образом строится схема наследования объектов, которая соответствует схеме наследования классов.

Свойства объекта можно разделить на 2 группы:

1) простые или скалярные свойства, не имеющие структуры (например, вес, длина);

2) сложные или структурные свойства, которые в свою очередь определяются некоторым набором свойств.

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

отношение между 3 классами, добавив класс объектов, характеризующих включение в объекты первого класса объектов второго класса.

Аналогично схемам наследования классов и объектов введем схемы включения для классов и для объектов. Эти схемы также должны быть представлены ациклическими графами. Граф включения объектов должен оставаться ацикличным.

Вводится отношение идентификации для классов позволяющее более компактно описывать систему.

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

Под параметрами класса будем понимать свойства объектов, определяемые в самом классе, но не в родительских классах, и не являющиеся связями включения. Каждый параметр имеет тип - множество возможных значений. Все параметры класса можно разделить на группы:

1) обязательные идентификационные параметры - любые 2 объекта класса должны иметь различный набор непустых значений этих параметров;

2) обязательные неидентификационные параметры - объекты класса могут иметь одинаковые наборы непустых значений этих параметров;

3) дополнительные параметры - эти параметры могут быть определены непустыми значениями лишь для некоторых объектов.

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

Дается определение типа объекта DIM через следующий набор параметров классов:

1) параметры класса объекта;

2) параметры родительских классов для класса объекта;

3) параметры идентификации, определенные отношением идентификации;

4) связи со всеми классами, с которыми имеется отношение включения для класса объекта и его родительских классов.

Для описания динамики изменения свойств объекта вводится отношение истории объектов, связывающее объекты-предшественники с объектами-последователями с учетом их параметроврождения и смерти. Аналогично строится отношение истории классов, позволяющее описывать динамику изменения типов объектов.

Методы, работающие с типами нескольких классов, естественно связать с отношением этих классов. Поскольку каждый такой метод описывает процедуру взаимодействия объектов этих классов, то такое отношение классов мы назовем отношением взаимодействия, классы, порождаемые этим отношением, мы назовем классами взаимодействия, а методы этих классов - взаимодействиями.

Так как мы заинтересованы в возможно большей унификации отношения взаимодействия, то выделим в этом отношении следующие классы:

1) класс Откуда, описывающий тип объектов, являющихся источником в за имодей ствия;

2) класс Куда, описывающий тип объектов, являющихся направлением взаимодействия;

3) класс Что, описывающий тип объектов, являющихся объектом взаимодействия;

4) класс Как, описывающий тип объектов, являющихся описанием взаимодействия.

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

ресурсов, а также продолжительность взаимодействия. Выполнение взаимодействия изменяет ресурсы и условия для других взаимодействий. Если эти условия будут выполнены, то это приведет к возбуждению других взаимодействий (возможности или необходимости их выполнения). Пользователь системы работает с ней через меню взаимодействий, в котором выводится список всех разрешенных для него взаимодействий и список возбужденных взаимодействий (система разрешает или даже требует их выполнения). Вводятся 2 режима выполнения взаимодействия:

1) обычный режим, когда пользователь сам из меню запускает взаимодействие и отвечает на запросы взаимодействия;

2) автоматический, когда система, изменив масштаб времени, сама запускает взаимодействия в соответствии с продолжительностью их выполнения.

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

Теперь отметим, что множество операций типа объекта полностью определяется множеством взаимодействий, параметры которых содержат тип класса объекта или любых его родительских классов: Этим завершается определение типа объекта.

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

смерти взаимодействия вводим моменты начала разрешения и конца разрешения взаимодействия, которые соответственно могут предшествовать или последовать моментам рождения и смерти.

Детерминированные модели реального мира можно описывать с помощью введенной системы классов DIM и их отношений. Однако эти описания могут быть улучшены, если наложить на схему отношений дополнительные ограничения. Рассмотрим их:

1. Если между двумя классами (например, А и В) существует одновременно и отношение наследования (А является родительским классом для В) и отношение включения (А включает В), то это может привести к противоречию: объект Ь принадлежащий В, являющийся частью объекта а принадлежащего Л, одновременно наследует свойства объекта а, т.е. часть содержит целое. Этого можно избежать, если наложить ограничение: между любыми двумя классами DIM не может существовать одновременно отношений наследования и включения. Это ограничение будем называть ограничением определенности отношения классов.

2. Основное свойство объектов некоторого класса А (не являющееся включением) может являться параметром нескольких классов, являющихся родителями (возможно не непосредственными) этого класса Л. В этом случае это свойство не определяется однозначно для объектов класса А. Если ввести требование, чтобы любое основное свойство объектов системы было параметром только одного класса системы, то однозначность определения свойств объектов будет иметь место. Это ограничение будем называть ограничением однозначности основных свойств системы.

3. Свойство включения объектов некоторого класса А для объектов другого класса В также может неоднозначно определяться, если классы в "дереве" родителей В находятся в одном и том же отношении включения с классом А. Такая неоднозначность, разрешается отношением выбора. Ограничение схемы, состоящее в обязательном определении отношения выбора при неоднозначности выбора включения, будем называть ограничением выбора.

4. Если между некоторым родительским классом А и его дочерними классами отношения наследования объектов таково, что для каждого объекта а € Л дочерние объекты могут принадлежать только одному из классов , то такой класс А назовем идентифицирующим. Схему, имеющую идентифицирующие классы можно преобразовать, введя отношение идентификации так, что каждый идентифицирующий класс перестанет быть таковым. Таким образом, отсутствия идентифицирующих классов можно добиться

преобразованием схемы путем введения отношения идентификации.

Показывается, что введение указанных ограничений оставляет возможность описать любую детерминированную систему объектов. В этом состоит свойство полноты системы DIM.

Определение 1. Схема классов DIM находится в 1-й нормальной форме, если она отвечает ограничениям определенности, однозначности и выбора.

Теорема 2. Любая детерминированная динамическая система объектов может быть описана с помощью схемы классов DIM находящейся в 1-й нормальной форме.

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

Теорема 3. Схему классов DIM можно преобразовать из 1-й нормальной формы во 2-ю нормальную форму.

Теорема 4. Схему классов DIM, имеющую 2-ю нормальную формуя содержащую отношение идентификации классов, можно преобразовать в схему, имеющую 1-ю нормальную форму и не имеющую отношения идентификации классов.

Схема данных DIM может быть отображена при помощи реляционной модели, а потому для доступа к данным может быть использован язык SQL. Однако сложность DIM ведет к необходимости написания очень больших и сложных SQL-запросов. Введение объектов делает возможным построение объектного языка запросов. Но в отличие от языка OQL для объектно-ориентированной модели данных есть возможность автоматически учесть структуру отношений данных и не указывать ее во фразе WHERE, кроме ограничений на значения атрибутов. Для этих целей мы предлагаем язык ODQL. В простейших случаях, когда необходимо выбрать данные объектов одного типа, достаточно во фразе FROM указать имя класса объектов, во фразе SELECT указать список атрибутов и, возможно, в дополнительной фразе FOR (часть фразы WHERE) указать ограничения на значения атрибутов. В более сложных случаях, когда необходимо выделить свойства структурных частей объектов или объектов, связанных историей, возможен подход с рекурсией в виде подзапросов.

Определение 4. Множество классов DIM называется связным, если эти классы одновременно являются вершинами связного графа, ребрами которого являются либо отношение наследования, либо отношение включения между этими классами.

Определение 5. Множество объектов DIM называется связным, если эти объекты одновременно являются вершинами связного графа, ребрами которого являются либо отношение наследования, либо отношение включения между этими объектами.

Определение 6. Язык объектных запросов называется полным, если для любого заданного множества связных классов, любого множества связных объектов этих классов и любого множества свойств этих объектов существует запрос, написанный на этом языке, который выделяет заданное множество объектов и заданное множество их свойств.

Теорема 5. Язык ODQL является полным.

Проблемы доступа к данным DIM и объектно-динамические языки запросов ODQL

Язык ODQL, введенный для доступа к данным, должен отвечать следующим требованиям:

• позволять делать запросы, используя уже введенную структуру данных задачи;

• должен быть наглядным и понятным для человека, работающего с ним;

• должен быть объектным, то есть:

1) уметь выделять объект из множества по принадлежности к тому или иному классу;

2) уметь выделять параметры объекта независимо от того, являются ли они врожденными или наследуемыми;

3) уметь выделять включенные объекты (как непосредственно включенные, так и включенные в родителей);

4) уметь определять параметры этих включенных родителей и т.д.

Для его реализации предлагается выделить промежуточный язык OQL и реализовать двухпроходный транслятор: 1 проход: из ODQL в OQL, 2 проход: из OQL в SQL.

Введение двух языков запросов основано на следующей идее: ODQL-запрос может быть преобразован в OQL-запрос при помощи использования схемы отношений классов и объектов DIM, а далее OQL-запрос

используется либо для построения входной формы, либо для построения отчета. Такая двухпроходная трансляция позволит сделать более гибкой реализацию различных задач основанных на использовании языка запросов ODQL.

ODQL-запрос состоит из нескольких частей, каждая из которых несет свою функцию, и начинается с соответствующего служебного слова. Порядок следования частей является фиксированным. Слова FOR, SELECT, FROM, GROUP BY, HAVING, ORDER BY являются служебными. Во фразе FOR вводятся ограничения на значения параметров, в SELECT выбираются параметры, значения которых необходимо отобразить, во FROM задается класс объектов, относительно которого мы определяем связи с другими классами, параметры которых указаны в других фразах запроса, во фразе GROUP BY указываются параметры, по которым происходит группировка результирующих данных, в HAVING ограничения, накладываемые после группировки на данные, а в ORDER BY параметры, по которым происходит упорядочивание результата.

Поставленная задача была выполнена: созданы два языка запросов ODQL и OQL. Также показана возможность трансляции запросов ODQL в запросы OQL и далее в выполняемые запросы Oracle SQL.

Реализация DIM и гибкие таблицы

Объектную систему можно реализовать при помощи реляционной базы данных. Для этого с каждым классом объектов свяжем таблицу и с каждым отношением свяжем дополнительную таблицу, отражающую отношение "один ко многим". Недостатком такого подхода является чрезвычайно большое число таблиц для сложной системы. С введением нового класса необходимо заводить не только таблицу для его объектов, но и много других таблиц для отношений с другими данными. Если реальность заставила для некоторых объектов добавить параметры, которые не являются идентифицирующими, то требуется организовать дочерний класс для этих объектов, т.е. ввести новую таблицу и много дополнительных таблиц для связей этих объектов. Вдобавок для пользователя такие действия могут быть затруднены, так как на новые таблицы администратору базы данных нужно определить права доступа. Затруднения с организацией могут быть вызваны и тем, что права доступа иногда необходимо давать не только на записи таблицы, но и на ее параметры.

Для преодоления этих недостатков предлагается организация, при

которой информация об объектах, классах, параметрах классов, связях объектов, связях классов записывается в нескольких таблицах реляционной базы данных, которые называются жесткими. Число необходимых для этого жестких таблиц может быть небольшим - порядка 20. Но, при добавлении класса не нужно будет заводить новые таблицы, и определять права пользователя для них. Права доступа в описываемой системе должны даваться на взаимодействия, классы, объекты, параметры, т.е. на действия и их объекты, а не на данные реляционной базы данных. Такой объектный подход упростит не только проектирование базы данных сложной системы, но и сделает более легким администрирование системы.

Такой подход, называемый гибкими таблицами, выбран для проекции системы DIM на реляционную базу данных.

Пакеты процедур были созданы для управления проекцией объектно-динамической модели DIM на реляционную базу данных Oracle. Сами пакеты написаны на языки PL/SQL Oracle. Вся работа с данными системы DIM проходит через процедуры этих пакетов. Таким образом, они представляют собой программную надстройку над Oracle позволяющую работать с гибкими таблицами системы более удобно, чем при непосредственном использовании команд Oracle. Кроме этого, все функции пакетов имеют систему обработки ошибок, которые могли бы возникнуть при выполнении какой-либо функции.

Для проектирования организации данных в системе DIM нужен инструмент разработчика. При этом такой инструмент должен с одной стороны опираться на функции работы с данными классов, объектов и их отношений, а с другой стороны должен определять интерфейс разработчика. С помощью созданного инструмента DIM Tools можно производить следующие действия:

• создание, корректирование, удаление классов;

• создание, корректирование, удаление параметров;

• создание, корректирование, удаление объектов;

• установление и снятие связей наследования, включения, идентификации, выбора между классами;

• установление и снятие связей наследования, включения, идентификации, выбора между объектами;

Взаимодействие пользователя с системой и организация входных форм

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

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

После выбора стартового класса, проводится анализ его связей: определяются другие классы, состоящие с ним в отношении, определяется тип данного отношения (наследование, включение).

Для каждого отобранного класса определяется два списка объектов: находящиеся в отношении с выбранным объектом стартового класса и не находящиеся, но могущие быть включенными в это отношение (в зависимости от отношения ограничения для данного объекта). Если отношением является включение и предусмотрен класс связи включения, то к параметрам включенного объекта добавляются параметры объекта класса связи включения.

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

Недостатки же таковы: организация данного решения в виде навигатора затрудняет его прикладное использование; в данном решении никак не затронут вопрос о правах пользователей системы; малое быстродействие.

Для избавления от этих недостатков вводится понятие пользователь. Необходимо определить также понятие задача. Задача - это то, с чем работает пользователь для ввода и получения информации в различных случаях. Задача связана со схемой классов, но охватывает ее не всю, а в общем случае лишь часть. Пользователь же работает с систе-

мой на основе прав, то есть имеет права как на определенную задачу, так и на ее составные части.

Естественно, совершенно необходим механизм связи системы и пользователей. На эту роль весьма хорошо подходит так называемая связь взаимодействия, где одним из участников может быть пользователь, а другим система.

Наиболее оптимальным является такой вариант: взаимодействие настраивается администратором системы для некоего "общего" пользователя, а пользователь может неким ограниченным образом модифицировать форму для себя (например, модифицировать размещение, увеличивать/уменьшать количество данных на форме, в пределах предусмотренными взаимодействием и правами пользователя).

При этом решении администратором вводится некий шаблон, который описывает задачу целиком и привязывается к взаимодействию, управляющему этой задачей. Лучше всего на роль этого шаблона подходит язык запросов ODQL. В дальнейшем эти запросы (как ODQL, так и OQL) будут храниться в таблицах аппарата взаимодействий. Кроме заранее определенных запросов (стандартных) также могут храниться и пользовательские запросы с теми параметрами, которые пользователи сами могут задать.

В результате получен гибкий инструмент для реализации интерфейса пользователя в системе DIM. Управляя запросами ODQL с помощью конструктора запросов можно удобно настраивать отображаемые данные входных форм, в дальнейшем корректируя их и добавляя новые. Аппарат же взаимодействий лучше всего подходит для хранения и выполнения этих запросов.

Заключение

В данной работе:

• предложена новая модель данных, названная объектно-динамической информационной моделью DIM, которая устойчива к изменениям типов данных;

• выделены базовые и дополнительные отношения объектов;

• введено новое определение типа объекта;

• доказана полнота этой модели;

• создан объектно-динамический язык запросов ODQL для DIM;

• доказана полнота языка запросов ODQL;

• разработан транслятор языка запросов ODQL;

• приведена одна из возможных реализаций объектно-динамической информационной модели DIM с помощью «гибких таблиц»;

• предложен инструмент, с помощью которого можно работать с классами и объектами системы DIM;

• в работе рассмотрен вопрос о создании системы взаимодействия пользователя с системой DIM на основе отношения взаимодействия и приводится два варианта реализации, использующих идею автоматической генерации входных форм.

Таким образом, цели, поставленные перед данным исследованием, достигнуты.

Приложение

В пяти частях приложения приводятся примеры трансляции запросов ODQL, список процедур реализации системы DIM, программная реализация генератора запросов ODQL, представлены реализации программ DIM Tools и DIM Client.

Список публикаций по теме диссертации

[1] Рублев B.C., Дерябин В.О., Лобачев Д.И., Юсупов А.Р. Базовые отношения объектов баз данных и гибкие таблицы // Моделирование и анализ информационных систем. Ярославль: ЯрГУ, 2002. Т.9, N2. С. 16-27.

[2] Юсупов А.Р. Генерация входных форм динамической информационной модели // Современные проблемы математики и информатики: Сборник научных трудов молодых ученых, аспирантов и студентов. Вып. 5. Ярославль: ЯрГУ, 2002. С. 120-127.

[3] Рублев B.C., Лобачев Д.И., Юсупов А.Р. Языки запросов объектной динамической информационной модели DIM // Математика. Материалы Всероссийской научной конференции, посвященной 200-летию Ярославского государственного университета им. П.Г.Демидова, Ярославль: ЯрГУ, 2003. С. 134-143

[4] Юсупов А. Р. Языки объектно-динамических запросов и решение проблем доступа к информации в Динамической информационной модели DIM // Современные проблемы математики и информатики: Сборник научных трудов молодых ученых, аспирантов и студентов. Вып.б. Ярославль: ЯрГУ, 2004. С. 157-163.

[5] Чехранов Д.В., Юсупов А.Р. Язык запросов DQL и проблема реализации компилятора из языка DQL в язык OQL // Современные проблемы математики и информатики: Сборник научных трудов молодых ученых, аспирантов и студентов. Вып.б. Ярославль: ЯрГУ, 2004. С. 148-156.

[6] Дерябин В.О., Лобачев Д.И., Рублев B.C., Юсупов А.Р. Базовые отношения объектов динамической информационной модели и гибкие таблицы данных // Проблемы теоретической кибернетики, Тезисы докладов XIII Международной конференции, М.: МГУ, 2002. 4.1, С. 55.

[7] Юсупов А.Р. Генерация входных форм динамической информационной модели. // Проблемы теоретической кибернетики. Тезисы докладов XIII Международной конференции. М.: МГУ, 2002. Ч.И. С. 199.

[8] Deryabin V.O., Lobachov D.I., Rublyov V.S., Yusupov A.R., Dynamic informational model. //V International congress on mathematical modeling, Book of abstracts. M.: "JANUS-K", 2002, V.II. P. 86.

[9] Рублев B.C., Дерябин В.О., Иоссель МА, Карповский А.В., Ло-бачев Д.И., Юсупов А.Р. Классы отношений объектов и взаимодействия объектов. // Дискретные модели в теории управляющих систем. Тезисы докладов V научной конференции. М.: МГУ, 2003. С. 77-78.

[10] Юсупов А.Р. Интерфейс пользователя динамической информационной модели DIM и навигатор объектов. // Дискретные модели в теории управляющих систем. Тезисы докладов V научной конференции. М.: МГУ, 2003. С. 92-93.