Электронная библиотека диссертаций и авторефератов России
dslib.net
Библиотека диссертаций
Навигация
Каталог диссертаций России
Англоязычные диссертации
Диссертации бесплатно
Предстоящие защиты
Рецензии на автореферат
Отчисления авторам
Мой кабинет
Заказы: забрать, оплатить
Мой личный счет
Мой профиль
Мой авторский профиль
Подписки на рассылки



расширенный поиск

Модели и методики обеспечения достоверности данных информационных систем на основе наборов правил Фишбейн Анна Ильинична

Модели и методики обеспечения достоверности данных информационных систем на основе наборов правил
<
Модели и методики обеспечения достоверности данных информационных систем на основе наборов правил Модели и методики обеспечения достоверности данных информационных систем на основе наборов правил Модели и методики обеспечения достоверности данных информационных систем на основе наборов правил Модели и методики обеспечения достоверности данных информационных систем на основе наборов правил Модели и методики обеспечения достоверности данных информационных систем на основе наборов правил Модели и методики обеспечения достоверности данных информационных систем на основе наборов правил Модели и методики обеспечения достоверности данных информационных систем на основе наборов правил Модели и методики обеспечения достоверности данных информационных систем на основе наборов правил Модели и методики обеспечения достоверности данных информационных систем на основе наборов правил Модели и методики обеспечения достоверности данных информационных систем на основе наборов правил Модели и методики обеспечения достоверности данных информационных систем на основе наборов правил Модели и методики обеспечения достоверности данных информационных систем на основе наборов правил Модели и методики обеспечения достоверности данных информационных систем на основе наборов правил Модели и методики обеспечения достоверности данных информационных систем на основе наборов правил Модели и методики обеспечения достоверности данных информационных систем на основе наборов правил
>

Диссертация - 480 руб., доставка 10 минут, круглосуточно, без выходных и праздников

Автореферат - бесплатно, доставка 10 минут, круглосуточно, без выходных и праздников

Фишбейн Анна Ильинична. Модели и методики обеспечения достоверности данных информационных систем на основе наборов правил: диссертация ... кандидата технических наук: 05.13.17 / Фишбейн Анна Ильинична;[Место защиты: Пензенский государственный университет].- Пенза, 2015.- 217 с.

Содержание к диссертации

Введение

1 Анализ методов и средств контроля достоверности данных

1.1 Проблема обеспечения достоверности данных в информационных системах .11

1.2 Контроль достоверности данных на основе знаний о предметной области .16

1.3 Анализ методов реализации средств контроля достоверности данных на основе правил 25

1.4 Анализ модельных представлений наборов версионных правил контроля достоверности данных .37

Выводы .43

2 Модельное представление наборов версионных правил контроля достоверности данных 46

2.1 Представление наборов правил в виде онтологии на основе дескрипционной логики .46

2.2 Операции ведения набора

2.2.1 Операции добавления правила в набор .55

2.2.2 Операции модификации существующего правила из набора .58

2.2.3 Операции удаления правила из набора 65

2.3 Операции анализа набора .70

2.3.1 Операция анализа согласованности набора правил 70

2.3.2 Операция анализа полноты набора правил .71

2.3.3 Операция анализа избыточности набора правил 74

2.4 Операция селекции правил 76

Выводы .77

3 Создание программного кода контроля достоверности данных на основе онтологий наборов правил .79

3.1 Концепция создания программного кода контроля достоверности данных 79

3.2 Методика построения онтологии контроля достоверности данных 81

3.3 Методика выделения онтологии набора правил . 90

3.4 Алгоритмы реализации операций анализа наборов и селекции правил .101

3.5 Генерация программного кода контроля достоверности данных 106

Выводы .116

4 Разработка и оценка эффективности программных средств контроля достоверности данных 118

4.1 Архитектура программных средств контроля достоверности данных 118

4.1.1 Компоненты архитектуры для работы с правилами .119

4.1.2 Схема функционирования программных средств

4.2 Универсальный программный интерфейс взаимодействия компонентов программных средств 133

4.3 Оценка качества онтологий наборов правил контроля достоверности данных 139

4.4 Анализ эффективности применения программных средств контроля достоверности данных 142

Выводы .149

Основные результаты работы .151

Список использованных источников

Введение к работе

Актуальность темы. Независимо от назначения информационной системы (ИС) одним из важнейших свойств накапливаемых, хранимых и обрабатываемых данных является достоверность, тесно связанная с целостностью и согласованностью данных. Исследованию и решениям проблем поддержки целостности и согласованности данных посвящены работы зарубежных и отечественных ученых: К. Дж. Дейта (C. J. Date), Э. Ф. Кодда (E. F. Codd), М. Ш. Цаленко, М. Р. Когаловского.

Достоверность данных обеспечивается за счет контроля соответствия данных правилам (бизнес-правилам), выделенным в предметной области ИС. Существенный вклад в исследование роли правил в процессе разработки ИС внесли Р. Г. Росс (R. G. Ross), Б. фон Галле (B. von Halle), Д. С. Хэй (D. C. Hay), К. А. Хили (K. A. Healy), Т. Мориарти (T. Moriarty), К. Дж. Дейт.

Правила формулируются на этапе анализа предметной области и отображаются в программное обеспечение. В OLTP-системах контроль достоверности данных (КДД) осуществляется при вводе и первичной обработке данных, подготовке выходных документов. В OLAP-системах правила КДД применяются на стадии загрузки, очистки и предобработки данных. Наибольшее развитие программные средства КДД получили в системах управления бизнес-правилами (Business Rule Management System, BRMS). BRMS позволяют определять, поддерживать в актуальном состоянии и выполнять правила КДД, в том числе заданные и конечными пользователями ИС. Однако BRMS имеют ряд ограничений по сценариям применения бизнес-правил. Кроме того, BRMS тесно связаны с системами управления бизнес-процессами (Business Process Management System, BPMS) и, как правило, могут использоваться только совместно, что усложняет ИС и приводит к удорожанию их создания и эксплуатации.

Несмотря на значительные успехи в области обеспечения достоверности данных, проблема разработки программных средств КДД окончательно не решена. Первый аспект проблемы связан с обеспечением единого непротиворечивого представления, ведения и анализа наборов версионных правил КДД в процессе функционирования ИС. Второй аспект проблемы связан с преобразованием формального представления правил в программные средства КДД. Третий аспект проблемы связан с распределением логики правил КДД по уровням архитектуры ИС.

Цель диссертационной работы – теоретическое обоснование и исследование формального представления, алгоритмов ведения и анализа наборов правил контроля достоверности данных в информационных системах.

Объектом исследования являются программные средства контроля достоверности данных в информационных системах.

Предметом исследования являются модельное представление, методики и алгоритмы ведения и анализа наборов правил контроля достоверности данных.

Задачи исследования:

  1. анализ современных методов и средств контроля достоверности данных в информационных системах;

  2. теоретическое обоснование и разработка модельного представления для наборов правил контроля достоверности данных;

  3. разработка операций ведения и анализа наборов правил на основе модельного представления правил контроля достоверности данных;

  4. разработка методик построения общей онтологии и выделения онтологии правил контроля достоверности данных на основе модельного представления наборов правил;

  5. разработка и экспериментальное исследование программного обеспечения подсистемы контроля достоверности данных.

Методы исследования основаны на применении основных положений дескрипционной логики, теории множеств, теории информационных процессов и систем.

Научная новизна работы:

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

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

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

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

  5. разработаны алгоритмы реализации операций анализа согласованности, полноты, избыточности набора правил контроля достоверности данных и операции селекции правил. Алгоритмы отличаются использованием логического вывода знаний о правилах, что позволяет совершенствовать

онтологию контроля достоверности данных и поддерживать согласованность наборов правил.

Соответствие паспорту научной специальности. Диссертация представляется по специальности 05.13.17. Область исследования соответствует п. 4 «Исследование и разработка средств представления знаний. Принципы создания языков представления знаний, в том числе для плохо структурированных предметных областей и слабоструктурированных задач; разработка интегрированных средств представления знаний, средств представления знаний, отражающих динамику процессов, концептуальных и семиотических моделей предметных областей».

Практическая значимость исследований:

  1. модельное представление, операции ведения и анализа наборов правил и методика построения онтологий контроля достоверности могут быть использованы при проектировании подсистемы контроля достоверности данных информационной системы;

  2. разработанные программные средства для анализа наборов правил контроля достоверности данных могут использоваться при проведении оценки согласованности, полноты, избыточности наборов правил и селекции правил;

  3. перестраиваемая архитектура программных средств контроля достоверности данных с применением единых программных интерфейсов позволяет создавать информационные системы с распределенной логикой исполнения контрольных правил.

Реализация и внедрение результатов работы. Основные результаты диссертации использованы при разработке следующих программных систем:

программных средств контроля достоверности сведений оперативного учета и статистических данных для автоматизированной информационной системы «Прокуратура - Статистика», внедренной в прокуратуре Пензенской области (2009 г.);

программных средств управления бизнес-правилами в автоматизированной информационной системе электронной карты города Пензы, используемой Управлением градостроительства и архитектуры администрации города Пензы (2015 г.).

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

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

Основные результаты, выносимые на защиту:

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

  2. операции над модельным представлением набора правил контроля достоверности данных, используемые в процедурах ведения, анализа избыточности, полноты и согласованности наборов правил и селекции правил;

  3. методика построения онтологии контроля достоверности данных на основе формализованных знаний о выполнении условий достоверности данных, реакциях на нарушение правил и связях между версиями правил;

  4. методика выделения онтологии набора версионных правил из общей онтологии контроля достоверности данных;

  5. алгоритмы реализации операций анализа согласованности, полноты и избыточности набора правил, операции селекции правил в онтологии контроля достоверности данных;

  6. перестраиваемая архитектура и универсальный программный интерфейс для распределения логики правил контроля достоверности данных по уровням клиент-серверных информационных систем.

Апробация работы. Основные результаты диссертации докладывались и обсуждались на следующих конференциях: «Технологии Microsoft в теории и практике программирования» (г. Нижний Новгород, 2010); «Надежность и качество» (г. Пенза, 2010, 2011); «Технологии Microsoft в теории и практике программирования» (г. Санкт-Петербург, 2012); «Университетское образование» (г. Пенза, 2012); «Теория и практика системного анализа» (г. Белгород, 2012); «Прикладная математика, управление и информатика» (г. Белгород, 2012); «Новые информационные технологии и системы» (г. Пенза, 2012); «Актуальные проблемы науки и образования» (г. Пенза, 2014); «Научные перспективы XXI века. Достижения и перспективы нового столетия» (г. Новосибирск, 2014).

Публикации. По теме диссертационного исследования опубликовано 17 печатных работ, 3 из которых - в изданиях из перечня ВАК.

Личный вклад. Выносимые на защиту результаты получены соискателем лично и отражены в работах: [3, 9] - модельное представление набора правил и методика построения онтологии КДД; [15] - алгоритмы реализации операций анализа набора правил; [1, 2, 11, 16] - компоненты перестраиваемой архитектуры программных средств и интерфейсы взаимодействия компонент. В остальных работах разработаны модельное представление набора правил и операции над модельным представлением.

Характеристика работы. Диссертационная работа содержит 166 страниц основного текста, 4 приложения, 30 рисунков, 5 таблиц и список использованной литературы из 115 наименований.

Контроль достоверности данных на основе знаний о предметной области

Контроль достоверности данных проводится в ИС разных классов, и, соответственно, имеет в них разные цели. К примеру, в OLTP-системах КДД используется в основном для проверки корректности вводимых данных, в то время как в OLAP-системах и хранилищах данных – для обнаружения опечаток, неполноты, противоречивости, дублирования данных.

Во всех ИС существуют правила, зависящие от предметной области, определяющие достоверность обрабатываемой информации. Часть из них очевидна, как, к примеру, то, что количество чего-либо должно выражаться целым положительным числом или нулм, а чья-либо дата рождения не должна превышать текущую дату. Есть и более сложные правила, действующие в конкретных организациях или для определнной предметной области. Например, размер выданной заработной платы должен равняться сумме оклада, надбавки за стаж и премии, а количество преступлений, раскрытых за год, не должно превышать суммы количества совершнных в году преступлений и количества преступлений, оставшихся нераскрытыми в прошлом году. Таким образом, достоверность данных в ИС – это соответствие данных некоторым определнным ограничениям, проистекающим из предметной области. Эти ограничения и являются правилами контроля достоверности данных. Правила контроля достоверности данных – подвид правил предметной области (бизнес-правил, БП)

В общем случае бизнес-правило – утверждение, которое определяет или ограничивает некоторый аспект работы [92, 115]. Правила контроля достоверности данных – это определяющие или ограничивающие утверждения, относящиеся к конкретному аспекту работы ИС и фиксирующие закономерности в данных. Правила контроля достоверности данных можно использовать для проверки правильности и нахождения возможных ошибок. БП контроля достоверности данных могут непосредственно определять допустимые значения данных или же устанавливать связи разной степени сложности между различными данными. В информационной модели предметной области правила контроля достоверности данных играют роль ограничений и определяют допустимые отношения между объектами.

Таким образом, достоверность данных в информационных системах обеспечивается посредством контроля соответствия данных правилам КДД, что соответствует семантическому уровню контроля. Правила контроля достоверности данных являются частью знаний о предметной области. Эти знания содержатся в промышленных стандартах, регламентах, законодательных актах, корпоративных политиках.

Классификации бизнес-правил. Совокупность всех бизнес-правил некоторой предметной области представляет собой бизнес-логику этой предметной области. Согласно Рональду Россу, бизнес-правила – это атомарный элемент повторно используемой бизнес-логики, определнный декларативно [87, 110]. Согласно другим работам, бизнес-правило – утверждение, которое определяет или ограничивает некоторый аспект работы [92, 115]. Несмотря на то, что бизнес-правила кардинально различаются для различных предметных областей, их можно классифицировать по некоторым критериям. К. Дейт предлагает классификацию бизнес-правил по месту их применения в приложении (ИС) [79]. Он выделяет следующие виды БП. 1) Правила представления. Бизнес-правила, связанные с аспектами представления данных в ИС, в том числе с пользовательским интерфейсом – формами, заполняемыми пользователем, выводом сообщений об ошибках, выводом на печать, и так далее. 2) Правила базы данных. Бизнес-правила, связанные с аспектами хранения и обработки данных в базе данных (БД), включая поиск и обновление хранимых данных в ответ на действия пользователя. 3) Правила приложения. Бизнес-правила, определяемые для функций системы самих по себе, включая собственно выполнение задач для достижения поставленной бизнес-цели. Данная классификация приведена на рисунке 1.1.

Из приведнной выше классификация следует, что бизнес-правила составляют существенный аспект функционирования информационной системы и используются на всех уровнях. Согласно этой классификации, правила КДД составляют часть правил приложения. Также исследования в области бизнес-правил проводятся в ходе проекта Guide Business Rule [92]. В этом проекте были выделены три типа правил: 1) Структурные утверждения (structural assertions). Определяют понятие или утверждение факта, который выражает некоторый аспект структуры предприятия. Структурные утверждения включают и понятия, и факты, собираемые из этих понятий [92]. Другими словами, структурные утверждения определяют понятия (концепты) и связи между понятиями [115]. 2) Утверждения действий (action assertions). Это выражения ограничения или условия, которые ограничивают или управляют действиями предприятия [92]. То есть, утверждения действий определяют, когда и как некоторые действия выполняются [115]. 3) Выводы (derivations). Это выражения знания, которое выводится из другого знания в предметной области [92]. Бизнес-правила в последней классификации, приведнной на рисунке 1.2, различаются в зависимости от сущности самих правил. Правила контроля достоверности данных – подвид структурных утверждений.

Операции модификации существующего правила из набора

Под избыточностью набора правил подразумевается, что в наборе присутствуют правила, не изменяющие смысл набора. Другими словами, избыточный набор правил можно уменьшить в размерах, не меняя его смыслового содержания.

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

Для анализа избыточности набора правил предлагается использование одной из базовых задач логического вывода - классификации (classification) базы знаний [113]. Классификация, в свою очередь, опирается в свом определении на другой базовый вывод - категоризацию концептов (вложенность концептов, включение концептов, subsumption, ) [71]. Задача классификации сводится к задаче проверки того, следует ли терминологическая аксиома из онтологии, для каждой пары , концептов. Алгоритм проверки того, следует ли аксиома из онтологии, приведн в предыдущем разделе. Количество проверок следования аксиомы из онтологии ( ), где - число концептов, для которых строится классификация [113]. В рассматриваемом случае нет необходимости строить полную классификацию всех концептов онтологии. Достаточно построить иерархию только тех концептов, которые являются "правильными вариантами" других концептов, то есть, фактически, требуется иерархия концептов, являющихся левыми частями терминологических аксиом, определяющих правила (и версии правил).

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

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

Общая последовательность действий для операции селекции правил следующая: 1) Поисковый запрос пользователя формулируется в виде описания концепта-правила ; 2) Из всех концептов онтологии выбираются концепты, с которыми требуется произвести сравнение - это концепты, являющиеся левыми частями терминологических аксиом-правил (версий правил); 3) Для каждого выбранного концепта проверяется, следуют ли из онтологии терминологические аксиомы и ; 4) Если терминологическая аксиома следует из онтологии, то правило, соответствующее , является более общим вариантом искомого правила (условия поиска частично выполняются); если терминологическая аксиома следует из онтологии, то правило, соответствующее , является более конкретизированным вариантом искомого правила (условия поиска выполняются полностью, однако, имеются также некие дополнительные условия); если же из онтологии следуют обе терминологические аксиомы и , то правило, соответствующее , является искомым правилом (в точности соответствует условиям поиска).

Методика выделения онтологии набора правил

Как видно из рисунка 4.3, плагины для анализа и расширенного поиска используют для своей работы одну из существующих бесплатных машин логического вывода (reasoner), поскольку операции анализа основаны на применении процедур логического вывода на знаниях о правилах. Из машин логического вывода, имеющихся в свободном доступе, наиболее подходящими характеристиками обладает HermiT [94], поддерживающий дескрипционную логику SROIQ(D) и реализующий оптимизированную процедуру классификации онтологии [86].

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

Доступ к функциональности ПС анализа наборов правил возможен через менеджер управления правилами. Последовательность действий при работе ПС анализа наборов правил имеет следующий вид. Пользователь через менеджер управления правилами вызывает ПС анализа, передавая им онтологическое представление набора правил. Программные средства анализа обрабатывают онтологию набора правил, используя машину логического вывода HermiT для выполнения процедур логического вывода на знаниях, содержащихся в онтологии. Результаты анализа передаются менеджеру управления правилами, затем результаты анализа представляются пользователю. Программные средства тестирования наборов правил Программные средства тестирования наборов правил применяются для тестирования правил по отдельности или набором с использованием заданных пользователем или автоматически сгенерированных данных. ПС тестирования реализованы в виде библиотеки-плагина, доступ к функциональности которого осуществляется через менеджер управления правилами. Непосредственно для выполнения правил ПС тестирования используют сервер исполнения правил.

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

На рисунках 4.4 и 4.5 показано, в каких компонентах архитектуры ПСКДД реализуются операции над модельным представлением набора правил.

Рассмотрим минимальный набор способов реализации правил, который может быть расширен путм добавления новых плагинов в программные средства генерации программного кода правил: 1) Динамически подключаемые библиотеки (dll), к которым обращаются клиентские приложения или серверы приложений; 2) Пользовательские функции СУБД; 3) Онтологическое представление правил, хранимое в репозитории правил, интерпретацию и выполнение которого производит сервер исполнения правил [57]. Эти способы реализации правил обеспечивают рассмотренные в разделе 1.3 варианты архитектуры подсистемы КДД, которые позволяют изменять наборы правил в процессе эксплуатации ИС: реализацию КДД с использованием динамически подключаемых библиотек, реализацию КДД на стороне СУБД, реализацию КДД с использованием интерпретируемого представления правил.

Динамически подключаемые библиотеки физически размещаются на том же компьютере, что и клиентские приложения или серверы приложений, что обеспечивает высокую скорость выполнения проверки данных [62]. Кроме того, если проверяются уже загруженные данные, уменьшается нагрузка на сеть. Из недостатков можно отметить необходимость развртывания и обновления системы правил для каждого клиентского или серверного приложения. Соответственно, реализация в виде dll подходит для правил, имеющих достаточно сложную логику, особенно в тех случаях, когда критична скорость проведения проверки, а также желательно уменьшение нагрузки на сеть и на СУБД.

Пользовательские функции выполняются на стороне СУБД. Они реализуются на высокоуровневых языках, таких, как C++, C#, Java (в зависимости от конкретной СУБД), то есть, представляют собой программные компоненты, такие, как .dll, .jar, к которым обращается СУБД. В этом случае вызов проверки и передача проверяемых данных может осуществляться любым компонентом ИС, но наиболее предпочтительным является вариант, когда проверяемые данные сохранены в БД. Среди достоинств данного способа также можно выделить достаточно высокую скорость выполнения проверки, помимо этого, облегчается развртывание правил, поскольку программный код размещается централизованно, а также уменьшается нагрузка на сеть. Недостатком же является предназначенность этого способа в основном для проверки данных, которые уже сохранены или сохраняются в БД. Таким образом, реализация в виде пользовательских функций СУБД подходит для достаточно сложных правил, обрабатывающих данные в момент сохранения, или же проверяющих данные, уже сохраннные в БД.

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

Среди других возможных способов реализации правил можно выделить, к примеру, библиотеки правил в формате .jar, предназначенные для вызова клиентскими приложениями, написанными на языке Java. Также в некоторых случаях могут быть удобны хранимые процедуры и пользовательские функции, представляющие собой SQL-скрипты, причм, вероятно, потребовались бы отдельные плагины для генерации хранимых процедур и пользовательских функций для разных СУБД (то есть, соответственно, для различных реализаций SQL). Возможны и многие другие способы реализации правил [57]. Разврнутая система правил может включать правила, реализованные всеми доступными (согласно текущему составу ПС генерации программного кода правил) способами. Работа ПСКДД осуществляется по следующей схеме. С помощью менеджера управления правилами пользователь создат онтологические описания наборов правил. Сначала создаются концепты, соответствующие данным, которые обрабатывает ИС, затем, используя эти концепты, создаются правила. Описания наборов правил сохраняются в репозитории. Правила могут быть протестированы по отдельности или же набором на автоматически генерируемых либо определяемых пользователем данных с помощью ПС тестирования наборов правил. Также может производиться анализ наборов правил с помощью ПС анализа наборов правил. Компоненты тестирования и анализа доступны через менеджер управления правилами.

Универсальный программный интерфейс взаимодействия компонентов программных средств

В разделе 4.1 описана архитектура программных средств контроля достоверности данных, включающая два вида программных компонентов компоненты, обеспечивающие работу с правилами, и программный код правил. Одно из основных свойств разработанной архитектуры ПСКДД масштабируемость, то есть, возможность использовать ПСКДД целиком, или же использовать отдельные компоненты ПСКДД, или же использовать ПСКДД в составе некоторого комплекса программ. Также масштабируемость архитектуры подразумевает возможность дальнейшего безболезненного развития ПСКДД. Эта возможность обеспечивается, в основном, использованием технологии плагинов. Также для этой цели требуется реализация единообразного интерфейса обмена данными между всеми компонентами ПСКДД, обеспечивающими работу с правилами.

Как видно из рисунка 4.6, большая часть передаваемых данных - это правила, причм передатся либо весь набор правил (вся онтология набора), либо одиночное правило. Таким образом, необходим универсальный интерфейс передачи правил между соответствующими компонентами ПСКДД.

Для описания онтологий правил был выбран язык OWL [105]. Соответственно, набор правил либо одиночное правило передатся в виде OWL-онтологии. В случае, когда передатся весь набор, фактически, онтология передатся в том же виде, в котором хранится. В случае же передачи единичного правила, помимо собственно правила необходимо передать описание задействованных в нм концептов и ролей, а также описание требуемой реакции на нарушение правила (если она отличается от реакции по умолчанию). Для этого создатся вспомогательная онтология этого правила, включающая передаваемое правило, необходимые концепты, роли и терминологические аксиомы. Данная вспомогательная онтология и передатся компоненту.

Для работы с онтологиями правил в ПСКДД используется OWL API [106] – широко распространнный интерфейс для создания и обработки OWL-онтологий, также поддерживающий интеграцию с программными средствами логического вывода. OWL API обеспечивает гибкую систему классов для представления OWL-онтологий и их компонентов. В частности, вся OWL-онтология целиком представляется с помощью класса OWLOntology. Таким образом, и набор правил, и отдельное правило передатся между компонентами ПСКДД в виде экземпляра класса OWLOntology [66]. Для создания вспомогательной онтологии одного правила разработан класс OntologyOfOneRule, чей метод getOneRuleOntology() возвращает экземпляр OWLOntology, содержащий передаваемое правило, а также все концепты, роли и терминологические аксиомы, задействованные в его описании.

Компоненты, обменивающиеся правилами этим способом, отображены на рисунке 4.1.

Важнейшим свойством перестраиваемой архитектуры ПСКДД является гибкость – возможность реализовывать правила разными способами и, соответственно, развртывать их на разных уровнях ИС. Для этого необходимо, чтобы программный код правил, независимо от способа реализации правил, мог вызываться единообразно. Таким образом, требуется разработка единообразного интерфейса вызова правил и возврата результата проверки для всех способов реализации и размещения правил.

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

Для реализации единообразного интерфейса разработаны следующие классы: 1) BRCheckingInterface. Интерфейсный класс, находящийся на стороне клиентского приложения либо сервера приложений ИС. Обеспечивает единую форму вызова проверки, независимо от способа реализации правил (для трх основных способов, описанных ранее). Спецификация методов этого класса приведена в таблице 4.1; 2) ArrayListWrapper. Интерфейсный класс, обеспечивающий передачу проверяемых данных в виде списков. Фактически, является "классом обрткой" для .NET-класса ArrayList [68]. Позволяет передавать списочные данные программному коду правил, который выполняется на стороне СУБД в виде пользовательских функций; 3) ErrorMessage. Класс, определяющий формат сообщения о нарушении правила. Помимо информации о нарушенном правиле, позволяет определять данные, являющиеся причиной нарушения, статус нарушения правила (ошибка, предупреждение или сообщение), а также другие метаданные [66].

Таким образом, независимо от используемого способа реализации правил, данные для проверки передаются в виде экземпляра класса ArrayListWrapper, а результат проверки возвращается как список экземпляров класса ErrorMessage.