Разработка прототипа системы управления объектно-ориентированной базой данныхРефераты >> Программирование и компьютеры >> Разработка прототипа системы управления объектно-ориентированной базой данных
s(B) ~> o º s.else(B) ~> o, иначе.
Где s.if, s.then, s.else обозначение if-части, then-части и else-части s соответственно.
Если Воздействие является объектом-множеством, то
s(B) ~> o º null, если s={ }
s(B) ~> o º s1(B) ~> o, если s={s1}
s(B) ~> o º s’(B) ~> o, s’= s – {x} после x(B) ~> o
где x – произвольно выбранный элемент из множества s.
Если Воздействие является объектом-списком, то
s(B) ~> o º null, если s=( )
s(B) ~> o º sn(B) ~>(… ~>( s2(B) ~>( s1(B) ~> o))…) где s = (s1, s2, …, sn)
Семантика дробящейся посылки
Пусть B – Набор_параметров и пусть s, oÎO. Тогда оператор дробящейся посылки, обозначаемый ~1> определяется следующим образом:
Таблица 1: Семантика дробящейся посылки
Условие |
S(B) ~1> o º |
s(B) ~> o неº fail |
s(B) ~> o |
AGG(o) & o = [A1 : o1, …, An : on] |
[A1 : s(B) ~> o1, …, An : s(B) ~> on] |
BIO(o) & o.if неº null |
s(B) ~> o.then |
BIO(o) & o.if º null |
s(B) ~> o.else |
SET(o) & o = {o1,…,on} |
{s(B) ~> o1, …, s(B) ~> on} |
SEQ(o) & o = (o1,…,on) |
(s(B) ~> o1, …, s(B) ~> on) |
Иначе |
Fail |
2.9 Транзакции и механизм согласованного управления
Согласованное управление является важным аспектом управления транзакциями в СУБД. В обычных базах данных, транзакции являются независимыми атомарными воздействиями, которые выполняются изолированно, в том числе от результатов выполнения других транзакций. Однако, для повышения производительности, для некоторых транзакций составляется расписание выполнения. Механизм согласованного управления обеспечивает корректное выполнение этого множества транзакций, в том числе продолжительных.
В отличие от традиционных баз данных, исследования в области согласованного управления для объектно-ориентированных баз данных были ограничены. Это в значительной мере связано с уникальностью требований к объектно-ориентированным базам данных. Природа транзакций в таких приложениях, как CAD, мультимедийные базы данных, является весьма различной. Эти приложения характеризуются совместно выполняемыми продолжительными транзакциями с обобщающими операциями. Поскольку результат выполнения транзакции может быть основан на промежуточных результатах других транзакций, критерий сериализуемости не может быть применим непосредственно в этом случае.
Сериализуемость состоит в том, что результат совместного выполнения транзакций эквивалентен результату их некоторого последовательного исполнения, называемого планом выполнения транзакций. Это обеспечивает реальную независимость пользователей. Существует теорема Эсварана о двухфазной блокировке: если все транзакции подчиняются протоколу двухфазной блокировки, то для всех возможных существующих графиков запуска (порядков выполнения транзакций) существует возможность упорядочения. Эта тема хорошо освещена в [9] и [22].
В зависимости от организации протокола совместного выполнения транзакций он является пессимистическим или оптимистическим.
Пессимистический метод ориентирован на ситуации, когда конфликты возникают часто. Конфликты распознаются и разрешаются немедленно при их возникновении. Оптимистический метод основан на том, что результаты всех операций модификации базы данных сохраняются в рабочей памяти транзакций. Реальная модификация базы данных производится только на стадии фиксации транзакции. Тогда же проверяется, не возникают ли конфликты с другими транзакциями.
Протокол согласованного управления СУООБД обеспечивает:
· Управление совместно выполняющимися продолжительными транзакциями
· Усиливает корректность критерия другого, чем сериализуемость
· Учитывает объектную ориентированность данных
· Допускает обобщение операций (не только чтение и запись)
Подробное описание и теоретическое обоснование протокола согласованного управления для ООБД содержится в [19].
3. Разработка структуры СУ
3.1 Положение дел в области интероперабельности систем
Рост мощности программных приложений привел к выделению нового архитектурного слоя – информационной архитектуры систем, определяющей способность совместного использования, совместной деятельности (в дальнейшем будет использоваться термин "интероперабельность") компонентов (информационных ресурсов) для решения задач [21]. Этот слой расположен обычно над сетевой архитектурой, являющейся необходимой предпосылкой такой совместной деятельности компонентов, обеспечивающей их взаимосвязь.
Деятельность по созданию технологии интероперабельных систем охватывает весь мир. Наиболее существенный вклад в принимаемые идеологические, архитектурные и технологические решения интероперабельных систем вносит Object Management Group (OMG) (http://www.omg.org) - крупнейший в мире консорциум разработки программого обеспечения, включающий свыше 600 членов - компаний - производителей программного продукта, разработчиков прикладных систем и конечных пользователей. Целью OMG является создание согласованной информационной архитектуры, опирающейся на теорию и практику объектных технологий и общедоступные для интероперабельности спецификации интерфейсов информационных ресурсов. Эта архитектура должна обеспечивать повторное использование компонентов, их интероперабельность и мобильность, опираясь на коммерческие продукты.
Другие организации, которые работают в кооперации с OMG, например, с целью доведения результатов OMG до официальных стандартов в различных аспектах, включают: ANSI, ISO, CCITT, ANSA, X/Open Company, Object Database Management Group (ODMG).
Развитие возможностей информационных систем и Internet и желание обеспечить их взаимодействие между собой, привело к необходимости разработки единого протокола взаимодействия. Для этого была создана OMG, которая и занялась этим вопросом. В результате была разработана эталонная модель, которая определяет концептуальную схему для поддержки технологии, удовлетворяющей техническим требованиям OMG. Она идентифицирует и характеризует компоненты, интерфейсы и протоколы, составляющие Архитектуру Управления Объектами OMG (Object Management Architecture (OMA)), не определяя, впрочем, их детально.