БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Каляев А.В., Левин И.И. Модульно-наращиваемые многопроцессорные системы со структурно-процедурной организацией вычислений. - М.: Янус-К, 2003. - 380 с.
2. Глушков В.М. Синтез цифровых автоматов. - М. : Физматгиз: 1962. - 476 с.
3. Поликарпова Н.И., Шалыто А.А. Автоматное программирование. - СПб.: СПбГПУ, 2008. - 227 с.
4. www.xilinx.com/support/documentation/user_guides/ug364.pdf (дата обращения: 17.02.2014).
5. Хопкрофт Д., Мотвани Р., Ульман Дж. Введение в теорию автоматов, языков и вычислений: Пер. с англ. - 2-е изд. - М.: Вильямс, 2002. - 528 с.
6. Мельников Б.Ф., Мельникова А.А. Многоаспектная минимизация недетерминированных конечных автоматов (Ч. I. Вспомогательные факты и алгоритмы) // Изв. вузов. Поволжский регион. Физико-математические науки. - 2011. - № 4. - С. 59-69.
7. Мельников Б.Ф., Сайфуллина М.Р. О некоторых алгоритмах эквивалентного преобразования недетерминированных конечных автоматов // Изв. вузов. Математика. - 2009. - № 4. - С. 67-71.
8. Ильченко Д.Н. Применение операции векторизации состояний для синтеза цифровых автоматов [Электронный ресурс] // Инженерный вестник Дона. - 2013. - № 4 - Режим доступа: http://www.ivdon.ru/magazine/archive/n4y2013/2028 (доступ свободный) - Загл. с экрана. - Яз. рус.
Статью рекомендовал к опубликованию к.т.н. Е.А. Семерников.
Ильченко Дмитрий Николаевич - Научно-исследовательский институт многопроцессорных вычислительных систем им. акад. А.В. Каляева Южного федерального университета; email: [email protected]; 347900, г. Таганрог, ул. Транспортная, 11а, кв. 9; тел.: 89043470674; младший научный сотрудник.
Ilchenko Dmitry Nirkolaevich - Scientific Research Institute of Multiprocessor Computer Systems named after Acad. A.V. Kalyaev of Southern Federal University; e-mail: [email protected]; 11a - 9, Transportnaya street, Taganrog, 347900, Russia; phone: +79043470674; researcher.
УДК 004.4:004.9
С.А. Кучеров
МЕТОД КОНФИГУРИРОВАНИЯ ДИНАМИЧЕСКИХ БАЗ ДАННЫХ*
При создании конфигурируемых информационных систем существует задача обеспечения гибкости баз данных. Для ее решения применяются базы данных с динамической структурой. В качестве исходного материала динамические базы данных предоставляют: множество характеристик, в терминах которых описывается структура данных. Примером баз данных с динамической структурой являются структурно-независимые базы данных. Задача статьи - предложить метод перехода от динамических баз данных к статической структуре, то есть метод конфигурирования структурно-независимых баз данных. Описана исходная динамическая база данных на примере структурно-независимой базы данных, сформулирован метод в виде правил конфигурирования структурно-независимой базы данных и приведен пример механизма реализации правил конфигурирования структурно-независимых баз данных. Наиболее удобным средством представления правил, по мнению авторов, является совмещение графического и текстового описания. В качестве графического представления используется язык блок-схем. Текстовым представлением правила является модифицированная формулировка механизма.
Структурно-независимая база данных; конфигурируемая информационная система.
* Исследование выполнено при поддержке государственного задания 0110021005901621. Тема № 213.01-11/2014-17.
S.A. Kucherov
THE METHOD OF CONFIGURING DYNAMIC DATABASES
In a configurable information .systems creation exists a problem of flexibility databases. To solve it, apply a dynamic database structure. As a starting material provide a dynamic database: a plurality of characteristics, which is described in terms of data structure. An example of a database with a dynamic structure are structurally independent of the database. Goal of this article -to propose a method of transition from dynamic to static database structure, ie configuration method structurally independent databases. This article describes the initial dynamic database on an example of structurally independent database formulated as a method of configuring the rules structurally independent database and an example of a mechanism for implementing rules to configure structurally independent databases. The most convenient means of presenting rules, according to the authors, is a combination of graphical and textual descriptions. As a graphic representation of the language used flowcharts. Textual representation of the rule is modified formulation mechanism.
Structure-independent database; configurable information system.
Введение. При создании конфигурируемых информационных систем [1] существует задача обеспечения гибкости баз данных [2, 3]. Она, в частности, решается с помощью структурно-независимых баз данных (СНБД) [4, 5]. Таковые базы данных обладают динамическими структурами. Свойство динамичности структур выражается в наличии множества характеристик, которые по определенным правилам соединяются в конкретные механизмы. Здесь и далее под механизмом будем понимать реализацию одного пункта правила метода, методики или алгоритма (системного знания). Механизм представляется следующей обобщенной формулировкой «Результат Pi получен из элементов Эь..Эп путем выполнения над ними функций Ф1... Фп с помощью инструментов И1.. .И^» Более подробно понятие механизма изложено в работе Ю.И. Рогозова [6].
В качестве исходного материала динамические базы данных предоставляют: множество характеристик, в терминах которых описывается структура данных. В СНБД таковыми являются: сущность, связь, атрибут, тип данных; ограничения на связи. Таковыми ограничениями является запрет на связывание сущностей без указания связующего атрибута, невозможность присвоения типа данных сущности и т.д.; механизмы реализации этих ограничений.
Ранее нами был предложен метод получения СНБД, его описание изложено в [7]. Данный метод позволяет выделить набор характеристик, установить ограничения и реализовать их необходимым образом. Однако вопрос выбора конкретных характеристик и перехода от динамических баз данных к статическим остается открытым. Статическая структура базы данных, в отличие от динамической, выражается конкретным набором характеристик и настроенными механизмами.
Процедура выбора конкретных характеристик их соединения в механизмы является конфигурированием. Конфигурирование позволяет перейти от динамической структуры базы данных к статической. Правило конфигурирования может быть представлено в структуре процедур и изображается либо в виде блок-схемы, либо в виде набора пунктов правил (метода конфигурирования). В этой связи ставится задача конфигурирования динамических баз данных.
В статье предлагается метод конфигурирования динамических баз данных на примере СНБД. Метод состоит из совокупности взаимопроникающих механизмов реализации пунктов правил.
Для формулировки метода было предпринято следующее: описана исходная динамическая база данных на примере СНБД (см. вторую секцию статьи); сформулирован метод в виде правил конфигурирования СНБД и приведен пример механизма реализации правил конфигурирования СНБД (см. третью секцию статьи). Основные результаты изложены в заключении.
Структурно-независимые базы данных. При построении структурно-независимых баз данных используются следующие принципы: хранение данных по столбцам (в отличие от традиционного хранения по строкам в реляционной модели) и явное хранение метаданных.
Оба принципа были заложены при разработке модели данных EAV [8, 9]. Модель данных EAV на сегодняшний день эффективно используется в условиях неопределенности относительно структуры хранимых данных, например, в электронной коммерции платформой Magento Commerce [10]. Особенностью модели является представление данных в виде троек "сущность-атрибут-значение".
Базы данных, создаваемые с учетом обозначенных выше принципов, можно считать динамическими. Они обладают физической структурой данных, которая не зависит от структуры и состава (динамики) хранимой информации, и сохраняют работоспособность при любых ее изменениях. Будем называть такие базы данных структурно-независимыми (СНБД).
Метаданные в СНБД задаются в явном виде через логическую модель и позволяют пользоваться СНБД, как прикладной реляционной БД. При этом логика управления данными остается неизменной, что не нарушает работоспособности информационной системы.
Как говорилось во введении, динамические базы данных должны обеспечивать изменение пользовательских метаданных. Эти метаданные могут принимать произвольную структуру в зависимости от конфигурации. Чтобы обеспечить динамическое изменение конфигурации, метаданные должны содержаться внутри БД, а не на системном уровне СУБД, как это принято в классическом подходе [11]. Добиться такого можно вводом нового метауровня.
Для СНБД существует два метауровня:
1. Метауровень. Метаданные - средство представления знаний о данных БД. Они являются описательными и хранятся аналогичным образом с данными.
2. Метаметауровень. Метаметаданные - средство описания различных метаданных. Являются декларативным инструментом, содержащим средства для описания произвольных метаданных.
Таким образом, первый вид исходного материала (элементы) содержится на метаметауровне. Путем практических и теоретических исследований было установлено, что минимальным и достаточным набором элементов являются: сущность, атрибут, тип данных, типовые связи [12].
Обратимся к типизированным связям, чтобы описать второй вид исходного материала. При разработке структуры СНБД закладываются ограничения на связывание элементов - так называемые типовые связи. Типовая связь является ограничением на связывание элементов и закладывается в правила, реализуемые механизмом конфигурирования динамических баз данных.
На уровне реализации СНБД каждый элемент представляется одной реляционной таблицей. Соответственно механизм реализации ограничений (третий вид исходного материала) представляет собой создание и поддержание связей между реляционными таблицами (см. табл. 1).
Таблица 1
Механизм реализации типовых связей
Элемент Функция Инструмент Результат
Э1. Таблица Ф 1. Установить связь И 1. DDL Р. 1 Типовая связь
В соответствии с принятой во введении формулировкой, механизм реализации типовых связей (ограничений на связи) звучит следующим образом: Результат Pj (типовая связь) получен из двух экземпляров элемента Э1 (табл.) путем выполнения функции Ф1 (установить связь) с помощью инструмента И1 (DDL подмножество языка SQL).
Итак, мы имеем описание исходного материала, предоставляемого СНБД. Перейдем теперь к формулировке правил конфигурирования динамических баз данных.
Правила конфигурирования динамических баз данных. Наиболее удобным средством представления правил, по мнению авторов, является совмещение графического и текстового описания. В качестве графического представления используется язык блок-схем. Текстовым представлением правила является модифицированная формулировка механизма: если второй дается в утвердительной форме, то правило - в повелительной (для получения результата Pj необходимо взять элементы Эь.. Эп ... и т.д.). Еще одной отличительной чертой правила является отсутствие конкретизации инструментов. Правило предполагает наличие лишь абстрактного инструмента, способного выполнять функции над элементами. Конкретизация в данном случае происходит при формировании механизмов реализации правил.
Таким образом, правилами конфигурирования динамических баз данных будет описанное в повелительной форме получение результатов через использование совокупности элементов, функций и инструментов. Совокупность правил конфигурирования составляет метод конфигурирования динамических баз данных. А сам метод фактически является преобразователем исходных данных в общий результат. Общий результат в данном случае может быть получен суммированием промежуточных или последовательным переходом исходных данных через состояния (промежуточные результаты).
Первый способ подразумевает получение взаимосвязанных «ингредиентов», второй - поэтапную обработку одного ингредиента.
Рассмотрим далее правила конфигурирования на примере СНБД. На рис. j дано графическое описание. В данном случае показан пример получения общего результата как совокупности промежуточных.
Изображенные на рис. j правила в текстовой форме излагаются следующим образом:
1. Для получения общего результата Р6 (сконфигурированная СНБД) взять в качестве исходных данных элемент Э1 (модель пользовательских данных) и использовать инструмент И1 (редактор).
2. Для получения экземпляра результата/элемента Р1/Э4 (тип сущности) взять экземпляр элемента Э2 (сущность модели данных) и выполнить функцию Ф1 (создание типа сущности). Повторять правило до окончания экземпляров элемента Э1.
3. Для получения экземпляра результата/элемента Р2/Э5 (тип атрибута) взять экземпляр элемента Э3 (атрибут модели данных) и выполнить функцию Ф2 (создание типа атрибута).
4. Для получения экземпляра результата/элемента Р3/Э6 (атрибут) взять экземпляр элемента Э3 (атрибут модели данных) и выполнить функцию Ф3 (присвоение типа данных). Повторять правила 3-4 до окончания экземпляров элемента Э2.
5. Для получения экземпляра результата/элемента Р4/Э7 (сущность) взять соответствующие ему: экземпляр элемента Э2 (сущность модели данных), экземпляр элемента/результата Э4/Р1 (тип сущности) и экземпляр элемен-
та/результата Э5/Р3 (атрибут); выполнить функцию Ф4 (создание типовой связи сущность-атрибут). Повторять правило до окончания экземпляров элемента/результата Э4/Р1 (тип сущности).
6. Для получения экземпляра результата Р5 (связанные сущности) взять: два связанных экземпляра элемента Э2 (сущность модели данных), соответствующие им два экземпляра элемента/результата Э7/Р4 (сущность); выполнить над ними функцию Ф5 (создание типовой связи сущность-сущность). Повторять правило до окончания связанных пар экземпляров элемента Э2 (сущность модели данных).
Рис. 1. Графическое представление правил конфигурирования СНБД
Вышеприведенные правила обеспечивают конфигурирование СНБД и образуют соответствующий метод. Суть метода заключается в последовательном переносе элементов модели пользовательских данных в СНБД посредством функций и инструментов. Приведем пример механизма реализации этих правил.
Немаловажным системным свойством, которое должно обеспечиваться в процессе конфигурирования, является целостность. Для иллюстрации целостности представим механизмы, которые реализуют правила конфигурирования динамических баз данных на примере СНБД. Применим табличное представление (табл. 2). В таблице видно, что некоторые результаты в дальнейшем становятся элементами (например, Р4/Э7 сущность). Такое использование показывает одну из составляющих целостности - взаимопроникновение механизмов через результат.
Таблица 2
Механизм реализации правил конфигурирования динамических баз данных
Элемент Функция Инструмент Результат
Э1 Модель поль- Ф1 Создать тип И1 Справочник Р1 Тип сущности
зовательских сущности Р2 Тип атрибута
данных Ф2 Создать тип Р3 Атрибут
Э2 Сущность мо- атрибута Р4 Сущность
дели данных Ф3 Присвоить тип Р5 Связанные сущ-
Э3 Атрибут моде- данных ности
ли данных Ф4 Создать связь Р6 Сконфигуриро-
Э4 Тип сущности сущность-атрибут ванная СНБД
Э5 Тип атрибута Ф5 Создать связь
Э6 Атрибут сущность-
Э7 Сущность сущность
Суть взаимопроникновения через результат проста: результат одного механизма является элементом другого. Таким образом, исключение одного механизма нарушает целостность системы.
Для наглядности, взаимопроникновение через результат показано на рис. 2.
Рис. 2. Взаимопроникновение механизмов через результат
На рисунке отчетливо видно то, насколько механизмы связаны между собой. Также можно оценить критичность исключения или замены любого механизма.
Заключение. С научной точки зрения предложенный метод конфигурирования динамических баз данных обеспечивает реализацию двух важных системных свойств:
1. Многовариантность (за счет возможности изменения конфигурации).
2. Целостность (за счет взаимопроникновения механизмов).
Стоит отметить, что взаимопроникновение через результат является не единственным инструментом обеспечения свойства целостности. Существует также взаимопроникновение методов и взаимопроникновение через вложенность функций, однако данная тематика выходит за рамки статьи.
С практической точки зрения предложенный метод обеспечивает максимально упрощенную процедуру создания и изменения пользовательских структур баз данных. За счет замены процесса разработки процессом конфигурирования обеспечивается динамичность не только базы данных, но и информационной системы в целом. В зависимости от степени проработки инструментов конфигурирования можно добиться перехода к конфигурируемым пользователем информационным системам. Тем самым обеспечивается приближение к идеям самостоятельного создания систем пользователем, которые заложил в своих работах Г. Фишер [13].
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Хавьер Гарсия, Герман Голдшмидт. Разработка составных бизнес-сервисов на базе сервисно-ориентированной архитектуры» http://www.ibm.com/developerworks/ru/library/ws-soa-composite/.
2. Carlos Rossi, Antonio Guevara, Manuel Enciso. A tool for user-guided database application development. Automatic Design of XML Models using CBD. Proceedings of the Fifth International Conference on Software and Data Technologies, ICSOFT 2010. - Vol. 2. - P. 195-200.
3. Свиридов А. С., Кучеров С.А. Анализ технологий хранения информации с изменяемой структурой в информационно-справочных системах // Технологии разработки информационных систем: сборник материалов Международной научно-технической конференции. Т. 2. - Таганрог: Изд-во ТТИ ЮФУ, 2011. - С. 120-124.
4. Agrawal R., Gehani N., Srinivasan J. OdeView: The Y. Papakonstantinou, H. Garcia-Molina, and J. Widom. Object Exchange Across Heterogeneous Information Sources. Proceedings of the Eleventh International Conference on Data Engineering. - Taipei, Taiwan, 1995. - P. 251-260.
5. Entity-attribute value database system with inverse attribute for selectively relating two different entities. US Patent 010478 A.
6. Рогозов Ю.И. Понятие метасистемы как методологическая основа создания систем // Промышленные АСУ и контроллеры. - 2013. - № 2. - C. 38-46.
7. Youri I. Rogozov, Alexander S. Sviridov, Sergey A. Kutcherov, Wladimir Bodrov. Purpose-driven approach for flexible structure-independent database design // Proceedings of the Fifth International Conference on Software and Data Technologies, ICSOFT 2010. - Vol. 1.
- P. 356-362.
8. Nadkarni P. An Introduction to Entity-Attribute-Value Design for Generic Clinical Study Data Management Systems // Center for Medical Informatics, Yale University Medical School. http://med.yale.edu/ - дата последнего обращения 6.09.2010.
9. Stead W.W., Hammond W.E.. Straube M.J. A Chartless Record - Is It Adequate?", Proceedings of the Annual Symposium on Computer Application in Medical Care 7 (1982-11-02).
- P. 89-94.
10. http://www.magentocommerce.com/wiki/2_-_magento_concepts_and_architecture/magento_ database_diagram.
11. Date C.J. Database Design and Relational Theory: Normal Forms and All That Jazz (Theory in Practice): O'Reilly Media, 2012.
12. Кучеров С.А., Рогозов Ю.И., Свиридов А.С. Метод построения структурно--независимых баз данных с использованием реляционных технологий // Новые технологии. Информационные технологии. - 2011. - № 2. - С. 52-59.
13. Fischer G. and E. Giaccardi. Meta Design: A framework for the future of end user development. End User Development: Empowering People to flexibly Employ Advanced Information and Communication Technology. H. Lieberman, F. Paterno and V. Wulf, Springer. 9: - P. 427-457.
Статью рекомендовал к опубликованию д.т.н., профессор В.Н. Иванченко.
Кучеров Сергей Александрович - Южный федеральный университет; e-mail: [email protected]; 347928, г. Таганрог, ГСП-17А, Некрасовский, 44; тел.: 89281922577; кафедра системного анализа и телекоммуникаций; ассистент.
Kucherov Sergey Alexandrovich - Southern Federal University; e-mail: [email protected]; 44, Nekrasovsky, Taganrog, GSP-17A, 347928, Russia; phone: +79281922577; the department of system analysis and telecommunications; assistant.
УДК 004.436.4; 510.643
А.И. Миков
НОРМАТИВНЫЕ МУЛЬТИАГЕНТНЫЕ СИСТЕМЫ*
Рассмотрено понятие нормативного агента, цели деятельности которого и ограничения в действиях формулируются на языке деонтической логики. Агент руководствуется внешними нормами (нормативными документами), описывающими окружение (предметную область) и возможности и запреты во взаимодействии агента с окружением. Нормативные мультиагентные системы представляют собой множество взаимодействующих нормативных агентов, решающих общую задачу в некоторой распределенной системе. Нормы могут образовывать иерархическую нормативную систему. Приведено разделение норм по видам, таким как регулирующие, декларативные и процедурные. Отношения между агентами в мультиагентной системе также представлены в виде норм. Обсуждается роль отношения "count as " в нормативных высказываниях. В работе описаны различные варианты деонтических операторов для нормативных агентов, варианты действий агентов, операторы статуса действий, деонтически замкнутые по действиям множества. Обсуждается сотрудничество агентов в мультиагентной системе, коалиции, проблемы формализации норм, заданных на естественном языке, ограничения на поведение агентов во времени с использованием модели ветвящегося времени. Приведены примеры преобразования нормативного текста в формулы прикладной модальной логики. Сравниваются теоретико-множественное определение нормативных систем и их задание формальными грамматиками.
Деонтическая логика; норма; программный агент; дескриптивный язык.
A.I. Mikov
NORMATIVE MULTI-AGENT SYSTEMS
The concept of normative agent's goals and action constraints are formulated in the language of deontic logic. Agent is guided by external norms (regulations), describing the environment (subject area) and opportunities and prohibitions in conjunction with the agent environment. Normative multi-agent systems represent a set of interacting regulatory agents that solve a common problem in a distributed system. Norms may form a hierarchical regulatory system. Some
* Работа частично поддержана грантом РФФИ и Администрации Краснодарского края 13-07-96506.