Технические науки / 12.Автоматизированные системы управления на
производстве.
д.т.н.
Шведенко В.Н., Веселова Н.С.
ЗАО
«РЕГУЛ+», Россия, Санкт-Петербург
Многомерные данные и их моделирование
Анализ и представление
многомерных данных занимает одно из ведущих направлений в разработке методов
проектирования информационных систем и анализа информации. Стремительный рост
информации, необходимость ее обработки и принятия на ее основе грамотного
управленческого решения требуют применения технологий оперативного анализа
многомерных данных.
Проведено много работ в
области многомерного анализа данных, направленных в основном на возможность
оперативной обработки большого объема информации с учетом структуры ее
представления.
В результате был предложен ряд
многомерных моделей, описывающих исследуемые предметные области. В основном,
все представленные модели ориентированы на решение конкретных задач, при этом
использовалась различная терминология и затрагивались конкретные аспекты
предметной области на этапах проектирования и анализа данных. Согласно этому,
были представлены матричные и векторно-матричные модели многомерных данных,
позволяющие рассматривать предметную область в виде некоторого фактор-множества
объектов, на котором определены функции, представимые с помощью набора
многомерных матриц.
Математическое описание
многомерных данных, подобно существующему для реляционных СУБД, позволит
упростить процесс проектирования многомерных моделей и проследить семантические
и логические связи информационных объектов. Также математическое описание
многомерных операций позволяет строить более простые и понятные запросы на
этапе анализа данных.
Любая модель данных строится
без отрыва от предметной области, ее объектов и процессов. Именно моделирование
объектов, существующих между ними связей и процессов позволит наиболее точно
отразить состояние предметной области. Если построение модели основывать не на
формальном представлении, а с учетом семантических и логических связей, она
становится проще для понимания и представления данных. А именно, существует
возможность задания некоторых правил, по которым осуществляет построение любого
моделируемого объекта предметной области с указанием его типа, имени и присущих
ему характеристик – атрибутов объекта. Помимо этого, можно задать правила,
определяющие характер связи между объектами информационной системы. Подобный
способ моделирования позволяет реализовать логика предикатов, использование
которой и обеспечит наличие выше указанных правил построения объектов и связей.
Прежде, чем приступить к
математическому моделированию конкретного объекта, следует выделить базовые
составляющие – предметные переменные и константы, на основе которых будут
строиться предикаты и соответствующие им множества истинности.
Каждый объект будем
рассматривать как совокупность элементарных свойств и свойств – вложенных
объектов. Объект и его свойства определяются конкретным типом, а также видом
связей, по которым происходит вложение в объект других объектов. Зададим
следующие множества и предметные константы:
О = {o1 , o2 , o3 ,…, oq} – множество объектов системы, где oi - код объекта, i – порядковый номер в системе;
, q –
кол-во объектов
H = {h1 , h2 , h3 ,…, hm} – множество элементарных свойств
системы, где hj– код свойства;
, m –
кол-во свойств объектов
K = {k1 , k2 , k3 , k4
, k5} – конечное множество типов объектов, kp – тип объекта

T = {t1 , t2 , t3 , t4
, t5 , t6 , t7 , t8 } –
конечное множество типов элементарных свойств, где tu – тип свойства

L = {l1 , l2 , l3} – конечное множество типов связей: один
к одному, один ко многим, многие ко многим. lx – тип связи объектов.

A = {a1 , a2 , …
, am } –
множество имен элементарных свойств, где as – имя свойства; B = {b1 , b2 , …
, bq} –
множество имен объектов, гдеbi – имя объекта.
Описание представленных
множеств и констант происходит в соответствии с объявленными объектами и
процессами предметной области.
Дадим математическое описание
многомерного информационного объекта, созданного с помощью системы «Cobra++». Многомерная
модель данных представляется в виде дерева информационного объекта. Проектирование выполняется путем добавления
элементарных свойств в структуру и вложения других объектов. На рисунке 1
представлена древовидная структура информационного объекта «Тендер». Согласно
классификации объектов системы, представленный объект является объектом
управления с вложенными в него объектами контроля по связям «один-к-оному»,
«один-ко-многим». Построение модели будем проводить «снизу-вверх», т.е. зададим
предикаты вложенных объектов и их элементарных свойств. Например, введем
предикат, назначающий некоторому объекту из множества О тип из множества К - obj_type(O,K) .
Множество, на котором определен данный предикат, имеет следующий вид:
- множество пар,
первый элемент принадлежит множеству О, для которого существует единственный
элемент множества К – второй элемент пары.
Правила
описания развернутого объекта контроля «Предмет торгов» выглядят следующим
образом:
obj_type(o2, 4), obj_name(o2, b2), где o2 – код
объекта «Предмет торгов», 4 – тип объекта (объект контроля), b2 – имя
объекта.

Рис. 1. Древовидная
структура объекта «Тендер»
Таким образом, с помощью данных правил-предикатов
мы установили однозначную привязку типа и имени объекта к коду, хранящегося в
системе.
Аналогичным образом задаем предикаты
других вложенных объектов структуры и самого объекта «Тендер».
obj_type(o1, 5), obj_name(o1, b1) –
объект управления «Тендер»
obj_type(o3, 4), obj_name(o3, b3) –
объект контроля «Участник торгов»
obj_type(o4, 1), obj_name(o4, b4) –
справочник «Наименование работ»
obj_type(o5, 1), obj_name(o5, b5) –
справочник «Виды работ»
Подобным же образом задаются предикаты
описывающие элементарные свойства – атрибуты информационного объекта. Каждое
свойство задается своими правилами, однозначно устанавливающими тип и имя этого
свойства. Например, предикаты первого свойства «Информация об объекте» объекта
«Предмет торгов» имеют следующий вид (рисунок 2):

Рис. 2. Предикаты элементарных свойств
Далее перечисляются все элементарные
свойства, относящиеся к объекту с кодом о2:
s_prop*(o2, 1, h1) – свойство «Информация об объекте»
s_prop*(o2, 1, h2) – свойство «Сбор тендер-заявок»
s_prop*(o2, 1, h3) – свойство «Начало торгов»
s_prop*(o2, 1, h4) – свойство «Окончание торгов»
s_prop*(o2, 1, h5) – свойство «Оглашение торгов».
Второй аргумент предиката s_prop* указывает на версионность объекта – порядковый номер
зафиксированной структуры.
Таким образом, итоговый объект
представляется набором элементарных свойств, заданных предикатами:

Разумеется, данный набор предикатов
является тривиальным и недостаточным для моделирования более сложного объекта.
Поэтому объявляются предикаты связей, включения объекта в структуру другого,
предикат уникального идентификатора объекта и т.д.
Результатом объявления всех возможных
предикатов и их различных комбинаций является моделирование различных структур
как новых объектов, так и описание модификаций одного и того же объекта. Набор
предикатов не ограничен, что позволяет сделать аппарат моделирования гибким и
динамичным. С введением новых объектов и свойств, к уже имеющимся предикатам
добавляются новые. Возможность конфликтов новых кодов, имен, типов, доступных
связей и вложений исключается однозначным заданием множества истинности каждого
правила. Таким образом, представленный способ моделирования позволяет дополнить
уже существующие методы моделирования данных и может являться основой формирования
языка описания разрабатываемой модели метаданных.
Литература
1. Технология быстрой разработки баз
данных и приложений пользователя в системе «Cobra++» / В.Н. Шведенко, Р.А.
Набатов, // «Программные продукты и системы. Международное научно-практическое
приложение к международному журналу «Проблемы теории и практики управления» №2
(82), 2008. Тверь-2008. С. 39-41.
2. Заботнев М.С. Многомерная модель
представления данных по образовательной статистике // Телематика-2003. Труды X
Всероссийской научно-методической конференции. Санкт-Петербург, 2003. - С.
245-246.
3. Шаллоуей А., Тротт Д.Р.
Шаблоны проектирования. Новый подход к объектно-ориентированному анализу и
проектированию. М.: Издательский дом «Вильяме», 2002. - 288 с.