автореферат диссертации по информатике, вычислительной технике и управлению, 05.13.11, диссертация на тему:Модели и методы параллельной асинхронной переработки информации в графодинамической ассоциативной памяти

кандидата технических наук
Гапонов, Павел Анатольевич
город
Минск
год
2000
специальность ВАК РФ
05.13.11
Диссертация по информатике, вычислительной технике и управлению на тему «Модели и методы параллельной асинхронной переработки информации в графодинамической ассоциативной памяти»

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

Г:\3 ОД • 2 ш 2JG3

РСССКЙСК Ал АКАДЕМИЯ НАУК

икспггу- ;:?gs;i.?.m управления

На ftpasu-i рухст-ги

ОД 681.3

ГАПОНОа Пьз

МОДЕЛИ WL МЕТОДЫ ПАРАЛЛЕЛЬНОЙ АСИИХРОИЕОЙ ШЕРЗРА5ОТЯИ SOZOOTMAEgEIB 3 ГРАФОДИСЕАМЕГЧЕСХО® АСШ^ГОДШВНОЙ ПАМЯТИ

С5.1ЛЛ I - Математическое и ¡ггрограммнсе обеспечение зычкглкге-зккх мгзг/л-i, ломплехссз, систем и сетей

Автореферат диссертации на соискание ученой степени кандида-ча технических наук

■ ... ,_____ n /V'-» г1

Работа выполнена в Белорусском матики и радиоэлектроники.

Научный руководитель:

Официальные оппоненты:

Ведущая организация:

государственном университете инфор-

доктор технических наук Голенков Владимир Васильевич

доктор технических наук, профессор

Вагин Вадим Николаевич

кандидат технических наук Микулич Леонид Ильич

Инстигут программных систем РАН (Переславль-Зглесский)

Защита состоится "_" марта 2000 г. в_часов на заседании диссертационного сэвета Д 002.68.01 Института проблем управления по адресу: 117806, г. М.5гхзг, ул. Профсоюзная. 65.

С диссертацией можно ознакомиться б библиотеке Института проблем управления.

Автореферат разослан "_" февраля 2000 г.

Ученый секретарь

¿',к;.{:ср1ацискного совета Юркеаич Е.В.

^Лгъм-опл О

а

©КЩАЯ ХАРАКТЕРИСТИКА РАБОТЫ

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

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

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

2) Отсутствие комплексного подхода и адекватных решаемому классу задач инструментально-технологических средств при разработке системного (и, как следствие, прикладного) программного обеспечения. Программное обеспечение часто либо разрабатывается в отрыве от аппаратуры (так, первые практически пригодные операционные системы для транспьютеров появились лишь спустя 4-5 лет после их создания!), либо наоборот, жестко ориентировано на ее конкретную реализацию (многие Lisp- и Prolog-машины). Инструментальные средства не поддерживают современные методологии разработки, что затрудняет создание больших прикладных систем.

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

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

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

В соответствии с поставленной целью в диссертационной работе решаются следующие задачи:

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

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

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

В основе предлагаемого в данной работе подхода к решению поставленных задач лежат следующие положения:

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

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

3) использование в качестве базового языка системного программного обеспечения графового языка параллельного процедурного программирования 8СР;

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

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

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

Шаучишш шгавшзша работы заключается в следующем.

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

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

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

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

Остовиымш научшъпмш результатами, шышшшмымш иа защиту, являются:

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

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

3) базовые методы организации межпроцессной коммуникации в логически общей графодинамической ассоциативной памяти;

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

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

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

интеллектуальная геоинформационная система поддержки принятия решений при выборе участков местности для строительства экологически опасных объектов (Институт проблем энергетики АНБ);

интеллектуальная онкологическая система для определения индивидуальной радиочувствительности организма-опухоленосителя (НИИ онкологии и медицинской радиологии МЗ РБ);

интеллектуальная система выбора тактики лечения больных с хронической почечной недостаточностью (БелЫИИ кардиологии МЗ РБ);

система поддержки принятия решений о нефтеперспективности геологических объектов Припятского выступа (ПО "Западнефтегеофизика").

Ашробащшш результатов работы. Работа выполнялась в рамках Республиканской программы "Информатика", программы фундаментальных исследований АНБ "Разработка научных основ новых информационных технологий", программы "Белкосмос", а также ряда отдельных проектов, в т.ч. Минпрома РБ.

Материалы работы докладывались и обсуждались на следующих научных конференциях и семинарах: И конференции Российской Транспьютерной Ассоциации (Домодедово, 1992); международной конференции по искусствен ному интеллекту "East-West Conference on Artificial Intelligence. From Theory to Practice" (Москва, 1993); V конференции Российской Транспьютерной Ассоциации (Домодедово, 1996).

Результаты работы демонстрировались на следующих выставках: первой Межгосударственной выставке инновационной продукции "ИНПРОМТЕХ-95" (Минск, 1995); международной выставке-семинаре "Беларусь-Адукацыя-95" (Минск, 1995); "Беларусь-Энергая'95, Беларусь- Экология'95, Беларусь-Автоматика'95" (Минск, 1995).

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

Структура и объем ра:5оты. Работа включает в себя введение, 4 главы, заключение, список использованных источников и 3 приложения. Общий объем основного текста - 95 стр., включая 8 рисунков. Список использованных источников содержит 113 наименований.

СОДЕРЖАНИЕ РАБОТЫ

ГЛАВА 1. МОДЕЛИ И СРЕДСТВА ПАРАЛЛЕЛЬНОЙ ОРГАНИЗАЦИИ ВЫЧИСЛИТЕЛЬНОГО ПРОЦЕССА.

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

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

Рассмотрены классические и современные модели обработки транзакций. Транзакцией является логическая единица работы (некоторый набор действий) в системе, удовлетворяющий требованиям ACID (atomicity, consistency, isolation, durability), а именно:

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

ложении проверки.

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

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

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

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

В разделе 1.4 рассмотрены современные средства разработки сложных информационных систем и особенности представления информации в них.

ГЛАВА 2 БАЗОВЫЕ ГРАФОДИНАМИЧЕСКИЕ МОДЕЛИ ПЕРЕРАБОТКИ ИНФОРМАЦИИ.

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

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

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

ВС-дуга из X в ¥ (записывается как Х->¥) означает, что

X - есть узел - знак некоторого множества;

¥ - знак некоторого объекта;

сам узел ¥ (знак), а не обозначаемый им объект, является элементом множества, обозначаемого узлом X.

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

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

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

Ключевой ВС-узел, как и любой другой - знак некоторого конкретного множества. Этим множеством может быть:

- одноэлементное множество (предметный узел), единственным элементом которого является конкретный объект некоторой предметной области — конкретная прямая, конкретный стол и т.д.;

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

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

Множество знаков отношений включает в себя класс знаков унарных отношений, симметричных отношений, асимметричных отношений, бинарных отношений и т.д. Каждое отношение формально трактуется как множество семантически однотипных элементов §С-конструкции. Например, бинарное асимметричное отношение "Упорядочение по величине", заданное на множестве чисел, представляется в виде множества асимметричных связок, каждая из которых обозначает пару чисел, упорядоченных по признаку "Меньшее число -Большее число" (см. рисунок).

Это отношение задается БС-узлом соштрагеКшптЬ, обозначающим множество ВС-узлов, каждый из которых представляет собой знак двухэлементного множества (асимметричной связки), состоящего из 5С-узла, обозначающего некоторое число, и из ВС-узла, обозначающего другое число, который больше первого. Для того чтобы иметь возможность отличать роли первого и второго числа в рамках пары (кортежа), принадлежащего отношению "Упорядочение по величине", для этого отношения вводится два специальных унарных отношения

отношения (атрибута) "Быть меньшим числом" и "Быть большим числом". Первое отношение задается SC-узлом lesser®, обозначающим множество SC-дуг, каждая из которых проведена из SC-узла, являющегося элементом множества, знаком которого является SC-узел compareNimto, в SC-узел (SC-узел 3 на рисунке), являющийся одним из элементов двухэлементного множества и обозначающий меньшее число по отношению к числу, которое обозначено вторым SC-узлом (SC-узел 5 на рисунке), входящим в состав указанного двухэлементного множества (SC-узел pair на рисунке).

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

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

В процессе переработки SC-конструкции изменяется:

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

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

В разделе 2.4 в качестве базового средства анализа и интеграции различных моделей транзакций предлагается метамодель

МТ= (А, М_Ык, М_4г, X)

где

А= (Ь, М) - абстрактная машина, описывающая операционную семантику языка 8СР (абстрактная БСР-машина); I. - язык 8СР; Ш - набор операций, осуществляющих изменение состояния ЕС-памяти М.

М= КиРи§и®, где

К - ключевые узлы абстрактной §СР-машины;

Р - ВСР-программы (тексты языка §СР, описывающие алгоритмы переработки ВС-конструкций);

Б - §С-конструкции, описывающие текущее состояние абстрактной 8СР-машины - дескрипторы 8СР-процессов (процессов выполнения БСР-программ), очереди процедур и т. д.;

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

М_Ык=(С, 1, Ж', Мс, 1!ь>

Здесь

1. С={с!} - мно>кество типов синтаксических конструкций языка Ь, на которые могут быть установлены блокировки. Состав С определяет степени дробления блокировок и возможность их динамического варьирования в соответствии с уровнем загруженности системных ресурсов.

2. В={Ь[} - множество типов блокировок. Определяет диапазон режимов доступа (например «монопольный - взаимный») и, соответственно, возможности модели по гибкому управлению параллелизмом за счет выбора минимально необходимых ограничений на доступ к информации в каждой конкретной ситуации.

3. ;а'={г'.} - множество отношений зависимости между транзакциями («предок - потомок», «субтранзакция - компенсирующая транзакция» и т.д.). Определяет возможности отражения структуры выполняемого множества работ в модели транзакций.

4. МС={1ГС1 сС'} ■ непустое множество отношений между элементами С, учитываемых при установке блокировок («знак кортежа - знак отношения», «узел-начало - инцидентная выходящая дуга» и т.д.). Мс характеризует возможности учета структуры обрабатываемой информации.

5. Мь= { гЬ(=(с, Ь, §+, §') } - множество формальных определе-

ний блокировок. Здесь сеС - конструкция, на которую устанавливается блокировка некоторой транзакцией Тг; ЬеШ> - тип устанавливаемой блокировки.

{§°|}; любой элемент §®= { §® =(с„ гс8, Ь„ г1,) } описывает некоторое множество блокировок (установленных транзакциями Тг', (Тг,Тг')ег',) на конструкции с„ семантически связанные с с ((с5,с)егс5; с, может совпадать с с). Если перед установкой Ь в памяти уже присутствует хотя бы одна из блокировок Ь, на с„ Ь не устанавливается. Фактически §° определяет отношение эквивалентности для блокировки Ь на конструкции с.

Аналогично каждый элемент описывает блокировки, которые должны быть установлены перед установкой блокировки Ш> на конструкцию с (§+ определяет отношение предшествования'); каждый элемент ЕГ\ описывает блокировки, которые должны отсутствовать перед установкой Ь на с (8~ определяет отношение конфликта); каждый элемент §"| описывает блокировки, которые должны быть удалены после установки I на с (§* определяет отношение замены).

М_Иг= {Шв,

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

Х= {ж£} - множество операций удаления и добавления элементов М_1г и М_5Л в рамках текущей модели транзакций. Определяет возможность динамического изменения модели транзакций в зависимости от условий периода исполнения, что принципиально для семиотических систем.

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

Основные отличительные особенности метамодели:

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

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

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

ГЛАВА 3. ОРГАНИЗАЦИЯ ВЗАИМОДЕЙСТВИЯ ПАРАЛЛЕЛЬНЫХ ПРОЦЕССОВ В ГРАФОДИНАМИЧЕСКОЙ АССОЦИАТИВНОЙ ПАМЯТИ.

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

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

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

Рассмотрим подходы к решению указанных проблем в базовой модели обработки транзакций (БСР-процессов), разработанной для языка БСР на основе предложенной метамодели. Множество типов объектов, на которые могут быть установлены блокировки: С={га, а, с}, где т(иос1е)- узел; ж(огс)- дуга; с(сотеШ)-содержимое БС-элемента. Для обеспечения требований АСШ фиксируются следующие типы блокировки: В={ <Е, Е, СЖ, ОУ}.

§(5еагсЬ)-блокировка устанавливается на БС-элементы, входящие в состав ВС-конструкции, являющейся условием выполнения операторов, т.е. найденные данной транзакцией в памяти в ходе выполнения поисковых операций. В-блокировка фиксирует БС-конструкцию, предотвращая ее неконтролируемое изменение со стороны других транзакций.

<Е(Сепега1е)-блокировка устанавливается на БС-элементы, порожденные в памяти в ходе выполнения транзакции. О-блохируемые элементы - это элементы, которые предполагается ввести в состаз общедоступной (для остальных транзакций) ВС-конструкции, но окончательное решение об этом откладывается до успешного завершения транзакции.

Е(£ггзе)-блс:<крсвха устанавливается на БС-элементы, удаленные из памяти в рамках конкретной транзакции. Е-блокируемые элементы предполагается удалить из состава общедоступной (для остальных транзакций) ВС-конструкции,

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

4. §§(5еагсЬ о£ ¿>е1)-блокировка фиксирует (В-блокирует): (а) ВС-узел N (на который устанавливается ВВ-блокировка) - знак некоторого множества ВС-элементов, (б) все ВС-узлы и дуги - элементы множества, обозначенного узлом Н, (в) все ВС-дуги, выходящие из узла N и входящие в элементы множества, обозначаемого N. ВВ-блокировка предотвращает неконтролируемое изменение (удаление и добавление ВС-элементов) некоторого множества N со стороны других транзакций.

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

СЩСоШеп! ¡э Леас1т§)-блокировка означает, что ВСР-процессом была выполнена операция чтения содержимого ВС-элемента; ОУ(СоЩеШ: ¿б ¥/гИт%)-блокировка означает, что ВСР-процессом была выполнена операция изменения содержимого ВС-элемента.

Блокировки представляются в памяти ВС-конструкцией следующего вида:

Рг®«:т§СР-> ¡рг -$> ЫМ2_: Ы1кС_р1Г? Ы1кС_рг -> (Ык<Е -> я);

где

РгютеззБСР - знак отношения "Быть ВСР-процессом"; рг - конкретный ВСР-процесс; ЫМЗ_ - знак атрибута отношения "Быть ВСР-процессом"; ЫЫ5 -ключевой узел, обозначающий множество всех ВС-элементов, имеющих О-блокировку; ЫкС^ - ВС-узел, указывающий на множество ВС-элементов, имеющих О-блокировку в рамках ВСР-процесса рг (блокировочный узел процесса рг); х - один из ВС-элементов, имеющих О-блокировку в рамках ВСР-процесса рг.

Аналогичным образом задаются и другие типы блокировок.

Каждый элемент ВС-конструкции, перерабатываемой некоторым ВСР-процессом, 1) имеет одну, и только одну из В,§В,0,Е-блокировок данного процесса; 2) дополнительно может иметь одну СИ или СУУ-блокировку данного процесса, если у элемента есть содержимое.

Каждый элемент ВС-конструкции может иметь несколько блокировок типа В,ВВ,0,Е,СИ, установленных различными транзакциями (ВСР-процессами), и максимум одну С^блокировку некоторого процесса (если у элемента есть со-

держимое).

Ж'={ Жр9 Жр"1, 3.,}, где Ж= - отношение тождественности транзакций; Жр - транзитивное замыкание отношения "отец-сын" ((ид2)еЯр означает, что транзакция ¡2 является потомком транзакции 11 или потомком потомка И); Ж,£= Т - (Ж^ЖриЖр*1).

ЖС={ЖЭ9 Ж6, Ж.>9 Ж%>, М©9 Ж./1, Ж./^"1}. В БС (и других графовых языках) отношение непосредственного соседства разбивается на несколько отношений, каждое из которых имеет свою семантику. Здесь Ж=={(п,п), (а,а), (с,с)} - отношение тождественности типов ВС-конструкций; Же={(п,п), <а,п), (е,п)} - отношение принадлежности; Ж,>={(п,а)} - отношение инцидентности узла- начала дуги к дуге; Жо/о>={(п,а), (а,а)} - отношение инцидентности элемента - конца дуги к дуге; Ж@={(с,п), (с,а)} - отношение принадлежности содержимого БС-элементу.

При успешном завершении глобальной транзакции (БСР-процесса, не имеющего родителя):

1. Все Б, ББ, СИ, С1Лг-блокированные ей БС-элементы становятся разблокированными и, следовательно, общедоступными для других процессов.

2. Для С,Е-блокированных БС-злементоз, не имеющих конфликтующих с ними блокировок других транзакций (соответственно, Е-блокировок для О-блокированных и С-блокировок для Е-блокированных) выполняются следующие действия:

- все О-блокированные БС-элементы становятся разблокированными и, следовательно, общедоступными для других процессов;

- все Е-блокированные БС-элементы удаляются из общедоступной памяти.

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

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

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

В случае (в) производится принудительное упорядочение транзакций в группе в соответствии с временной последовательностью их запуска (с исполь-

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

Дальнейшая обработка блокировок совпадает с описанной выше в пункте 2.

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

При неудачном завершении (откате) транзакции:

- все Б,ББ,Е,СИ-блокированные ей БС-элементы становятся разблокированными и, следовательно, общедоступными для других процессов;

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

- для всех CW-блoкиpoвaнныx БС-элементов восстанавливается значение содержимого, бывшее до начала выполнения транзакции, и снимается С\У-блокировка.

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

В отличие от большинства существующих информационных систем аналогичного класса (серверы СУБД, САБЕ-средства, и т.п.) блокировки не реализуются неким внешним по отношению к системе механизмом, использующим свои внутренние (а потому критичные по использованию ресурсов) структуры для учета и управления блокировками. Необходимость обеспечения блокировок учитывается всей организацией переработки информации в графодинамической памяти. Предлагаемый механизм является неотъемлемой частью ядра системы программирования на БСР и используется (помимо реализации различных моде-

лей транзакций) в базовых механизмах безопасности, поддержки версий проекта, отладки и т.д.

В разделе 3.2 рассматриваются модели и языковые средства межпроцессной коммуникации: контексты, события и операторы Wait.

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

1. Каждая переменная и константа SCP-программы определена (доступна, используется) как минимум в одном контексте. SCP-переменная (константа) может быть одновременно определена в нескольких контекстах (возможно, с различными правами доступа) даже в рамках одного §СР-процесса.

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

Отметим также, что знак контекста может быть передан в качестве параметра SCP-процедуры, а также включен в некоторое множество SC-злементов.

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

Контексты могут использоваться для межпроцессной коммуникации аналогично портам (как в Mach и других операционных системах). Принципиальным отличием является возможность динамического создания и/или поиска контекстов во время выполнения SCP-процессов. Это необходимо для интеллектуальных систем, в которых потенциальный параллелизм и поведение объектов существенно зависит от условий периода исполнения программы.

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

произвольной) SC-конструкции в определенном контексте. Событие доступно (произошло) для SCP-процесса, если и только если данный процесс имеет соответствующие права доступа (например, на чтение) к SC-узлу, обозначающему контекст формирования события.

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

Операторы ожидания событий (Wait) позволяют фиксировать формирование некоторой SC-конструкции в указанных контекстах. Например, оператор

Wait( х, y-$>z; -->у, [у>5; w< 0.2S]); где значения переменных у и % вычислены перед началом его выполнения, описывает ожидание ситуации "Генерация некоторого SC-элемента (становящегося значением переменной х) в соответствующем контексте (в котором х определена) И наличие дуги между SC-элементами - значениями переменных у и % ИЛИ появление у SC-элемента, обозначаемого переменной у, входящей дуги И [значение содержимого SC-элемента, обозначаемого переменной у, больше 5 ИЛИ значение содержимого SC-элемента (становящегося значением переменной w), сгенерированного в соответствующем контексте (в котором w определена), меньше 0.25]". Оператор

Wa5ffiefarm( PI, Р2, РЗ ); переводит текущий SCP-процесс в состояние ожидания завершения порох-сден-ных SCP-процессов, выполняющих процедуры PI, Р2 и РЗ.

Основные отличительные особенности предложенных механизмов межпроцессной коммуникации:

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

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

Компактность нелинейного представления информационных управляющих структур способствует эффективности обработки, поскольку вся информация, необходимая для организации доступа к ресурсам 8СР-процессов, обрабатывающих значительные по своим размерам фрагменты знаний, оказывается (на уровне реализации элементов памяти) сосредоточенной в локальной окрестности §С-узла. На основании этого удается разрешать конфликты между 8СР-процессами, не попадая в ситуацию глобальной блокировки памяти. Предложенная в главе базовая модель транзакций функционально эквивалентна модели открытых вложенных транзакций с использованием горизонта компенсации. Принципиальным отличием является то, что одновременное изменение некоторого фрагмента БС-конструкции в общей графодинамической памяти несколькими транзакциями не приводит к возникновению конфликтов между ними на этапе выполнения, что обеспечивает возможность максимального распараллеливания переработки сложно структурированной информации. Заметим, что это оказалось возможным только благодаря использованию графовой структурно-перестраиваемой ассоциативной памяти, обеспечивающей высокое "качество" информации в локальной окрестности блокируемой ВС-конструкции. Использование для решения аналогичных задач линейной памяти приводит, как показывает практика, к появлению множества копий блокируемого фрагмента, т.е. различных информационных источников, которые обновляются несинхронно и могут быть рассогласованы.

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

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

В разделе 4.2 описываются инструментальные средства системы параллельного программирования на языке БСР. В состав предлагаемой инструментальной среды, далее называемой терминальным модулем, входят средства,

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

В разделе 4.3 описываются представление БС-конструкций на виртуальном экране (в т.ч. использование цвета, яркости и мерцания), механизмы семантического управления визуализацией БС-конструкций и технология разработки прикладных интеллектуальных систем в разработанной среде визуального программирования. Ее основные этапы:

1. Открытие проекта. Формирование, загрузка в память и структурирование набора используемых баз знаний, библиотек БСР-программ, шаблонов и видеоформ"; настройка ассоциаций внешних приложений, пользовательского интерфейса и др.

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

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

и Видеоформа состоит из

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

(b) репрезентируемой ЕС-конструкции (создается пользователем в редакторе);

(c) БС-кокструхции, являющейся метаописанием репрезентируемой ЗС-конструкции: тип, справочная информация, поведение составляющих ВС-элементов и т.п.;

(ф ВС-конструкции, описывающей свойства видеоформы: тип, связи

с другими видеоформами; действия при генерации/удалении; элементы, отождествляемые при соединении видеоформ; и т.д.

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

Определение модели транзакций и уровня защиты для разделов базы знаний. Определение структуры виртуального экрана (иерархии слоев) в рамках текущего проекта.

4. Заполнение базы знаний с использованием редакторов, трансляторов, шаблонов и видеоформ. Формирование и ввод содержимого 8С-узлов. Настройка и проверка подсистемы навигации. Создание справки. Сохранение базы знаний на внешнем носителе в универсальном обменном формате.

5. Визуальное программирование ЗСР-программ. Представляет следующие действия:

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

изображение желаемого алгоритма в логически структурированном, многомерном виде на листах виртуального экрана;

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

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

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

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

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

1 Пример семантической визуализации: цветовое кодирование дает возможность отличать

° 8С-злементы, взеденые в графодинамическую память (по умолчанию — черного цвета);

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

событий и демонические БСР-программы. При необходимости - повторение этапов 1-6.

Принципиальными особенностями предлагаемой инструментальной среды являются:

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

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

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

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

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

В разделе 4.4 описаны принципы кодирования БС-конструкций (в т.ч. непосредственно используемых для организации параллельных вычислений) в реализованной модели графодинамического компьютера.

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

В ПРИЛОЖЕНИЯХ описаны ключевые узлы и синтаксис языка SCP, линейный язык высокого уровня SCPso.

ЗАКЛЮЧЕНИЕ.

Приводятся основные результаты диссертации.

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

2. Разработаны информационные конструкции и алгоритмы синхронизации параллельных процессов в графодинамической ассоциативной памяти (в рамках исследованных моделей транзакций) [2,3,8].

3. Разработаны методы межпроцессного взаимодействия в графодинамической ассоциативной памяти, позволяющие решить проблему динамического создания и реконфигурации топологии информационных связей между параллельными процессами [2,5-7,9].

4. Разработана и реализована в среде MS Windows система параллельного визуального программирования на графовых языках и инструментальные средства визуального проектирования прикладных интеллектуальных систем на ее основе [4].

5. Разработаны и реализованы в среде INMQS ANSI С Toolset архитектура и алгоритмы функционирования базовых компонент операционной системы графодикамического параллельного ассоциативного компьютера.

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

СПИСОК ОШШБЛШЖОВАИШПЬЖ РАБОТ ПО ТЕМЕ ДИССЕРТАЦИИ

1. Талонов П.А. Метамодель транзакций. //Международная школа-семинар по искусственному интеллекту (БРАСЛАВ-99): Сб. трудов. - Мн.: БГУИР, 1999. -с.183-191.

2.-Гапонов П.А. Подход к организации взаимодействия параллельных процессов в графодинамической памяти. //Материалы межд. конф. "Новые информационные технологии в науке и производстве". Минск, Беларусь. 25-27 ноября 1998 г. - с.61-65.

3. Талонов П.А. Методы организации параллельной переработки информации в ассоциативной памяти //Интеллектуальные системы. /Под ред. A.M. Крота. - Вып. 1. - Мн.: ИТК АНБ, 1998. - с.167-179.

4. Елисеева O.E., Гапонов П.А. Интеллектуальные обучающие системы: архитектура и способы реализации. //Интеллектуальные системы. /Под ред. A.M. Крота. - Вып. 2. - Мн.: ИТК АНБ, 1998. - с.149-165.

5. Голенков В.В., Гулякина H.A., Королев В.Г., Гапонов П.А., Ногина Н.Э. Описание языка SCPas. Операторы управления вычислительным процессом. Примеры npoipaMM. - Минск, 1994. - 36 с. (Препринт / ИТК АН Беларуси; N 11).

6. Голенков В.В., Гулякина H.A., Татаренко В.А., Гапонов П.А., Кузьмиц-кий В.М.. Описание семантики языка SCPas. Операторы поиска и проверки условий. Операторы управления вычислительным процессом. - Мн.: ИТК АНБ, 1994.-98 с.

7. Golenkov V.V., Gaponov P.A., Kuzmitsky V.M., Solovyov A.S., Ta-tarenko V.A. A Programming Language for Parallel Processing of Knowledge, Represented by Graph Structures //Proc. East-West conference on Artificial Intelligence. From Theory to Practice. Moscow, Russia. September 7-9, 1993.- P.17-19.

8. Гапонов П.А. Алгоритмы и структуры данных, используемые для организации взаимодействия параллельных асинхронных процессов переработки знаний в графодинамической памяти. //Международная школа-семинар по искусственному интеллекту для студентов, аспирантов и молодых ученых (БРАСЛАВ-97): Сб. трудов. - Мн.: БГУИР, 1997. - с.187-191.

9. Гапонов П.А., Голенков В.В., Беззубенок Н.В.. Модели и методы параллельной асинхронной переработки информации в графодинамической памяти: Методическое пособие по курсу "Графодинамические модели и методы параллельной асинхронной переработки информации" для студентов специальности "Искусственный интеллект". - Мн.: БГУИР, 1999. - 32 с.

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

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

в работе [5] лично автором разработаны концепция и номенклатура операторов синхронизации и порождения процессов графового процедурного языка параллельного программирования SCP;

в работе [6] лично автором разработаны принципы организации блокировок элементов при выполнении параллельных процессоз, а также семантика Call- и Wait-операторов языка SCP;

в работе [7] автором описаны принципы реализации интерпретатора графового процедурного языка параллельного программирования;

в работе [9] лично автором разработаны основные теоретические модели и методы организации параллелизма в графодинамической памяти.

Усл.печ.л. 1,6. Тираж 65 экз. Заказ 47.

Уч.-изд.л. 1,8.

Белорусский государственный университет информатики и радиоэлектроники 220600, Минск, ул. Бровки, 6

Оглавление автор диссертации — кандидата технических наук Гапонов, Павел Анатольевич

1. МОДЕЛИ И СРЕДСТВА ПАРАЛЛЕЛЬНОЙ ОРГАНИЗАЦИИ ВЫЧИСЛИТЕЛЬНОГО ПРОЦЕССА.

1.1. Модели и механизмы синхронизации в языках параллельного программирования (ЯШ).

1.2. Объектно-ориентированное и агенгно-ориентированное параллельное программирование.

1.2.1. Модель и языки акторов.

1.2.2. Интегрированные языки.

1.2.3. Проблемы интеграции параллелизма и объектных технологий.

1.2.4. Многоагентные системы.

1.2.5. Проблемы агентно-ориентированного подхода.

1.3. Принципы и модели обработки транзакций.

1.3.1. Плоские транзакции.

1.3.2. Контрольные точки. Многозвенные транзакции.

1.3.3. Вложенные транзакции.

1.3.4. Ослабленные модели транзакций.

1.3.5. Методы управления одновременным доступом к ресурсам.

1.4. Современные технологии разработки сложных информационных систем.

1.4.1. CASE-технологии.

1.4.2. Представление информации.

1.4.3. Графический интерфейс.

1.5. Выводы.

2. БАЗОВЫЕ ГРАФОДИНАМИЧЕСКИЕ МОДЕЛИ ПЕРЕРАБОТКИ ИНФОРМАЦИИ.

2.1. Графовые языки SC и SCP.

2.2. Базовые формальные модели.

2.3. Модели транзакций.

2.3.1. Метамодель транзакций.

2.3.2. Относительная сила блокировок.

2.3.3. Методика обработки блокировок.

2.3.4. Пример спецификации модели транзакций.

2.4. Выводы.

3. ОРГАНИЗАЦИЯ ВЗАИМОДЕЙСТВИЯ ПАРАЛЛЕЛЬНЫХ ПРОЦЕССОВ В ГРАФОДИНАМИЧЕСКОЙ АССОЦИАТИВНОЙ ПАМЯТИ.

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

3.1.1. SCP-процессы.>.

3.1.2. Модель транзакций БСР.

3.1.3. Информационные структуры и алгоритмы работы с блокировками.

3.2. Модели и языковые средства межпроцессной коммуникации в графодинамической ассоциативной памяти.

3.2.1. Контексты.

3.2.2. События.

3.2.3. Языковые средства межпроцессной коммуникации и их использование.

3.2.4. Сообщения.

3.3. Сравнительный анализ предлагаемых решений.

3.3.1. Сравнение с механизмами синхронизации и моделями транзакций, используемыми в современных СУБД.

3.3.2. Сравнение с объектно-ориентированным подходом.

3.3.3. Сравнение с языками параллельного программирования.

3.3.4. Сравнение с системами программирования на языках сверхвысокого уровня (ЯСВУ).

3.4. Выводы.

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

4.1. Обзор архитектуры среды.

4.1.1. Основные режимы работы пользователя.

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

4.1.3. Подсистема управления событиями.

4.2. Визуальное программирование интеллектуальных систем.

4.2.1. Принципы представления ВС-конструкций на виртуальном экране. Понятие листа.

4.2.2. Видеоформы.

4.2.3. Семантическая визуализация.

4.2.4. Технология разработки интеллектуальных систем в среде визуального программирования.

4.3. Реализация.

4.3.1. Используемые средства.

4.3.2. Кодирование ЕС-конструкций в модели графодинамической памяти.

4.3.3. Экспериментальная проверка.

4.4. Выводы.

Введение 2000 год, диссертация по информатике, вычислительной технике и управлению, Гапонов, Павел Анатольевич

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

1) практически исчерпаны физические резервы повышения производительности вычислительных систем традиционной однопроцессорной архитектуры. Достижение быстродействия, превышающего Ю10 опер/с, при существующих физических технологиях возможно только при переходе к многопроцессорным вычислительным системам, использующим параллельные принципы обработки информации [10-12];

2) параллельный недетерминизм часто являются единственно возможным механизмом достижения адекватного уровня абстракции при проектировании систем организованной сложности [13-15], позволяя не принимать во внимание несущественные аспекты поведения системы;

3) параллелизм является необходимым условием работы моделей коллективного взаимодействия в глобальных вычислительных сетях [16];

4) эффективная масштабируемость переработки информационных потоков при увеличении загрузки ИСОИ возможна только при параллельной организации вычислительного процесса.

5) традиционный, последовательный подход к разработке новых изделий стал уступать место "параллельному проектированию" (concurrent engineering, simultaneous engineering) [17,18]. В его основе лежит идея совмещенного проектирования изделия, а также процессов его изготовления и сопровождения, координируемая с помощью специальной распределенной информационной среды, что позволяет использовать проектные данные одновременно различными группами специалистов.

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

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

1) семантический анализ и практика использования СУБД в 70-80-х годах выявили сложность удовлетворительного решения в рамках классических моделей (иерархическая, сетевая, реляционная) таких задач, как идентификация и классификация объектов, автоматическая проверка объемных соотношений между понятиями и других семантических ограничений, задач интеллектуализации интерфейса с банками данных, хранения и манипулирования нетрадиционными элементами данных (тексты, пространственные данные) [19,20];

2) интенсивно развивается обширный класс информационно-поисковых систем, основанных на гипертексте и мультимедиа. Многие обучающие программы, справочные системы и электронная документация организуются на основе этой технологии. В WWW понятие гипертекстовой ссылки было расширено на глобальную сеть Internet. В последнее время пассивный характер подобных систем изменился, в них появились средства организации интерактивного обмена информацией и контекстно-настраиваемого диалога [21];

3) появляется необходимость в поддержке взаимодействия интеллектуальной системы (в ходе решения задачи) с целым коллективом пользователей. Интеллектуальная система становится равноправным членом коллектива, обеспечивающим координацию в процессе распределенного решения общей задачи [16,22-24].

Для современных систем, ориентированных на нечисловую переработку больших объемов сложноструктурированной информации, широкое использование технологий multimedia, полиэкранных адаптивных интерфейсов и многоагентного взаимодействия в глобальных сетях фон-неймановская архитектура не обеспечивает достаточной технологической гибкости, согласованности данных и реакции в реальном масштабе времени [24-27]. Основными принципами организации современных архитектур вычислительных систем являются: открытость, параллельность, аеинхронность, ассоциативность доступа (что обеспечивает поддержку асинхронизма), структурная перестраиваемость памяти [28-31].

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

1) Отсутствие математически строгих моделей вычислений, лежащих в основе их архитектуры [35]. Определенным прорывом в этом плане стала концепция транспьютера [36], однако некоторые свойства транспьютера и той модели, которую он поддерживает (примитивизм межкомпонентных коммуникаций, ориентация на статическое планирование загрузки и разделения функций и т.д.), смещают мультитранспьютерные системы в область специализированных ЭВМ [31, 36].

2) Отсутствие комплексного подхода и адекватных решаемому классу задач инструментально-технологических средств при разработке системного (и, как следствие, прикладного) программного обеспечения [37]. Программное обеспечение часто либо разрабатывается в отрыве от аппаратуры (так, первые практически пригодные операционные системы для транспьютеров появились лишь спустя 4-5 лет после их создания!), либо наоборот, жестко ориентировано на ее конкретную реализацию (многие Lisp- и Prolog-машины, машины баз данных). Инструментальные средства не поддерживают современные методологии разработки, что делает невозможным создание больших прикладных систем [38, 39].

3) Ориентация на узкий класс моделей представления/переработки информации и организации вычислительного процесса (Пролог, реляционные СУБД и т.д.). По настоящее время в параллельных интеллектуальных системах коллективное поведение и использование знаний и ресурсов (вычислительных, коммуникационных и др.) не поддерживается на уровне базовых механизмов модели. Это приводит к неэффективности при разделении функций в динамически изменяемых коллективных структурах, при использовании различных по характеристикам коммуникаций, при реакции на отказы и т.п.

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

Цель и задачи исследований.

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

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

В основе предлагаемого в данной работе подхода к решению поставленных задач лежат следующие положения:

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

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

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

4) использование в качестве базового языка системного программного обеспечения графового языка параллельного процедурного программирования БСР [1,2,40];

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

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

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

Научная новизна работы заключается в следующем.

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

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

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

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

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

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

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

3) базовые методы организации межпроцессной коммуникации в логически общей графодинамической ассоциативной памяти;

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

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

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

Работа выполнялась в рамках:

1) Республиканской научно-технической программы "Информатика", задания

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

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

2) программы фундаментальных исследований АНБ "Разработка научных основ новых информационных технологий";

3) программы "Белкосмос", проект №10 "Разработать специализированный интеллектуальный интерфейс для задач комплексной обработки дистанционного зондирования земли (на основе параллельной графодинамической вычислительной системы)".

К числу наиболее важных отдельных проектов, в рамках которых выполнялась данная работа, относится проект "Параллельная графодинамичеекая вычислительная система, ориентированная на решение задач искусственного интеллекта" (договор №192-95 от 21.08.95 с Минпромом и Комитетом по науке и технологиям РБ).

Полученные результаты были использованы при разработке и внедрении ряда прикладных систем таких, как: интеллектуальная геоинформационная система поддержки принятия решений при выборе участков местности для строительства экологически опасных объектов (Институт проблем энергетики АНБ); интеллектуальная онкологическая система для определения индивидуальной радиочувствительности организма-опухоленосителя (НИИ онкологии и медицинской радиологии МЗ РБ); интеллектуальная система выбора тактики лечения больных с хронической почечной недостаточностью (БелНИИ кардиологии МЗ РБ); система поддержки принятия решений о нефтеперспективности геологических объектов Припятского выступа (ПО "Западнефтегеофизика").

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

Материалы работы докладывались и обсуждались на следующих научных конференциях и семинарах:

Международном Симпозиуме по нейроинформатике и нейрокомпьютерам (Ростов-на-Дону, 1992); II конференции Российской Транспьютерной Ассоциации (Домодедово, 1992); международной конференции по искусственному интеллекту "East-West Conference on Artificial Intelligence. From Theory to Practice" (Москва, 1993); симпозиуме "Методы искусственного интеллекта в компьютерах новых поколений" (Рязань, 1993); V конференции Российской Транспьютерной Ассоциации (Домодедово, 1996); международной выставке-семинаре "Высшее образование в Беларуси: международное сотрудничество и развитие" (Минск, 1996).

10

Результаты работы также демонстрировались на следующих выставках: "Белвузнаука" (Минск, 1995); международной специализированной выставке BELARUSMEDICA (Минск, 1995); первой Межгосударственной выставке инновационной продукции "ИНПРОМТЕХ-95" (Минск, 1995); международной выставке-семинаре "Беларусь.Адукацыя-95" (Минск, 1995); "Беларусь.Энергия-95, Беларусь.Экология-95, Беларусь.Автоматика-95" (Минск, 1995).

Публикации. По теме данных исследований опубликовано 9 научных работ. Все результаты, составляющие основное содержание диссертации, получены автором самостоятельно. В работах, опубликованных в соавторстве, личный вклад автора состоит в следующем: в работе [1] автором описаны принципы реализации интерпретатора графового процедурного языка параллельного программирования; в работе [2] лично автором разработаны принципы организации блокировок элементов при выполнении параллельных процессов, а также семантика Call- и Wait-операторов языка SCP; в работе [3] лично автором разработаны концепция и номенклатура операторов синхронизации и порождения процессов графового процедурного языка параллельного программирования SCP; в работе [5] автору принадлежит описание архитектуры и принципов реализации инструментально-технологических средств проектирования интеллектуальных обучающих систем на основе графодинамической парадигмы. в работе [9] лично автором разработаны основные теоретические модели и методы организации параллелизма в графодинамической памяти.

Структура и объем работы. Работа включает в себя введение, 4 главы, заключение, список использованных источников и 3 приложения. Общий объем основного текста - 95 стр., включая 8 рисунков. Список использованных источников содержит 118 наименований.

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

4.4. Выводы

1. Разработана интегрированная инструментальная среда визуального программирования параллельных систем на базе графовых языков БС и 8СР. Ее основные отличительные особенности:

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

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

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

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

Почти все современные методологии проектирования программного обеспечения [38,39,117,118] включают структурную визуализацию создаваемой системы на различных уровнях абстракции. Однако, хотя они и признают графику в качестве инструмента, ни одна из них не использует графику в качестве всеобъемлющего проектного механизма столь же формально, как это делается в предлагаемой среде (приблизительным аналогом могут служить САПР аппаратуры).

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

87

ЗАКЛЮЧЕНИЕ

К числу конкретных результатов данной работы относятся следующие.

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

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

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

4. Разработана и реализована в среде MS Windows система параллельного визуального программирования на графовых языках и инструментальные средства визуального проектирования прикладных интеллектуальных систем на ее основе.

5. Разработаны и реализованы в среде INMOS ANSI С Toolset архитектура и алгоритмы функционирования базовых компонент операционной системы графодинамичеекого параллельного ассоциативного компьютера.

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

Библиография Гапонов, Павел Анатольевич, диссертация по теме Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей

1. Голенков B.B., Гулякина H.A., Татаренко B.A., Гапонов П.А., Кузьмицкий В.М. Описание семантики языка SCPas. Операторы поиска и проверки условий. Операторы управления вычислительным процессом. Мн.: ИТК АНБ, 1994. - 98 с.

2. Голенков В В., Гулякина Н.А., Королев В.Г., Гапонов П.А., Ногина Н.Э. Описание языка SCPas. Операторы управления вычислительным процессом. Примеры программ. Минск, 1994. -36 с. (Препринт /ИТК АН Беларуси; N 11).

3. Елисеева О.Е., Гапонов П.А. Интеллектуальные обучающие системы: архитектура и способы реализации. //Интеллектуальные системы. /Под ред. А.М.Крота. -Вып. 2. -Мн.: ИТК АНБ, 1999. с.115-125.

4. Гапонов П.А. Методы организации параллельной переработки информации в ассоциативной памяти //Интеллектуальные системы. /Под ред. А.М.Крота. -Вып. 1. -Мн.: ИТК АНБ, 1998,- с. 167-179.

5. Гапонов П.А. Метамодель транзакций. //Международная школа-семинар по искусственному интеллекту (БРАСЛАВ-99): Сб. трудов. Мн.: БГУИР, 1999. -с. 183-191.

6. Дорфман В.Ф., Иванов Л.В. ЭВМ и ее элементы. Развитие и оптимизация. М. Радио и связь, 1988. - 240 с.

7. Шпаковский Г.И. Архитектура параллельных ЭВМ. -Мн.: Университетское, 1989. 192 с.

8. Аляутдинов Д.А., Далевич А.Н. Параллельный Си. (Parailel С) /Под ред. В.К.Левина. М.: Изд. МАИ, 1991. -112 с. - (Математическое обеспечение и программирование для многопроцессорных систем: Вып. 5)

9. Хоар Ч. Взаимодействующие последовательные процессы: Пер. с англ. М.:Мир, 1989.-264 с.

10. Клир Дж. Системология. Автоматизация решения системных задач /Пер. с англ. -М.: Радио и связь, 1990. -544 с.89

11. Джоунз Г. Программирование на языке Оккам /Пер. с англ.- М.:Мир, 1989 206 с.

12. Городецкий В.И., Грушинский М.С., Хабалов А.В. Многоагентные системы (обзор). //Новости искусственного интеллекта. -1998. № 2. - с. 65-118.

13. Nevins J.L., Whitney D. Е. Concurrent Design of Products and Processes. McGraw-Hill, New York, 1989. - 268 p.

14. Eversheim W. et.al. Simultaneous Engineering. Erfahrungen aus der Industrie fuer die Industrie. Springer-Verlag, 1995. - 264 p.

15. Цаленко М.Ш. Моделирование семантики в базах данных. М.: Наука. Гл. ред. физ.-мат. лит., 1989. - 288 с.

16. Системы баз данных третьего поколения: манифест (Комитет по развитию функциональных возможностей СУБД). //СУБД,- N 2,- 1995,- с. 143-159.

17. Пятая национальная конференция по искусственному интеллекту //Новости искусственного интеллекта. 1996. -N 3,- с. 105-150.

18. Dayal U. е. a. Third Generation TP Monitors: A Database Challenge. //Proe. of the ACM SIGMOD.- 1993.

19. Trends in cooperative distributed problem solving /Durfee E.H., Lesser V.R., Corkill D. D. //IEEE Trans. Knowledge and Data Eng. 1989. - Vol. 1. - N 1P.63-83.

20. O'Hare G.M., Jennings N. Foundations of Distributed Artificial Intelligence.— New York: J.Wiley and Sons, 1996.

21. Software Agents and Soft Computing: Concepts and Applications. Lectures Notes in Artificial Intelligence. Vol. 1198/ Ed. by H.S.Nwana and N.Azarmi. — Berlin: Springer Verlag, 1997.

22. Мотоока Т. и др. Компьютеры на СБИС: в 2-х кн. /Пер.е япон. М.: Мир, 1988. 392+336 с.

23. Майерс Г. Архитектура современных ЭВМ. В 2-х кн. Пер. с англ. /Под ред. к.т.н. В.КЛотоцкого. -М.: Мир, 1985.- 364 с.

24. Кохонен Т. Ассоциативная память. М.: Мир, 1980,240 с.

25. Озкарахан Э. Машины баз данных и управление базами данных. М.: Мир, 1989. -696 с.

26. Дейт К. Дж. Введение в системы баз данных. /Пер. с англ. К.: Диалектика, 1998. -784 с.

27. Кутепов В.П. Об интеллектуальных компьютерах и больших компьютерных системах нового поколения. //Теория и системы управления. 1996. - № 5. - с.97-114.

28. Амамия М., Танака Ю. Архитектура ЭВМ и искусственный интеллект: Пер. с японск. М.: Мир, 1993. - 400 с.

29. Moldovan D., Lee W., Lin С., Chung M. SNAP: Parallel Processing Applied to AI //Computer. May 1992. - P.39-49.

30. Органик Э. Организация системы Интел 432. /Пер. с англ. М.: Мир, 1987,- 446 с.

31. Котов В.Е. МАРС: Архитектуры и языки для реализации параллелизма, модульности и программируемости //Системная информатика. Вып. 1. Проблемы современного программирования. -Новосибирск: Наука. Сиб. отд-ние, 1991. с. 174-194.

32. Митчелл Д.А.П., Томпсон Дж.А., Мансон Г.А., Брукс Г.Р. Внутри транспьютера: Пер. с англ. М.: Мейкер, 1993. -206 с.

33. Голенков В.В. Графодинамические методы и средства параллельной асинхронной переработки информации в интеллектуальных системах.- Мн.: БГУИР, 1996,- 295с.

34. Хорошевский В.Ф. Pies-технология и инструментарий Pies Workbench для разработки систем, основанных на знаниях. //Новости искусственного интеллекта.-1995,-№2. -с.7-65.

35. Калянов Г.Н. CASE структурный системный анализ (автоматизация и применение). -М.: Изд. "ЛОРИ", 1996. -242 с.

36. Голенков В В., Гулякина Н.А., Елисеева О.Е. Описание языка SCP. Мн. ИТК АНБ, 1995. - 152 с.

37. Вальковский В.А., Малышкин В.Э. Элементы современного программирования в суперЭВМ. Новосибирск: Наука. Сиб. отд-ние, 1990. -143 с.

38. Задыхайло И.Б., Зеленецкий С.Д. Механизмы синхронизации в языках параллельного программирования (обзор) //Техн. Кибернетика. -1985. N 5. с.129-174.

39. Шэнк Д. Технология клиент/сервер и ее приложения. Руководство Novell.- М. "ЛОРИ", 1995,-418 с.

40. Цикритзис Д., Бернстайн Ф. Операционные системы. -М.: Мир, 1977. -336 с.

41. Гринев М. Анализ механизмов удаленного вызова процедур. //СУБД. 1998. - № 1-2.

42. Agha G., Wegner P., Yonezawa A. Research Directions in Concurrent OO Programming. MIT Press, Cambridge, Mass., 1993.

43. Papathomas M. Concurrency Issue in Object-Oriented Languages //Object-Oriented Development/Ed. D. Tsichritzis. Geneve. 1989.

44. Claude P. Synchronous С++: A Language for interactive applications. IEEE Computer, October 1998, pp. 65-72.

45. Agha G., Hewitt G. Concurrent Programming Using Actors //Object-Oriented Concurrent Programming. Cambridge: MIT Press, 1987.

46. Hewitt N.E. Apairy Multiprocessor Architecture Knowledge system, 1988. (Univ. of Newcastle upon Oone Report).

47. Bronnenberg W. POOL and DOOM: A Survey of Esprit 415 Subproject A //Lecture Notes in Computer Science. 1989. Vol. 365.

48. Лельчук Т.И. Параллельные объектно-ориентированные языки // Системная информатика. Вып. 1. Проблемы современного программирования. Новосибирск: Наука. Сиб. отд-ние, 1991.-е. 195-229.

49. Тарасов В.Б. Агенты, многоагентные системы, виртуальные сообщества: стратегическое направление в информатике и искусственном интеллекте. //Новости искусственного интеллекта. 1998- № 2. - с.5-64.

50. Lesser V.R. Reflections on the Nature of Multi-Agent Coordination and Its Implications for an Agent Architecture. //Autonomous Agents and Multi-Agent Systems. 1998. -№1.- p. 89-111. - Kluwer Academic Publishers, 1998.

51. Sutton S.M., Jr., Osterweil L.J. The design of a next-generation process language. //Proc. Joint 6th Eur. Software Eng. Conf. and the 5th ACM SIGSOFT Symp. on Found, of Software Eng., Springer-Verlag: Zurich, Switzerland, 1997.

52. Поспелов Д.А. От коллектива автоматов к мультиагентным системам // Труды Международного семинара «Распределенный искусственный интеллект и многоагентные системы» (DAIMAS'97, Санкт-Петербург, Россия, 15-18 июня 1997).-с.319-325.

53. Tannenbaum A. S. Distributed Operating Systems Prentice-Hall, Englewood Cliffs, NJ, 1995.

54. Gray J. The Transaction Concept: Virtues and Limitations. Proc. 7th Int. Conf. on Very Large Data Bases, Cannes, France, September 1981, pp. 144-154.

55. Gray J., Reuter A. Transaction Processing: Concepts and Techniques. San Francisco: Morgan Kaufmann Publishers, 1993.

56. Moss J.E.B. Nested Transactions: An Approach to Reliable Computing. LCS-TR-260, Massachusetts Institute of Technology, Cambridg, MA, 1981.

57. Саймон А. Обработка транзакций. //СУБД. -1997. № 2. - e.70-82.

58. Elmagarmid A. K. (ed.). Transaction Models for Advanced Database Applications. San Mateo, CA: Morgan Kaufmann, 1992.

59. Korth H.F., Levy E., Silbersehatz A. A Formal Approach to Recovery by Compensating Transactions. In Proceedings of the 16th International Conference on VLDB, 1990.

60. Krychniak P., Rusinkiewicz M., Sheth A., and Thomas G. Bounding the Effects of Compensation under Relaxed Multi-level Serializability. Technical Report UH-CS-92-06, Dept. of Computer Science, University of Houston, March 1992.

61. Garcia-Molina H, Salem K., Gawlick D., Klein J., and Kleissner K. Modeling Long-Running Activities as Nested Sagas. Data Engineering Bulletin, 14(1), March 1991.

62. Elmagarmid A. K., Leu Y., Litwin W., Rusinkiewicz M. A Multidatabase Transaction Model for Interbase. In Proceedings of the 16th International Conference on VLDB, 1990.

63. Gray J.N. Notes on Data Base Operating Systems. In Operating Systems: An Advanced Course, R. Bayer, R.M. Graham, and G. Seegmuller (eds.). New York: Springer-Verlag, 1979, pp. 393-481.

64. Ершов А.П. Будущее искусственного интеллекта. -М.: Наука, 1991 302 с.

65. Noll J., Scacchi W. Integrating Diverse Information Repositories. A Distributed Hypertext Approach.// IEEE Computer.-1991,- December.- p.38-44.

66. Саймон А. Репозитории и управление метаданными. //СУБД,-1996,- № 5-6,- с. 154162.

67. Weihl W. Local Atomicity Properties: Modular Concurrency Control for Abstract Data Types. ACM Trans. Prog. Lang. Syst, April 1989, 11(2), pp. 249 281.

68. Wegner P. Dimensions of Object-Based Language Design // Proe. of OOPSLA 87, ACM. 1987.

69. Пентковский B.M. Язык программирования Эль-76. Принципы построения языка и руководство к пользованию. 2-е изд. испр. и доп. - М.: Наука. Гл. ред. физ.-мат. лит., 1989 (Б-чка программиста).

70. Голенков В.В. Параллельный графовый компьютер (PGC), ориентированный на решение задач искусственного интеллекта, и его применение. Минск, 1994. - 60 с. (Препринт / Ин-т техн. Кибернетики АН Беларуси; № 2).

71. Голенков В.В. Описание графового языка SC. Мн.: ИТК АНБ, 1994. - 86 с.

72. Петров С.В. Графовые грамматики и их применение к анализу сложных систем. Дисс. на соиск. уч. степ, к.ф.-м.н. Спец. 05.13.02 теория систем, теория автоматического регулирования и управления и системный анализ - Москва, 1980. -141 с.

73. Голенков В.В., Гулякина Н.А., Королев В.Г., Татаренко В.А., Елисеева О.Е. Описание языка SCPas. Операторы преобразования состояния SC-графа,- Минск, 1994,- 44 с. (Препринт / Ин-т техн. Кибернетики АН Беларуси; N 7).92

74. Голенков ВВ., Гулякина Н.А., Кузьмицкий В.М., Малевич И.Е., Соловьев А.С. Описание языка SCPas. Операторы поиска и проверки условий. Минск, 1994,- 32 с. (Препринт / Ин-т техн. кибернетики АН Беларуси; N 9).

75. Голенков В.В., Гулякина Н.А., Малевич И.Е. Описание языка SCPbs (Материалы по математическому обеспечению ЭВМ). Минск: Ин-т техн. кибернетики АН Беларуси, 1995. - 90 с.

76. Вагин В.Н. Дедукция и обобщение в системах принятия решений. М.: Наука, 1988. - 384с.

77. Беренсон X. и др. Критика уровней изолированности в стандарте ANSI SQL. //СУБД,- 1996,- N 2,- с. 45-60.

78. Gray J.N., Lorie R A., Putzolu G.R. Granularity of locks in Large Shared Data Base // Proc. 1st Int. Conf. on Very Large Data Bases.- Framingham, Mass., 1975.

79. Bernstein P.A., Goodman N. Timestamp-based Algorithms for Concurrency Control in Distributed Database Systems // Proc. 6th Intern. Conf. on VLDB. Montreal, Canada, 1980.

80. Franaszek P., Robinson J.T. Thomasian A. Concurrency Control for High Contention Environments // ACM TODS. -1992. -17, № 2.

81. Олифер H.A., Олифер В.Г. Сетевые операционные системы. http://www.citforuni.ru

82. Дансмур М., Дейвис Г. Операционная система UNIX и программирование на языке Си. Пер. с англ. М.: "Радио и связь", 1989. -192 с.

83. Сафонов В.О. Языки и методы программирования в системе ЭЛЬБРУС /Под ред. С.С.Лаврова. М.: Наука. Гл. ред. физ.-мат. лит., 1989. - 392 с.

84. Рамодин Д. Новая модель событий в JDK 1.1 // Мир ПК,- 1997.- N 12,- С.32-36.

85. JAVA как центр архипелага. Принципы построения распределенных информационных систем. II Информационные материалы.- М: Jet Infosystems, 1998.

86. Арлазаров В.Л. и др. Взаимодействие и синхронизация процессов. //Многопроцессорные вычислительные системы,- М.: Наука, 1975,-144 с.

87. Шуленин В.A. Microsoft SQL Server 6.5. Обзор основных возможностей. //СУБД,-1997,-N 1.-е. 30-50.

88. Шнитман В., Кузнецов С. Серверы корпоративных БД. http://www.citforum.ru/win/ database/skbd/, 1997.

89. Сиколенко В.В. Сервер Oracle: текущее состояние. //СУБД,- 1997.-N 1,- с.4-22.

90. Jacobs R. Oracle server V2, 3. 7.0, 7.1. and Counting. //EOUG Oracle User Forum 94, 17-20 April 1994, Maastriht, The Netherlands.

91. Ладыженский Г.М. Системы управления базами данных коротко о главном. //СУБД,- 1995.-N4,- с. 123-141.

92. Weikum G., Schek H.-J. Concepts and Applications of Multilevel Transactions and Open Nested Transactions. //Elmagarmid A. K., ed. Transaction Models for Advanced Database Applications. Morgan-Kaufmann, February 1992.

93. Калиниченко Л.А., Рывкин B.M. Машины баз данных и знаний,- М.: Наука, 1990. -296 с.

94. Красюк П.П. Borland InterBase Workgroup Server Version 4.0. //СУБД,- 1995,- №2,-c.88-94.93

95. Рузинкевич М., Цикоцки А. Определение и выполнение потоков транзакций. Department of Computer Science University of Houston, Houston, TX 77204-3475. //СУБД,- 1995.-N 2.-c.l06-115;N 4,- c.58-68.

96. Ansari M., Ness L., Rusinkiewicz ML, Sheth A. Using Flexible Transactions to Support Multisystem Telecommunication Applications. //Proc. of the 18th Int. Conference on Very Large Data Bases, August 1992.

97. Крюков В.А. Анализ принципов объектно-ориентированного программирования. //Микропроцессорные средства и системы,- 1988 N 2.- с.7-13.

98. Booeh G. Objectifying Information Technology, http://www.rational.com /techjpapers/. -1998.

99. Rumbaugh J. Disinherited! Examples of Misuse of Inheritance, http:// www.rational.com/techpapers/omt/. 1998.

100. Дубина Д.Г. Объектно-ориентированное проектирование. http://www.mmlab. ectpu. edu.ru/dubina/.- 1997.

101. Шапиро Э., Такеути А. Объектно-ориентированное программирование в Параллельный Прологе. //Язык Пролог в пятом поколении ЭВМ. М.: Мир, - 1988-с.71-103.

102. Братко И. Программирование на языке Пролог для искусственного интеллекта: Пер. с англ.- М.: Мир, 1990. 560 с.

103. Пильщиков В.Н. Язык плэнер. М.Наука. Гл. ред. физ.-мат. лит., 1983. - 208 с.

104. Попов Э.В. и др. Статические и динамические экспертные системы. М: Финансы и статистика, 1996,- 320 с.

105. Искусственный интеллект: В 3 кн. Кн. 3. Программные и аппаратные средства: Справочник /Под ред. В.Н.Захарова, В.Ф.Хорошевского. М.: Радио и связь, 1990. -368 с.

106. Хювенен Э., Сеппянен Й. Мир Лиспа. В 2-х т. Т.2. Методы и системы программирования. Пер. с финск. М.: Мир, 1990. - 319 с.

107. Krychniak P., Rusinkiewicz М., Sheth A., and Thomas G. Bounding the Effects of Compensation under Relaxed Multi-level Serializability, Technical Report UH-CS-92-06, Dept. of Computer Science, University of Houston, March 1992.

108. Карпов Ю.Г., Борщев A.B., Рудаков В В. О корректности параллельных алгоритмов. //Программирование. № 4,-1996,- с.5-17.

109. Кокорева Л.В., Перевозчикова О.Л., Ющенко К.Л. Диалоговые системы и представление знаний. К.: Наукова думка, -1993. - 448 с.

110. Рыбина Г.В. Задачно-ориентированная методология автоматизированного построения интегрированных экспертных систем для статических проблемных областей. //Известия РАН. Теория и системы управления. 1997,- N 5.

111. Rumbaugh J. et al. Object-Oriented Modeling and Design. Prentice-Hall Inc., Englewood Cliffs, New Jersey 07632,1991.- 500 p.