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

• все УКЗД КРИПТОН имеют встроенные средства самодиагностики, исключающие работу неисправного криптомодуля;

• аппаратная реализация алгоритма криптографического преобразования на отечественной элементной базе гарантирует целостность алгоритма;

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

• аппаратный датчик случайных чисел создает действительно случайные числа для формирования надежных ключей шифрования и ЭЦП, в отличие от псевдослучайных чисел, генерируемых только программными методами;

• загрузка ключей шифрования в устройство КРИПТОН со смарт-карт и идентификаторов Touch Memory (i-Button) производится напрямую, минуя ОЗУ и системную шину компьютера, что исключает возможность перехвата ключей при работе системы;

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

• высокая скорость шифрования достигается также исполнением устройства в виде платы расширения, а не USB-модуля;

• при необходимости обработки значительных объемов данных возможна также установка на одном компьютере нескольких устройств КРИПТОН, что еще более повысит скорость шифрования;

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

В комплекте с УКЗД поставляется базовое программное обеспечение (ПО), позволяющее использовать генерацию ключей, шифрование и дешифрование информации, ЭЦП с проверкой подлинности и авторства. Для работы в среде Windows необходимо установить пакет программ Crypton API, включающий в себя драйверы для различных типов устройств серии КРИПТОН. При разработке собственного ПО можно пойти двумя путями: использовать функции базового ПО, позволяющие работать в пакетном режиме, либо приобрести библиотеку Crypton DK, содержащую функции для работы с УКЗД КРИПТОН. Третий путь, программирование УКЗД КРИПТОН на

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

Для отладки написанных программ также можно использовать драйвер-эмулятор УКЗД КРИПТОН -Crypton emulator demo, так как программный интерфейс, предоставляемый Crypton API, идентичен независимо от конкретного УКЗД серии КРИПТОН. Все упомянутое ПО доступно на web-сайте фирмы "Анкад" (www.ancud.ru).

Специфика систем обмена платежными документами состоит в обработке большого количества записей относительно малых размеров (единицы Кб). При необходимости генерации ЭЦП для каждого документа или шифрования значительных объемов данных разумно выбирать устройства, обеспечивающие большую скорость шифрования, такие как Криптон 8/PCI (до 8500 Кб/сек) или Криптон 9/PCI (до 10000 Кб/сек). Если же объем обрабатываемых данных невелик и подписываться должны только пакеты платежных документов целиком, а не отдельные записи, то достаточно будет и устройств низшей ценовой категории. К примеру, при установке системы в УФК Челябинской области было использовано УКЗД КРИПТОН 4, имеющее скорость шифрования до 350 Кб/сек, и задержки при шифровании данных составляют единицы секунд. При существенном увеличении объема обрабатываемых данных достаточно будет лишь сменить УКЗД на более мощный или поставить несколько УКЗД в один компьютер.

При проектировании комплекса для УФК Челябинской области был выбран метод использования базового ПО УКЗД КРИПТОН, что позволило в короткие сроки без дополнительных затрат на приобретение библиотеки функций создать работоспособную систему. Созданный в результате модуль учитывает особенности текущей версии базового ПО, предназначенной для работы в однозадачной среде DOS, и позволяет системе корректно функционировать в среде Windows. Обеспечиваются строгая последовательность процедур создания и распаковки пакета ЭД и дополнительная проверка результатов криптографической обработки данных на каждом шагу.

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

СРАВНИТЕЛЬНЫЙ АНАЛИЗ МЕТОДОВ ФОРМИРОВАНИЯ ТЕРМИНОЛОГИИ ПРЕДМЕТНОЙ ОБЛАСТИ

И.Л. Кафтанников, А.Л. Шестаков

В условиях информатизации общества объем электронной информации, предлагаемой для воспри-

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

27

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

ПО Б - множество объектов, отношений между объектами, а также процессов изменения объектов и отношений, которые входят в сферу интересов конкретного субъекта или группы субъектов.

Б = Ос иИ] иРб,

Здесь Ou - универсальное множество объектов; Ru - универсальное множество отношений между объектами; Pu - универсальное множество процессов изменения объектов и отношений.

Терминология TD ПО D - это множество терминов, существующих для обозначения объектов, отношений между объектами, а также процессов изменения объектов и отношений, составляющих ПО D.

Терминология ПО TD строится на основе нотационного бинарного отношения rn: rn = |(d,td): d€ D',td e Td},где Td с Tu, D' с D.

Здесь td - термин, обозначающий элемент d (являющийся либо объектом, либо отношением между объектами, либо процессом изменения объекта или отношения); D' - подмножество D объектов, отношений между объектами и процессов изменения объектов и отношений, для которых существует обозначение в системе передачи информации конкретного субъекта или группы субъектов; Tu - универсальное множество терминов. Нотационное бинарное отношение rn не является функцией, так как в общем случае не удовлетворяет требованию однозначности отображения, для обозначения конкретного элемента ПО могут быть использованы несколько синонимичных терминов:

TD = to и TjR и TD, где TDO - множество терминов, применяемых для обозначения элементов-объектов ПО D; TDR - множество терминов, применяемых для обозначения элементов-отношений ПО D; TDP - множество терминов, применяемых для обозначения элементов-процессов ПО D.

Терминология TD ПО D может быть задана либо непосредственно, обработкой мнений эксперта или группы экспертов о включении тех или иных терминов во множество TD, либо косвенно, обработкой совокупности документов, отнесенных экспертом или группой экспертов к той или иной ПО.

Допустим, для работы над непосредственным построением терминологии TD ПО D привлечена группа экспертов E:

E = |e¡}, i = 1Я

где n - количество экспертов в группе.

Каждый эксперт в! группы Е формирует множество Т]1 - терминологию ПО Б эксперта в!. Таким образом, будут сформированы п терминологий Т]1 ПО Б экспертами е1, 1 = 1,п .

На основе Т]1 строится терминология Т] ПО Б группы экспертов Е.

Возможны различные способы построения терминологии ТБЕ ПО группой экспертов Е.

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

1. Построение временной обобщенной терминологии т] ПО Б группы Е: тЕ = ИТ]1.

Б1т Б1т 1=1 Б

2. Построение функции принадлежности терминов временной обобщенной терминологии ТБЕ ПО

Б1т

Б группы Е терминологии Т]1 ПО Б эксперта е1, сформированной после его ознакомления с ТБЕ :

Б1т

1ЕЧ :Т^т ^ В, где В = {0,1}.

Здесь (Е1 - полная функция, определяемая как:

feeÍ(tDimk) =

1, айёе tDimk e TD ; 0 — a i'Síoeaííi пёб^-ай,

где tDimk e TDim,k = 1, TI)im

Формирование новых терминологий Т]1 ПО Б каждым экспертом е1 группы Е позволяет повысить вероятность успешности процесса построения результирующей терминологии Т] ПО Б группы экспертов Е вследствие того, что в процесс построения включается аналитическая компонента мышления.

3. Определение весового коэффициента включенности терминов в результирующее множество

ТБ : : ТБ)1т ^ W, где = {0,1,..,п}, п = |е| .

Здесь W - множество возможных значений весовых коэффициентов; - полная функция, заданная в

виде: М^) = .(^Бт^

где tDimk € TDim,k = ^Dim] .

4. Определение пороговой функции fthr принад-

лежности элементов множества T

E

Dim

результирую-

щему множеству Т] : : W ^ В, где В = {0,1}.

Здесь 1,Ьг - полная функция. Простейшая пороговая функция может быть задана в виде:

где Od с Ou; Rd с Ru; Pd с Pu

28

fthr(w) =

где w е W .

1, апёе w > Шг; 0, апёе w < Шг,

Здесь1Ьг - пороговое значение функции. 5. Построение результирующей терминологии Тр ПО Б группы экспертов Е:

ТС -{1Шшк ^ЛгСМ1!^ ))- е ТШш>к - ^

Варьирование порогового значения функции 1Ьг позволяет добиться оптимального соотношения между уровнем объективности и вероятностью успешности процесса построения ТЕ.

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

Очевидно, что чем большее количество экспертов будет привлечено к работе, тем более полную и объективную картину о ПО можно будет составить. При этом также очевидно, что привлекать большое количество экспертов может оказаться и достаточно затратным мероприятием, и значительно растянутым во времени, если вообще возможным.

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

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

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

На этапе отбора необходимо запрашивать у поисковых систем количество документов с названием ПО вместе с конкретным термином.

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

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

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

При этом в качестве начального веса термина на этом этапе использовалось количество документов, найденных по запросу. Кроме этого, для последую-

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

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

Для решения поставленной задачи была разработана программная среда.

База фактов содержит четыре раздела, по одному для каждого этапа формирования ПО. Факты записываются в нотации языка Пролог, согласно формату, представленному в таблице.

Таблица

Раздел базы знаний Формат записи

Временная обобщенная терминология fact( ПО, ТЕРМИН );

Отобранные экспертами терминологии fact( ПО, ЭКСПЕРТ, ТЕРМИН, ВЕС );

Временная обобщенная терминология с учетом весов fact( ПО, ТЕРМИН, ВЕС );

Результирующая терминология res( ПО, ТЕРМИН );

Примечание: ПО - название предметной области (строка) в кавычках; ТЕРМИН - термин (строка) в кавычках; ВЕС - вес термина на том или ином этапе (вещественное число).

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

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

В виде примера представим процесс и результаты формирования терминологии ПО «сети ЭВМ».

В качестве формальных экспертов были задействованы такие поисковые системы, как Япйвх (yan-dex.ru), Rambler (rambler.ru) и Google (google.com).

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

Для реализации первого варианта базы знаний в качестве исходной временной обобщенной терминологии было использовано множество слов и фраз, которые в течение определенного периода вводили пользователи поисковой системы Яп^х, либо вместе с запросом «сети ЭВМ», либо до и после такого запроса. То есть такие слова и фразы, которые ассоциируются у Интернет-пользователей с ПО «сети ЭВМ». После удаления явно общеупотребительных слов или точно не соответствующих именно «сетям

29

ЭВМ» (например, музыкальная группа «Сети» и т.п.), была сформирована база данных временной обобщенной терминологии с учетом весов и построен определенный график.

При построении временной обобщенной терминологии с учетом весов использовалось нормирование весов к диапазону от 0 до 10.

Результаты показали, что определено несколько явных фаворитов ПО: «интернет», «internet», «gsm», «linux», «ip», «технологии», «мультисервисная», «локальная» с весом более 10. При этом, хотя частотное распределение повторяет форму распределения экспертов, сравнение частот различных терминов представляет интересный результат.

В эксперименте по формированию терминологии ПО «сети ЭВМ» участвовали более 60 студентов-экспертов различных курсов кафедры ЭВМ ЮУрГУ.

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

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

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

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

ш

i I I . in k 1 к

2 4 ж L IV ^-1-

1 18 35 52 69 86 103 120 37 154 171 188 205 222 239 256 273 2 90 307 324 341

Веса терминов, полученные от экс пертов-машин

^^^^^вВеса терминов, полученные от экс пертов-людей

Сравнительный график распределения весов

терминов второго варианта реализации базы знаний

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

Отформатировано:

Шрифт: 9 пт, курсив

ИСПОЛЬЗОВАНИЕ ОТКРЫТОГО ПРЕЦЕДЕНТА КАК ОСНОВЫ ДЛЯ РАЗРАБОТКИ ПРОГРАММНЫХ СИСТЕМ С ИЗМЕНЯЕМОЙ ФУНКЦИОНАЛЬНОСТЬЮ

П.Л. Цытович

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

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

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

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

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

В зависимости от класса открытой системы взаимоотношение частей будет складываться по-разному.

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

Таким языком не обязательно должен являться традиционный язык программирования, похожий на С++, Java или Pascal. В каждой предметной области

30