автореферат диссертации по информатике, вычислительной технике и управлению, 05.13.17, диссертация на тему:Взаимодействия динамической информационной модели DIM: концепции и реализация
Автореферат диссертации по теме "Взаимодействия динамической информационной модели DIM: концепции и реализация"
003474402
На правах рукописи
Писаренко Дмитрий Сергеевич
Взаимодействия Динамической информационной модели DIM: концепции и реализация
Специальность 05.13.17 - Теоретические основы информатики
АВТОРЕФЕРАТ диссертации на соискание ученой степени кандидата физико-математических наук
Ярославль - 2009
г, ®
003474402
Работа выполнена на кафедре теоретической информатики Ярославского государственного университета им. П. Г. Демидова
Научный руководитель:
кандидат физико-математических наук, доцент
Рублев Вадим Сергеевич
Официальные оппоненты:
доктор технических наук, профессор
Дулин Сергей Константинович
кандидат физико-математических наук, доцент
Ивашковская Татьяна Константиновна
Ведущая организация:
Рыбинская государственная авиационная технологическая академия им. П.А.Соловьева
Защита состоится « //» 2009 г. в часов на заседании Дис-
сертационного совета ДМ 002.084.01 при Учреждении Российской академии наук Институте программных систем РАН, расположенном по адресу: 152020, Ярославская область, Переславский район, с. Веськово, ул. Петра Первого, д.4а.
С диссертацией можно ознакомиться в библиотеке Учреждения Российской академии наук Института программных систем РАН. Автореферат разослан «/7-» _2009 г.
Ученый секретарь диссертационного совета, кандидат технических наук, __ Пономарева С. М.
ОБЩАЯ ХАРАКТЕРИСТИКА РАБОТЫ Актуальность работы
Современные технологии накопления, хранения и обработки информации в системах, называемых базами данных, являются одними из самых мощных способов представления знаний о реальном мире. Их мощь определяется программными продуктами, называемыми системами управления базами данных (СУБД). Архитектуры СУБД весьма разнообразны, но в настоящее время основываются на одной из самых распространенных моделей: реляционнойобъектно-ориентированной2, объектно-реляционной3 или темпоральной .
Реляционная модель, введенная Э. Коддом, обладает некоторыми практическими недостатками. Разработчикам программного обеспечения, которое должно обрабатывать данные, хранимые в реляционных СУБД, приходится проектировать свою задачу не в терминах предметной области, а в терминах реляционных таблиц. А изменение структуры таблиц влечет за собой изменение всего программного обеспечения, разработанного для прежней структуры, поскольку программное обеспечение обычно оказывается жестко завязанным на структуру реляционных таблиц.
Указанные недостатки являются причиной возникновения трудностей при проектировании и поддержке сложных систем. Это вынудило разработчиков СУБД искать другой подход для описания объектов.
Объектно-ориентированный подход5 позволил повысить уровень абстракции при манипуляции данными, поскольку в этом случае используются термины предметной области, а не термины реляционных таблиц. Наибольшее развитие этот подход получил в модели ODMG6, рассмотренной в общей работе R.G.G. Cattell и D.K. Barry.
1 Codd E.F. A relational model for large shared data banks // Comm.ACM, 13:6 (1970),р377-387
Codd E.F. Further normalization of the database relational model, in Database Systems (R.Rustin, ed.) // Prentice Hall, En-|lewood Cliffs, NJ, 1972
Гарсиа-Молина Г., Ульман Дж.Д., Уидом Дж. Системы баз данных. Полный курс // изд. "Вильяме", 2003
3 Стоунбрейкер М. Объектно-реляционные системы баз данных. // Открытые системы. 1994. N4. С. 43-49.
4 Б.Б. Костенко, С.Д. Кузнецов, История и актуальные проблемы темпоральных баз данных // сайт www.citforum.ru (точный адрес: http://www.citforum.ru/database/articles/temporal/), 2007
^ Ким В. Технология объектно-ориентированных баз данных. // Открытые системы. 1994. N 4. С. 30-42.
Cattell R.G.G., Barry D.K. The Object Data Standard: ODMG 3.0 // Morgan Kaufmann Publishers, San-Francisco, 2001 Калиниченко Л.А. Стандарт систем управления объектными базами данных ODMG-93: краткий обзор и оценка состояния. II СУБД. 1996. N 1. С. 102-109.
Такие недостатки этой модели, как сложность использования языка манипулирования данными, отсутствие средств поддержания целостности, трудность описания отношений, в которых участвуют более двух объектов, трудности изменения данных при их избыточности, плохая совместимость с реляционной парадигмой, привели ее (объектно-ориентированную модель) «на грань полного краха», как отмечено в книге Гарсиа-Молины «Системы баз данных».
Возникшие обстоятельства стали причиной построения других объектных систем, совмещающих реляционную и объектную идеи. Такие системы рассмотрены в работе М. Стоунбрейкера. Сторонники этого подхода придерживаются принципа эволюционного развития возможностей СУБД без коренной ломки традиционных принципов и с сохранением преемственности с системами предыдущего поколения.
Недостатки этой модели таковы: видимость объектно-ориентированного подхода (нет инкапсуляции, не поддерживается полиморфизм), незамкнутость языка запросов (если на входе объект или объекты, то на выходе это уже не так). Все вышесказанное позволяет заключить, что СУБД данного класса на самом деле объектно-ориентированными не являются. Косвенное подтверждение этого заключается в том, что, предлагая объектно-реляционные СУБД, их создатели не дают адекватной методологии.
Темпоральные СУБД позволяют сохранять информацию об эволюции объектов предметной области. Для этого в момент каждого изменения любого объекта описываемой предметной области происходит сохранение новой записи в базе данных. СУБД темпорального типа обладают таким очень серьезным недостатком, как большое количество хранимых записей, что приводит к значительному размеру хранилища данных, а для приемлемой скорости работы таких баз данных необходимы высокопроизводительные системы.
Во всех указанных моделях мало внимания уделено развитию динамики объектов. Хотя в некоторых статьях7 авторы пытались расширить эти модели с
7 M. Dumas, С. Daassi, M.-С. Fauvet, L. Nigay. Pointwise Temporal Object Database Browsing. K.R..Dittrich et al. (Eds.): Object and Database 2000, LNCS 1944, pp. 170-184,2001.
M. Dumas, M.-C. Fauvet, and P.-C. Scholl. TEMPOS: A Temporal Database Model Seamlessly Extending ODMG.
помощью разнообразных способов добавления функциональности к различным системам программными надстройками, но реализация интерфейса получалась сложной и запутанной для пользователя, а потому практически неприменимой для решения общего круга задач.
Почти все имеющиеся объектные и объектно-реляционные модели СУБД основаны на неизменности типа объекта. Но практика показывает, что довольно часто тип объекта приходится переопределять либо еще в процессе разработки СУБД, либо уже в процессе ее эксплуатации, что является критичным.
Следующим шагом в направлении разработки универсальной модели данных, лишенной недостатков рассмотренных систем, и создания СУБД, основывающихся на этой модели, были попытки добавить к уже имеющимся моделям данных динамику изменения типов и схемы данных. Такое улучшение разработанных ранее моделей делает их более гибкими. Пользователь получает возможность изменять схему хранимых данных, не прибегая к операциям создания новых схем и конвертации уже накопленных данных. Но, приобретая большую гибкость, такие модели, как правило, не лишаются недостатков своих моделей-прообразов. Так, например, динамическая ОРСУБД ORD8, позволяющая изменять структуры классов и типы атрибутов, не является объектной, поскольку в ней не поддерживается ни наследование, ни полиморфизм, ни инкапсуляция.
Стремясь создать новую информационную модель данных, лишенную недостатков рассмотренных выше моделей, B.C. Рублевым и группой его учеников была предложена новая модель описания данных - Динамическая информационная модель DIM9, которая обладает следующими особенностями своего построения:
1) модель описывается конечным (хотя и потенциально неограниченным) числом объектов, с каждым из которых может быть связано время жизни объ-
Research report 1013-I-LSR-7, LSR- IMAG, Grenoble (France), March 1999.
S. Femandes, 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.
Основные сведения о системе ORD, сайт http://www.ord.com.ni (точный адрес http://www.ord.com.ru/files/guidldoc.2ip)
' Писаренко, Д.С. Объектная СУБД Динамическая информационная модель и ее основные концепции / Д.С. Писаренко, B.C. Рублев // Моделирование и анализ информационных систем -2009.-Т. 16, №1
екта (возможно неограниченное);
2) каждый объект определяется некоторым рядом свойств с их значениями, одни из которых являются постоянными в течение всего времени жизни объекта, а другие могут изменяться;
3) изменения значений свойств объектов происходят в дискретные моменты времени и определяются детерминированными законами взаимодействия объектов;
4) взаимодействия объектов могут приводить к более общей их динамике, при которой может заканчиваться время жизни одних объектов и начинаться время жизни других объектов.
Динамика изменения объектов в объектно-ориентированных и объектно-реляционных моделях реализуется с помощью методов объектов, которые инкапсулированы в классы этих объектов. В случае, когда в некотором изменении участвуют объекты разных классов, нарушается стройная концепция инкапсуляции, и возникает ситуация несимметричности методов объектов.
На практике выполнение некоторой задачи по изменению данных требует вызова нескольких функций различных объектов, что может привести к ситуации, когда у пользователя нет прав на вызов некоторых методов или изменение того или иного объекта, и это делает невозможным выполнение всей задачи по изменению данных.
Для описания динамики объектов в Динамической информационной модели DIM вводится отношение взаимодействия объектов (взаимодействие объектов), которое является обобщением понятия метода объекта. Отношение взаимодействия является симметричным относительно всех объектов, участвующих в нем, и выступает для пользователя как одна целая и неделимая операция.
Данная работа посвящена разработке и реализации концепций взаимодействий объектов любой предметной области, описанной с помощью новой модели данных - Динамической информационной модели DIM. Взаимодействия объектов являются одним из центральных моментов СУБД нового типа. От тщательности проработки их концепций зависят эксплуатационные характеристики
всей системы. В этом и заключается актуальность данной работы.
Цель и задачи работы
Целью диссертационной работы является разработка и реализация концепций взаимодействий объектов модели - фундаментального аспекта новой Динамической информационной модели DIM, от которого зависят эксплуатационные характеристики новых систем, реализующих DIM. Достижение указанной цели было связано с решением следующих подзадач:
1) разработка и реализация концепций взаимодействий объектов, описанных с помощью Динамической информационной модели DIM;
2) разработка синтаксиса и реализация интерпретатора языка математических формул DIM-FL Динамической информационной модели DIM;
3) разработка синтаксиса и реализация интерпретатора объектного расширения PL/ODQL языка запросов ODQL Динамической информационной модели DIM;
4) разработка синтаксиса и реализация интерпретатора языка сценариев взаимодействий DIM-Script Динамической информационной модели DIM.
Методы исследования
В диссертационной работе используются идеи теоретической информатики для построения языка математических формул DIM-FL, объектного расширения PL/ODQL языка запросов ODQL и языка сценариев DIM-Script взаимодействий Динамической информационной модели DIM. Для программной реализации разработанных концепций и языков используются методы трансляции, объектно-ориентированного программирования и современные информационные технологии.
Обоснование полноты Динамической информационной модели DIM получено аналитическими методами с использованием разработанных концепций взаимодействий объектов модели DIM.
Научная новизна
Все основные результаты являются новыми:
1) выделено специальное отношение взаимодействия объектов как основа для описания изменения классов и объектов системы DIM;
2) разработан язык математических формул DIM-FL Динамической информационной модели DIM;
3) разработано объектное расширение PL/ODQL языка запросов ODQL Динамической информационной модели DIM;
4) разработан язык сценариев DIM-Script взаимодействий Динамической информационной модели DIM;
5) обоснована полнота введенной B.C. Рублевым системы классов и объектов Динамической информационной модели DIM, используемых для описания любых динамических детерминированных систем.
Практическая значимость работы
Разработаны концепции одного из центральных аспектов новой Динамической информационной модели DIM - отношения взаимодействий объектов системы. Данное отношение позволяет описывать динамику объектов DIM.
Разработан синтаксис и интерпретатор языка математических формул DIM-FL, который используется для описания расчетов, производимых при взаимодействии объектов DIM. Данный язык позволяет пользователю, не имеющему квалификации программиста, легко и в удобной форме описывать различные методики расчетов и связанные с ними математические вычисления и формулы. Описанные на языке DIM-FL методики расчетов очень схожи с описанием этих методик в ГОСТах и других нормативных документах.
Разработан синтаксис и интерпретатор объектного расширения PL/ODQL языка запросов ODQL. Объектное расширение дополняет SQL-подобный язык ODQL конструкциями и операторами, которые позволяют квалифицированным пользователям системы DIM использовать язык PL/ODQL для описания различных алгоритмов. Наряду со стандартными конструкциями подобных языков введенные конструкции дают возможность пользователю описывать множество
различных операций с объектами, со значениями атрибутов объектов, с классами объектов и с атрибутами классов Динамической информационной модели DIM.
Разработан синтаксис и интерпретатор языка сценариев взаимодействий DIM-Script. Этот язык используется для описания сценария взаимодействия объектов DIM.
Апробация работы
Основные результаты работы докладывались на научном семинаре, проводимом на кафедре теоретической информатики ЯрГУ «Моделирование и анализ информационных систем» и обсуждались на научных конференциях:
1. «Дискретная математика и ее приложения», IX Международный семинар, посвященный 75-летию со дня рождения академика О. Б. Лупанова, Москва, 2007.
2. «Синтез и сложность управляющих систем», XVII Международная школа-семинар имени академика О.Б. Лупанова, Новосибирск, 2008.
Публикации
Материалы диссертации опубликованы в пяти статьях и тезисах двух докладов. Из них две статьи опубликованы в издании, входившем в перечень ВАК на момент публикации и находящемся в перечне ВАК в настоящий момент.
Личный вклад автора
Концепции отношения взаимодействий объектов Динамической информационной модели DIM получены в соавторстве с научным руководителем. Язык математических формул DIM-FL, объектное расширение PL/ODQL языка запросов ODQL и язык сценариев взаимодействий DIM-Script, а также обоснование полноты введенной системы классов и объектов Динамической информационной модели DIM разработаны автором самостоятельно.
Структура и объем диссертации
Диссертационная работа состоит из введения, трех глав, заключения, списка
литературы, содержащего 72 наименований, и приложений. Диссертация содержит 10 рисунков. Объем диссертации без приложений и списка литературы составляет 90 страниц, общий объем - 171 страница.
СОДЕРЖАНИЕ РАБОТЫ
Во введении проводится обзор современных технологий, на основе которых построены реляционная, объектно-ориентированная, объектно-реляционная и темпоральная модели СУБД. Описываются их основные идеи, достоинства и недостатки. Обоснована актуальность темы диссертационной работы, сформулированы ее цели, указана научная новизна и практическая значимость результатов работы.
В первой главе описываются динамические дискретные детерминированные модели, вернее некоторый класс моделей, которые обладают следующими особенностями:
1) модель описывается при помощи конечного (хотя и неограниченного) числа объектов, с каждым из которых может быть связано время жизни объекта (возможно, неограниченное);
2) каждый объект определяется некоторым рядом свойств с их значениями, одни из которых являются постоянными в течение времени жизни объекта, а другие могут изменяться;
3) изменения значений свойств объектов определяются детерминированными законами взаимодействия объектов, которые происходят в дискретные моменты времени;
4) взаимодействия объектов могут приводить к более общей динамике объектов, при которой может заканчиваться время жизни одних объектов и начинаться время жизни других объектов.
Динамическая дискретная детерминированная модель, отвечающую перечисленным особенностям описания, называется объектно-динамической моделью или ОЭ-моделью.
В ОЭ-модели (предметная область) предполагается конечным множество
свойств-атрибутов А, множество О объектов, определяемых каждый своим набором свойств из множества А, и множество L связей этих объектов, определяющих структурные свойства объектов. Динамические свойства OD-модели определяются конечными множествами F и G алгоритмических процедур, изменяющих в дискретной шкале времени значения свойств объектов и сами объекты соответственно. Основные понятия Динамической информационной модели DIM базируются на указанных множествах предметной области OD-модели.
Приводятся примеры описания машины Тьюринга и химической реакции производства аммиака, указывающие на возможность применения OD-моделей для описания различных предметных областей.
При создании DIM преследовались цели создания новой информационной модели данных, которая была бы устойчива к изменению не только данных, но и типов данных. При этом под устойчивостью мы понимаем минимальные изменения, которые необходимо провести с данными объектов изменяющегося типа и с методами их обработки. Динамическая информационная модель DIM удовлетворяет следующим свойствам:
1. Модель является объектной, то есть, позволяет структурировать данные и методы их обработки.
2. Модель дает возможность изменять тип и методы обработки данных типа, сохраняя «старые» тип, данные и методы обработки.10
3. Модель дает возможность применять методы обработки как к данным соответствующего типа, так и к данным последующего или предыдущего типов в цепочке изменения типов.
В Динамической информационной модели DIM рассматривается множество объектов О, заданное описанной дискретной детерминированной моделью, множество свойств-атрибутов этих объектов А и множество свойств-связей
10 Такое изменение не всегда связано с определением подтипа и перемещением к нему объектов существовавшего типа: может измениться тип атрибутов или в общем случае добавление одних атрибутов (что подтип может обеспечить) и удаление других. Важным является образование "новых" объектов измененного типа из "старых" объектов с сохранением "старых" объектов и связей между "новыми" и "старыми". При этом "новый" тип мы будем называть "последующим" для "старого" типа, а "старый" тип - "предыдущим" для "нового" типа.
этих объектов с другими объектами. Подмножество объектов Ос с С, имеющих одинаковые свойства-атрибуты и одинаковое поведение (могут исполнять одни и те же роли во взаимодействиях с другими объектами), назовем классом объектов (обозначим с), а совокупность всех классов - множеством классов С.
Через с(о) обозначим класс объекта о, а через о(с) - произвольный объект класса с. Класс с определяется множеством А0(С) атрибутов своих объектов и одинаковым поведением своих объектов во взаимодействиях с другими объектами в одних и тех же ролях.
Каждый атрибут а е А определяется некоторым предопределенным типом значений Va, которые он может принимать для объектов, имеющих этот атрибут. Типом значений называется множество значений и операций с этими значениями. В каждый момент времени t объект о, имеющий атрибут а, обладает значением v„ е Va. Некоторые из этих значений остаются неизменными на протяжении всей «жизни» объекта vao(t) = const, а другие могут изменяться
va.B=va.B(t).
Между объектами, между классами модели DIM устанавливаются связи, описывающие различные отношения между ними. В модели DIM имеются три базовых отношения: наследования, включения и истории.
На множестве классов С введено отношение Р наследования классов, которое любому классу сеС ставит в соответствие множество классов Р(с), являющихся непосредственными родителями для с. Наследование классом Cj класса сг означает, что класс q наследует все свойства-атрибуты от класса сг и даже те, которые класс сг унаследовал от своих родительских классов.
Если два класса сг и cj находятся в отношении наследования, где первый является родительским, а второй - дочерним классами, то на множестве объектов этих классов задается отношение р наследования объектов, которое каждому
объекту Orf е crf ставит в соответствие такой объект or = p{od,cr) € cr 5 что для любого свойства-атрибута а класса сг, наследуемого классом с,/, его значения для объектов оЛ и ог совпадают.
Отношение наследования объектов для каждого объекта о^ е сл однозначно определяет объект ог е сг, который называется родительским объектом, а сам объект ог1 для объекта ог называется дочерним объектом.
Наследование объектов расширено понятием внутреннего наследования объектов. Это необходимо в том случае, когда и родительский, и дочерний объекты принадлежат одному классу. Важно отметить, что при внутреннем наследовании объектов каждому дочернему объекту ставится в соответствие не более одного родительского объекта в этом же классе. Если объекты ог и о</ являются объектами одного класса с, и, при этом, объект ог является родительским для объекта оЛ то объект о{1 по наследованию получает только те значения включения объектов, которые определены для объекта ог, но не определены для объекта о
Во многих предметных областях, описываемых дискретными детерминированными моделями, встречаются объекты, которые могут являться составными частями других объектов. В Динамической информационной модели Б1М связь между включаемым и включающим объектами определяются с помощью отношения включения объектов.
Отношение включения классов введено на множестве 1с троек классов: /с ={(са,сь,с,)\са еС,сь еС,с, еСи{0}}.
Отношение включения классов между классами са и сь создает возможность включения объектом оа е са объекта оь е Съ с качеством включения, определяемым объектом »/ее/ в случае непустого класса связи с;. Если класс связи с/ пуст, то объект качества включения о/ объекта оа в объект оь не задается, и отношение называется простым. В противном случае объект о/ задается единственным образом. Множество /о отношений включения объектом о„ объекта оь с объектом качества включения О/ определяется так:
1о ={(°а>0Ь>°,)\°а &Са>°Ь 6 СЬ >°1 е С1 > (Са > СЪ » С/ ) £ 1с } .
Отношение включения объектов, определяющее связь объектов оа е с,„ оь £ сь и в) е Си является связью /ч (оа ,оь)еЬ. Объект оа может наследовать эту связь
от одного из своих родительских объектов, если таковые имеются. Если эта связь задана для объекта оа и для одного из его родительских объектов, то используется та, которая задана непосредственно для объекта оа.
с,- Старший клаЬЬ ;
Л
^ Q - Класс «Как» J t i
Сь - Младший класс
Рис. 1. Отношение включения
Схематически отношение включения изображено на рис. I.
При множественном наследовании два родительских объекта or¡ и ог2 могут
иметь связи llt(on,ob)eL и (ог2,оь) е L соответственно. Имеем неоднозначность: какую связь включения должен унаследовать объект о„? Для разрешения этой неоднозначности используется отношение выбора, определенное множеством Ch = {{о,ор,сь,с,)\ор еср,с р е Р(с{о)),(ср,сь,с,) € 1С}, включающим в себя выбор для объекта о родительского объекта ог, от которого наследуется связь включения.
Включение объектов расширено понятием внутреннего включения объектов. Это необходимо в том случае, когда и включающий, и включаемый объекты принадлежат одному классу.
Все объекты в Динамической информационной модели DIM имеют два специальных параметра: время рождения и время смерти. В определенный момент времени некоторый объект может прекратить свое существование, но на смену ему может прийти новый объект. «Смерть» объекта может быть обусловлена изменением типа данных атрибута объекта или детерминированными законами, описывающими поведение модели. В общем случае на смену некоторому множеству объектов (называемых предшественниками) может прийти другое множество объектов, которые называются последователями. Необходимо отметить, что каждое их этих множеств может быть пустым.
На множестве всех объектов модели О введено антисимметричное транзитивное бинарное отношение, которое определяет множество объектов-предшественников, множество объектов-последователей и момент изменения (см. рис. 2). Это отношение называется отношением истории. По этому отношению может быть определено множество предшественников некоторого объекта на момент его «рождения» и множество последователей на момент его «смерти».
t t+1
Момент «смерти» объекта-предшественника Момент «роэдения» объектов-последователей
Рис. 2. Отношение истории
Аналогичные конструкции, отношение истории классов, классы предшественники и классы последователи, введены для описания динамики изменения классов. Если на смену некоторому классу с0у приходит класс cnew, то все объекты класса с0и прекращают свое существование, а на смену им приходят объекты класса cnew.
Тип объекта DIM определяется множеством параметров класса и множеством взаимодействий, для каждого из которых сам класс или один из его родительских классов выполняет некоторую роль. Множество параметров типа определяется:
1) параметрами класса объекта;
2) параметрами родительских классов для класса объекта, если таковые имеются;
3) связями со всеми классами, с которыми имеется отношение включения для класса объекта и его родительских классов.
Во второй главе вводятся и детально описываются концепции отношения взаимодействий Динамической информационной модели DIM.
В объектно-ориентированных моделях СУБД поведение объектов описывается методами класса объектов, которые инкапсулированы в этот класс. Если метод связан только с объектами этого класса, то такая конструкция является естественной. Но поведение объектов чаще связано с объектами разных классов, вступающих во взаимодействие. В этом случае возможно введение в метод объектов других типов через параметры метода. Но это уже нарушает стройную концепцию инкапсуляции, так как метод связан и с поведением этих других объектов, а он не инкапсулирован в соответствующие классы. Поэтому выделение специального класса для методов, описывающих поведение объектов, хотя и разрушает концепцию инкапсуляции, является симметричным относительно всех объектов, вступающих во взаимодействие, и потому более естественным.
На множестве классов модели DIM определяется функциональное отношение, действующее из подмножества прямого произведения трех классов в четвертый специальный класс взаимодействий, которое называется отношением взаимодействия классов. Между четырьмя классами, определяющими отношение взаимодействия, роли распределяются следующим образом:
1) класс Откуда, описывающий тип объектов, являющихся источником взаимодействия;
2) класс Куда, описывающий тип объектов, являющихся направлением взаимодействия;
3) класс Что, описывающий тип объектов, являющихся объектом взаимодействия;
4) класс взаимодействий (класс Как), описывающий тип объектов, являющихся описанием взаимодействия.
Отношение взаимодействия определяется на множестве:
B = {(cf,cl,cw,oh)\cf е С, с, &C,cwsC,oh ее,}.
четверок трех классов: Откуда (су - from), Куда (с, - to), Что (cw - what) и объекта класса взаимодействий Как (о/, - how).
Взаимодействие есть объект класса взаимодействий, который описывает
ситуацию взаимодействия (поля класса) и процедуру взаимодействия (поведение) объектов классов Откуда, Куда и Что. Класс взаимодействий может быть связан отношением включения с другими классами, описывающими дополнительные объекты, входящие во взаимодействие. Введенная схема описания поведения объектов является достаточно общей: при меньшем, чем три, числе взаимодействующих объектов, можно воспользоваться правилами умолчания, а при большем числе взаимодействующих объектов можно их классы включить в специально создаваемые классы, играющие роли Что, Откуда и Куда.
В системе могут существовать взаимодействия, результатом выполнения которых будут новые объекты, а эти объекты, в свою очередь, могут быть ресурсами для других взаимодействий. На стадии создания нового взаимодействия могут быть заданы условия, без удовлетворения которых взаимодействие не будет выполняться. Это могут быть условия на наличие каких-либо ресурсов в системе, необходимых для нормального выполнения взаимодействия. Если в системе нет необходимых ресурсов или их количество не удовлетворяет определенным для взаимодействия условиям, то тогда возможно выполнение взаимодействий, результатом которых будет создание ресурсов необходимых для выполнения условий, наложенных на взаимодействие.
В общем случае для автоматического выполнения взаимодействий необходима проверка более сложных условий. Рассмотренные потребности решаются введением в класс взаимодействий атрибутов: Условие взаимодействия и Режим активизации (два состояния: автоматически и пользователем), а также введением специального класса связи Ресурс. Объекты этого класса являются объектами связи отношений включения объектов, участвующих во взаимодействии, в объект взаимодействия.
Класс взаимодействия имеет атрибут Время выполнения, который определяет время, затрачиваемое на выполнение действий, описываемых взаимодействием (например, для изготовления детали на станке у токаря уходит 30 минут). Добавление временной характеристики выполнения взаимодействия позволяет ввести понятие События как наступления момента выполнения взаимодейст-
вия. Введение графа событий позволит решать задачи по прогнозированию поведения системы в результате того или иного управления, а также оптимизировать управление системой с целью получения тех или иных ее свойств. Основные атрибуты класса взаимодействия показаны на рис. 3.
Рис. 3. Класс взаимодействия
Отметим, что действия пользователя по изменению данных системы описываются взаимодействиями, в которых сам пользователь выступает объектом в роли Откуда.
Каждому пользователю системы даются права на выполнение того или иного взаимодействия. Таким образом, у каждого пользователя системы имеется меню со списком взаимодействий. Этот список состоит из разрешенных, запрещенных и требуемых в текущий момент взаимодействий. Требуемыми взаимодействиями называются взаимодействия, выполнение которых необходимо для удовлетворения условий выполнения других взаимодействий.
Для описания процедуры взаимодействия выделим три последовательных этапа:
1) уточнение объектов, участвующих во взаимодействии (объекты классов Откуда, Куда, Что и Как)',
2) проверка условий выполнения взаимодействия;
3) определение процесса расчета, связанного с взаимодействием.
Для проведения расчетов языка ООС>Ь недостаточно, так как он не обладает вычислительной полнотой. Для этого можно либо пользоваться другими язы-
ками, встраивая их в систему DIM, либо добавлять конструкции в язык ODQL, либо разработать специальный язык для этих целей и, в основном, для целей удобного использования за счет применения конструкций работы с объектами и их множествами, с классами и их множествами, с атрибутами классов и со значениями атрибутов объектов. Автором был выбран путь разработки нового вычислительно полного языка, названного PL/ODQL.
Для случаев описания не сложных, но громоздких расчетов, с целью освобождения квалифицированных разработчиков от большого объема рутинной работы, должен быть создан язык формул DIM-FL. Он позволит инженеру или экономисту описывать простые алгоритмы на языке близком к наглядному описанию методик расчетов в ГОСТах. Интерпретатор этого языка, используя такое описание, должен уметь выбирать данные из БД и заносить результаты в БД после окончания расчетов по формулам.
Средства описания этапов взаимодействия достаточно разнородны, и потому рационально введение языка сценариев DIM-Script, который бы позволил «склеить» отдельные части этапов.
Все предложенные языки (PL/ODQL, DIM-FL и DIM-Script) должны учитывать специфичные особенности Динамической информационной модели DIM. Разработка этих новых языков обуславливается еще и тем, что использование уже имеющихся на сегодняшний день широко распространенных языков (JavaScript и др.) только ухудшит показатели производительности в силу невозможности оптимизации этих языков под особенности Динамической информационной модели DIM. В пользу создания новых языков говорит еще и требование простоты их использования, создания или изменения алгоритмов взаимодействий для конечного пользователя системы, предъявляемое к аппарату взаимодействий объектов модели DIM.
Одной из процедур, определяемых сценарием взаимодействия, может быть проведение расчетов различных физико-механических, физико-химических, а также многих других показателей и параметров, описанных в стандартах точным языком (например, ГОСТы). Многочисленные специальные методики не-
постоянны: одни меняются, другим, устаревшим, на смену приходят новые. Реализация обновления или замены методик требует наличия большого штата специальных сотрудников для их описания и сопровождения. Эта проблема может быть решена, если обычный пользователь системы DIM сможет самостоятельно описывать методику расчета.
Для решения этой задачи был создан язык DIM-FL. Его синтаксис не имеет значительных отличий от описаний методик расчетов в ГОСТах и других нормативных документах и позволяет в простой и удобной для пользователя системы DIM форме описывать различные методики расчетов и связанные с ними математические вычисления и формулы. При этом язык DIM-FL обеспечивает возможность использования данных из системы DIM при проведении этих самых расчетов и сохранения результатов вычислений в системе, т.е. он учитывает специфику объектов системы DIM.
Язык DIM-FL позволяет:
1) выполнять простейшие математические операции и другие несложные численные вычисления;
2) манипулировать не только единичными значениями, но и наборами таких числовых значений, иметь несложные конструкции для оперирования такими наборами;
3) на определенном шаге делать ветвление вычислений в зависимости от результатов выполнения предыдущих шагов;
4) использовать в расчетах данные системы DIM и вносить изменения в данные системы DIM на основе проведенных вычислений.
По аналогии с языками программирования язык DIM-FL использует переменные и массивы. Переменные и элементы массивов могут иметь только числовые значения. В языке DIM-FL переменные и массивы бывают трех типов:
1) переменные и массивы, значения которых берутся из системы DIM или в ней сохраняются;
2) переменные и массивы, значения которых вводятся пользователем перед выполнением расчетов;
3) переменные, которые принимают свои значения в ходе выполнения расчетов.
В языке DIM-FL имеется набор стандартных средств: встроенные математические функции, операторы цикла и ветвления. Также имеются конструкции, позволяющие определить связь с данными системы DIM: откуда берутся данные, используемые в расчетах, куда будут сохранены результаты вычислений. Имеются конструкции, определяющие какие данные, необходимые для расчетов, должны быть введены пользователем. Основное достоинство языка DIM-FL, позволяющее освободить разработчиков конкретной БД от большей части рутинной работы, заключается в том, что все дополнительные конструкции практически не мешают видеть структуру программы идентичной структуре документа, определяющего методику расчетов.
Объектно-динамический язык запросов ODQL модели данных DIM не является вычислительно полным, хотя и обладает запросной полнотой.
Проведенный анализ имеющихся объектных языков запросов, таких как Tutorial D и OQL, основанных на идеях третьего Манифеста «Object Data Management Group», показывает, что все они имеют определенные недостатки. Многие лишены механизмов обработки исключительных ситуаций.
Язык PL/ODQL обладает стандартным набором функций и операторов, позволяющих реализовывать циклы и ветвления. В языке PL/ODQL существуют специальные конструкции для манипуляций с объектами, со значениями атрибутов объектов, с классами, с атрибутами классов, с множествами классов и объектов, с классами и объектами взаимодействий, со связями отношений включения, наследования и истории классов и объектов. В языке имеется специальный оператор FOREACH для последовательной работы со всеми элементами множества классов или объектов. Существуют операторы, необходимые для обработки исключительных ситуаций. Таким образом, язык PL/ODQL имеет большие функциональные возможности манипуляции объектами и классами системы DIM и учитывает специфику системы DIM.
Взаимодействие может описывать изменение объектов и классов системы DIM, проведение некоторых расчетов и сохранение их результатов. Одно взаимодействие может включать в себя несколько блоков различных расчетов, вызов других взаимодействий, а также может иметь несколько блоков, описывающих изменение классов и объектов системы DIM. Для описания методик расчетов используется язык DIM-FL. Изменения классов и объектов системы DIM описывается языком запросов PL/ODQL. Последовательность выполнения блоков взаимодействия определяется сценарием взаимодействия. Для описания сценария взаимодействия вводится язык сценария DIM-Script, с помощью которого для каждого взаимодействия определяются:
• объекты классов Что, Откуда, Куда;
• последовательность выполнения блоков, написанных на языке запросов PL/ODQL, и блоков расчетов, описанных языком DIM-FL, а также вызов других взаимодействий.
Первым этапом при выполнении взаимодействия является выбор объектов классов Что, Откуда, Куда, участвующих во взаимодействии. Для этого пользователь системы на этапе создания взаимодействия использует интерактивный генератор запросов. При каждом выполнении взаимодействия с помощью этих запросов выбираются объекты классов Что, Откуда, Куда.
Язык сценариев DIM-Script также определяет последовательность выполнения блоков, написанных на языке запросов PL/ODQL, и блоков расчетов, описанных языком DIM-FL, а так же вызов других взаимодействий. Блок, написанный на языке запросов PL/ODQL, хранится в системе DIM в объекте класса PL/ODQL Процедура. Блок расчетов, описанных языком DIM-FL, хранится в системе DIM в объекте класса DIM-FL Формулы. С классами PL/ODQL Процедур, DIM-FL Формул и взаимодействий отношением включения связан класс Журнал Выполнения. Объекты этого класса служат для ведения журнала выполнения взаимодействий, блоков, написанных на языке запросов PL/ODQL, и блоков расчетов, описанных языком DIM-FL. Объекты класса Журнал Выполнения являются включаемыми объектами в объект взаимодействия.
На взаимодействие могут быть наложены некоторые условия его выполнения. При невыполнении этих условий взаимодействие выполняться не будет. Следующим этапом после выборки объектов классов Что, Откуда, Куда, участвующих во взаимодействии, является проверка таких условий. Процедура проверки каждого условия описывается блоком на языке PL/ODQL. Объекты класса PL/ODQL Процедура связываются с объектом класса Как отношением включения. Только если в результате выполнения такого блока запросов PL/ODQL при проверке каждого условия не возникнет исключительной ситуации, то начинается выполнение взаимодействия.
При выполнении сценария взаимодействия, описанного языком DIM-Script, может произойти непредвиденная исключительная ситуация. Под исключительной ситуацией, в данном случае, понимается некорректное выполнение блока расчетов, блока, написанного на языке запросов PL/ODQL, или исключительная ситуация при вызове другого взаимодействия. В случае возникновения исключительной ситуации, а также в случае успешного выполнения сценария взаимодействия система DIM создает объект класса Журнал Выполнения, в который записывается причина, по которой взаимодействие было или не было выполнено, и включает этот объект в объект выполнявшегося взаимодействия. Таким образом, происходит сохранение результатов всех попыток выполнения взаимодействия, и пользователь системы DIM имеет возможность отследить невыполненные взаимодействия и оперативно устранить причины их невыполнения.
В третьей главе проводится доказательство теоремы о полноте описания любой OD-модели с помощью Динамической информационной модели DIM.
Показывается, что с помощью рассмотренной в первой главе системы классов DIM и их отношений возможно описать любую OD-модель. Однако, эти описания могут в некоторых случаях содержать противоречия, состоящие в неоднозначной интерпретации описания.
Рассмотрим ситуацию, в которой имеются два объекта оа е са и оь е сь. Между этими объектами одновременно существуют отношение наследования
и отношение включения, а именно, объект оа является родительским для оь, а объект оь включает в себя объект оа. Имеем противоречие: объект оь, являющийся по наследованию уточнением объекта оа, одновременно включает в себя объект оа. Таких противоречий можно избежать, если наложить ограничение определенности: «дерево» наследования любого класса не должно содержать класса, который содержал бы в своем «дереве» включений исходный класс.
Напомним, что для однозначного определения значения свойства атрибута а объекта оа еса в случае, когда у класса са есть два родительских класса ср1 и сР2, не находящихся в отношении наследования, с одинаковым параметром а, вводится ограничение однозначности: любой атрибут объектов системы является параметром только одного класса системы.
Ограничение схемы, состоящее в обязательном определении отношения выбора при неоднозначности выбора включения, будем называть ограничением выбора.
Определение: Схема классов DIM находится в нормальной форме, если она отвечает ограничениям определенности, однозначности и выбора.
Теорема 1. Для любого момента t е Т данные произвольной OD-модели могут быть представлены с помощью схемы классов DIM, находящейся в нормальной форме.
Теорема 1 показывает, что любая OD-модель в некоторый конкретный момент времени t может быть описана с помощью схемы классов DIM, находящейся в нормальной форме. Но не показан переход от схемы классов DIM в момент времени t к схеме классов DIM в момент времени t+1. Для этого служат две следующие теоремы.
Теорема 2. Для любого момента t еТ существования данных произвольной OD-модели, в который не порождаются новые объекты, и любой функции / е F', вычисляющей значения свойств объектов OD-модели в момент t+1 по значениям свойств объектов в момент t и предыдущие моменты жизни этих объектов, существует последовательность взаимодействий Ь1,...,Ь„еВ (последова-
тельность может состоять из одного взаимодействия), которые по соответствующим в момент t и предшествующим моментам жизни объектов OD-модели представлениям данных OD-модели с помощью схемы классов DIM, находящейся в нормальной форме, определяют значения свойств объектов OD-модели в момент времени t+1.
Теорема 3. Для любого момента t е Г существования данных произвольной OD-модели, в который порождаются новые объекты, и любой функции g е F", определяющей множество О, объектов, которые прекращают свое существование в момент t, и множество 0,+i объектов, которые начинают свое существование в момент t+1, существует схема классов DIM, описывающая объекты OD-модели в момент t, и последовательность взаимодействий Ь],...,Ь„еВ (последовательность может состоять из одного взаимодействия), которые по соответствующим в момент t и предшествующие моменты жизни объектов OD-модели представлениям данных OD-модели с помощью схемы классов DIM, находящейся в нормальной форме, определяют с помощью отношения истории объектов и классов DIM схему классов DIM в момент t+1, соответствующую объектам OD-модели в момент /+/.
Теорема 4 (о полноте описания). Любая OD-модель может быть описана с помощью схемы классов DIM, находящейся в нормальной форме.
Доказательство теоремы о полноте описания произвольной OD-модели с помощью системы классов Динамической информационной модели DIM проводится методом математической индукции. Основанием индукции служит Теорема 1, а Теоремы 2 и 3 служат шагом индукции.
Доказанная Теорема 4 позволяет выдвинуть гипотезу о том, что любая предметная область, отвечающая 4 особенностям описания OD-модели, может быть представлена с помощью OD-модели.
В заключении приведены основные результаты, полученные в диссертационной работе.
В приложениях даны описания синтаксиса разработанных языков и тексты программ реализованных интерпретаторов.
ОСНОВНЫЕ РЕЗУЛЬТАТЫ РАБОТЫ
1) разработаны и реализованы концепции взаимодействий объектов, описываемых с помощью Динамической информационной модели DIM;
2) разработан синтаксис и реализован интерпретатор языка математических формул DIM-FL Динамической информационной модели DIM;
3) разработан синтаксис и реализован интерпретатор объектного расширения PL/ODQL языка запросов ODQL Динамической информационной модели DIM;
4) разработан синтаксис и реализован интерпретатор языка сценариев взаимодействий DIM-Script Динамической информационной модели DIM;
5) доказана теорема о полноте и непротиворечивости описания OD-моделей с помощью Динамической информационной модели DIM;
6) создан объектно-процедурный аппарат для описания поведения и изменения данных.
Таким образом, цели, поставленные перед данным исследованием, достигнуты.
ПУБЛИКАЦИИ ПО ТЕМЕ ДИССЕРТАЦИИ
1. Груздов A.A., Писаренко Д.С. Архитектура объектно-ориентированной реализации Динамической информационной модели DIM // Современные проблемы математики и информатики. № 7. Ярославль: ЯрГУ, 2005. С. 204-215
2. Писаренко Д.С., Рублев B.C. Концепции взаимодействия Динамической информационной модели DIM // Актуальные проблемы математики и информатики. Ярославль: ЯрГУ, 2007, С. 75 - 80
3. Писаренко Д.С., Рублев B.C., Чехранов Д.В. Проблемы вычислительной полноты объектного языка запросов ODQL Динамической информационной модели DIM // Материалы IX Международного семинара «Дискрет-
ная математика и ее приложения», посвященного 75-летию со дня рождения академика О.Б. Лупанова - М: МГУ, 2007, С. 346 - 348
4. Писаренко Д.С. Объектное расширение PL/ODQL языка запросов ODQL для Динамической информационной модели DIM // Моделирование и анализ информационных систем - Т. 15, №1, 2008, С. 23 - 27
5. Писаренко Д.С. Язык математических формул DIM-FL Динамической Информационной Модели DIM // Студенческие заметки по информатике и математике: Сборник научных статей студентов и аспирантов факультета ИВТ. Вып. 2, Ярославль: ЯрГУ, 2008, С. 88 - 96
6. Писаренко Д.С., Рублев B.C. Синтез аппарата взаимодействий системы управления базами данных DIM // Материалы XVII международной школы-семинара «Синтез и сложность управляющих систем» имени академика О.Б. Лупанова-Новосибирск: изд. ИМ СО РАН, 2008, С. 130- 135
7. Писаренко Д.С., Рублев B.C. Объектная СУБД Динамическая информационная модель и ее основные концепции // Моделирование и анализ информационных систем. Т. 16, №1,2009, С. 62 — 91
В работе [1] соискателем разработана архитектура объектно-ориентированной реализации Динамической информационной модели DIM. В работе [2] соискателем предложен механизм журнализации выполнения взаимодействий Динамической информационной модели DIM. В работе [3] соискателем предложен способ решения проблемы вычислительной полноты объектного языка запросов ODQL с помощью объектного расширения PL/ODQL. В работе [6] соискателем разработан синтаксис языка сценариев взаимодействий Динамической информационной модели DIM. В работе [7] соискателем выполнены примеры, доказана теорема о полноте описаний OD-моделей в системе DIM.
Все остальные работы были выполнены без соавторов.
Работы [4] и [7] опубликованы в одном из рецензируемых журналов, входящих в перечень ВАК.
Оглавление автор диссертации — кандидата физико-математических наук Писаренко, Дмитрий Сергеевич
Введение.
Глава 1. Концепции Динамической информационной модели DIM.
1.1. Объектно-динамические модели.
1.2. Концепции Динамической информационной модели DIM.
1.2.1. Отношение наследования.
1.2.2. Отношение включения.
1.2.3. Отношение истории.
1.2.4. Тип объекта DIM.
Глава 2. Взаимодействия Динамической информационной модели DIM.
2.1. Концепции взаимодействий DIM.
2.2. Язык математических формул DIM-FL.
2.3. Объектное расширение PL/ODQL языка запросов ODQL.
2.4. Язык сценариев взаимодействий DIM-Script.
Глава 3. Использование Динамической информационной модели DIM для описания OD-моделей.
3.1. Нормальная форма схемы классов DIM.
3.2. Описание временного среза OD-модели.
3.3. Описание OD-модели с динамическими объектами.
3.4. Описание OD-модели с историей объектов и динамикой классов.
3.5. Непротиворечивость и полнота описания OD-модели.
Введение 2009 год, диссертация по информатике, вычислительной технике и управлению, Писаренко, Дмитрий Сергеевич
Актуальность работы. Современные технологии накопления, хранения и обработки информации в системах, называемых базами данных, являются одними из самых мощных способов представления знаний о реальном мире. Их мощь определяется программными продуктами, называемыми системами управления базами данных (СУБД). Архитектуры СУБД весьма разнообразны, но в настоящее время основываются на одной из самых распространенных моделей: реляционной [2], объектно-ориентированной [6], объектно-реляционной [7] или темпоральной [8]. Далее рассмотрим их достоинства и выделим недостатки.
Фундамент реляционной модели заложен в работах Э. Кодда и успешно развивается его последователями. Базирующаяся на простом понятии отношения данных и многократно его использующая (таблицы как простейшие отношения данных, отношения между таблицами как- способ получения любых сложных структур данных) эта модель получила сильное развитие благодаря введению реляционной алгебры, основанной на известной связи алгебры множеств и алгебры логики (предикатов).
Создавая схему базы данных (БД), разработчик представляет, что структуры хранения данных будут прямо соответствовать предложенному им концептуальному описанию предметной области. В результате описание предметной области оказывается существенно зависимым не только от ее характеристик, но и от особенностей физических структур ее хранения. Поэтому на первое место для разработчика выходят вопросы эффективности доступа к хранимым данным. Планируя схему отношений при описании предметной области, он в первую очередь думает не об эффективности доступа к физическим структурам, а о точности концептуального представления описываемой предметной области и адекватности схемы БД понятиям реального мира. Вопрос оптимального представления данных во многом решается той или иной конкретной реляционной СУБД (РСУБД). Разработчик может влиять на эффективность физических структур, например, задавая индексы для ускоренного выполнения определенных запросов. Но подобная оптимизация не изменяет схемы отношений и поэтому может быть проведена впоследствии, при появлении новых, не предвиденных заранее запросов к БД.
Реляционная модель позволила по-новому подойти к вопросам поддержания целостности данных: ограничения целостности выделены в отдельный элемент схемы БД, а их задание и изменение производится независимо от запросов на модификацию данных, что заметно4 облегчает задачу поддержки целостности информации, хранящейся в БД.
Реляционная база* данных, представляющая собой некоторую сложную предметную область, состоит из огромного числа таблиц, связанных между собой сложным образом. Разработчику программного обеспечения, которое должно обрабатывать данные из этих таблиц, приходится проектировать свою задачу не в терминах предметной области (достаточно сложной), а в терминах большого числа плоских реляционных таблиц (что может быть на порядок сложнее). При этом в процессе нормализации число таблиц, с которыми приходится работать, лишь увеличивается. Из вышесказанного легко сделать вывод о первом серьезном недостатке РСУБД - сложность оперирования с большим числом плоских реляционных таблиц, количество которых заметно превосходит количество сущностей описываемой предметной области.
Вторым серьезным недостатком всех РСУБД является тот факт, что программное обеспечение, разработанное для реляционной базы данных, обычно оказывается жестко завязанным на структуру реляционных таблиц. Если в дальнейшем будет принято решение об изменении структуры таблиц, то все программное обеспечение, разработанное для прежней структуры таблиц, придется изменять.
Иной метод описания данных предлагается объектно-ориентированным подходом. Системы управления объектноориентированными базами данных (ООСУБД) появились достаточно давно. Их развитие протекало параллельно с развитием реляционных СУБД. Для программиста, привыкшего представлять данные в виде объектов, процесс разделения объекта на отдельные составляющие для сохранения в таблицах реляционной базы данных и последующей обратной сборки объекта из множества таблиц выглядит совершенно противоестественно. Возникает желание хранить объекты прямо такими, "какие они есть", не преобразуя их содержимое к реляционному виду. Это и есть основная суть направления ООСУБД. Объектно-ориентированная модель баз данных основывается на объектно-ориентированной парадигме, которая возникла и развивалась сначала в языках программирования. Она (модель) имеет преимущества структуризации данных и операций, выражающиеся в иерархии типов данных и методов их обработки (свойства наследования и инкапсуляции). В частности, на этой идее основан стандарт объектных баз данных ODMG (см. [4]).
Любая сущность реального мира в объектно-ориентированных языках и системах моделируется в виде объекта. Каждый объект при создании получает генерируемый системой уникальный идентификатор, который связан с ним и все время его существования не меняется при изменении состояния объекта. Каждый объект имеет состояние и поведение. Состояние объекта -набор значений его атрибутов. Поведение объекта - набор методов (программный код), оперирующих над состоянием объекта. Значение атрибута объекта - это тоже некоторый объект или множество объектов (в некоторых моделях, например ODMG, допускаются литеральные типы). Состояние и поведение объекта инкапсулированы в нем: взаимодействие между объектами производится на основе передачи сообщений и выполнении соответствующих методов. Множество объектов с одним и тем же набором атрибутов и методов образует класс объектов. Объект должен принадлежать только одному классу (если не учитывать возможности наследования (см. следующий абзац)). Допускается наличие примитивных предопределенных классов, объекты-экземпляры которых не имеют атрибутов: целые, строки и т.д. Класс, объекты которого могут служить значениями атрибута объектов другого класса, называется доменом этого атрибута.
Допускается порождение нового класса на основе уже существующего класса - наследование. В этом случае новый класс, называемый подклассом существующего класса (суперкласса), наследует все атрибуты и методы суперкласса. В подклассе, кроме того, могут быть определены дополнительные атрибуты и методы. Различаются случаи простого и множественного наследования. В первом случае подкласс может определяться только на основе одного суперкласса, во втором случае суперклассов может быть несколько. Если в языке или системе поддерживается единичное наследование классов, набор классов образует древовидную иерархию. При поддержании множественного наследования классы связаны в ориентированный граф с корнем, называемый решеткой классов. Объект подкласса считается принадлежащим любому суперклассу этого класса.
Специфика применения объектно-ориентированного подхода в области баз данных потребовала уточнения и некоторого расширения классических концепций. Документом, определившим направления развития объектно-ориентированных баз данных, явился "Манифест систем объектно-ориентированных баз данных" [6].
С точки зрения структур представления данных ООСУБД заметно опережают своих реляционных собратьев [23] (здесь можно не учитывать современные версии Oracle и прочие реляционные СУБД с поддержкой объектов, поскольку эти СУБД не являются в чистом виде реляционными). И дело не только в том, что объектная модель поддерживает более богатые средства для структурирования информации, а в том, что эти средства являются более естественными с точки зрения нашего представления о мире, поскольку в сознании мы представляем мир как некоторую совокупность объектов. Здесь - можно говорить о повышении уровня абстракции. Важнейшим практическим преимуществом является единая модель представления информации в языке программирования и в ООСУБД. Таким образом, для разработчика, испольf » г зующего ООСУБД, отсутствует проблема, заключающаяся в неудобстве пеi ревода описания объекта с языка объектной модели на язык реляционной модели и обратно. Это важное преимущество ООСУБД во многих случаях существенно облегчает процесс разработки системы и уменьшает необходимые затраты. Другое преимущество объектного подхода заключается в том, что систему, выражающую свои данные на языке объектов*и связей между ними, легче вписать в общую структуру взаимодействующих систем.
С точки зрения языка манипулирования данными для прикладного разработчика преимуществом является возможность работать с полученными из БД объектами средствами основного языка. Однако в функциональности языка манипулирования данными современные объектные системы заметно уступают реляционным системам. До недавнего времени многие ООСУБД вообще не обладали декларативным языком для формулировки запросов и по уровню своих возможностей приблизительно соответствовали сетевым и иерархическим системам. В последнее время у ООСУБД появились декларативные языки выборки и манипулирования данными, в частности OQL. OQL обладает значительной мощностью, однако отрицательной стороной OQL является его чрезмерная сложность. В языке OQL используются различные структуры: множества, мультимножества и списки, - причем наиболее активно используются мультимножества. Результатом наличия подобной богатой функциональности является большая сложность автоматической оптимизации выражений.
Наиболее важный недостаток ООСУБД - практически полное отсутствие средств поддержания целостности данных [24]. Если при создании реляционной модели одной из целей являлось четкое отделение правил целостности от запросов на модификацию, то объектная модель не представляет подобных возможностей: вместо декларативного задания ограничений целостности приходится встраивать соответствующие проверки в текст каждой процедуры. Плохая совместимость с реляционной парадигмой и сложность языков выборки привели их (ООСУБД) "на грань полного краха", как отмечено в [1].
Имеющиеся недостатки ООСУБД стали причиной создания других объектных систем, совмещающих реляционную и объектную идеи. Сторонники этого подхода придерживаются принципа эволюционного развития возможностей СУБД с сохранением преемственности с системами предыдущего поколения и без коренной ломки традиционных принципов. В результате многолетних исследований, проведенных К.Дж. Дейтом и X. Дарвеном, были выработаны "Основы будущих систем баз данных" [5]. Эта работа в качестве основы сохраняет реляционный подход и с этой точки зрения подвергает основательной критике другие неаккуратные в сохранении реляционно-сти подходы.
По сравнению с РСУБД системы управления объектно-реляционными базами данных (ОРСУБД) отличаются гораздо более богатой системой типов, а также предоставляют возможность определять новые типы, используя такие черты объектного подхода, как наследование и (в ограниченном смысле) инкапсуляция. Это позволяет использовать ОРСУБД для сложных прикладных областей (таких как системы автоматизированного производства -САПР).
Кроме того, ОРСУБД должны отличаться более высокой производительностью по сравнению с обычными РСУБД за счет того, что методы объектов теперь могут выполняться на сервере (что, впрочем, достижимо в обычной РСУБД, реализующей хранимые процедуры).
По сравнению с ООСУБД очевидным достоинством является преемственность объектно-реляционных систем по отношению к реляционным. Разработчик, использующий ОРСУБД, может в каждом конкретном случае решать, хочет он использовать объектные возможности своей СУБД или нет. Это позволяет осуществить переход на новые технологии безболезненно,^ не переделывая существующие базы данных и не отказываясь от преимуществ реляционного подхода.
Оставаясь, по сути, реляционными системами, ОРСУБД предоставляют средства выполнения незапланированных запросов и способы декларативного задания ограничений целостности.
Наиболее существенным недостатком ОРСУБД является тот факт, что на самом деле мы имеем здесь лишь видимость объектно-ориентированного подхода [25]. Как известно, три "кита" объектно-ориентированного подхода — это инкапсуляция, наследование и полиморфизм. В ОРСУБД полиморфизм вообще не поддерживается. Про инкапсуляцию можно говорить лишь в переносном смысле, поскольку атрибуты объекта, то есть столбцы соответствующей таблицы, являются публично доступными.
Очень существенным недостатком ОРСУБД является отсутствие замкнутости языка запросов [22]: если мы считаем, что на "входе" наших операций имеются объекты, то и на "выходе" было бы логично ожидать присутствия объектов, однако это не так.
Все вышесказанное позволяет заключить, что СУБД данного класса на самом деле объектно-ориентированными не являются. Косвенное подтверждение вышесказанного заключается в том, что, предлагая объектно-реляционные СУБД, их создатели не дают адекватной методологии.
В отличие от рассмотренных ранее моделей СУБД, базы данных темпорального типа [8] позволяют сохранить информацию об эволюции объектов описываемой предметной области: для любого объекта, который был создан в момент времени tstart и закончил свое существование в момент времени tend, в базе данных сохраняются все его состояния на временном интервале \tstart, tenci]• Таким образом, в темпоральных базах данных при каждом изменении состояния объекта сохраняется запись в базе данных. Уникальный идентификатор такой записи состоит из ключа объекта и временного интервала, на котором данное состояние объекта было актуальным, и имеет следующий вид: {key,[tstart, tend]}, где hey - ключ записи, [tstarU tend] - временная метка записи. Важной особенностью темпоральных баз данных является то, что в них возможны запросы не только по ключу, но и по времени. Например, произвести выборку всех состояний объекта с ключом к на временном интервале 1или получить состояния всех объектов, которые были актуальны в момент времени t (срез по времени t).
Одной из областей применения темпоральных баз данных являются системы хранения истории данных в Автоматизированных Системах Управления (АСУ). Следует отметить следующие особенности систем темпоральных баз данных для АСУ:
• малый размер хранимой записи данных, размер самих данных обычно не превышает размер идентификатора записи;
• большое количество хранимых записей в базе данных;
• большой размер хранимой базы данных;
• высокие требования к производительности системы;
• возможность удалять и изменять хранимые записи в базе данных;
• возможность быстро извлекать предыдущее состояние объекта из хранимой базы данных.
Необходимо заметить, что, помимо перечисленных особенностей, важными замечаниями является то, что темпоральные объектные СУБД в их современном состоянии еще не позволяют прокручивать время вперед, чтобы увидеть, как изменятся те или иные данные с течением времени в результате определенного плана действий, а также темпоральные СУБД не поддерживают изменение схемы описываемых данных. Для этого поведение системы объектов БД, определяемое взаимодействием ее объектов, должно быть организовано специальным образом, позволяющим это делать. Более того, организация данных должна давать возможность ставить и задачи оптимизации плана действий, позволяющего достичь тех или иных показателей за определенный период.
Все рассмотренные модели построения систем баз данных обладают своими недостатками. К тому же во всех этих построениях весьма мало внимания уделено развитию динамики системы вообще и динамики.типов в частности. Хотя во многих работах делаются попытки расширить эти модели разнообразными способами добавления функциональности к различным системам с помощью программных надстроек, но реализация интерфейса практически всегда получается сложной и запутанной для пользователя, а потому практически неприменимой для решения общего круга задач.
Почти все имеющиеся объектные и объектно-реляционные модели СУБД основаны на неизменности типа объекта. Но практика показывает, что довольно часто тип объекта приходится переопределять либо еще в процессе разработки СУБД, либо уже в процессе ее эксплуатации, что является критичным.
Следующим шагом в направлении разработки универсальной модели данных и созданий СУБД, основывающихся на этой модели и лишенной недостатков рассмотренных СУБД, были попытки добавить к уже имеющимся моделям данных динамику изменения типов и-схемы данных. Такое улучшение разработанных ранее моделей делало их более гибкими. Пользователь получает возможность изменять схему хранимых данных, не прибегая к операциям создания новых схем и конвертации уже накопленных данных. Но, приобретая большую гибкость, такие модели, как правило, не лишаются недостатков своих моделей-прообразов. Так, например, динамическая ОРСУБД ORD [27], позволяющая изменять структуры классов объектов и типы атрибутов, не является объектной, поскольку в ней не поддерживается ни наследование, ни полиморфизм, ни инкапсуляция.
Стремясь создать новую информационную модель данных, лишенную недостатков рассмотренных выше моделей, B.C. Рублевым и группой его учеников была предложена новая модель описания данных — Динамическая информационная модель DIM [26] (описанию ее концепций посвящена первая глава). Эта модель обладает следующими особенностями:
1) модель описывается конечным (хотя и потенциально неограниченным) числом объектов, с каждым из которых может быть связано время жизни объекта (возможно неограниченное);
2) каждый объект определяется некоторым рядом свойств и их значениями, одни из которых являются постоянными в течение всего времени жизни объекта, а другие могут изменяться;
3) изменения значений свойств объектов происходят в дискретные моменты времени и определятся детерминированными законами взаимодействия объектов;
4) взаимодействия объектов могут приводить к более общей их динамике объектов, при которой может заканчиваться время жизни одних объектов и начинаться время жизни других объектов.
Цель диссертационной работы. Целью-диссертационной работы является разработка и реализация концепций взаимодействий объектов модели — фундаментального аспекта новой Динамической информационной модели DIM, от которого зависят эксплуатационные характеристики новых систем, реализующих DIM. Достижение указанной цели было связано с решением следующих подзадач:
1) разработка и реализация концепций взаимодействий объектов, описанных с помощью Динамической информационной модели DIM;
2) разработка синтаксиса и реализация интерпретатора языка математических формул DIM-FL Динамической информационной модели DIM;
3) разработка синтаксиса- и реализация интерпретатора объектного расширения PL/ODQL языка запросов ODQL [18] Динамической информационной модели DIM;
4) разработка синтаксиса и реализация интерпретатора языка сценариев взаимодействий DIM-Script Динамической информационной модели DIM.
Научная новизна. Все основные результаты являются новыми:
1) обоснована полнота введенной системы классов и объектов Динамической информационной модели DIM, используемых для описания любых динамических детерминированных систем;
2) выделено специальное отношение взаимодействия объектов как основы для описания изменения классов и объектов системы DIM;
3) разработан язык математических формул DIM-FL Динамической информационной модели DIM;
4) разработано объектное расширение PL/ODQL языка запросов ODQL Динамической информационной модели DIM;
5) разработан язык сценариев DIM-Script взаимодействий Динамической информационной модели DIM.
Практическая ценность работы. Разработаны концепции одного из центральных аспектов новой Динамической информационной модели DIM — отношения взаимодействий объектов системы. Данное отношение позволяет описывать динамику объектов DIM.
Разработан синтаксис и интерпретатор языка математических формул DIM-FL, который используется для описания расчетов, производимых при взаимодействии объектов DIM. Данный язык позволяет пользователю, не имеющему квалификации программиста, легко и в удобной форме описывать различные методики расчетов и связанные с ними математические вычисле-' ния и формулы. Описанные на языке DIM-FL методики расчетов очень схожи с описанием этих методик в ГОСТах и других нормативных документах.
Разработан синтаксис и интерпретатор объектного расширения PL/ODQL языка запросов ODQL. Объектное расширение дополняет SQL-подобный язык ODQL конструкциями и операторами, которые позволяют квалифицированным пользователям системы DIM использовать язык PL/ODQL для описания различных алгоритмов. Наряду со стандартными конструкциями подобных языков введенные конструкции дают возможность пользователю описывать множество различных операций с объектами, со значениями атрибутов объектов, с классами объектов и с атрибутами классов Динамической информационной модели DIM.
Разработан синтаксис и интерпретатор языка сценариев взаимодействий DIM-Script. Этот язык используется для описания сценария взаимодейст-вия^ объектов DIM.
Апробация работы. Основные результаты работы докладывались на научном семинаре, проводимом на кафедре теоретической информатики ЯрГУ «Моделирование и анализ информационных систем» и обсуждались на научных конференциях:
1. «Дискретная математика и ее приложения», IX Международный семинар, посвященный 75-летию со дня рождения академика О. Б. Лупанова, Москва, 2007.
2. «Синтез и сложность управляющих систем», XVII Международная школа-семинар имени академика О.Б. Лупанова, Новосибирск, 2008:
Публикации. Материалы диссертации опубликованы в пяти статьях [28-32] и тезисах двух докладов [33-34]. Две статьи опубликованы в издании, входившем в перечень ВАК на момент публикации и находящемся в перечне ВАК в настоящий момент.
Личный вклад автора. Концепции отношения взаимодействий объектов Динамической информационной модели DIM получены в соавторстве с научным руководителем. Язык математических формул DIM-FL, объектное расширение PL/ODQL языка запросов ODQL и язык сценариев взаимодействий DIM-Script, а также обоснование полноты введенной системы классов и объектов Динамической информационной модели DIM разработаны автором самостоятельно.
Структура и объем диссертации. Диссертационная работа состоит из'введения, постановки задачи, трех глав, заключения, списка литературы и приложений. Список литературы содержит 36 наименований. Диссертация содержит 10 рисунков. Объем диссертации без приложений и списка литературы составляет 85 страниц, общий объем - 128 страниц.
Ставится задача разработки и реализации концепций взаимодействий объектов Динамической информационной модели DIM, которые (взаимодействия) должны:
• быть симметричными относительно всех участвующих во взаимодействии объектов;
• выступать для-пользователя системы как одна неделимая операция.
Наличие у пользователя прав на выполнение взаимодействия означает наличие у него прав на выполнение всех операций, описанных в алгоритме взаимодействия. А также разработанный аппарат взаимодействий должен быть оснащен средствами, позволяющими создавать и вносить изменения в алгоритмы.даже пользователям, не имеющим квалификации программиста.
В первой главе описываются основные понятия Динамической информационной модели DIM, разработанной B.C. Рублевым и группой его учеников. Без этих знаний невозможно представление и< понимание следующих частей работы, содержащих основные результаты, полученные автором. Дается описание понятия объектно-динамических моделей (OD-моделей), приводится их формальное описание. OD-модели подвержены изменениям не только самих данных, но и типов описываемых данных. Рассматриваются концепции новой информационной модели - Динамической информационной модели DIM (или просто DIM), которая является устойчивой к изменению не только данных, но и типов данных.
Во второй главе введено новое для Динамической информационной модели DIM отношение - отношение взаимодействия. Оно позволяет описывать динамику объектов DIM. Рассмотрены концепции введенного отношения. Рассмотрены проблемы реализации концепций взаимодействий. Для решения некоторых из них введены следующие новые языки:
• язык простых математических вычислений DIM-FL - для удобства описания методик математических операций. Он освободит квалифицированных разработчиков от рутинной работы, переложив ее на простых инженеров и дав возможность описывать расчеты на языке, незначительно отличающемся от описания методик в ГОСТах и других нормативных документах;
• объектное расширение PL/ODQL языка запросов ODQL для манипуляций с объектами системы DIM, со значениями атрибутов объектов, с классами, с атрибутами классов и с объектами взаимодействий и истории DIM, которое позволит описывать изменения объектов модели DIM и производить проверку условий выполнения взаимодействий DIM;
• язык сценариев DIM-Script для описания последовательности выполнения составных частей взаимодействий DIM.
Для решения остальных, проблем разработаны механизм журнализации выполнения взаимодействий DIM и механизм обработки исключительных ситуаций, которые могут возникнуть во время выполнения взаимодействий объектов DIM.
Третья глава посвящена доказательству теоремы о непротиворечивости и полноте описания OD-моделей с помощью Динамической информационной модели DIM. Доказательство этой теоремы проводится с помощью введенного отношения взаимодействия объектов DIM.
Постановка задачи. Ни одна из рассмотренных моделей баз данных не ограничивается только хранением знаний об описываемой предметной области: каждая модель предоставляет механизмы для описания изменений хранимой информации. Это позволяет говорить о динамике изменения хранимой информации.
Динамика изменения объектов в объектно-ориентированных и объектно-реляционных моделях реализуется с помощью методов класса объектов, которые инкапсулированы в этот класс. Если метод связан только с объектами этого класса, то такая конструкция является естественной. Но поведение объектов чаще связано с объектами разных классов, вступающих во взаимодействие. В этом случае возможно введение в' метод объектов других типов через параметры метода. Но это уже нарушает стройную концепцию инкапсуляции, так как метод связан и с поведением этих других объектов, а он не инкапсулирован в соответствующие классы. Также в этом случае метод является несимметричным относительно изменяемых объектов.
На практике выполнение некоторой задачи по изменению данных может быть разбито на несколько шагов, а выполнение каждого такого шага может быть связано с вызовом некоторой функции того или иного изменяемого объекта, которая в своюочередь может вызывать методы других объектов. Иными словами, для решения всей, задачи необходимо выполнить последовательность цепочек методов изменяемых объектов. Это может привести к ситуации, когда у пользователя нет прав на выполнение некоторых методов или изменение того или иного объекта на некотором шаге. Возникновение такой ситуации делает невозможным выполнение всей задачи по изменению данных.
Изменения^объектов реального мира происходят в результате их взаимодействия (например, при изготовлении детали на станке взаимодействуют заготовка и резец станка).
Целью данной работы является разработка и реализация концепций взаимодействий объектов любой предметной области, описанной с помощью Динамической информационной модели DIM. Аппарат описания динамики изменения объектов является одним из краеугольных камней любой СУБД, а от тщательности его проработки и реализации зависят многие эксплуатационные характеристики СУБД.
К разрабатываемому аппарату взаимодействий предъявляются следующие требования:
• взаимодействие должно быть симметричным относительно всех объектов, участвующих в нем;
• взаимодействие должно выступать для пользователя как одна целая и неделимая операция по изменению или использованию данных;
• наделение пользователя системы правами на выполнение взаимодействия означает наделение пользователя правами на выполнение всех операций, описанных в алгоритме взаимодействия;
• аппарат взаимодействий должен быть оснащен средствами, позволяющими создавать новые взаимодействия и вносить изменения в алгоритмы уже существующих взаимодействий даже пользователям, не имеющим квалификации программиста.
Благодарности. Выражаю благодарность своему научному руководителю B.C. Рублеву за помощь в подготовке диссертации и внимательное отношение к данной работе.
Заключение диссертация на тему "Взаимодействия динамической информационной модели DIM: концепции и реализация"
Заключение
Данная работа посвящена созданию объектно-процедурного аппарата описания поведения и изменения данных Динамической информационной модели данных DIM, которая устойчива как к изменениям самих данных, так и их типов.
Разработаны концепции взаимодействий Динамической информационной модели DIM и их реализация.
Введено объектное расширение PL/ODQL языка запросов ODQL и разработан его синтаксис. Реализован интерпретатор языка PL/ODQL.
Введен язык математических формул DIM-FL, служащий для описания методик расчетов, разработан его синтаксис. Реализован интерпретатор языка DIM-FL.
Введен процедурный язык DIM-Script, с помощью которого описывается сценарий взаимодействия. Разработан синтаксис языка DIM-Script и его интерпретатор.
Доказана теорема о полноте описания OD-моделей с помощью Динамической информационной модели DIM.
Таким образом, цели, поставленные перед данным исследованием, достигнуты.
Библиография Писаренко, Дмитрий Сергеевич, диссертация по теме Теоретические основы информатики
1. Гарсиа-Молина Г., Ульман Дж.Д., Уидом Дж. Системы баз данных. Полный курс // изд. "Вильяме", 2003
2. Codd E.F. A relational model for large shared data banks // Comm.ACM, 13:6 (1970), p.377-387
3. Codd E.F. Further normalization of the database relational model, in Database Systems (R.Rustin, ed.) // Prentice Hall, Englewood Cliffs, NJ, 1972
4. Cattell R.G.G., Barry D.K. The Object Data Standard: ODMG 3.0 // Morgan Kaufmann Publishers, San-Francisco, 2001
5. Date C.J., Darwen H. Foundation for Future Database Systems: The Third Manifesto. Second Edition (русский перевод под ред. Кузнецова С.Д. в печати)
6. Аткинсон М. и др. Манифест систем объектно-ориентированных баз данных // СУБД. 1995. N 4. С. 142-155.
7. Дарвин X., Дейт К. Третий манифест // СУБД. 1996. N 1. С. 110-123
8. Костенко Б.Б., Кузнецов С.Д., История и актуальные проблемы темпоральных баз данных // сайт www.citforum.ru (точный адрес: http://www.citforum.ru/database/articles/temporal/), 2007
9. Петров М.М., Михелев Л.А., Кукушкин Ю.Н., Неорганическая химия, JL: Химия, 1981
10. Чехранов Д.В., Юсупов А.Р. Язык запросов DQL и проблема реализации компилятора из языка DQL в язык OQL // Современные проблемы математики и информатики. Вып. 6. Ярославль: ЯрГУ, 2004. С. 148-156.
11. Юсупов А.Р. Языки объектно-динамических запросов и решение проблем доступа к информации в Динамической информационной модели DIM // Современные проблемы математики и информатики. Вып. 6. Ярославль: ЯрГУ, 2004. С. 157-163.
12. Юсупов А.Р. Интерфейс пользователя динамической информационной модели DIM и навигатор объектов // Дискретные модели в теории управляющих систем. Тезисы докладов V научной конференции. М-.: МГУ, 2003. С. 92-93.
13. Рублев B.C., Чехранов Д.В., Юсупов А.Р. Полнота объектно-динамического языка запросов динамической информационной модели DIM // Проблемы теоретической кибернетики. Тезисы докладов XIV Международной конференции (Пенза). М., 2005. С. 130.
14. Седыченков И.В. Язык формул DIM-FL для динамической информационной модели DIM // Современные проблемы математики и информатики Вып. 6. Ярославль: ЯрГУ, 2004. С. 138-147.
15. ГОСТ 30530-97 Методы расчета предельно допустимых шумовых характеристик стационарных машин (rgost.ru)
16. ГОСТ 12.1.016-79* Воздух рабочей зоны Требования к методикам измерения концентраций вредных Beu;ecTB(rgost.ru)
17. Дейт К. Дж., Хью Дарвен Основы будущих систем баз данных: третий манифест, изд. Янус-К, 2004
18. К. Дж. Дейт, А теперь про нечто полностью вычислительное, перевод
19. Сергей Кузнецов, сайт www.citforum.ru (точный адрес: http://www.citforum.ru/database/articles/comput-complete/), 2006
20. Скотт Амблер, Быстрые методы для объектных баз данных, перевод -Сергей Кузнецов, сайт www.citforum.ru (точный адрес: http://www.citforum.ru/SE/proiect/ambler), 2006
21. Кузнецов С.Д., "Объектны" ли объектные расширения языка SQL? / С. Д. Кузнецов, сайт www.citforum.ru (точный адрес http://www.citforum.ru/database/articles/sqlodmg), 2005
22. Роберт Грин, Архитектуры ООСУБД. Анализ реализаций, перевод -Сергей Кузнецов, сайт www.citforum.ru (точный адрес http://www.citforum.ru/database/articles/oodbms 1), 2007
23. Кузнецов С.Д. Дискуссия об архитектурах объектно-ориентированных СУБД, сайт www.citforum.ru (точный адрес http://www.citforum.ru/database/articles/oodbmsarchitectures), 2007
24. Кузнецов С.Д., Объектно-реляционные базы данных: прошедший этап или недооцененные возможности?, сайт www.citforum.ru (точный адрес http://www.citforum.ru/database/ articles/ordbmslO), 2007
25. Рублев B.C., Юсупов А.Р. Концепции объектной динамической информационной модели DIM // Математика в Ярославском университете: Сборник обзорных статей к 30-летию математического факультета. Ярославль: ЯрГУ, 2006. С. 335-354.
26. Основные сведения о системе ORD, сайт http://www.ord.com.ru (точный адрес http://www.ord.com.ru/files/guidl doc.zip)
27. Писаренко Д.С., Рублев B.C. Объектная СУБД Динамическая информационная модель и ее основные концепции // Моделирование и анализ информационных систем 2009. — Т. 16, №1, С. 62-91
28. Груздов А.А., Писаренко Д.С. Архитектура объектно-ориентированной реализации Динамической информационной модели DIM // Современные проблемы математики и информатики. № 7. Ярославль: ЯрГУ, 2005. С. 12
29. Писаренко Д.С., Рублев B.C. Концепции взаимодействия Динамической информационной модели DIM // Актуальные проблемы математики и информатики. Ярославль: ЯрГУ, 2007. С. 75 80.
30. Писаренко, Д.С. Объектное расширение PL/ODQL языка запросов ODQL для Динамической информационной модели DIM // Моделирование и анализ информационных систем 2008. - Т. 15, №1, - С. 23 -27
31. Писаренко, Д.С. Язык математических формул DIM-FL Динамической Информационной Модели DIM // Студенческие заметки по информатике и математике: Сборник научных статей студентов и аспирантов факультета ИВТ. Вып. 2, Ярославль: ЯрГУ, 2008. С. 88 - 96
32. Рублев B.C., Дерябин В.О., Лобачев Д.И., Юсупов А.Р. Базовые отношения объектов баз данных и гибкие таблицы. Моделирование ианализ информационных систем. Ярославль 2002,1 Т.9, №2, с. 16-27.
33. Deryabin V.O., Lobachov D.I., Rublyov V.S., Yusupov A.R., Dynamic informational model. V International congress on mathematical modeling, Book of abstracts, Dubna, 2002, volume II, p. 86.
34. Рублев B.C., Дерябин В.О., Иоссель М.А., Карповский А.В., Лоба-чев Д.И., Юсупов А.Р. Классы отношений объектов и взаимодействия объектов. Дискретные модели в теории управляющих систем. Тезисы докладов V научной конференции. Москва, 2003, с. 77-78.
35. Рублев B.C., Иоссель М.А. Описание объектной модели DIM. Сборник научных трудов молодых ученых, аспирантов и студентов. Вып.6. Яросл. гос. ун-т. Ярославль, 2004, с. 128-137.
36. Лабюк М.Ю. Язык объектных запросов для динамической модели DIM. Сборник научных трудов молодых ученых, аспирантов и студентов. Вып.6. Яросл. гос. ун-т. Ярославль, 2004, с. 123-127.
37. Лобачев Д.И. Реализация прав доступа к объектам динамической информационной модели. Современные проблемы математики и информатики: Сборник научных трудов молодых ученых, аспирантов и студентов. Вып.5. Яросл. гос. ун-т. Ярославль, 2002.
38. Лобачев Д.И. Организация доступа к данным динамической информационной модели. Проблемы теоретической кибернетики, Тезисы докладов XIII Международной конференции, Москва, 2002, часть И, стр. 111.
39. Лобачев Д.И., Рублев B.C. Взаимодействия динамической информационной модели. Дискретные модели в теории управляющих систем. Труды V международной конференции. Москва, 2003. с. 49-50.
40. Рублев B.C., Лобачев Д.И. Концепции выполнения взаимодействия динамической информационной модели. Дискретная математика и её приложения. Материалы VIII Международного семинара. Москва, 2004. с. 298-299.
41. Кузнецов С.Д. Безопасность и целостность, или Худший враг себе -это ты сам, сайт www.citforum.ru (точный адрес http://www.citforum.ru/ database/articles/art25.shtml),
42. Кузнецов С.Д. Тенденции в мире систем управления базами данных, сайт www.citforum.ru (точный адрес http://www.citforum.ru/database/ articles/art23 .shtml),
43. Кузнецов С.Д. Объектно-ориентированные базы данных основные концепции, организация и управление: краткий обзор, сайт www.citforum.ru (точный адрес http://www.citforum.ru/database/ articles/art24.shtml),
44. Кузнецов С.Д. Языки программирования объектно-ориентированных баз данных и оптимизация запросов, сайт www.citforum.ru (точный адрес http://www.citforum.ru/database/articles/art23 .shtml),
45. Кузнецов С.Д. Методы оптимизации выполнения запросов в реляционных СУБД // Тем. изд. "Итоги науки и техники. Вычислительные науки". Т. 1. Стр. 76-153
46. Тенцер А. База данных хранилище объектов, сайт www.interface.ru (точный адрес http://www.interface.ru/misc/hran01 .htm), 2002
47. Кузнецов С.Д. Основы современных баз данных, сайт www.citforum.ru (точный адрес http://www.citforum.ru/database/ osbd/contents.shtml)
48. Donald D. Chamberlin Anatomy of an Object-Relational Database. DB2 Online Magazine, сайт http://www.ibmdatabasemag.com (точный адресhttp://www.ibmdatabasemag.eom/dbarea/archives/l 996/q4/9601 cha.shtm 1), 1996
49. Кузнецов С.Д. Базы данных. Языки и модели, М:Бином, 2008, 720 с.
50. Калиниченко JI.A. Стандарт систем управления объектными базами данных ODMG-93: краткий обзор и оценка состояния, сайт www.lib.csu.ru (точный адрес http://www.lib.csu.ru/dl/bases/prg/dbms /1996/01/source/standard.html)
51. Александр Зашихин, Обзор объектно-ориентированной СУБД Jasmine, сайт www.interface.ru (точный адрес http://www.interface.ru/ ca/jasmobz 1 .htm)
52. Кузнецов С.Д. Три манифеста баз данных: ретроспектива и перспективы, сайт www.citforum.ru (точный адрес http://www.citforum.ru /database/articles/manifests), 2003
53. Chris Sells, Windows Forms Programming in C# // Addison Wesley, 2003, 736 pages.
54. Larry O'Brien, Bruce Eckel, Thinking in C# // Prentice Hall, 931 pages.
55. John Robbins, Debugging Applications for Microsoft .NET and Microsoft Windows // Microsoft Press, 2003, 803 pages.
56. Ben Albahari, Peter Drayton, Brad Merrill, C# Essentials, 2nd Edition // O'Reilly, 2001, 216 pages.
57. Шилдт Г., C#: учебный курс // СПб: Питер, 2003, 512 с.
58. Соловьев Г.Н., Никитин В.Д. Операционные системы ЭВМ. М.: Высшая школа, 1989. -255с.
59. Грис Д. Конструирование компиляторов для цифровых вычислительных машин. /Пер.с англ. -М.:Мир, 1975
60. Донован Дж. Системное программирование. /Пер.с англ. М.:Мир, 1975
61. Молчанов А.Ю. Системное программное обеспечение. Учебник для ВУЗов. СПб.: Питер, 2005, 400 с.
62. Илюшечкин В., Костин А. Системное программное обеспечение. -М.: Высшая школа, 1991.127с.
63. Гордеев А.В., Молчанов А.Ю. Системное программное обеспечение. -СПб.: Питер, 2001.736с.
64. Альфред В. Ахо, Рави Сети, Джеффри Д. Ульман Компиляторы: принципы, технологии и инструменты: Пер. с англ. М.: Издательский дом "Вильяме", 2003. - 768 с.
65. Пратт Т., Зельковиц М. Языки программирования: разработка и реализация / Под общей ред. А. Матросова СПб.: Питер, 2002. - 688 с.
-
Похожие работы
- Разработка математических моделей для автоматизированного проектирования шаровых барабанных мельниц
- Молекулярное моделирование
- Динамическая информационная модель DIM. Проблемы реализации входных форм
- Оценка энергопоглощающих свойств и разработка ударозащитной конструкции легкового автомобиля
- Модальное управление двухканальными фотоэлектрическими следящими системами с квазиоднотипными каналами при стохастическом экзогенном воздействии
-
- Системный анализ, управление и обработка информации (по отраслям)
- Теория систем, теория автоматического регулирования и управления, системный анализ
- Элементы и устройства вычислительной техники и систем управления
- Автоматизация и управление технологическими процессами и производствами (по отраслям)
- Автоматизация технологических процессов и производств (в том числе по отраслям)
- Управление в биологических и медицинских системах (включая применения вычислительной техники)
- Управление в социальных и экономических системах
- Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей
- Системы автоматизации проектирования (по отраслям)
- Телекоммуникационные системы и компьютерные сети
- Системы обработки информации и управления
- Вычислительные машины и системы
- Применение вычислительной техники, математического моделирования и математических методов в научных исследованиях (по отраслям наук)
- Теоретические основы информатики
- Математическое моделирование, численные методы и комплексы программ
- Методы и системы защиты информации, информационная безопасность