Технические науки/ 12.Автоматизированные системы управления.
д.т.н. Шведенко В.Н., Веселова Н.С.
ЗАО «РЕГУЛ+», Россия, Санкт-Петербург
Представление многомерных данных в
системе «Cobra++»
Основная
часть современных программных средств ориентирована на аналитическую работу с
многомерными структурами данных. К ним относятся системы управления базами
данных, сетевые технологии, системы искусственного интеллекта и экспертные
системы. Многомерная модель обеспечивает эффективное и компактное хранение
данных в сложных информационных структурах.
Существующие
реляционные СУБД используют модель данных, требующую представления на языке описания данных этой СУБД, т.е. отображения в даталогическую
модель. Широко использующиеся реляционные модели данных обладают определенными недостатками,
затрудняющими представление и обработку многомерных данных. Возникают трудности
в построении модели для объектов с многочисленными связями «многие-ко-многим», а
также неестественность табличного представления для восприятия пользователем
массивов данных.
Низкая
эффективность традиционных СУБД также состоит в отличии результатов
проектирования модели предметной области с использованием СУБД от реального
состояния предметной области, находящегося в динамике.
Реляционный
подход подразумевает использование плоских таблиц для представления
информационного объекта, которые не позволяют формализовать сложные смысловые
связи. Предметная же область состоит из сложных объектов и связей, изменяющихся
во времени.
Современные
СУБД, такие как Oracle, CACHE позволяют работать с
многомерными данными в виде вложенных таблиц. Возможность многомерного
представление данных влечет за собой высокую сложность программного кода при
описании модели предметной области и низкую гибкостью, требующую при каких-либо
изменениях корректировать исходный текст программ.
Система
«Cobra++» позволяет достаточно удобно описывать и представлять многомерные
данные. Многомерная модель данных представляет собой древовидную структуру
информационного объекта. Проектирование
выполняется путем добавления элементарных свойств в структуру и вложения других
объектов.
Под
информационным объектом будем понимать описание некоторой сущности (реального объекта, явления,
процесса, события) как набора логически связанных информационных элементов. Информационный
объект имеет множество реализации - экземпляров, каждый из которых представлен
совокупностью конкретных значений атрибутов.
Для описания характеристик объекта используются
элементарные свойства числового, символьного и др. типов. Построение
подчиненных объектов осуществляется по принципу каскадного проектирования. Наличие в системе
версионности объектов позволяет изменять или создавать новую структуру
информационного объекта без потери предыдущей конфигурации.
Создание
информационных объектов в среде «Cobra++» осуществляется в
модуле «Объекты ПО» - объекты предметной области. Объекты классифицированы по
группам согласно классификации объектов предметной области – сущностей первого,
второго и третьего порядков. Рисунок 1 демонстрирует группы объектов системы.

Рис.
1. Классификация модулей создания объектов системы «Cobra++»
Вся
справочная информация предметной области, к которой относятся простые списки,
справочники, перечни, составляют сущности первого порядка. Объекты подобного
типа строятся в модуле «Простые справочники» и «Сложные справочники». Наличие
двух идеологически схожих модулей, тем не менее, позволяет учитывать имеющиеся
в объекте связи. Для простых справочников доступно вложение объектов по связи «один-к-одному»,
сложные справочники позволяют использовать вложение по связи «один-ко-многим».
Различные
явления, процессы, события, цели представляют собой сущности второго порядка.
Объекты данной категории проектируются в модуле «Объекты контроля». Например,
объектом контроля может выступать сотрудник предприятия.
Сущность
третьего порядка проектируется в модуле «Объекты управления». Объекты данной
группы участвуют в проектировании бизнес-процессов, т.е. собирают и хранят
информацию о состоянии контролируемых объектов. Для проведения анализа данных,
агрегирования и сбора информации создаются объекты-показатели, проектирование
которых осуществляется одноименном модуле.
Существенным
моментов является то, что все объекты проектируются не в плоском представлении,
а в виде иерархии. На рисунке 2 представлен пример спроектированного сложного
объекта управления.
Проектирование
сложного многомерного объекта предполагает использование различных типов
связей: «один-ко-одному», «один-ко-многим», «многие-ко-многим». Наличие в объекте
связи «один-ко-многим» позволяет рассмотреть объект в нескольких плоскостях. В
системе «Cobra++» набор элементарных свойств и вложений по связи
«один-к-оному» определяет зону видимости информационного объекта. Один объект
может обладать несколькими зонами видимости в зависимости от количества
вложений по связи «один-ко многим».

Рис. 2. Древовидная
структура объекта «Карточка пациента»,
модуль «Объекты управления»
С
каждым информационным объектом связана некоторая коллекция экземпляров. В
работе с многомерными данными совокупность экземпляров также представляет собой
многомерную каскадную структуру. На рисунке 3 представлена структура вложенных
экземпляров информационного объекта.

Рис. 3. Структура
вложенных экземпляров
Система «Cobra++» визуализирует процесс создания экземпляра
вложенного объекта по связи «один-ко-многим» в виде таблиц. Каждый экземпляр
вложенного объекта, соответствующий экземпляру родительского, определяет строку
таблицы. На рисунке 4 продемонстрирован процесс создания экземпляра многомерного
объекта «Карточка пациента». В предложенном примере показаны два подчиненных
объекта, формирующие вложенные таблицы экземпляров родительского представителя
объекта.

Рис. 4. Создание
экземпляра многомерного объекта управления
«Карточка пациента»
В режиме создания экземпляра имеется
возможность не только определения новых подчиненных экземпляров, но и вариант
загрузки коллекции, используя результат работы запроса. Такая возможность
существенно упрощает работу с данными и оптимизирует процесс их обработки.
Таким образом, реализация многомерных
данных в системе «Cobra++» предполагает создание
соответствующего информационного объекта, используя модуль «Объекты ПО». Данный
модуль позволяет проектировать структуру информационного объекта и изменять
имеющуюся, устанавливать связи объектов. Заполнение экземпляров осуществляется
с помощью экранных форм в режиме простого вызова или в результате отработки
задачи этапа бизнес-процесса. Все вложенные экземпляры отображаются на одной и
той же форме корневого объекта, что делает удобным процесс просмотра и
редактирования данных. Просмотр коллекции экземпляров полностью, или по
заданному критерию, осуществляется вызовом запроса к объекту, бизнес-процессу
или хранилищу данных.
В работе предложен способ представления
многомерных данных, организованных в хранилище данных «COBRA++», для ее компактного визуального представления.
Литература
1. Технология быстрой разработки баз
данных и приложений пользователя в системе «Cobra++» / В.Н. Шведенко, Р.А.
Набатов, // «Программные продукты и системы. Международное научно-практическое
приложение к международному журналу «Проблемы теории и практики управления» №2
(82), 2008. Тверь-2008. С. 39-41.
2. Свидетельство об официальной
регистрации программы для ЭВМ № 2008610728; Заяв. 31.01.2008; Опубл.
12.02.2008. «Адаптивная система создания, хранения и отображения информационных
объектов «Cobra++» / В.Н. Шведенко, Р.А. Набатов. М.:– ФИПС. 2008.