Научная статья на тему 'Об одном способе представления знаний'

Об одном способе представления знаний Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
166
98
i Надоели баннеры? Вы всегда можете отключить рекламу.
i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Об одном способе представления знаний»

1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 3 5 37 39 41 43 45 47 49 51 53 5 5 57 59

Время выполнения (Такты)

И Отброшенные заявки РОбщее количество заявок ]

Рис. 3. Диаграмма обслуживания заявок без использования алгоритма расстановки приоритетов

13 12

1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 57 59

Время выполнения (Такты)

■ Отброшенные заявки

□ Общее количество заявок

Рис. 4. Диаграмма обслуживания заявок с использованием алгоритма расстановки приоритетов

1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 3 5 37 3 9 41 43 45 47 49 51 53 5 5 57 59

Время выполнения (Такты)

- С использованием приоритетов

Без использования приоритетов

Рис. 5. Диаграмма динамики выполнения заявок

Построенная модель и приведенный алгоритм могут применяться для повышения эффективности использования аппаратных и программных ре-

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

Литература

1. Решетников В.Н. Интернет-технологии в электронном образовании // Программные продукты и системы. 2010. № 3.

2. Решетников В.Н. Космические телекоммуникации. Системы спутниковой связи и навигации. СПб: «Ленинградское изд-во», 2010. 134 с.

3. Решетников В.Н. Космические телекоммуникации (начала). Тверь: Центрпрограммсистем, 2009. 128 с.

4. Жуков А.В. Некоторые модели оптимального управления входным потоком заявок в интранет-системах // Новые информационной технологии в ЦБП и энергетике: матер. 6-й науч.-технич. конф. Петрозаводск, 2004. С. 87-90.

5. Проблема адекватной оценки производительности вебсерверов в корпоративных сетях на предприятиях ЦБП / О.В. Гусев, А.В. Жуков, В.В. Поляков [и др.] // Новые информационные технологии в ЦБП и энергетике: матер. 6-й науч.-технич. конф. Петрозаводск, 2004. С. 84-87.

6. Парфенов Д.И., Болодурина И.П. Моделирование востребованности ресурсов в распределенной информационной системе дистанционной поддержки образовательного процесса / Высокие технологии, экономика, промышленность: сб. стат.; [под ред. А.П. Кудинова]. СПб: [Би], 2012. С. 30-34.

7. Парфенов Д.И., Программно-аппаратный комплекс видеопортала как эффективное средство информационного взаимодействия субъектов образовательного процесса // Информационная среда вуза XXI века: тр. V междунар. науч.-практич. конф. СПб: [Би], 2011. С. 141-144.

References

1. Reshetnikov V.N., Programmnye Produkty i Sistemy, 2010, no. 3.

2. Reshetnikov V.N., St. Petersburg, Leningradskoe izd-vo,

2010, 134 p.

3. Reshetnikov V.N., Tver, Tsentrprogrammsistem. 2009, 128 p.

4. Zhukov A.V., 6 Nauch.-tehnich. Konf. (6th Scientific and Technical Conference), Petrozavodsk, 2004, pp. 87-90.

5. Gusev O.V., Polyakov V.V., Zhukov A.V., Polyakov S.V., 6 Nauch.-tekhnich. Konf. (6th Scientific and Technical Conference), Petrozavodsk, 2004, pp. 84-87.

6. Parfenov D.I., Bolodurina I.P., Vysokie tehnologii, ekonomika, promyshlennost, St. Petersburg, 2012, pp. 30-34.

7. Parfenov D.I., VMezhdunarod. Nauch.-praktich. Konf. (V International scientific and practical conference), St. Petersburg,

2011, pp. 141-144.

УДК 004.89: 004.853

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

Г.Б. Бронфельд, к.т.н.

(Нижегородский государственный технический университет им.. Р.Е. Алексеева,

sirius-2@yandex. ru)

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

01020610371006103710080437100810082006040602060001020800061008103704060437

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

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

Близкий к описанному подход был использован Д. Греем при создании баз чисто числовых данных. Данный подход применим при разработке интеллектуальных систем для широкого круга знаний.

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

ABOUT A METHOD OF KNOWLEDGE REPRESENTATION Bronfeld G.B., Ph.D. (Alekseev State Technical University of Nizhni Novgorod, [email protected]) Abstract. In the article there is considered a new method for knowledge modeling in the form of molingas by creating knowledge bases of intelligence systems. In this approach simple sentences are represented as short semantic network by an expert-editor in manual or semi-automatic way that has long been applied when creating expert systems. The original grammatical structure is retained. Complex sentences are divided in simple ones. The received model of sentence is named molinga. The study gives its formal description. Molingas include many ID numbers, core, molinga core usability condition, code sequence of dictionaries numbers, confidence level, postconditions. There is given a kind of semantic network which can represent the core of molinga. Knowledge base consists of a set of molingas. The article describes a step-by-step procedure for obtaining molingas as text models. Simple sentences that have semantic meaning of already entered molingas, do not enter again in the knowledge base. The passage of real text demonstrates the knowledge base example created as a set of molingas, the glossary of terms is given, which is then used with this knowledge base by inferencing. The text has a link to the author's new patent on this knowledge modeling technology. This way of knowledge modeling from texts enables technology of direct knowledge overlay.

Similar approach has been used by D. Grey by creation of purely numerical databases. This approach can be used to develop intelligence systems for a wide range of knowledge.

Keywords: knowledge model, molinga, knowledge management, text, modeling, semantic network, knowledge base, knowledge integration.

Существуют различные способы представления знаний, применяемые, в частности, для моделирования текстов [1]. Сами тексты на естественном языке, создаваемые человеком, например на русском языке, - довольно сложные образования [2].

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

К широко применяемым моделям знаний относятся, например, логические и продукционные модели, семантические сети, фреймы [1]. В числе наиболее используемых для текстов - САО-струк-туры, модели семантик предпочтения, модели «смысл-текст» Жолковского и Мельчука, модели грануляции знаний [3] и др. По сути основными сравнительными достоинствами каждой из них являются степень отражения и сохранения семантического смысла того, что написано человеком в исходном тексте, и возможность конструктивно создавать интеллектуальные системы (ИС) и близкие к ним на базе применения вычислительной техники для получения полезных для пользователя результатов.

Процесс ввода знаний из некоего текстового источника Т в базу знаний (БЗ) некой ИС можно представить в виде схемы (рис. 1) [1].

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

i

Понимание формализация

Эксперт-редактор

Рис. 1. Схема извлечения знаний из текстового источника

Т

БЗ

понимание текста зависит от читателя [2], однако в БЗ воспринимаемые знания могут заноситься на современном уровне только в формальном виде, то есть существует этап формализации, и сами модели знаний будут иметь некий вид М2, отличный от М1. При этом какая-то часть семантического смысла неизбежно будет теряться. Есть еще одна проблема - результат как некое решение должен выдаваться ИС пользователю в виде взаимосвязанного текста, иногда достаточно обширного. Очень редко это просто цифра или набор цифр. Такое на практике встречается или в учебных задачах, или при решении каких-то чисто информационных проблем. В данной ситуации использование уже упомянутых моделей знаний в виде продукционных моделей, семантических сетей, фреймов и многих других приводит к непростой итоговой проблеме - получению ответа в виде взаимосвязанного текста. Проблему осложняет то, что значительную часть человеческих знаний трудно, а иногда и невозможно описать, используя детерминированные или стохастические методы, что связано с нечеткостью, неполнотой или неопределенностью этих знаний. В то же время это весьма характерно для естественных языков и связано с их сложной структурой и многообразием понятий.

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

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

Способ представления знаний моделью, названной молингой (сокращение от слов «модель для элинги» (электронной интеллектуальной книги) [4]), заключается в следующем.

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

Молинги имеют близкий к продукционным моделям, но принципиально отличающийся ядром вид: {} ; Р; 2; К; О; N. (1)

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

Текстов может быть много, i=1, 2, ..., n. Одинаковость предложений в семантическом смысле и получение одинаковых молинг определяет эксперт-редактор. Одинаковые молинги могут попадаться как в одном тексте, так и в разных.

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

Элемент Р - условие применимости ядра мо-линги. Обычно Р представляет собой логическое выражение. Когда Р принимает значение «истина», ядро молинги активизируется.

Основным элементом молинги является ее ядро Z - моделируемое простое предложение.

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

В О указываются уровни достоверности мо-линг, например, в виде факторов уверенности, впервые примененных в ЭС MYCIN с указанием диапазона достоверности от -1 (абсолютная ложь) до +1 (абсолютная истина).

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

Фактически такое представление имеет вид закодированных маленьких семантических сетей специального вида.

Эксперт-редактор последовательно по предложениям вручную (или полуавтоматически) просматривает весь текст Т и преобразует предложения текста в молинги. При необходимости он может добавлять свои молинги.

Предположим, исходное моделируемое предложение из Ti [1] следующее: «Неформальные методы выявления связей придумывает инженер по знаниям для того, чтобы вынудить эксперта указать явные и неявные связи между понятиями»

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

1.4.4.33; ; Неформальные методы выявления связей придумывает инженерпознаниям; 3, 1, 2, 1, 2, 1;0,7;;

1.4.4.33;; Инженерпознаниям подталкивает эксперта указывать явныесвязи и неявныесвязи между понятиями;1, 2, 1, 2, 1, 5, 1, 2, 1;0,4;;

Составлющие идентификатора 1.4.4.33 означают: 1 - номер источника, 4 - номер главы, 4 -номер параграфа, 33 - порядковый номер абзаца в нем.

В К приведены номера словарей, куда входят соответствующие слова (фразеологизмы): 1 - словарь терминов, 2 - словарь отношений, 3 - словарь качественных признаков, 4 - словарь количественных признаков, 5 - словарь лингвистических и логических связей. Некоторые фразеологизмы состоят из 2 (нескольких) слов: инженер_по_зна-ниям, явные связи, неявные связи. Занесение слов (фразеологизмов) в словари выполняет эксперт-редактор.

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

В результате БЗ элинги можно представить огромным набором коротких семантических сетей специального вида (рис. 2), внешне читаемых как вполне ясные и достаточно короткие предложения.

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

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

помощью новых из других источников и их дополнение [4].

Молинги относятся к модельным представлениям знаний ярко выраженного декларативного типа и могут находиться в любом месте БЗ, в принципе не влияя на результаты вывода. Тем не менее особенность процедуры создания БЗ подобного типа такова, что абсолютное большинство молинг из вводимых текстов будут находиться в БЗ последовательно относительно вводимых текстовых источников и их содержания. Эта особенность БЗ [4] при логическом выводе в дальнейшем приводит к резкому ускорению поиска результатов и новым возможностям, которые для большинства ИС на более традиционных БЗ или сложны, или недоступны.

В общем виде процесс моделирования текста экспертом-редактором с применением молинг с учетом предварительной обработки текста включает следующие шаги.

Шаг 1. Берется текст Ti или в электронном (машиночитаемом формате), или в печатном виде.

Шаг 2. Приведение текста к формату, используемому в БЗ; печатный текст может вводиться вручную или считываться.

Шаг 3. Предварительная обработка текста:

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

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

- слова приводятся к одному регистру;

- вместо местоимений (при необходимости) вставляются слова, которые они заменяют;

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

Шаг 4. Разбиение текста на простые предложения (по необходимости).

Шаг 5. Создание молинг поэтапно по предложениям с указанием их идентификаторов, всей остальной структуры с указанием кодовой последовательности ядра молинги, факторов уверенности и отсылки к постусловиям.

Шаг 6. Попытка ввода молинги в БЗ. Если таковой там нет (полностью соответствующей семантическому смыслу), она вводится и происходит возврат к шагу 5 для создания новой молинги, пока текст не будет исчерпан (это шаг 8). Если такая молинга в БЗ есть, осуществляется переход к шагу 7.

Шаг 7. Если ядро молинги из БЗ семантически одинаково и совпадает постусловие (или в новой молинге его нет), то просто добавляется идентификатор новой молинги к множеству идентифика-

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

связей инженер_по_зна-

-► -►

выявления

неформальные

инженер_по_зна- эксперта явные_связи неявные_ поня_

ниям связи тиями

О-Ю-КЗ—ю-ю

подталкивает указывать и между

Рис. 2. Представление с помощью молинг

торов данной молинги, которые в БЗ уже были. Если фактор уверенности у новой молинги тот же, что в БЗ, или другой, то он может

- не меняться;

- изменяться по решению эксперта-редактора;

- рассчитываться по формуле расчета экспоненциальной скользящей средней:

Ок=(/к-Окл)>5+ок-1, к=1, 2, ..., т, (2)

где 5=2/(т+1); к=1, 2, ..., т - номер текущего идентификатора; т - количество всех идентификаторов на текущий момент; ок - рассчитываемый фактор уверенности молинги, заносимый в БЗ; /к -фактор уверенности молинги, который хотел бы придать на текущий момент эксперт-редактор; ок-1 - фактор уверенности молинги, который уже был ранее занесен в БЗ.

Если постусловие другое, данная молинга может вводиться в БЗ самостоятельно со своим постусловием (в БЗ будут две молинги с семантически одинаковым ядром, но разными идентификаторами и постусловиями).

Шаг 8. Окончание ввода текста. Переход к шагу 1 для ввода /+1-текста.

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

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

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

Приведем пример моделирования, например, конкретного абзаца [2] как части текста: «Интертекстуальность, понимаемая как наличие в тексте элементов (частей) других текстов, присуща любому тексту. Однако если это свойство становится для данного текста доминирующим, то он теряет цельность, что и можно наблюдать на примере "Утра" - текста с тематической недостаточностью. Чтобы восстановить цельность, нужно найти и собрать воедино все интертекстуальные связи такого текста с другими текстами А. Белого. Вся совокупность таких связей будет представлять не что иное, как модель "обычного" текста - цельного и семантически

автономного. В этом и наша задача: проделать интертекстуальный анализ "Утра", с тем чтобы дополнить его семантику "до цельности"».

Часть БЗ с молингами будет иметь, например, такой вид:

3.2.3.3;;Интертекстуальность, понимаемая как наличие в тексте частей других текстов, присуща любому тексту;!, 2, 5, 2, 5, 1, 2, 3, 1;0,8;;

3.2.3.3;;Если свойство становится для данного текста доминирующим, то он теряет цельность, что наблюдается на примере «Утра» Белого А.;5, 1, 2, 5, 3, 1, 1, 5, 5, 2, 1, 5, 2, 5, 1, 1, 1;0,5;;

3.2.3.3;;«Утро» А. Белого - текст с темати-ческой_недостаточностью;1, 1, 1, 5, 1;0,6;;

3.2.3.3;;Чтобы восстановить цельность «Утра» Белого А., нужно найти и собрать воедино интертекстуальные связи текста с другими текстами Белого А.;5, 2, 1, 1, 1, 5, 2,5, 2, 3, 1, 1, 1, 5, 3, 1, 1;0,6;;

3.2.3.3;;Совокупность связей представляется моделью "обычного"_текста - цельного и семантически автономного;1, 1, 2, 1, 1, 1, 5, 1, 1;0,6;;

3.2.3.3;;3адача: проделать интертекстуальный анализ «Утра» Белого А., чтобы дополнить его семантику "до_цельности";1, 2, 1, 1, 1, 1, 5, 2, 5, 1, 1;0,8;;

Приведем состав словаря терминов для данного абзаца и ранее рассмотренного сложного предложения.

Словарь терминов (1):

автономного анализ Белого А. доминирующим задача

интертекстуальность, интертекстуальные, интертекстуальный инженер_по_знаниям методы моделью неявные_связи понятиями примере

"обычного "текста свойство

связи, связей, явные_связи, неявные_связи семантически, семантику совокупность

текстов, тексту, текста, текстами тематической_недостаточностью «Утра», «Утро»

цельность, цельного, "до цельности"

эксперта

явные_связи

Молинги использованы для создания БЗ прототипов элинг и аналитических систем управления знаниями [4], защищенных патентом на полезную модель (№ 104348, 2011 г., автор Бронфельд Г.Б.).

Данный способ моделирования знаний может использоваться для создания различных новых ИС и модернизации существующих, в частности, систем управления знаниями. По сути именно он позволяет реализовать идеи интеграции знаний, развитые когда-то в 80-х профессором Э. Тыугу, реального создания объединенных БЗ на основе наложения знаний, опробованных в конце 90-х Д. Греем, и реализации идеи А. Ворожцова [3] в начале 21 века о грануляции знаний, но естественным путем.

Литература

1. Гаврилова Т.А., Хорошевский В.Ф. Базы знаний интеллектуальных систем. СПб: Питер, 2001. 384 с.

2. Лукин В.А. Художественный текст: Основы лингвис-

тической теории. Аналитический минимум. М.: Изд-во «Ось-89», 2009. 560 с.

3. Ворожцов А.В. Индустрия знаний // Информационные технологии и вычислительные системы. 2003. № 4. C. 145-148.

4. Бронфельд Г.Б. Подход к интеграции знаний с помощью элинг // Системы обработки информации и управления: тр. НГТУ им. Р.Е. Алексеева. 2009. Т. 74. Вып. 15. С. 5-11.

References

1. Gavrilova T.A., Horoshevskiy V.F., Bazy znaniy intellek-tualnykh system (Knowledgebase of Inteligence systems), St. Petersburg, 2001, 384 p.

2. Lukin V.A., Hudozhestvenny Tekst: Osnovy Lingvistiches-koy Teorii. Analiticheskiy Minimum (Literarty text: general linguistic theory. Analytical minimum), Moscow, 2009, 560 p.

3. Voroztscov A.V., Informacionnye Tehnologii i Vychislitel-nye Sistemy, 2003, no. 4, pp. 145-148.

4. Bronfeld G.B., Trudy Nizhegorodskogo Gos. Tehnich. Univ. im. R.E. Alekseeva, 2009, Vol. 74, Iss. 15, pp. 5-11.

УДК 519. 767

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

Ю.П. Кораблин,, д.т.н..; Е.Г. Павлов

(Российский государственный социальный университет, г. Москва, y.p. k@mail. ru, lucenticus@gmail. com)

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

Инструмент для поиска ошибок синхронизации состоит из четырех основных частей: препроцессора, транслятора кода драйвера в программу на языке асинхронных функциональных схем (далее АФС), модуля представления программы АФС в виде системы рекурсивных уравнений, анализатора системы рекурсивных уравнений.

Препроцессор реализован в виде сценария на языке bash, его назначение - подготовка кода драйвера к трансляции в язык АФС.

После всех подготовительных процедур препроцессор передает управление транслятору в язык АФС. Транслятор написан с использованием генераторов лексических анализаторов GNU Flex и синтаксических анализаторов GNU Bison. Драйвер преобразуется в программу на языке АФС на основе заданной в настоящей статье операционной семантики для объектов синхронизации.

Следующим этапом является преобразование программы на языке АФС в систему рекурсивных уравнений. На основе теории из [3] программа на языке АФС представляется в виде системы рекурсивных уравнений, которая задает множество вычислительных последовательностей, сопоставляемое структуре драйвера.

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

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

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

ANALYSIS TOOLS OF LINUX OPERATING SYSTEM DRIVERS DEVELOPMENT

Korablin Yu.P., Ph.D.; PavlovE.G. (Russian State Social University, Moscow, [email protected], [email protected])

Аbstract. The article describes the tool for search of synchronization problems in Linux operating system drivers that uses the detection of error situations by using semantic models. This method is based on theory, described in the work [2], it enables to detect such errors of synchronization as loops, deadlocks, double locking and others.

Tool for search of synchronization errors consists of four main parts: the preprocessor, the compiler of driver code to program in the language of asynchronous functional schemes (AFS), the presentation of the AFS program as a system of recursive equations, analyzer of recursive equations system.

The preprocessor is implemented as a script in the bash language, its purpose is to prepare the driver code to translate into the AFS language.

i Надоели баннеры? Вы всегда можете отключить рекламу.