МЕТОДЫ ОРГАНИЗАЦИИ ИНФОРМАЦИОННЫХ ОБЪЕКТОВ С ПОДОБНЫМИ СТРУКТУРАМИ КАК ЕДИНЫЙ ИФОРМАЦИОННЫЙ РЕСУРС ХРАНИЛИЩА МНОГОМЕРНЫХ ДАННЫХ. Волков Антон Андреевич Научный руководитель: Шведенко В.Н., доктор технических наук, главный научный руководитель проекта / (Сколково), компания ООО "Регул+". Специальность: – Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей
Актуальность темы исследования 1 Объект 3 Свойство 11 Свойство 7 Свойство 8 Свойство 9 Свойство 10 Свойство 7 Свойство 8 Свойство 9 Свойство 10 Объект 1 Свойство 1 Свойство 2 Свойство 3 Свойство 7 Свойство 8 Свойство 9 Свойство 10 Свойство 4 Свойство 5 Свойство 6 Свойство 7 Свойство 8 Свойство 9 Свойство 10 На этапе проектирования информационной системы, появляются объекты, описывающие разные элементы в пределах одной предметной области, но имеющие одинаковые фрагменты в своих структурах Свойство 12
2 Объект 1 Свойство 1 Свойство 2 Свойство 3 Свойство 7 Объект 3 Свойство 8 Свойство 9 Свойство 10 Свойство 4 Свойство 11 Свойство 7 Свойство 8 Свойство 9 Свойство 10 Свойство 12 Свойство 5 Свойство 6 Объект 2 На их основе формируются коллекции данных, которые создают или извлекают из хранилища данных по определенным правилам и группируют по различным условиям.
Объект 1 Объект 2 Атрибут 2.1 Атрибут 2.N … … Атрибут 1.N Атрибут 1.1 Объект 3 Объект 2 Атрибут 2.1 Атрибут 2.N … … Атрибут 3.N Атрибут 3.1 Экземпляр Объекта 1 Экземпляр Объекта 2 … Значение 1.N Значение 1.1 Экземпляр Объекта 1 Экземпляр Объекта 2 … Значение 1.N Значение 1.1 Экземпляр Объекта 1 Экземпляр Объекта 2 … Значение 1.N Значение 1.1 Экземпляр Объекта 3 Экземпляр Объекта 2 … Значение 3.N Значение 3.1 Экземпляр Объекта 3 Экземпляр Объекта 2 … Значение 3.N Значение 3.1 Экземпляр Объекта 3 Экземпляр Объекта 2 … Значение 3.N Значение 3.1 Экземпляры «подобных» объектных свойств, находящихся в составе нескольких объектов, не могут существовать без своих предшественника по иерархии Объекты имеют неразделяемую память и неразделяемую структуру Для извлечения экземпляров объектов имеющих в своей структуре «подобные» объектные свойства необходимы сложные алгоритмы, что приводит к большим затратам времени на разработку ПО Разработка методов организации информационных объектов с подобными структурами как единый информационный ресурс хранилища многомерных данных является актуальным 3
Объект исследования – Информационное обеспечение системы управления промышленным предприятием. Предмет исследования – Хранилище данных в автоматизированной системе управления промышленным предприятием. 4
5 Цель работы и задачи следования. Основной целью диссертационного исследования является разработка методов и программных средств реализующих внешние межобъектные связи в хранилище многомерных данных, для уменьшения сложности алгоритма их извлечения. Для достижения поставленной цели в работе решены следующие задачи: 1.Проведён анализ современных методов межобъектного взаимодействия в парадигме объектно-ориентированного подхода. 2.Разработан метода реализующий внешние межобъектные связи в хранилище многомерных данных. 3.Разработан алгоритм извлечения многомерных данных на основе предложенного метода организации их хранения. 4.Разработаны программные средства реализующие предложенные методы хранения и извлечения данных.
Cache Независимость хранения данных от способа их представления Oracle Объектно-реляционная технология в виде объектных представлений на стороне сервера Jasmine Чисто Объектный подход к представлению данных PostgreSQL Объектно-реляционная система с поддержкой пазовых объектных возможностей DB2 Преодоление ограничений реляционного подхода. Расширение реляционной алгебры. Объектные решения ведущих производителей СУБД Объектные решения ведущих производителей СУБД 6 Обзор объектных технологий
Хранилище данных Объект имеющий параллельную структуру Объект 1 Объект 2 Объект 3 Объект 4 Объект 5 7 Парадигма организации данных параллельной структуры В случае присоединения объекта к родительскому, между ними образуется связь. При этом, присоединённый объект остаётся существовать независимо от образованной структуры.
8 Объект 1 Свойство 1 Свойство 2 Свойство 3 Свойство 7 Объект 3 Свойство 8 Свойство 9 Свойство 10 Свойство 4 Свойство 11 Свойство 12 Свойство 5 Свойство 6 Объект 2 Объект, являющийся подструктурой некоторого подмножества других объектов информационной системы, назовём параллельной структурой если его экземпляры организованы в единый информационный ресурс и имеют связи с экземплярами объектов, подструктурой которых он является. Понятие параллельной структуры Множество объектов имеющих в своём составе параллельную структуру, называются объектами с параллельной структурой.
Схемы базы данных, для описания предметной области в виде коллекции информационных объектов 9
Правила структурирования многомерных данных 10 L – множество базовых объектов системы. F – множество одноместных функций заданных на множестве базовых объектов L. Определим на множестве L бинарное отношение R. R - Отношение «Совпадают наборы атрибутов» на множестве объектов L. R – является отношением эквивалентности на множестве базовых объектов L. Отношение эквивалентности заданное на множестве L- определяет его разбиение на классы. Каждый объект из класса эквивалентности где i := 1, …, n должен содержать следующий набор атрибутов: 1. значение одноместных функций из множества одноместных функций определённых над классом эквивалентности. функция определяющая атрибуты класса, где i := 1, …, n. 2. функция задаёт для каждого ИО его уникальный идентификатор. Областью значений для этой функции является некоторый кортеж из атрибутов объекта, т.е. значений функций, где. Причём – выбирает проектировщик объектов из - является визуальным атрибутом объекта, используется пользователем для идентификации экземпляров объекта. 3. функция генерирует уникальный код идентификации объекта. Применяется для связей между объектами внутри системы. Таким образом, объект класса имеет представление в виде функции.
11 Описание объектов сложной структуры При описании реальной предметной области в объектно-ориентированной СУБД требуется создание объектов сложной структуры, которые бы содержал в себе базовые объекты. Пусть - множество сложных объектов системы таких, что. Тогда OBJ – характеризуется некоторым набором k атрибутов, которые являются одноместными функциями или суперпозицией функций, где. Причём. Аналогично множеству L на множестве OBJ определим отношение эквивалентности. Отношение эквивалентности заданное на множестве OBJ- определяет его разбиение на классы.,тогда функция определяющая атрибуты класса, где i := 1, …, n. Пусть, Тогда объект может быть представлен в общем виде следующим образом:, где,,.
1:N 1:1 1:N 1:1 Будем обозначать вложенный объект знаком, а присоединённый знаком, тогда, где, означает, что объект имеет параллельную структуру и присоединён к объекту., где - классическое вложение объекта в объект. Функция – определяет структуру объекта. Присоединяя или вложения объект в объект между ними необходимо установить тип связи. Допустимы два типа связей: Один к одному (1:1) – одному экземпляру объекта может соответствовать только один экземпляр вложенного/присоединённого объекта. Один ко многим (1:N)– одному экземпляру объекта может соответствовать множество экземпляр вложенного/присоединённого объекта. F –множество одноместных функций заданных на множестве OBJ, тогда – множество одноместных функций заданных на классе эквивалентности, где j – уровень вложенности в объект, а – объект из класса уровень вложенности относительно корневого объекта. Описание структурных связей 1212
1:N 1:1 1:N 1:1 Объект, может быть представлен в виде системы функций. Каждая строка системы описывает отдельную ветвь структуры объекта. 13
14 Пусть Q – множество запросов, тогда - любой запрос к информационной системе. Рассмотрим запрос, где условия накладываются на атрибуты объекта параллельной структуры:, где - некоторые атрибуты объекта участвующие в запросе и, k – количество всех атрибутов объекта,. Запрос вернёт множество экземпляров объекта и объектов того же класса у, которых. Пусть E - множество экземпляров всех объектов системы. - экземпляр с номером v объекта из класса с уникальным идентификатором объекта. Выборка данных по объекту - параллельной структуре
Пример объектов с параллельными структурами Объекты «Помещение», «Работа» и «Энергопотребление» представляют собой параллельную структуру объектов «Освещение» и «Система отопления» 15
Модуль «Проектировщик объектов системы COBRA++» Работа с коллекцией информационных объектов, свойств, групп объектов, работа с версиями структур информационных объектов; возможность одновременной работы сразу с несколькими объектами. 16
Реализация параллельных структур в системе COBRA++» Объекты «Энергопотребление», «Работа» и «Помещение» являются параллельными структурами присоединены к объекту «Освещение». 17
Выборка данных по параллельной структуре в системе COBRA++» Запрос данных по параллельному объекту «Энергопотребление» выводит список экземпляров всех объектов к которым он был присоединён. 18
1.Ведено и обосновано новое понятие «объекта с параллельными структурами», определяющее класс объектов позволяющих рассматривать одинаковые элементы их структуры как единый информационный ресурс. 2.Предложена концептуальная схема структурирования данных для формирования информационных ресурсов имеющих в своей структуре параллельные объекты. 3.Предложено формальное описание параллельных структур в объектно- ориентированном хранилище многомерных данных. 4.Разработан метод, реализующий внешние меж объектные связи в хранилище многомерных данных для объединения одинаковых элементов структуры объектов системы в единый информационный ресурс. Научная новизна 19
Основные выводы и результаты 20 1.Ведено и обосновано новое понятие «объекта с параллельными структурами», определяющее класс объектов позволяющих рассматривать одинаковые элементы их структуры как единый информационный ресурс. 2.Разработан метод, реализующий внешние меж объектные связи в хранилище многомерных данных для объединения одинаковых элементов структуры объектов системы в единый информационный ресурс. 3.Разработан алгоритм извлечения многомерных данных на основе предложенного метода организации их хранения. 4.Разработан модуль «Дизайнер информационных объектов» реализующий работу параллельных структур и методов работы с ними в объектно-ориентированной среде «Cobra ++».
Спасибо за внимание!