Технические науки/ 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.