ISSN 0236-235X (P)
ISSN 2311-2735 (E)

Journal influence

Higher Attestation Commission (VAK) - К1 quartile
Russian Science Citation Index (RSCI)

Bookmark

Next issue

4
Publication date:
09 December 2024

Model of parallel structures organization in OOP

The article was published in issue no. № 3, 2011
Abstract:We propose a new method of information objects organization «parallel structure». It allows the set of subordinate objects, which composed as a part of tree structure of the main information object continue to exist independently of each other, as well as part of other information objects. That allows to organize methods of work with the data of several information objects belonging to different classes.
Аннотация:Предлагается новый метод организации информационных объектов – параллельная структура, позволяющий множеству подчиненных объектов, входящих в сложную древовидную структуру главного информационного объекта, продолжать существование независимо друг от друга, а также в составе других объектов. Это дает возможность организовать методы работы с данными нескольких информационных объектов, принадлежащих разным классам.
Authors: (Volkov-kostroma@yandex) - , Shvedenko V.N. (Volkov-kostroma@yandex) - LLC "REGUL+", St. Petersburg, Russia, Ph.D
Keywords: object-oriented system, the structural context, information object, connecting the object, parallel structure, asymmetry
Page views: 9166
Print version
Full issue in PDF (5.05Mb)
Download the cover in PDF (1.39Мб)

Font size:       Font:

Существующие способы описания объектов и методов работы с данными предполагают иерархическое представление информационного объекта (ИО).

Принципиальным здесь является то, что каждый объект представляется неразделимой структурой, создавая проблему непараллельности, или асимметрии [1]. Асимметрия – основной недостаток иерархического подхода: она затрудняет работу пользователя, так как рассматривается в методах обработки не отдельно по составляющим, а как единая сложная структура.

Авторы предлагают ввести новое понятие – параллельная структура, понимая под этим сложный тип структур, который может встречаться в нескольких ИО и описывать одно и то же явление или процесс. На различных этапах жизненного цикла системы параллельные структуры ИО могут существовать независимо друг от друга, а также быть вложенными и присоединенными к другим объектам. Главная идея параллельности структур ИО заключается в том, что множество подчиненных объектов, входящих в сложную древовидную структуру ИО, могут функционировать автономно и иметь в системе самостоятельное значение.

Таким образом, при работе с данными появляется возможность извлекать экземпляры ИО с наложением ограничений на их выборку по любым свойствам из подмножества параллельных структур, избегая при этом избыточности данных и всякого рода аномалий.

Правила структурирования многомерных данных

Предметная область, по которой строится информационная система, состоит из множества базовых объектов L, отражающих ее основные характеристики [2, 3]. Каждый объект  харак- теризуется некоторым набором k атрибутов, являющихся значениями одноместных функций , где  – множество одноместных функций, заданных на множестве базовых объектов L, то есть набор атрибутов для ИО зависит от самого объекта и является его свойствами.

Определим на множестве L отношение эквивалентности R следующим образом: элементы  и  назовем эквивалентными, если наборы одноместных функций, определенных на , совпадают.

Отношение эквивалентности, заданное на множестве L, определяет его разбиение на классы .

Каждый объект из класса эквивалентности , где i :=1, … , n, должен содержать следующий набор атрибутов.

1.    значение одноместных функций из множества одноместных функций, определенных над классом эквивалентности ;  функция, определяющая атрибуты  класса, где i :=1, …, n.

2.    – функция, задающая для каждого ИО его уникальный идентификатор. Областью значений для этой функции является некоторый кортеж из атрибутов объекта, то есть значений функций , где . Причем  выбирает пользователь из . Функция является визуальным атрибутом объекта и используется для идентификации экземпляров объекта.

3.    – функция, генерирующая уникальный код идентификации объекта; применяется для связей между объектами внутри системы.

Таким образом, объект класса  имеет представление в виде функции  .

При описании реальной предметной области в объектно-ориентированной СУБД требуется создание объектов сложной структуры, которые содержали бы в себе базовые  объекты.

Пусть  – множество сложных объектов системы, таких, что . Тогда OBJ характеризуется некоторым набором k атрибутов, которые являются одноместными функциями или суперпозицией функций: , где . Причем . Аналогично множеству L на множестве OBJ определим отношение эквивалентности, которое позволит разбить множество OBJ на классы . Тогда  – функция, определяющая атрибуты  класса, где i :=1, …, n.

Пусть , тогда объект  может быть представлен в общем виде следующим образом:

где k+p+r=m, m£n, iÎ(j, j+r).

Структура объекта в общем виде представляет собой дерево функций с бесконечным уровнем вложенности. При описании предметной области каждый объект имеет конечный уровень вложенности его атрибутов, а следовательно, конечные функции, которые можно представить в виде композиции функций, описывающих структуру вложенности от конечного атрибута до корневого (родительского) объекта:

где  – ветка от базового объекта  до родительского  (рис. 1).

Виды структурных связей

Каждый объект системы может быть связан со своим предком двумя видами связей – вложение и присоединение.

При его вложении в родительский объект получается неразделяемая структура (рис. 2), которая соответствует традиционному представлению ИО в объектно-ориентированном подходе [4]. В этом случае в структуре для каждого объекта функция id будет иметь уникальное значение. Таким образом, все объекты структуры рассматриваются как уникальные, даже если принадлежат одному классу. ИО «Производство лодочного трейлера», «Производство судна», «Производство автомобиля» имеют в своей структуре вложенные объекты, принадлежащие одному классу – «Экономические характеристики», «Технические характеристики», то есть имеют одинаковую структуру. При такой организации данных сложно получить отчет, например, по экономическим характеристикам всех трех объектов.

В случае присоединения объекта к родительскому между ними образуется связь (рис. 3). При этом присоединенный объект остается существовать независимо от образованной структуры. Для присоединенного объекта функция id получает некоторое значение , где =const является постоянной величиной для всех присоединенных объектов класса.

Как видно из рисунка 3, объект определенного класса, присоединенный к нескольким родительским объектам, имеет один и тот же уникальный идентификатор в системе, то есть имеет параллельную структуру. Параллельная структура может присоединяться к нескольким ИО. Объекты «Экономические характеристики» и «Технические характеристики» на рисунке 3 организованы в виде параллельных структур.

Отметим, что объект имеет параллельную структуру, если присоединяется к одному или более объектам системы.

Таким образом, объект, присоединенный к множеству родительских объектов системы, физически организован так, что образует единое пространство для хранения своих экземпляров и может иметь ссылки на любое количество экземпляров других объектов.

Экземпляры одного объекта, имеющего параллельную структуру, могут принадлежать различным объектам системы. Запрос, в котором критерием будет являться свойство объекта, имеющего параллельную структуру, адресуется не конкретному объекту, а всем объектам системы, имеющим в своем составе присоединенный объект. Отсюда появляется возможность создания методов работы с экземплярами хранилища данных параллельной структуры.

Объектно-ориентированная система, организованная по такому принципу, позволяет избежать избыточности данных в информационной системе, дает возможность строить информационные запросы к группе объектов, имеющих в своей структуре общий присоединенный объект.

Литература

1.   Иванова Г.С., Ничушкина Т.Н., Пугачев Е.К. Объектно-ориентированное программирование. М.: Изд-во МГТУ им. Н.Э. Баумана, 2001.

2.   Сергеев В.П. Векторно-матричная модель представления данных // Вестн. компьютер. и информ. технологий. М.: ВКИТ. 2010. № 6. С. 3–8.

3.   Левин Н.А., Сергеев В.П. Иерархическое представление алгебры многомерных матриц. М.: Деп. в ВИНИТИ 12.09.06. № 1149-В2006. 13 с.

4.   Колесов Ю.Б., Сениченков Ю.Б. Моделирование систем. Объектно-ориентированный подход. СПб: БХВ–Петер­бург, 2006.


Permanent link:
http://swsys.ru/index.php?id=2802&lang=en&page=article
Print version
Full issue in PDF (5.05Mb)
Download the cover in PDF (1.39Мб)
The article was published in issue no. № 3, 2011

Back to the list of articles