5. Повышение энергоэффективности работы в условиях динамичности информационных процессов ИУС на множестве состояний функционирования способствует улучшению алгоритмов и программного обеспечения.
Литература
1. Аналитический центр. Глобальная технологическая революция. Национальный совета по разведке США. Проект 2020. [Электронный ресурс]. - Режим доступа свободный: http://www/nps.sarov,ru
2. Глазьев, С.Ю. Возможности и ограничения технико-экономического развития России в условиях структурных изменений в мировой экономике/С. Ю. Глазьев. [Электронный ресурс]. - Режим доступа свободный: http:// spkurdyumov.narod.ru/glaziev.htm.
3. T. Lewis "The Next 10,0002 Years: Part 2", - Computer, 5/96, pp. 78-86.
4. Барри Боэмом. Спиральная модель c контрольными точками проекта (перевод С. Орлик). [Электронный ресурс]. - Режим доступа свободный: http://www.it4business.ru/kb/88/
5. Яковлев, В.М. Принципы реализации распределённых систем реального времени. - Киев: Проблемы программирования, 2008. - № 2-3. [Электронный ресурс]. - Режим доступа свободный: http://eprints.isofts.kiev.ua/417/
6. Аджиев, В. Объектная ориентация: философия и футурология. Открытые системы.- М,№6, 1996. [Электронный ресурс].-Режим доступа свободный: http://www.osp.ru/os/1996/06/179026/
7. Кульба, В.В. Автоматизированные ИУС социально-экономических и организационных
структур/В.В. Кульба, С.А. Косяченко, В.Н. Лебедев. - М.: Издательство ИПУ РАН
«Проблемы управления», 2009.- 3.1.- С.73-87.
8. Миселимян, Т.Л. Математическое моделирование и программирование на ЭВМ экономических задач. "Современные проблемы науки и образования". - М., 2007. - №5. РАЕ. [Электронный ресурс]. - Режим доступа свободный: http://www.science-education.ru/download/2007 /05/2007 05 22.pdf
9. Амблер, Скотт. Быстрые методы для объектных баз данных (пер. С. Кузнецов). [Электронный ресурс]. - Режим доступа свободный: http://citforum.univ.kiev.ua/SE/proiect/ambler/
10. Чейз, Ричард. Производственный и операционный менеджмент (10-е издание) / Ричард Б. Чейз, Ф. Роберт Джейкобз, Николас Дж. Ак. - М.: Вильямс, 2007. - 1184 с.
11. E. Yourdon Java, the Web and Software Development, - Computer, 8/96, p. 25-30.
УДК 004.651.54/004.652
МАТРИЧНАЯ УНИВЕРСАЛЬНАЯ ОБЪЕКТНО-РЕЛЯЦИОННАЯ БАЗА ДАННЫХ
Микляев Иван Александрович, к. ф.-м. н., доцент, зав.кафедрой «Прикладная математика и программирование», Филиал СПбГМТУ «Севмашвтуз» в Северодвинске, Россия, Северодвинск,
Введение
Современные тенденции развития систем управления базами данных (БД) является совмещение положительных качеств реляционных и объектных типов БД с максимальным исключением их недостатков.
Не упуская достоинства реляционных и объектных БД, отметим их основные недостатки.
Для реляционных БД в [1, с.934] приводятся следующие недостатки:
• Неадекватное представление сущностей реального мира;
• Однородная структура данных;
• Ограниченный набор операций;
• Сложности при обработке рекурсивных запросов;
• Проблема рассогласования типов данных;
• Другие проблемы реляционных СУБД, связанные с параллельным выполнением, изменениями схемы и неразвитыми средствами доступа.
34
Для объектных же БД [1, с.993]:
• Отсутствие универсальной модели данных;
• Отсутствие стандартов;
• Сложность;
• Отсутствие поддержки представлений;
• Недостаточность средств обеспечения защиты.
Нужно отметить, что причина сложности объектных БД в первую очередь кроется в потере однородности структуры, что приводится как недостаток реляционных БД.
В данной работе предлагается матричная универсальная объектно-реляционная структура базы данных, которая частично, а в некоторых случаях и полностью снимает приведённые недостатки.
1. Логическая модель универсальной БД (УБД)
В первую очередь при формировании универсальной информационной модели необходимо сформировать универсальную логическую модель БД. Её организация приведена в [2, с. 97] рис.1.
Рис. 1. Логическая модель универсальной базы данных
Хорошо видно, что в основу структуры УБД закладывается сама теория баз данных, что и делает данную модель универсальной.
Очевидно, что в случае использования УБД происходит перераспределение функций между разработчиком системы управления УБД (СУУБД), разработчиком приложения и пользователем ИС [2, с. 94]. Разработчик СУУБД получает возможность взять на себя все проблемы, связанные с организацией унифицированного ввода, изменения и удаления информации справочников системы. Разработчик приложения лишь создаёт экранные формы для работы с исходящей информацией проекта по персональным требованиям заказчика, которые могут редактироваться и в унифицированной форме, и реализовывает функции системы. Пользователь получает возможность корректировать структуру информации и без участия разработчика приложения.
Главное преимущество системы - это возможность создавать работоспособное приложение с минимальным знанием предметной области, и реагировать на дальнейшее её изучение только корректируя содержимое УБД без изменения структуры.
2. Матричное представление УБД (МУБД)
При реализации УБД в матричном представлении в сущностях «Сущность» и «Экземпляр сущности» атрибутом является только первичный ключ. Все атрибуты выведены в сущность «Характеристика экземпляра сущности».
35
Сущность теории БД также является сущностью, она формируется по умолчанию при развёртывании УБД, экземплярами её являются сущности служебные разработчика СУУБД и сущности разработчика приложения.
Сущность «Параметр» есть экземпляр сущности «Сущность», а его возможные значения в сущности «Возможные значения параметра» размещаются в сущности «Характеристика экземпляра сущности».
Сущность «Принадлежность» реализуется в сущности «Характеристика экземпляра сущности» ссылкой на экземпляры сущности «Сущность» для формирования связей между сущностями.
Таким образом, получаем, что остаются только три сущности: Сущность; Экземпляр сущности; Характеристика экземпляра сущности.
Атрибуты сущности «Характеристика экземпляра сущности» следующие:
1. «Параметр» (ответ на второй вопрос);
2. «Значение» (ответ на третий вопрос).
Для придания максимальной эффективности при изменяющейся предметной области введены ещё два атрибута:
1. «Дата с» (время начала действия информации);
2. «Дата по» (время окончания действия информации).
Первый атрибут обязателен, остальные вводятся по необходимости.
Последний шаг формирования матричной структуры УБД связан со снятием ограничений ввода информации в поля атрибутов сущности «Характеристика экземпляра сущности». Для оптимального размещения информации в памяти и унификации физического размещения матричной УБД на носителях информации вводится шестое измерение в матрицу для каждого из атрибутов, и объявляем байтовый тип ячейки массива.
Седьмое измерение предназначено для реализации системы распределённых БД по системе «толстый клиент - толстый сервер», в которой каждый узел может существовать как отдельно, так и в общей сети информации. Матричное представление УБД позволяет варьировать состав баз данных в пользовательских приложениях, что неограниченно расширяет возможности разработчика СУУБД.
В итоге имеем массив УБД представленный на рис. 2.
ARRIIDB : {массив УДЕ} array of {БД} array of {Сущностъ} array of {Экземпляр сущности} array of {Информаци оррая единица} array of {Строка информацио иной единицы}
array[0..3 ] of {Атрибуты сущности " Характерно тика экземпляра сущности" } array of byte; {массив атрибута}
Рис. 2. Структура матричного представления УБД
3. Универсальный тип данных
Основополагающим шагом в создании СУУБД является разработка универсального типа данных. В БД типа XML таким типом является строчный, что легко читается и обрабатывается, но очень громоздкий. Для работы с большими объёмами данных необходим универсальный тип, не уступающий стандартным типам.
Универсальность хранения информации достигается двумя путями: либо через автоматическое управление типами единиц информации, либо через создание универсального типа данных.
В данной работе универсальный тип данных разработан на основе понижения системы счисления символов в поле базы данных, основанного на статистической информации об их использовании.
36
В самой простейшей схеме необходимо узнать, какие символы задействованы. Для этого при внесении информации достаточно заполнять одномерный массив с числом элементов 256, в которые заносится информация о количестве раз использования каждого возможного значения байта.
При сохранении информации формируется ключ поля, состоящий из последовательности символов задействованных в поле. Таким образом, получается меньшая кратность для хранения информации, соответствующая размеру ключа плюс 1.
Этапы понижения системы счисления символов:
1. Сбор статистики используемых символов.
2. Формирование ключа.
При сохранении:
1. Заменяем каждый символ числом, соответствующим положению его в ключе.
2. Полученное значение в системе счисления кратностью - ключ+1, переводим в 256-ричную систему счисления.
3. Сохраняем полученные байты.
При загрузке информации:
1. Открываем ключ.
2. Переводим из 256-ричной системы в систему кратностью ключ+1.
3. По ключу восстанавливаем информацию.
4. Универсальное приложение для работы с УБД
Универсальное приложение для работы с УБД представляет собой всего две формы: форма администрирования УБД и рабочая форма доступа к данным рис. 3. Форма администрирования практически также выглядит и функционирует и от неё можно отказаться, предусмотрев функции администрирования в рабочей форме.
Главный управляющий элемент рабочей формы МУБД - это выпадающий список таблиц И доступных для просмотра пользователю. С помощью него можно легко передвигаться между ними.
Информация таблиц отображается в двух видах:
• табличное отображение [2],
37
• отображение информации экземпляра (строки) таблицы во вспомогательной таблице [3].
• Состав экземпляров (строк) таблиц, выводимый в таблице | 2 | управляется блоком фильтра [4].
На вкладках [5] расположен инструментарий:
• вкладка «Характеристики» - вспомогательная таблица, для отображения всех полей указанного экземпляра (строки) таблицы,
• вкладка «Подчинение» - содержит таблицы, которые имеют поля, ссылающиеся на текущую таблицу,
• вкладка «Дерево» - содержит древовидное отображение всей информации таблиц, на которые ссылается текущая, по всей иерархии таблиц. Вкладка «Дерево» предназначено для управления выводимой информацией в таблице [2] совместно с блоком фильтра [4],
• вкладка «Полный фильтр» - содержит инструментарий фильтрации информации в таблице | 2 | основанный на содержании таблицы и учитывающий всю иерархию таблиц, в подчинении которых находится текущая таблица.
5. Распределённый доступ к информации
В связи с тем, что данные в хранилище однотипные открывается перспектива структурировать их с точки зрения частоты обращения к ним. То есть разбить данные на группы, так чтобы наиболее часто используемые выгружались из хранилища в оперативную память в первоочередном порядке, средне используемые во втором и так далее. Для этого необходим статистический анализ обращений к той или иной информации в хранилище данных.
Рассмотрим математическую модель определения "популярности" произвольной строки справочника базы данных. Пусть Vtab,row - количество обращений к строке ROW справочника TAB, tTAB,ROW - время необходимое для извлечения строки ROW справочника
TAB из дисковой памяти, Mtabrow - количество оперативной памяти необходимое для хранения строки ROW справочника TAB. Естественно, зарезервировать определённый объём оперативной памяти, в котором будут храниться популярные строки базы данных.
Обозначим его Mmax .
„ MTAB,ROW ^ MMAX Q
Тогда, используя ограничение Q , можно определить количество ^ строк
справочников, имеющих максимальные значения частоты обращений €tab,row и
M
помещающиеся в MAX.
Тогда время, сэкономленное на извлечение этих строк, можно определить равенством:
ТЭК = X! {yTAB,ROW ~ l) tTAB,ROW
S .
Очевидно, для выявления наиболее актуальной информации для пользователя необходим массив статистики обращений, на основании которого выбираются данные для записи в оперативную память.
6. Физическое размещение информации
В матричной форме, объединив всю информацию УБД в единый файл, получаем эффективную возможность разделения его на части в соответствии с функциональным использованием, а так же исходя из статистики обращения к информации.
На первом этапе информация делится на основной массив и массив хранилищ тяжёлой информации, начиная от строчных типов и заканчивая изображениями, звуком и видео.
38
Загрузка хранилищ производится дифференцировано на основе статистики использования информации и параметрами размеров оперативной памяти выделенной для приложения.
Основной массив загружается также дифференцированно по степени важности информации и статистике использования.
Первостепенной информацией с функциональной точки зрения может быть информация БД необходимая для идентификации пользователя в системе. Эта часть информации может пересылаться в первую очередь приложению, или вообще храниться в более доступном месте.
Так же актуально разделить информацию и по статистике использования. Т.е. в файлы первой очереди помещать информацию часто используемую, её передавать сразу за функциональной информацией. Оставшуюся информацию также можно разделить на файлы второй, третьей и т.д. очередей. Часть информации вообще можно оставить как архивную.
На физическом уровне основной массив также делится по частям, где в отдельно хранятся громоздкие элементы массива. Они в свою очередь также разделяются на равные части, что позволяет быстро обращаться к нужному элементу массива и при редактировании работать лишь с малой частью всей громоздкой совокупности.
Главным достоинством такой структуры физического размещения является то, что функции разделения информации можно передать математической модели, учитывающей параметры системы. Таким образом, перераспределение информации происходит динамически, и система сама подбирает наиболее эффективное разделение. Не малую роль имеет и постоянный статистический мониторинг, который позволяет подстраиваться системе к параметрам, которые не учтены моделью.
Литература
1. Конноли Т., Бегг К. Базы данных. Проектирование, реализация и сопровождение. Теория и практика. 3-е издание.:Пер. с англ. / Т. Конноли, К. Бегг. М.: Издательский дом «Вильямс», 2003. С.1440
2. Микляев И.А., Ундозерова А.Н., Кудаева М.В., Универсальная логическая модель базы данных. Вестник Поморского Университета 1/2010. Сер. «Естественные науки» стр. 93-99.
УДК 004.432
ПОЛНОТА ОБЪЕКТНО-ОРИЕНТИРОВАННЫХ ЯЗЫКОВ
Добряк Павел Вадимович, к.т.н., доцент, Уральский государственный технический университет,
Россия, Екатеринбург, [email protected]
В настоящее время объектно-ориентированные языки лидируют по частоте использования в программировании. Большинство создаваемых языков являются объектноориентированными или имеют объектно-ориентированную надстройку. Вместе с тем, возможности языков различны, поэтому возникает вопрос о полноте объектноориентированного языка в смысле реализации в нем объектно-ориентированной парадигмы. Рассмотрим также наиболее популярное семейство языков C++ с точки зрения добавления в них интересных возможностей других объектно-ориентированных языков.
Под объектно-ориентированной парадигмой (ООП) понимается следование принципам абстракции, инкапсуляции, полиморфизма и наследования. Эти принципы формулируются обобщенно, поэтому разработчики объектно-ориентированных языков имеют достаточную свободу в выборе конструкций языка и полноты реализации этих принципов. Вместе с тем, с течением времени ООП в рамках этих принципов эволюционировала, и сменилось понимание, что должен представлять собой код программы:
39