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



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

Клиент-серверная среда динамических экспертных систем Семченко Павел Николаевич

Клиент-серверная среда динамических экспертных систем
<
Клиент-серверная среда динамических экспертных систем Клиент-серверная среда динамических экспертных систем Клиент-серверная среда динамических экспертных систем Клиент-серверная среда динамических экспертных систем Клиент-серверная среда динамических экспертных систем Клиент-серверная среда динамических экспертных систем Клиент-серверная среда динамических экспертных систем Клиент-серверная среда динамических экспертных систем Клиент-серверная среда динамических экспертных систем Клиент-серверная среда динамических экспертных систем Клиент-серверная среда динамических экспертных систем Клиент-серверная среда динамических экспертных систем
>

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

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

Страница автора: Семченко Павел Николаевич


Семченко Павел Николаевич. Клиент-серверная среда динамических экспертных систем: дис. ... кандидата технических наук: 05.13.01 / Семченко Павел Николаевич;[Место защиты: Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования "Тихоокеанский государственный университет"].- Хабаровск, 2013. - 129 стр.

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

Введение

1. Современные интеллектуальные системы поддержки принятия решений и клиент-серверный подход в вычислительных задачах 11

1.1. Построение интеллектуальных и экспертных систем с использованием компьютеров 11

1.2. Решение проблем и поиск решений с помощью эвристики 14

1.3. Обоснование модели представления знаний 17

1.4. Обоснование технологии ядра экспертной системы 22

Выводы по 1-й главе 34

2. Клиент-серверная среда динамических экспертных систем и её математическая модель 35

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

2.2. Обоснование математической модели клиент-серверной среды динамических экспертных систем 38

2.3. Разработка функциональной схема работы клиент-серверной среды динамических экспертных систем 43

2.4. Численное моделирование клиент-серверной среды динамических экспертных систем на основе марковского процесса с дискретными состояниями и непрерывным временем 44

Выводы по 2-й главе 53

3. Реализация клиент-серверной среды динамических экспертных систем с помощью технологии Embarcadero DataSnap 55

3.1. Взаимодействие компонентов программного обеспечения при использовании многозвенной архитектуры DataSnap 55

3.2. Технология разработки прототипа клиент-серверной платформы 57

3.3. Интеграция ядра среды экспертных систем CLIPS и FuzzyCLIPS 60

3.4. Использование баз данных для хранения листингов экспертных систем с произвольной группировкой в визуальном представлении 72

Выводы по 3-й главе 74

4. Разработка экспертных систем в клиент-серверной среде 76

4.1. Способ хранения данных и интерфейс клиент-серверной среды динамических экспертных систем 76

4.2. Защита персональных данных как предметная область для работы экспертных систем 81

4.3. Экспертная система определения уровня защищённости и необходимых мер защиты информационных систем персональных данных 85

4.4. Применение экспертной системы определения уровня защищённости и необходимых мер защиты информационных систем персональных данных 98

Выводы по 4-й главе 108

Заключение 109

Список литературы 111

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

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

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

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

Итак, на данный момент большой научный и практический интерес представляет реализация логики работы ядра экспертных систем в архитектуре «клиент-сервер». Такая технология позволит существенно расширить применение экспертных систем в современных условиях. Очевидны преимущества такой технологии: в целом, экспертное знание можно будет формализовать и делать более доступным, а сама концепция позволяет создавать экспертные системы по различным предметным областям в удобном пользовательском графическом интерфейсе.

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

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

  1. Обоснование модели представления знаний в рамках технологии ядра экспертной системы.

  2. Разработка математической модели и функциональной схемы клиент-серверной среды динамических экспертных систем и их анализ.

  3. Обоснование способа хранения данных клиент-серверной среды динамических экспертных систем с построением ER-диаграммы.

  1. Разработка программного обеспечения клиент-серверной среды динамических экспертных систем.

  2. Разработка прототипа экспертной системы на входном языке ядра клиент-серверной платформы для определенной предметной области.

Методы исследования базируются на положениях теории вероятности и математической статистики, аппарата теории систем массового обслуживания. Для решения дифференциальных уравнений применены численные методы с проверкой математической модели в пакете Mathcad. При программной реализации алгоритмов использовался язык C++ в среде Embarcadero C++ Builder ХЕЗ Architect.

Положения, выносимые на защиту.

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

  2. Функциональная схема порядка взаимодействия тонких клиентов с сервером приложений по типам запросов в клиент-серверной среде динамических экспертных систем и разработанная на её базе математическая модель клиент-серверной среды динамических экспертных систем.

  3. Технология разработки прототипа клиент-серверной платформы и проектирование прикладных программных комплексов в современной среде разработки на примере клиент-серверной среды динамических экспертных систем.

Научная новизна.

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

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

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

  4. Разработан универсальный алгоритм прототипа клиент-серверной платформы, представленный в виде UML-диаграммы деятельности, для обеспечения универсальности проектирования в отношении совокупности прикладных клиент-серверных реализаций проектов.

  5. Разработан прототип экспертной системы для определения уровня защищённости информационной системы персональных данных на базе входного

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

Достоверность научных положений.

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

Практическая значимость полученных результатов.

  1. Разработана технология интеграции ядра экспертных систем CLIPS и расширенного нечёткой логикой FuzzyCLIPS в клиент-серверную архитектуру.

  2. Разработанная в рамках диссертационного исследования экспертная система является актуальным средством поддержки принятия решений по современным требованиям законодательства Российской Федерации в области персональных данных.

  3. Программный комплекс внедрён в Хабаровском научно-техническом центре Федерального государственного унитарного предприятия «Научно-производственное предприятие «Гамма».

Апробация результатов диссертации.

Основные положения и результаты диссертационной работы обсуждались на 50-й студенческой научно-технической конференции ТОГУ (Хабаровск, 2010 г.), на международной научно-практической конференции "Суперкомпьютеры: вычислительные и информационные технологии" (Хабаровск, 2010 г.), на международном Российско-китайском симпозиуме "Современные материалы и технологии" (Хабаровск, 2011 г.), на IV Всероссийской научно-практической конференции с международным участием "Информационные технологии в науке, образовании и экономике" (Якутск, 2012 г.), Всероссийской молодёжной конференции "Теория и практика системного анализа" (Белгород, 2012 г.), международной научной конференции «Информационные технологии XXI века» (Хабаровск, 2013).Также по общим результатам работы распоряжением Губернатора Хабаровского края № 250-р от 05.06.2013 года автор был удостоен стипендии имени Н.Н. Муравьёва-Амурского.

Публикации.

По результатам диссертационной работы опубликованы четыре статьи в журналах, рецензируемых Всероссийской аттестационной комиссией: «Информатика и системы управления», «Вестник ТОГУ», «Russian journal of Earth Sciences»; три статьи в сборниках научных конференций; получено свидетельство о государственной регистрации программы для ЭВМ.

Структура диссертации.

Работа состоит из введения, четырёх глав, заключения, библиографии из 99 наименований. Объём диссертации составляет 129 страниц, 19 рисунков, 2 таблицы и одно приложение.

Обоснование технологии ядра экспертной системы

Не так давно исход дискуссии о том, может ли машина мыслить, решался с использованием критерия Тьюринга[96]: когда нельзя было отличить машинное от человеческого, давался положительный ответ. В наши дни можно утверждать, что такие интеллектуальные сложные задачи, как распознавание образов, принятие решений, формирование понятий, решение задач логики, планирование поведения, доказательство теорем, интеллектуальные игры и адаптивное управление вполне реализуются с помощью ЭВМ. Ещё в 1974 г. состоялся международный шахматный турнир, где победила отечественная разработка «Каисса»[15], созданная в Институте управления РАН с участием М. Ботвинника. С оборонной промышленностью связано не только само возникновение кибернетики: в наши дни готовность к ведению боевых действий в цифровом пространстве[52] с точки зрения национальной безопасности важна в той же степени, что и ядерное оружие и контроль в космосе. В США ведутся исследования квантовых информационных технологий[89], несомненно, являющихся стратегическим шагом, ориентированным на будущее.

Одной из самых интересных в интеллектуальном плане является задача по построению алгоритмов, способных обучаться[85]. Её решением продолжают заниматься психологи, физиологи, математики и инженеры, имея конечной целью создание читающих автоматов, реализацию систем искусственного интеллекта, которые ставят медицинские диагнозы, прогнозируют погоду, проводят криминалистическую экспертизу и т.п. В 1957 г. американским физиологом Розенблаттом в качестве модели распознавания был предложен персептрон[47] – алгоритм, который имитирует распознавание в режиме обучения и собственно распознавания. Сейчас существует множество реализаций этой концепции. Так, автомат может учиться распознавать тактильные, слуховые, зрительные и другие сенсорные ситуации.

Математик Хао Ванг разработал интеллектуальную программу, выведшую всего за три минуты двести двадцать теорем и простых лемм, а после сгенерировавшую доказательства ещё ста тридцати более сложных теорем[98]. Представляет интерес класс называемых гироматами[13] интеллектуальных систем, который был разработан академиком Г.С. Поспеловым. Они, учитывая особенности задачи, строят модель и находят решение. Например, управление пропуском судов на участке канала со шлюзами, управление работой целого морского порта и некоторые другие задачи были разработаны с использованием этих интеллектуальных систем. Сам термин принадлежит польскому писателю С. Лему, а обозначает меняющие структуру при изменении условий поставленной задачи системы. Объединение приборов и машин с компьютерами – одно из приоритетных направлений в развитии техники вследствие процесса миниатюризации. Микропроцессор – это, своего рода, «мозг» компьютера, на одном кристалле его ядра (которых может быть уже несколько) реализованы сотни миллионов транзисторов, а размер ядра не превышает квадрата 5х5 мм.

В мире на данный момент существует огромное множество ЭВМ, многие из которых объединены в локальные, региональные, глобальные сети и Интернет, что открывает широкие возможности для информационного обмена между пользователями, начиная от передачи сообщений и заканчивая сложными телеконференциями и созданием разветвлённых корпоративных распределённых сетей[46]. Очевидно, что Интернет является огромным пространством сродни космосу с особой структурой, со своими системами обратной связи и высокой скоростью обновления. Мы можем получать почти любую информацию в любом месте и отправлять информацию в иную точку с наличием доступа к сети. Современный компьютер обладает памятью, способной хранить одну тысячную информации всей национальной библиотеки России. Мозг человека содержит гигантское число нейронов с огромным количеством связей, по своим вычислительным способностям современный компьютер уже приближается к мозгу.

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

В последней трети XX века в Японии появились первые музыкальные компьютеры, впрочем, ещё с 50-х годов того же века используются программы алгоритмической композиции. На машине «Урал» отечественный математик Р. Зарипов сочинял монофонические музыкальные пьесы[23].

С начала девяностых годов XX века аранжировщики и композиторы используют IBM-совместимые компьютеры, имеющие специальный интерфейс[3]. Целью таких компьютеров является освобождение человека от рутины в работе. Использование соединённых с электронной вычислительной машиной синтезаторов позволяет моментально услышать рождающееся произведение. Разумеется, из процесса творчества композитора исключить полностью невозможно.

Возникла и весьма нежелательная проблема угрозы программно-математических воздействий[22], проще говоря, компьютерные вирусы – специально созданные, достаточно малые по размеру программы, имеющие способность к заражению другого программного обеспечения и данных пользователя, сопряжённую с нанесением вреда информации. Самые известные признаки такого воздействия: некоторые программы начинают работать некорректно, экран пестрит разнообразными посторонними сообщениями об ошибках, в целом работа системы ощутимо замедляется и прочие. Разумеется, разработаны средства противодействия вирусной угрозе, которые способны распознавать тело вируса и следы его воздействия, удалять сам вирус и восстанавливать работоспособное состояние системы, исправляя внесённые им ошибки. Сегодня проблема диалога человека с компьютером поднимается на качественно новую ступень, а вопрос об информационном обмене между ними получает иной акцент: каков предел увеличения скорости обмена информацией.

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

Обоснование математической модели клиент-серверной среды динамических экспертных систем

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

Организация, решившая использовать в своей работе возможности экспертных систем, при выборе программных средств может оказаться в затруднительном положении: существуют как бесплатные, так и платные инструменты для разработки ядра экспертной системы. Дело в том, что возможностей бесплатных средств зачастую достаточно для реализации даже самых узкоспециализированных систем. Но эти инструменты, хотя и бесплатны, покрыты лицензией, запрещающей использовать её код в коммерческих целях. Например, таким подходом может «похвастаться» лицензия GPL[7]. Однако существует инструмент, разработчики которого разрешают использовать его свободно в абсолютно любых целях. Более того, этот инструмент является общепризнанным и давно зарекомендовавшим себя средством. Эта среда называется CLIPS[67].

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

Практически используемые экспертные системы, как правило, являются динамическими. Это обусловливается постоянно меняющимися требованиями к качеству услуг или продукции, совершенствующимся законодательством, а также совершенствованием технологического процесса внутри организации, использующей механизмы экспертных систем. Более того, на самом деле при использовании экспертных систем на практике речь идёт о системах поддержки принятия решений[39].

Инструментарий CLIPS при использовании любых удобных дополнительных средств разработки вполне обеспечивает такую возможность.

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

Приобретение знаний является наиболее важным элементом в развитии экспертной системы[79]. Знания могут быть получены путём опроса экспертам в этой области и/или обучения на опыте. Очень часто люди выражают знания в естественном языке или с помощью письма, или символических терминах. Есть несколько методов для извлечения человеческих знаний. Познавательный анализ работы (Cognitive Work Analysis, CWA) и познавательный анализ задачи (Cognitive Task Analysis, CTA)[1] обеспечивают платформы для извлечения знаний. CWA – это технология для анализа, разработки и оценки человеко-машинных интерактивных систем. CTA является методом для выявления познавательных навыков, психологических требований и потребностей для выполнения задач квалификации. CTA сосредоточен на описании представления познавательных элементов, которые определяют целевую генерацию и принятие решений. CTA является надёжным методом для извлечения человеческих знаний, поскольку она основана на наблюдениях и интервью.

Большинство экспертных систем разрабатываются с использованием специализированных программных средств, называемых оболочками. Эти оболочки оснащены механизмом вывода (обратного вывода, прямого вывода, или тот и другой вместе), и требуют знаний, которые будут введены в соответствии с указанным форматом. Одна из самых популярных оболочек, широко используемая в правительствах государств, промышленности и научных кругах, – это CLIPS[67]. CLIPS есть средство разработки экспертных систем, которое предоставляет полную среду для конструирования правила и/или объектно-ориентированных экспертных систем. CLIPS обеспечивает единый инструмент для обработки широкого спектра знаний с поддержкой трёх различных парадигм программирования: основанный на правилах, объектно-ориентированный и процедурный характер. CLIPS написан на C для мобильности и скорости, и был установлен на различных операционных системах без изменений в коде.

Мир информации окружён неопределенностями и неточностями. Процесс человеческих рассуждений может обрабатывать неточные, неопределённые и расплывчатые концепции соответствующим образом. Как правило, человеческое мышление, рассуждения и процесс восприятия не могут быть определены точно. Эти типы опыта редко могут быть выражены или измерены с помощью статистических или вероятностных теорий. Нечёткая логика обеспечивает основу для моделирования неопределенности, человеческого мышления, рассуждений и процесса восприятия. Нечёткие системы были впервые представлены Лотфи Заде, профессором Калифорнийского университета в Беркли, в его основополагающей работе, опубликованной в 1965 [99].

Нечёткие экспертные системы - это просто экспертные системы, которые используют набор нечётких функций принадлежности и правил вместо булевой логики, для рассуждения о данных[1]. Правила в нечёткой экспертной системе, как правило, находятся в форме, аналогичной следующей: Если А низкое и В высокое, то X = среднее, где А и В являются входными переменными, а X является выходной переменной. Здесь низкое, высокое, среднее являются нечёткими множествами, определённые на A, B и X соответственно. Антецендент (условие правила) описывает, в какой степени применимо правило, в то время как консеквент правила присваивает функции принадлежности к одной или нескольким выходным переменным.

Пусть X - это пространство объектов, а x - это общий элемент пространства X. Классическое множество A, A с X, определено как совокупность элементов или объектов xє X, так что x может либо принадлежать, либо не принадлежать A. Нечёткое множество A на пространстве X определено как множество упорядоченных пар

Интеграция ядра среды экспертных систем CLIPS и FuzzyCLIPS

Для клиент-серверной среды динамических экспертных систем[11] в качестве ядра обработки экспертных систем предлагается использовать CLIPS[67] – продукционное ядро с С-подобным интерфейсом описания экспертных систем. Для актуальной на момент исследований версии CLIPS 6.30 существует реализованный интерфейс на языке C++, предназначенный для удобства подключения ядра обработки экспертных систем в современные программные комплексы. Так, связать ядро CLIPS и клиент-серверную среду динамических экспертных систем в среде C++ Builder XE3 возможно путём добавления библиотек из комплекта поставки CLIPS – clipscpp.lib, clipswin32.lib и clipswin32cpp.lib в проект создаваемого по технологии DataSnap сервера. В заголовочном файле clipscpp.h находятся необходимые конструкции для создания своих классов при реализации взаимодействия с ядром CLIPS.

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

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

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

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

Для того, чтобы на сервере была информация о том, что же конкретно представляет интерес для клиентского приложения, используется технология обратных вызовов в архитектуре DataSnap. Клиентское приложение при запуске регистрирует обратный вызов на сервера, и теперь сервер может исполнять некоторый важный для клиента метод по своей инициативе с передачей информации клиенту. Именно механизм обратных вызовов позволит серверу обрабатывать запрос клиента с применением многопоточной технологии. Если применить к потоку на сервере концепцию «чёрного ящика», то получится, что мы обладаем данными о том, что мы в этот «чёрный ящик» положили и когда мы из него что-то получили, но не знаем, какое время требуется «чёрному ящику» на внутреннюю обработку. Таким образом, как только что-то получаем из «чёрного ящика», то передаём это на клиент обратным вызовом.

На сервере механизм обратных вызовов уже реализован компонентами DataSnap, а на клиенте потребуется описать вызов подробнее. Итак, следует создать новый класс с наследованием от абстрактного класса TDBXCallback, чтобы переопределить ряд методов. Допустим, мы будем использовать компонент TMemo на клиентской форме для вывода сообщений. Учтём также, что вывод сообщений следует реализовать потоково-безопасным способом – ведь в противном случае слишком долгое ожидание информации от сервера сделает форму приложения недоступной пользователю.

Класс TfClientform содержит объект mOutpu tкласса TMemo для вывода сообщений и функцию LogMsg, принимающую некоторую строку для вывода в качестве аргумента. Именно выполнение функции LogMsg будет организовано в отдельном потоке при использовании обратного вызова – основная форма приложения будет доступна в любое время. Потоково-безопасный вызов будет выполняться с помощью функции QueueLogMsg. Описание класса TLogMsg следует поместить в заголовочный файл формы. Листинг 3.4 содержит описание класса обратного вызова, с помощью которого планируется выводить сообщения в объект mOutput класса TMemo формы TfClientform. Листинг 3.4 – Реализация обратного вызова на стороне клиента

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

В настоящее время большой интерес в системах поддержки принятия решений и экспертных системах представляет нечёткая логика[79]. Так, существует расширение платформы CLIPS под названием FuzzyCLIPS[92]. FuzzyCLIPS является модификацией и дополнением к классическому CLIPS, и на текущий момент существует последняя версия 6.10d, и интерфейс программирования приложений этой модификации достаточно сильно отличается от последней актуальной на данный момент версии CLIPS 6.30. Так, отсутствует реализованный на языке C++ интерфейс, позволяющий с лёгкостью адаптировать исходный код FuzzyCLIPS для использования в современном программном обеспечении, разрабатываемом например в среде C++ Builder XE3. Так, классический CLIPS, начиная с версии 6.24, предоставляет возможность использования объектно-ориентированного подхода при интеграции CLIPS в собственное программное обеспечение, а также предусматривает возможность создания нескольких сред исполнения экспертных систем. В FuzzyCLIPS такие возможности недоступны, что делает практически невозможным использование этого инструментария на сервере при использовании клиент-серверной технологии. Таким образом, наиболее целесообразным представляется использование FuzzyCLIPS непосредственно в пользовательском программном обеспечении.

При разработке программного обеспечения с использованием языка C++ возможно добавление включений на языке С. Заголовочный файл окружения FuzzyCLIPS, необходимый для интеграции, находится в комплекте исходных кодов FuzzyCLIPSи называется clips.h. Подключается с использованием спецификатора extern.

Современное программное обеспечение реализуется с уникальным оконным диалоговым интерфейсом, удобным для пользователя. Ранее же большинство программ исполнялись в так называемой консоли – на экран выводились запросы, а пользователь вводил команды с клавиатуры. В среде FuzzyCLIPS используется похожая концепция ввода-вывода, но вместе с тем и предусмотрена возможность перенаправления потоков ввода и вывода.

В качестве отправной точки при встраивании FuzzyCLIPS в клиент-серверную среду была создана форма класса TForm с именем fClientform, на ней присутствует строка ввода класса TEdit с именем eCommand и поле класса TMemo с именем mOutput.

Экспертная система определения уровня защищённости и необходимых мер защиты информационных систем персональных данных

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

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

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

Необходимость обеспечения 1-го уровня защищенности персональных данных при их обработке в информационной системе устанавливается при наличии хотя бы одного из следующих условий: a. для информационной системы актуальны угрозы 1-го типа, и информационная система обрабатывает либо специальные категории персональных данных, либо биометрические персональные данные, либо иные категории персональных данных; b. для информационной системы актуальны угрозы 2-го типа, и информационная система обрабатывает специальные категории персональных данных более чем 100000 субъектов персональных данных, не являющихся сотрудниками оператора. 10. Необходимость обеспечения 2-го уровня защищенности персональных данных при их обработке в информационной системе устанавливается при наличии хотя бы одного из следующих условий: a. для информационной системы актуальны угрозы 1-го типа, и информа ционная система обрабатывает общедоступные персональные данные; b. для информационной системы актуальны угрозы 2-го типа, и информа ционная система обрабатывает специальные категории персональных данных сотрудников оператора или специальные категории персональ ных данных менее чем 100000 субъектов персональных данных, не яв ляющихся сотрудниками оператора; c. для информационной системы актуальны угрозы 2-го типа, и информа ционная система обрабатывает биометрические персональные данные; d. для информационной системы актуальны угрозы 2-го типа, и информа ционная система обрабатывает общедоступные персональные данные более чем 100000 субъектов персональных данных, не являющихся со трудниками оператора; e. для информационной системы актуальны угрозы 2-го типа, и информа ционная система обрабатывает иные категории персональных данных более чем 100000 субъектов персональных данных, не являющихся со трудниками оператора; f. для информационной системы актуальны угрозы 3-го типа, и информа ционная система обрабатывает специальные категории персональных данных более чем 100000 субъектов персональных данных, не являю щихся сотрудниками оператора. 11. Необходимость обеспечения 3-го уровня защищенности персональных дан ных при их обработке в информационной системе устанавливается при нали чии хотя бы одного из следующих условий: a. для информационной системы актуальны угрозы 2-го типа, и информа ционная система обрабатывает общедоступные персональные данные сотрудников оператора или общедоступные персональные данные ме нее чем 100000 субъектов персональных данных, не являющихся со трудниками оператора; b. для информационной системы актуальны угрозы 2-го типа, и информа ционная система обрабатывает иные категории персональных данных сотрудников оператора или иные категории персональных данных ме нее чем 100000 субъектов персональных данных, не являющихся со трудниками оператора; c. для информационной системы актуальны угрозы 3-го типа, и информа ционная система обрабатывает специальные категории персональных данных сотрудников оператора или специальные категории персональ ных данных менее чем 100000 субъектов персональных данных, не яв ляющихся сотрудниками оператора; d. для информационной системы актуальны угрозы 3-го типа, и информа ционная система обрабатывает биометрические персональные данные; e. для информационной системы актуальны угрозы 3-го типа, и информа ционная система обрабатывает иные категории персональных данных более чем 100000 субъектов персональных данных, не являющихся со трудниками оператора.

Необходимость обеспечения 4-го уровня защищенности персональных дан ных при их обработке в информационной системе устанавливается при нали чии хотя бы одного из следующих условий: a. для информационной системы актуальны угрозы 3-го типа, и информационная система обрабатывает общедоступные персональные данные; b. для информационной системы актуальны угрозы 3-го типа, и информационная система обрабатывает иные категории персональных данных сотрудников оператора или иные категории персональных данных менее чем 100000 субъектов персональных данных, не являющихся сотрудниками оператора.

Для обеспечения 4-го уровня защищенности персональных данных при их обработке в информационных системах необходимо выполнение следующих требований: a. организация режима обеспечения безопасности помещений, в которых размещена информационная система, препятствующего возможности неконтролируемого проникновения или пребывания в этих помеще ниях лиц, не имеющих права доступа в эти помещения; b. обеспечение сохранности носителей персональных данных; c. утверждение руководителем оператора документа, определяющего пе речень лиц, доступ которых к персональным данным, обрабатываемым в информационной системе, необходим для выполнения ими служеб ных (трудовых) обязанностей; d. использование средств защиты информации, прошедших процедуру оценки соответствия требованиям законодательства Российской Феде рации в области обеспечения безопасности информации, в случае, ко гда применение таких средств необходимо для нейтрализации актуаль ных угроз.

Для обеспечения 3-го уровня защищенности персональных данных при их обработке в информационных системах помимо выполнения требований, предусмотренных для 4-го уровня защищённости, необходимо, чтобы было назначено должностное лицо (работник), ответственный за обеспечение безопасности персональных данных в информационной системе.

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

Похожие диссертации на Клиент-серверная среда динамических экспертных систем