Научная статья на тему 'Реализация принципов наследования и агрегации в МУОРБД'

Реализация принципов наследования и агрегации в МУОРБД Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
242
15
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ОБЪЕКТНЫЕ БАЗЫ ДАННЫХ / СИНТЕЗ МЕТАИНФОРМАЦИИ И ДАННЫХ / НАСЛЕДОВАНИЕ / АГРЕГАЦИЯ / OBJECT DATABASES / SYNTHESIS OF META INFORMATION AND DATA / INHERITANCE / AGGREGATION

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Микляев И.А., Жирнова М.А.

Матричная Универсальная Объектно-Реляционная База Данных разрабатывалась по аналогии с объектным представлением в объектно-ориентированных средах программирования. Размещение информации МУОРБД производится по принципам реляционной алгебры с выполнением требований третьей нормальной формы. Объектно-ориентированная структура позволяет значительно уменьшить количество сущностей в логической и физической схемах БД пользователя. При этом должен быть обеспечен индивидуальный подход к различным типам объектов одной сущности. Это достигается на основе реализации принципов наследования и агрегации. Наряду с классическими формами установления отношений между объектами в результате разработки механизма синтеза метаинформации и данных, получены новые методы, позволяющие, сохраняя компактную самодостаточную структуру словаря данных, реализовать необходимое множество взаимосвязанных объектов для описания предметной области пользователя. Также на основе этого механизма получены нестандартные формы наследования на уровне доменных значений и данных, что позволило значительно сократить дублирование информации в БД. Важной особенностью реализации принципов наследования и агрегации в МУОРБД является то, что иерархия объектов и состав их свойств может варьироваться пользователем во время работы программы, без необходимости её перекомпиляции.I

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

mplementation of the principles of inheritance and aggregation in the MUORDB Matrix Universal Object-Relational Database developed by analogy with the representation of an object in an object-oriented programming environments. Accommodation MUORDB information produced according to the principles of relational algebra with the performance requirements of the third normal form. The object-oriented structure can significantly reduce the number of entities in the logical and physical schemes user database. This individual approach to different types of objects one entity must be provided. This is achieved through the implementation of the principles of inheritance and aggregation. Along with the classical forms of establishing new relations techniques to maintaining a compact self-contained data dictionary structure necessary to implement a plurality of interconnected objects to describe the subject area of the user between the objects as a result of the development of the mechanism of the synthesis of meta-information and data obtained. Also based on this mechanism, obtained non-standard forms of inheritance at the domain of values and data, thus significantly reduce duplication of information in the database. An important feature of the implementation of the principles of inheritance and aggregation MUORDB is that object hierarchy and structure of their properties can be varied by the user at runtime, without having to recompile it.

Текст научной работы на тему «Реализация принципов наследования и агрегации в МУОРБД»

15. Martello S., Pisinger D., Vigo D. The three-dimensional bin packing problem // Operations Research. 2000. Vol. 48. N 2. P. 256-267.

УДК 004.4'236

РЕАЛИЗАЦИЯ ПРИНЦИПОВ НАСЛЕДОВАНИЯ И АГРЕГАЦИИ В МУОРБД

Микляев Иван Александрович, к.ф-м.н., доцент кафедры информационных систем и технологий, Филиал Северного (Арктического) федерального университета имени М. В. Ломоносова в г. Северодвинске Институт судостроения и морской арктической техники (Севмашвтуз), Россия,

Северодвинск, ivanmia 1@rambler.ru Жирнова Марина Анатольевна, студент, Филиал Северного (Арктического) федерального университета имени М. В. Ломоносова в г.Северодвинске Институт судостроения и морской арктической техники (Севмашвтуз), Россия, Северодвинск, таг) па2Ы rnova@yandex.ru

Введение

Теория ООП выделяет три основных отношения между классами:

1. Ассоциация.

2. Агрегация и композиция.

3. Обобщение/Расширение (наследование).

Рис. 1 - Реализация принципов наследования и агрегации в ORM системе ADO.NET Entity Framework

a) Физическая модель фрагмента реляционной БД документооборота; b) Диаграмма классов Фрагмент кода реализации иерархии классов документооборота в ORM-системе

Наследование — механизм языка, позволяющий описать новый класс на основе уже существующего (родительского, базового) класса или интерфейса. При описании потомка могут быть добавлены собственные методы и свойства, а также можно пользоваться родительскими методами и свойствами [ 1].

В объектно-ориентированном программировании под агрегированием подразумевают методику создания нового класса из уже существующих классов путём включения, называемого также делегированием. Об агрегировании также часто говорят как об «отношении принадлежности» по принципу «у машины есть корпус, колёса и двигатель»[2].

В качестве примера использования объектного подхода в БД можно привести ORM-системы. ORM (англ. Object-Relational Mapping, рус. объектно-реляционное отображение) — технология программирования, которая связывает базы данных с концепциями объектно-ориентированных языков программирования, создавая «виртуальную объектную базу данных»[3].

Для связывания реляционной базы данных с объектным представлением в языках программирования существуют разные фреймворки и библиотеки. Одним из самых популярных фреймворков, применяемых в C#, является ADO.NET Entity Framework. Данный фреймворк позволяет автоматически создать классы из имеющейся реляционной БД, а также предоставляет управление данными по средствам LINQ запросов.

Следующий пример иллюстрирует применение ADO.NET Entity Framework на реляционных базах данных. На рисунке 1a представлена физическая модель сущностей «Чертеж», «Документ», «Отдел».

В ORM-системе ADO.NET Entity Framework физическая схема данного фрагмента реляционной базы данных переносится в классы С# с соответствующими отношениями наследования (рисунок 1 b).

ADO.NET Entity Framework выглядит следующим образом:

public partial class otdel

{

public otdel() {

this.documents = new HashSet<document>(); this.otdel1 = new HashSet<otdel>();

}

public int key_otdel {get; get;}

public string name_otdel {get; get;}

public Nullable<int> key_parent_otd {get; get;}

public virtual ICollection<document> documents {get; get;}

public virtual ICollection<otdel> otdel1 {get; get;}

public virtual otdel1 otdel2 {get; get;}

}

public partial class document

{

public int key_document {get; get;} public string reg_num {get; get;} public string naimenovanie {get; get;} public System.DateTime dt izdaniya {get; get;} public string soderzhanie {get; get;} public string srok deistviya {get; get;} public int key_otdel {get; get;} public virtual otdel otdel {get; get;}

}

public partial class chertezh : document

{

public string izobrazhenie {get; get;}

}

Таким образом, за счет применения ORM-системы создаются отношения наследования и агрегации. В отношении агрегации в каждом классе присутствуют поля-ссылки и список для дочерних экземпляров объектов. В отношении наследования класс «Чертеж» наследует все атрибуты «Документ» и у него существует собственный атрибут «Изображение».

Наследование и агрегация в МУОРБД

Классический подход

Под классическим механизмом реализации наследования рассматривается прямое объявление родительского объекта при описании дочернего объекта.

Например в C#: public partial class chertezh : document {...}

В ObjectPascal: type chertezh = class(document) begin ... end;

Под классическим механизмом реализации агрегации понимается объявление объектного типа у атрибута (поля) объекта.

Например в C#:

public partial class otdel {...}

public partial class document {... public virtual otdel otdel {get; get;} ...}

В ObjectPascal:

type

Totdel = class begin ... end;

document = class begin ... otdel: Totdel; ... end;

Классическая реализация наследования и агрегации на тестовой предметной области в МУОРБД была представлена в [4]. Объект «Worker» наследует атрибуты «Фамилия», «Имя», «Отчество», «Дата рождения» и «Географический объект» через допустимую характеристику «Индивид». Для этого при описании сущности «Worker» объявляется параметр «Имеет характеристики сущности» со значением-ссылкой на сущность «Индивид». Для классической реализации агрегации параметр «Имеет характеристики сущности» со значением-ссылкой на сущность «Индивид» устанавливается в подчинение к «Допустимой характеристике» «Человек». В результате доступ к полученным атрибутам сущности «Worker» производится через префиксы, например, «Человек->Фамилия».

Разработка и реализация механизмов МУОРБД производилась строго на основании прикладных задач. Агрегация была востребована в задаче автоматизированной информационной системы учета и сопровождения экспериментальных исследований.

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

Каждая точка имеет две координаты и цвет, таким образом, имеем множество атрибутов объекта «Изображение эксперимента» объектного типа.

Отношение агрегации, реализованное классическим методом, представлено на рисунке 2 между сущностями «Изображение эксперимента» и «Координата»[5].

Для определения атрибута объектного типа в подчинение «Допустимой характеристике» со значением наименования атрибута, устанавливается параметр «Имеет характеристики сущности» со значением-ссылкой на сущность (объект), тип которого и приписан указанному атрибуту.

В результате обращение к полям атрибута производится с префиксом его наименования и наименованием агрегированного объекта.

Например, «Правая верхняя контрольная точка-^», «Правая верхняя контрольная точка-^», «Правая верхняя контрольная точка->Цвет» [5].

Наименование

Параметр пользователя Горелка Эксперимент Координата

Изображение эксперимента

Результат эксперимента Индивид

а)

с)1=>

11

12

13

Допустимая характеристика]Левая сторона контрольного четырёхугольника]

I

Допустимая характеристнка]Правая сторона контрольного четырёхугольника]

I

Допустимая характеристика[Левая верхняя контрольная точка] Имеет характеристики сущности(Координата]

14

Ь)

Допустимая характеристика|Правая верхняя контрольная точка] + Имеет характеристики сущности]Координата] 15

Допустимая характеристика]Левая нижняя контрольная точка] Имеет характеристики сущности]КоорД1шата]

Рис. 2 - Объявление атрибута объектного типа в универсальном приложении МУОРБД: a) область объявления объектов Ь) область описания объекта с) объявление атрибута «Левая нижняя контрольная точка» объекта «Изображение эксперимента» объектного типа «Координата».

Реализация на основе механизма синтеза метаинформации и данных

При разработке автоматизированной информационной системы документооборота на предприятии был применён механизм МУОРБД синтеза метаинформации и данных [6]. Все виды и типы документов размещены в одной сущности "Документ", что позволяет варьировать их состав и описание. Но по требованиям технического задания необходимо реализовать персональный подход к представлению и обработке информации каждого вида документа. Поэтому в рамках одной сущности реализована сложная система объектов с реализацией принципов наследования и агрегации.

Логическая схема предметной области документооборота в МУОРБД представлена на рисунке 3.

■ связь многие ко многим на уровне экземпляров - связь многие на уровне экземпляров сущностей ко многим на уровне единицы информации

■ связь один ко многим на уровне экземпляров сущностей Рис. 3 - Логическая модель документооборота в МУОРБД

Объекты в сущности «Документ» объявлены через доменные значения её атрибутов, у которых установлены параметр «Управляющий атрибут». Например, атрибут «Категория» и «Наименование документа». Таким образом, через атрибут «Категория» получены объекты: «Технический документ», «Конструкторский документ», «Технологический документ», «Управленческий документ» и др. А через атрибут «Наименование документа» получены объекты: «Чертеж», «Альбом чертежей», «Письмо», «Приказ» и др.

Наследование в МУОРБД реализовано на основании синтеза метаинформации [6]. Существует три типа организации наследования в МУОРБД - через домен значений, через параметры и через допустимые характеристики.

Пример реализованной иерархии объектов: «Документ» => «Технический документ» => «Конструкторский документ» =>«Чертеж» (рисунок 4).

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

Рис.4 - Реализованная иерархия объектов в информационной системе документооборота на основе механизма синтеза метаинформации и данных в МУОРБД

Нестандартные формы наследования

В МУОРБД реализована система наследования характеристик экземпляров (строк) сущности (таблицы). В этом случае характеристики нового экземпляра (строки) точно совпадают с характеристиками экземпляра (строки), у которого он их наследует. На физическом уровне сохраняется лишь отметка о наследовании параметром «Имеет значения экземпляра сущности» и значением-ссылкой на родительский экземпляр [5].

В задаче автоматизированной информационной системы документооборота по техническому заданию необходимо определить список доменных значений атрибутов в зависимости от типа документа, с которым ведётся работа. Доменные значения атрибута «Наименования документа» - «Приложение», «Эскиз» и «Доклад» - определяются объектом «Документ» и всеми дочерними объектами. Доменное значение «Временное положение»

принадлежит объекту «Управленческий документ» и всем его дочерним объектам. Доменное значение «Приказ» принадлежит объекту «Организационный документ» [6].

Литература

1. Наследование(программирование) [Электронный ресурс] - Режим доступа: https://ru.wikipedia.org/wiki/ Наследование_(программирование)

2. Агрегирование (программирование) [Электронный ресурс] - Режим доступа: https://ru.wikipedia.org/wiki/ Агрегирование_(программирование)

3. ORM-системы [Электронный ресурс] - Режим доступа: https://ru.wikipedia.org/wiki/ORM

4. И.А. Микляев, П.П. Олейник, С.М. Салибекян., Методы реализации объектных статических моделей в приложениях баз данных. Информационные технологии и вычислительные системы 1/2016 - стр. 12-31

6. Микляев И.А., Свидетельство ОФЕРНиО № 14246 (Объединённого фонда электронных ресурсов «Наука и образование») Универсальное приложение для матричной универсальной объектно-реляционной базы данных", 2010.

7. Жирнова М.А., Микляев И.А., Синтезирование метаинформации и данных Сборник докладов по материалам научно-практической конференции в рамках XLИ Ломоносовских чтений / секция «Информационные системы и технологии в экономике и управлении» /Сборник докладов. - Федеральное государственное автономное образовательное учреждение высшего профессионального образования «Северный (Арктический) федеральный университет имени М.В. Ломоносова» филиал в г. Северодвинске Архангельской области институт судостроения и морской арктической техники, 2013. - с., стр. 38-43.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

УДК 519.876.5

ИМИТАЦИОННОЕ МОДЕЛИРОВАНИЕ С ПРИМЕНЕНИЕМ СИСТЕМНОГО ПОДХОДА И ИСЧИСЛЕНИЯ ОБЪЕКТОВ8

Жихарев Александр Геннадиевич, к.т.н., старший преподаватель кафедры информационных систем, Белгородский государственный национальный исследовательский университет, Россия, г.

Белгород, zhikharev@bsu.edu.ru;

Маторин Сергей Игоревич, д.т.н., профессор, профессор кафедры информационных систем, Белгородский государственный национальный исследовательский университет, Россия, г. Белгород,

matorin@bsu.edu.ru;

Корчагина Карина Викторовна, аспирант, ассистент кафедры информационных систем, Белгородский государственный национальный исследовательский университет, Россия, г. Белгород,

korchagina@bsu .edu.ru.

Развитие информационных технологий и, в том числе, средств и методов имитационного моделирования приводит в настоящее время к необходимости использования для их дальнейшего совершенствования результатов, полученных в рамках фундаментальных исследований. Авторами, в частности, при разработке нового метода и инструментария имитационного моделирования использован оригинальный системный подход «Узел-Функция-Объект»(УФО-подход: http://ru.wikipedia.org/wiki/У зел-Функция-Объект), основанный на данном подходе «Системно-Объектный Метод Представления Знаний» (СОМПЗ) [1] и современный математический аппарат исчисления объектов Абади-Кардели, разработанный для формализации объектно-ориентированного программирования [2]. Суть предлагаемого метода системно-объектного имитационного моделирования функционирующих систем представлена в работах [3-5], особенности программного

8 Исследование поддержано грантами РФФИ: 14-47-08003; 16-07-00193а, 16-07-00460а

28

i Надоели баннеры? Вы всегда можете отключить рекламу.