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

кандидата технических наук
Набиуллин, Олег Ривхатович
город
Нижний Новгород
год
2010
специальность ВАК РФ
05.13.18
цена
450 рублей
Диссертация по информатике, вычислительной технике и управлению на тему «Разработка метода проектирования многоагентных имитационных моделей на основе формализма машин абстрактных состояний»

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

004617903

На правах рукописи

Набиуллин Олег Ривхатович

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

Специальность 05.13.18 - «Математическое моделирование, численные методы и комплексы программ»

АВТОРЕФЕРАТ диссертации на соискание ученой степени кандидата технических наук

2010

Москва-2010

004617903

Работа выполнена в Нижегородском филиале Государственного университета -Высшей Школы Экономики

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

кандидат физико-математических

наук, профессор

Козырев Олег Рамазанович

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

доктор технических наук, доцент, Хранилов Валерий Павлович

кандидат физико-математических наук,

Лейкин Максим Валентинович

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

Институт Прикладной Физики Российской Академии Наук

Защита состоится "27" г. в _часов на заседании

диссертационного совета Д 212.048.09 при Государственном Университете -Высшей Школе Экономики по адресу: 105679, Москва, ул. Кирпичная, д. 33.

С диссертацией можно ознакомиться в библиотеке ГосударственногоУниверситета - Высшей Школы Экономики по адресу: 105679, Москва, ул. Кирпичная, д. 33.

Автореферат разослан г>¿Г^?^ 2010 г.

Ученый секретарь диссертационного совета доктор технических наук

В.А. Фомичев

I. Общая характеристика работы

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

Актуальность работы

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

Многоагентные модели и программные комплексы на их основе сложны в проектировании и разработке. Тем более сложным является анализ безошибочности их работы и соответствия моделируемой системе. Обычно агенты программируются либо на объектно-ориентированном языке программирования, либо с помощью специальной библиотеки - программного каркаса или среды моделирования. В качестве примера таких сред можно назвать Swarm, RePast, Mimosa. Разработка комплексов имитационного моделирования в таких средах требует создания значительного объема программного кода с большим количеством неявных взаимосвязей между программными агентами. Эмпирический анализ безошибочной работы созданного программного обеспечения становится практически невыполнимым.

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

Использование моделей для построения и анализа многоагентных алгоритмов имитационного моделирования является одной из актуальных тем научных исследований. Например, работы Альбайрака и Суэрдема посвящены использованию метамоделей для многоагентного имитационного моделирования социальных систем. Некоторые программные комплексы в той или иной степени автоматизируют процесс создания программного обеспечения, с использованием модели, выраженной на специальном языке, в частности проект Mimosa использует для этой цели онтологии. Мюллер также предложил подход к построению многоагентных программных комплексов, основанный на использовании онтологий. Частным случаем моделей являются математические модели, использующие тот или иной математический аппарат. В работах Фомичева В.А. математические модели используются для представления содержания посланий интеллектуальных агентов. В работе Бабкина Э.А. с помощью специализированного языка BRJC на основе сетей Петри была построена модельно-ориентированная среда разработки для многоагентных систем.

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

Предметная область

Валидация

Тестирование

Верификация

Исполняемая спецификация

Многоагентная модель

Рисунок 1. Суть верификации и валидации

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

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

Цель диссертационной работы

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

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

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

взаимодействие большого числа агентов: от десятков до десятков тысяч агентов.

Задачи работы

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

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

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

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

4. Апробация предложенного метода и программных решений в ходе моделирования социально-экономического сценария.

При изучении и анализе программной архитектуры использовались методы системного анализа. Для построения алгоритмов создания и верификации многоагентных имитационных комплеков применялись математический формализм абстрактных машин состояний ASM, предложенный Эгоном Боргером в 1995 г, а также формализм машин действий (Гриескамп и др. 2005 г), разработанный на его основе.

Формальное описание программной архитектуры и динамики создаваемого программного прототипа проводилось с использованием языка UML. Реализация высокопроизводительного программного комплекса многоагентного моделирования была выполнена на языках С++, Python, AsmL.net, Cft, Cord.

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

Результаты диссертации являются новыми и состоят в следующем:

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

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

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

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

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

Практическая ценность

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

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

2. В соответствии с предложенной архитектурой создана программная реализация серверного компонента программного комплекса

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

3. Разработан новый алгоритм трансляции исполняемых спецификаций многоагентных имитационных моделей, описанных на языке С#, в программный код на языке С++.

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

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

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

3. Архитектура, алгоритмы и программная реализация инструментов в составе программного комплекса для создания и анализа многоагентных имитационных экспериментов.

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

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

Обоснованность и достоверность результатов

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

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

Основные положения и полученные результаты диссертационной работы апробированы в докладах на следующих конференциях и семинарах:Кограф 2007 - 17-я Международная научно-практическая конференция по графическим информационным технологиям и системам (НГТУ, Нижний Новгород, 2007), Современные проблемы в области экономики, менеджмента, социологии, бизнес-информатики и юриспруденции - 5-я научно-практическая конференции студентов и преподавателей НФ ГУ-ВШЭ (Нижний Новгород, 2007), 14-я Нижегородская сессия молодых ученых (математические науки) (Министерство образования Нижегородской области,Нижний Новгород, 2009), Семинары в НФ ГУ-ВШЭ (2008-2010).

Публикации

По теме диссертации автором опубликовано 6 работ, список которых приводится в конце автореферата, в том числе в журналах входящих в список ВАК - 1 работа.

Структура и объем работы

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

II. Краткое содержание работы

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

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

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

Акцент при разработке инструментов для многоагентных систем делается на облегчении создания системы и контроле агентов, входящих в систему. Зачастую при этом в качестве исходного средства служат языки и платформы, позволяющие быстро создать рабочий прототип системы, а затем постепенно наращивать функциональность. Большая часть инструментов при этом использует управляемые (managed), динамические или скриптовые языки, такие как Java, Python, Gopher.

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

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

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

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

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

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

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

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

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

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

1 (англ. unmanaged code) - код выполняющийся напрямую процессором, без виртуальной машины

11

Математический формализм машин действий является одной из разновидностей входно-выходных автоматов (систем помеченных переходов, LTS), где метки представляют наблюдаемые активности (действия) описываемого объекта, а состояния представляют собой полные слепки данных. Метки действий могут иметь структуру, например, представлять вызов метода с аргументами. Метки и состояния могут быть частичными, с символическим представлением неизвестных частей. Состояния могут иметь ассоциированные ограничения для символических частей. Формализм машин действий основан на нотации термов с заданной сигнатурой, при этом действия являются специальным видом термов. Состояния машины действий - это пары (е, с) G Е х С контекстов (environment), представляющих состояние данных, и контрольных точек (control points), представляющих состояние потока управления.

Машина действий - это кортеж М = (С, А,/, Т), где С - это множество т.н. контрольных точек, ЛЕС- это множество допускающих контрольных точек (множества С, А аналогичны состояниям автоматов); / ЕЕхКхЕхС-начальное отношение переходов (initialization transition relation); Т Я Е х С х К X Е х С - (обычное) отношение переходов', Е - множество контекстов, представляющих снимки глобального состояния данных; К = {!,?}. Элементы множества К выражают вердикт (внешней) решающей процедуры в вычислительном домене, лежащем в основе, о возможности доказательства утверждений, содержащих символьную часть: к =? означает, что свойство не может быть окончательно доказано, а к = !, что такое доказательство возможно.

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

В качестве демонстрации применения формализма ASM и машин действий приводится пример моделирования системы контроля и управления программными сервисами в среде SpecExplorer.

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

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

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

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

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

Предлагаемый в данной работе метод получил название ASF (как аббревиатура от AgentServiceFramework).

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

13

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

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

2. Автоматизированное исследование ASM модели самой по себе и исправление найденных ошибок.

3. Автоматическая генерация программного кода на языке С++ подключаемого модуля (plugin) для системы имитационного моделирования, реализация методов.

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

5. Автоматическая проверка соответствия С++-модели и ASM-модели, основанная на чередующейся имитации, машин действий С++-модели

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

MessageProcess(current) =

let messages = {msg e Messages(current)} where IsSubscribed(agent,msg) if messages * 0 then

let msg = First{messages)then let events —

{(event, target) 6 Events(current, agent, msg)} where lsEnabled(agent,msg) if events ф 0 then

Process{agent, event, msg) current ~ target

Messages(target) Tail(rnessages)

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

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

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

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

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

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

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

Boot-strap services - сервисы, в обязанность которых входит запуск и инициализация ядра;

Kernel support services - сервисы ядра, сервисы реализующие основную часть функциональности программного каркаса (framework);

Application support services - вспомогательные сервисы, аналог Windows HAL - Hardware Abstraction Layer;

Application services - сервисы специфичные для приложения;

15

Service extensions - расширения сервера (plug-ins, script).

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

Одной из ключевых особенностей является полная интроспекция - каждый сервис формально регистрирует свой внешний интерфейс в ядре. Использование языка Python в качестве «склеивающего» языка (glue language) позволяет объединять программные сервисы, разработанные независимо друг от друга.

В разделе 3.3 предлагается механизм трансляции ASM-моделей на языке С# в С++, основанный на использовании атрибутов и механизма отражения (reflection).

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

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

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

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

В разделе 3.6 созданная архитектура и реализация анализируется с различных точек зрения. Формулируются выводы и дальнейшие перспективы развития.

Четвертая глава посвящена практическому использованию предложенного метода и прототипа.

В разделе 4.1 приводятся общие свойства всех моделей, реализованных по методу ASF для программного каркаса ASF.Core.

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

В разделе 4.2 в качестве демонстрации механизма построения распределенных экспериментов приведена реализация классической демонстрационной модели HeatBugs для программного каркаса ASF.Core. На рис 2. приведено сравнение производительности с .NET-версией системы RePast. Критерием производительности в данном сравнении является время, затрачиваемое программным комплексом на моделирование 1000 шагов в зависимости от количества агентов.

:•■.«>:.......

12000 J~ ................................... -............... ......- Л..............

10000 ;-..................................... /........

ЗООО :.....-............... -••■--....................-1>

Т, сек /

— Repast ASF.Core

Рисунок 2. Сравнение производительности

В разделе 4.3 в качестве иллюстрации практической значимости разработки приводится описание методов программной реализации и верификации

известной модели теории коллективных действий, изначально предложенной Майклом Мэси. С использованием предложенных методов и алгоритмов создан многоагентный комплекс имитационного моделирования Ргее1Шег5, проведена его апробация на серии имитационных экспериментов.

В частности, для демонстрации эффективности средств автоматической верификации созданной программной реализации проведено исследование корректности метамодели РгееРЫеге. На (рис. 3) представлен фрагмент графа состояний спецификации, полученный в результате автоматического исследования.

п«*о1>|»пЦп«п<1) с(» o4.R>d«f(nin»l) nr»9«Rj«4*n«M2) lribtkuO по е}Л(>п1(оим% Acwo2.Sptc<0

I nib tin «О 1п|Ь«1шО lruii«te»0 n>w s4Rjd«<i)tn(2) SltpO n**IelAg<ni(n>n<7)' I rub tin«) <lrau>laiO

C.yinO OfOnl. О уйл! ).y-On.O (ИуОпО О.уОоЛ

,».nt o2.H<ndla(Slu9 »vtnlo2.H«n«i(Suie S«pO ti>iiRilii(iiimt ; SwpO o2.H»r*M«<Sl««i

OyfloO 0:yflnl'. 1: у 0 a I lyOaO OyOnfl

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

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

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

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

III. Основные результаты диссертационной работы

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

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

Создан программный прототип, обладающий следующими характеристиками:

- размер исходных кодов: 625 КЬ;

- количество строк кода: ~ 23.000;

- количество классов: 247.

Достигнута высокая производительность вычислений. В случае модели HeatBugs (100 агентов) на компьютере с характеристиками:ТипопМК-32, 4GB, WinXPx64, моделирование идет со скоростью 50 шагов в секунду, при этом генерируется и обрабатывается ~ 50000 сообщений.

С использованием разработанного метода и прототипа была создана и верифицирована многоагентная программная реализация известной модели теории коллективных действий. Разработанная программная реализация прошла апробацию в рамках проекта РГНФ-08-02-00231. Работа выполнена при поддержке Лаборатории ТАПРАДЕСС НФ ГУ-ВШЭ.

IV. Список публикаций по теме диссертации

Работы, опубликованные автором в ведущих рецензируемых научных

журналах и журналах рекомендованных ВАК Министерства образования и науки России:

1. Набиуллин O.P. Использование Spec Explorer 2007 и ASF для разработки многоагентных имитационных моделей // Естественные и технические науки, -2009. № 3. ISSN 1684-2626.С. 398-402.

Другие работы, опубликованные автором по теме кандидатской диссертации:

2. Набиуллин O.P., Бабкин Э.А. Методы гармонизации информационных моделей на основе технологии Rational Software Architect // Кограф 2007: материалы международной научно-практической конференции по графическим информационным технологиям и системам. - Нижний Новгород: Типография НГТУ, 2008. УДК 002.53:520.63:681.3.106. С. 126-127.

3. Набиуллин O.P., Бабкин Э.А. Проблемы производительности фрейморков для создания агентных систем //Современные проблемы в области экономики, менеджмента, социологии, бизнес-информатики и юриспруденции: материалы 5-й научно-практической конференции студентов и преподавателей.- Нижний Новгород: Типография HTTy,2007.ISBN: 978-5-93272-450-7.С. 292-293.

4. Набиуллин O.P., Норкин В.М. Архитектура высокопроизводительной системы многоагентного моделирования // Бизнес-Информатика. - 2008, № 2(04). ISSN: 1998-0663.С. 48-60.

5. Набиуллин O.P., Бабкин Э.А. Моделирование и автоматическая проверка по AsmL // Бизнес-Информатика,- 2008. № 4(06).ISSN: 1998-0663.С. 56-63.

6. Набиуллин O.P. Разработка многоагентной модели на основе теории коллективного действия // 14-я Нижегородская сессия молодых ученых (математические науки): сборник тезисов. Нижний Новгород, 2009.

Лицензия ЛР № 020832 от 15 октября 1993 г. Подписано в печать М^^О^/ 2010 г. Формат 60x84/16 Бумага офсетная. Печать офсетная. Усл. печ. л. 1,0. Тираж 100 экз. Заказ Типография издательства ГУ-ВШЭ 125319, г. Москва, Кочновский пр-д, д. 3

Оглавление автор диссертации — кандидата технических наук Набиуллин, Олег Ривхатович

Введение.

Актуальность проблемы.

Цель диссертационной работы.

Задачи работы.

Методы исследования.

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

Практическая ценность.

Результаты, выносимые на защиту.

Обоснованность и достоверность результатов.

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

Публикации.

Структура и объем работы.

Основное содержание работы.

1 Многоагентное имитационное моделирование.

1.1 Аналитический обзор литературы с точки зрения имитационных экспериментов.

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

1.2 Сравнение производительности систем Swarm и Repast.

1.2.1 Результаты.

1.2.2 Погрешность измерения.

1.3 Распределенные вычисления.

1.4 Выводы и определение задач работы.

1.4.1 Обоснование необходимости новой разработки.

1.4.2 Постановка задачи.

2 Моделирование имитационных систем.

2.1 Использование исполняемых моделей.

2.1.1 Машины действий.

2.1.2 Машины абстрактных состояний.

2.1.3 Методология.

2.1.4 Использование ASML - сервисы.

2.1.5 Модель.

2.1.6 Исследование модели.

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

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

Актуальность проблемы

Компьютерное моделирование используется во многих областях науки, однако вплоть до 90-х годов оно не оказывало существенного влияния на развитие социальных теорий [38]. Создание компьютерных программ, которые имитируют аспекты социального поведения, помогает понять социальные процессы. Большинство исследований в области социальных наук либо предлагает новые, либо использует, тот или иной вид теории или модели. Примерами могут служить когнитивная теория или классовая теория. В общем случае эти теории представлены в текстовом виде, хотя некоторые используют математические уравнения. Другой путь состоит в выражении теории как компьютерной программы. Социальные процессы могут быть смоделированы с помощью компьютера. Можно ставить эксперименты над искусственными социальными системами, что было бы практически невозможно, или неэтично делать в случае реальных человеческих систем.

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

Одной из причин, из-за которых социальные системы сложны в изучении, является тот факт, что для них характерно большое количество нелинейных взаимодействий между членами. Такие взаимодействия включают в себя передачу знаний и материалов, которые часто влияют на поведение получателей. Как результат, невозможно изучать общество в целом, изучая отдельного индивида. Это обусловило активное развитее в последнее время многоагентных имитационных моделей [18]. Многоагентная модель состоит из некоторого числа программных объектов - «агентов», взаимодействующих в виртуальной среде. Глобальное поведение возникает как результат взаимодействия множества агентов, т.н. моделирование «снизу вверх».

Многоагентные модели сложны в разработке. Такие свойства агентов как автономность, локальность, асинхронное взаимодействие нелегко реализовать с нуля. Эти же свойства затрудняют отладку имитационных моделей. Обычно агенты программируются либо на объектно-ориентированном языке программирования, либо с помощью специальной библиотеки или среды моделирования. В качестве примера таких сред можно назвать Swarm [35], RePast [60], Mimosa [58]. Разработка комплексов имитационного моделирования в таких средах требует создания значительного объема программного кода с большим количеством неявных взаимосвязей между программными агентами. Эмпирический анализ безошибочной работы созданного программного обеспечения становится практически невыполнимым.

Объектно-ориентированного подхода для создания таких сложных систем оказывается недостаточно. Решением является переход от уровня абстрагирования вычислительной среды (процессор, память, сетевые устройства) характерного для языков общего назначения уровня, на уровень абстрагирования предметной области [57]. Многообещающим подходом является разработка управляемая моделями. Объектно-ориентированная парадигма говорит «все есть объект», этот подход активно исследуется [35] и обеспечивает хорошую абстрагированность при разработке. Парадигма модельно-ориентированной разработки говорит «все есть модель» [61]. Такая постановка вопроса фокусирует внимание на абстракциях близких к предметной области. Международный консорциум OMG в 2001 опубликовал реализацию этой парадигмы в виде концепции MDA (Model-Driven Architecture).

Использование моделей для построения и анализа имитационных моделей является одной из актуальных тем исследований в области имитационного моделирования [63]. Некоторые среды в той или иной степени автоматизируют процесс создания многоагентных систем, с использованием модели, выраженной на спецйальном языке, в частности проект Mimosa использует для этой цели онтологии. Работы Альбайрака и Суэрдема [14] посвящены использованию метамоделей в многоагентных имитационных моделях социальных систем. Мюллер [59] предложил подход к построению многоагентных систем, основанный на использовании онтологий. В работах Фомичева В.А. [10] математические модели (формальные языки) используются для представления содержания посланий интеллектуальных агентов. В работе Бабкина Э.А. [1] построена реализация модельно-ориентированной архитектуры (MDA) для имитационных систем, с помощью специализированного языка BRIC.

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

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

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

Цель диссертационной работы

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

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

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

Задачи работы

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

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

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

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

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

Методы исследования

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

Формальное описание программной архитектуры и динамики создаваемого ПО проводилось с использованием языка UML. Реализация была выполнена на языках С++, Python, AsmL.net [45], С#, Cord.

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

Результаты диссертации являются новыми и состоят в следующем:

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

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

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

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

Практическая ценность

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

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

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

3. Разработан механизм трансляции исполняемых спецификаций многоагентных имитационных моделей, описанных на языке С#, в программный код на языке С++.

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

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

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

3. Архитектура, алгоритмы и программная реализация инструментов в составе программного комплекса для создания и анализа многоагентных имитационных экспериментов.

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

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

Обоснованность и достоверность результатов

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

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

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

Кограф 2007 - 17-я Международная научно-практическая конференция по графическим информационным технологиям и системам -НГТУ - Нижний Новгород. 2007 г.

Современные проблемы в области экономики, менеджмента, социологии, бизнес-информатики и юриспруденции - 5-я научно-практическая конференция студентов и преподавателей НФ ГУ-ВШЭ. -Нижний Новгород. - 2007 г.

14-я Нижегородская сессия молодых ученых (математические науки) - Министерство образования Нижегородской области, 2009 г.

Семинары в НФ ГУ-ВШЭ.

Публикации

По теме диссертации автором опубликовано 6 работ, в том числе в журналах входящих в список ВАК — 1 работа.

Структура и объем работы

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

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

5.1.2 Основные результаты

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

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

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

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

Создан прототип системы, обладающий следующими характеристиками:

- размер исходных кодов: 625 КЬ;

- количество строк кода: ~ 23.000;

- количество классов: 247.

Достигнута высокая производительность вычислений. В случае модели Неа1В1^ (100 агентов) на компьютере с характеристиками: Типоп МК-32, 4вВ, "Мп ХР х64, моделирование идет со скоростью 50 шагов в секунду, при этом генерируется и обрабатывается ~ 50000 сообщений.

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

Работа над данной диссертацией поддержана грантом РГНФ №08-0200231 - «Сравнительный анализ поведенческих предпосылок в теории коллективных действий». Работа выполнена при поддержке Лаборатории ТАПРАДЕСС НФ ГУ-ВШЭ.

5 Заключение

5.1.1 Перспективы развития

Дальнейшая работа над программным каркасом ASF.Core будет производиться по следующим направлениям:

1. Автоматизация процесса построения модели.

2. Работа каркаса в *nix, системах.

3. Пользовательская документация.

4. Набор примеров использования каркаса.

5. Поддержка стандартных интерфейсов (FIPA, WSDL).

6. Стандартные агенты-агрегаторы.

Библиография Набиуллин, Олег Ривхатович, диссертация по теме Математическое моделирование, численные методы и комплексы программ

1. Бабкин, Э.А. Разработка архитектуры, алгоритмических методов создания и моделирования распределенных программных систем. Н.Новгород : б.н., 2001.

2. Буч Г., Якобсон А., Рамбо Дж. UML. Классика CS. 2. Спб. : Питер, 2006. 736 с. Пер. с англ. ISBN 5-469-00599-2.

3. Гор Э. Инфраструктура для глобальной деревни. Scientific American. 11, 1991, С. 92-96.

4. Зелковиц М., Шоу А., Геннон Дж. Принципы разработки программного обеспечения, б.м. : Мир, 1982. 368 с.

5. Карпов Ю. Г. Model Checking. Верификация параллельных и распределенных программных систем. СПб.: БХВ-Петербург. 2009.

6. Мэлоун Т.У., Рокарт Дж.Ф. Компьютеры, сети и корпорация. Scientific American. И, 1991, С. 72-82.

7. Охотников Е. SObjectizer: I Love This Game! RSDN Magazine. 2005, N5., C. 19-21.

8. Трахтенгерц Э. А. Компьютерная поддержка принятия решений. M.: Синтег, 1998. 376 с.

9. Фомичев В.А. Новый класс языков для представления содержания посланий компьютерных интеллектуальных агентов. Москва : б.н., 2005 г., Бизнес-Информатика, Т. 1. ISSN: 1998-0663. С. 56-63.

10. Хакен Г. Информация и самоорганизация. M : Мир, 1991. С. 241.

11. Шутов A.A., Капустин C.B. Создание распределенной системы экономического моделирования на основе RePast и Swarm. ВШЭ. 2006.

12. Элиенс Антон. Принципы объектно-ориентированной разработки программ. 2002. 496 с.

13. Albayrak Raif Serkan, Suerdem Ahmet К. Towards a New Approach in Social Simulations: Meta-language. Berlin : Springer-Verlag, 2009 г., Multi-Agent-Based Simulation IX: International Workshop, стр. 195214.

14. Alur Rajeev, Henzinger Thomas A., Kupferman Orna, Vardi Moshe Y. Lecture Notes in Computer Science, 1998, Volume 1466/1998, pp. 163178

15. AsmGopher project page. В Интернете. http://www.tydo.de/Doktorarbeit/AsmGofer/index.html.

16. Asml Compiler web page. Codeplex. В Интернете. http://www.codeplex.com/AsmL/.

17. Axtell, Robert. Why agents? On the varied motivations for agent computing in the social sciences. Center on Social and Economic Dynamics Working Paper No. 17, November 1999 г., Agent Simulation: Applications, Models, and Tools.

18. Bellifemine F., Poggi A., Rimassa G., Turci P. Parma, An Object Oriented Framework to Realize Agent Systems. Pitagora Editrice Bologna, 2000. Proceedings of WOA 2000 Workshop, pp. 52-57. ISBN 88-371-1195-9.

19. Booch, G. Object Oriented Design with Application, s.l. : Benjamin/Cummings Publ. Inc., 1991. p. 589.

20. Borger E, Gargantini A. Abstract State Machines 2003-Advances in Theory and Applications. Springer LNCS, 2003. Abstract State Processes . pp.25-89. '

21. Borger E., Stark R. Abstract State Machines. A Method for High-Level System Design and Analysis. Berlin : Springer-Verlag, 2003.24: Canceled Software Development Projects costs Bilions. Computer. 1995, Vol. 8, p. 94.

22. Cheung' K.S., Cheung T.Y., Chow K.O. A petri-net-based synthesis methodology for use-case-driven system design. 2006 г., Journal of Systems and--Software, T. 79 Issue 6, pp. 772-790.

23. D'Souza R.M., Lysenko, M., Rahmani K. SugarScape on steroids: simulating over a million agents at interactive rates. Chicago, IL : б.н., 2007. Proceedings of Agent2007 conference.

24. Foundations for Software: Engineering., В Интернете. 2009 r. http://research.microsoft;com/fse/.

25. Fowler^ M. Patterns of' Enterprise Application Architecture. 6;M. :. Addison-Wesley Professional- 2002. P; 560.

26. Fussell M.L. A Good Architecture for: Object-Oriented Information Systems. 1996. OOPSLA'96 Conference Proceedings.

27. Gamma, E., et al. Design Patterns; Elements of Reusable Object-Oriented Software, s.l.: Addison-Wesley Professional, 1994-p. 416.

28. Gilber Nigel. Agent-based social simulation: dealing with complexity. http://www.agsm.edu.au/bobm/teaching/SimSS/ABSS-dealingwithcomplexity-1 -1 .pdf.^2004.

29. Guessoum Z. A Multi-Agent Simulation Framework. 1999 г., Transactions ofComputer Simulation.

30. Guessoum Z.,,et al. Towards Reliable Multi-Agent Systems. An Adaptive: Replication Mechanism, б.м. : To appear in International Journal of MultiAgent and Grid;Systems, IOSPRESS, 2010 r.

31. GurevichiY., Rosenzweig D; Partially Ordered Runs: A Case Study. б.м; : Springer LNCS 1912, 2000 г., Abstract State Machines. Theory and Applications., pp. 131-150.

32. Gurevich Yuri, Rossman Benjamin, Schulte Wolfram. Semantic Essence of AsmL: Extended Abstract. 2004 г., Springer Lecture Notes in Computer Science 3188, pp. 240-259.

33. Gurevich Yuri, Rossman Benjamin; Schulte Wolfram: Semantic Essence of AsmL: Extended .Abstract: б.м. : Springer. Verilag, 2004 г., Springer Lecture Notes in Computer Science 3188, pp. 240-259.

34. HLSIM Project Page. В Интернете. 2008 r. http://groups.csail.mit.edu/mac/projects/amorphous/hlsim/.

35. Hofmeister, С., Nord, R. and Soni, D. Applied Software Architecture, s.l. : Addison-Wesley, 2000. P. 397.

36. Horling, Bryan, et al. The TAEMS White Paper. В Интернете. 1999 r. ftp://mas.cs.umass.edu/pub/taemswhite.pdf.49.1nterface Definition Language. Wikipedia. В Интернете. 2009 г. http://en.wikipedia.org/wiki/IDL (programming language).

37. Kahn G. Natural semantics. In Symposium on Theoretical Computer Science^ (STACS'97), volume 247 on Lecture Notes in Computer Science, 1987

38. Koes M., Nourbakhsh I., Sycara K. Communication Efficiency in Multiagent Systems. New Orleans, LA : s.m, 2004: Proceedings- of ICRA 2004. Vol.3, pp. 2129-2134:

39. Leow Richard, Standish Russell K. Running С++ models under the Swarm environment. cs.MA/0401025, 2004 г., CoRR.

40. Luke S., Cioffi-Revilla C., Panait L., Sullivan K. MASON: A New Multi-Agent Simulation Toolkit. 2004. Proceedings of the 2004 SwarmFest Workshop.

41. Macy M.W. Learning Theory and the Logic of Critical Mass. 6, Dec 1990 г., American Sociological Review, T. 55, pp. 809-826.

42. Microsoft FSE Group. The Asml web page. В Интернете. 2009 r. http://research.microsoft.com/foundations/AsmL/.

43. Minar, N., et al. The Swarm simulation system: a toolkit for building multi-agent simulations. Santa Fe : Santa Fe Institute, 1996. Working Paper 96-06-042.

44. Model-driven engineering. Wikipedia. В Интернете. 2009 r. http://en.wikipedia.org/wiki/ModelDrivenEngineering.

45. Muller, Jean-Pierre, ed. The mimosa generic modeling and simulation platform: the case of multi-agent systems. In-Herder Coelho and Bernard Espinasse. Lisbon-: SCS, May 2004 г., 5th Workshop on Agent-Based Simulation, pp. 77-86.

46. Mtiller, Jean-Pierre. Mimosa: using ontologies for modelling and simulation. 2007. In Proceedings of Informatik 2007.

47. North M. J., Howe T. R., Collier N. Т., Vos, J. R. The Repast Simphony Runtime System. Proceedings of the Agent 2005. Conference on Generative Social Processes, Models, and Mechanisms, 2005.

48. OMG. OMG Model Driven Architecture. OMG. В Интернете. Object Management Group, Inc., 2009 r. http://www.omg.org/mda/.

49. Qureshi Kalim, Rashid Haroon. A Performance Evaluation'of RPC, Java RMI, MPI and PVM. 18, 2005 г., Malaysian Journal of Computer Science, T. 2, pp. 38-44. ISSN 0127-9084.

50. Rao A. S., Georgeff M. P. BDI-agents: from theory to practice. San Francisco : s.n., 1995. Proceedings of the First Intk Conference on Multiagent Systems.

51. Reisig W. Elements of Distributed Algorithms. Modeling and Analysis with Petri Nets. Ch.27,28. Berlin : Springer, 1998.

52. Russian Software Developer Network. В Интернете. 2009 r. http://www.rsdn.ru.

53. Sasaki Akira, Deguchi Hiroshi. Advancing Social Simulation: The First World Congress, б.м. : Springer Japan, 2007. pp. 177-188. 978-4-43,173150-4.

54. Schmid J. Compiling Abstract State Machines to C. Journal of Universal Computer Science. 11 7 2001 г., стр. 1069-1088.

55. Schmidt D.C. Model-Driven Engineering. 2, Los Alamitos, CA, USA : IEEE Computer Society Press, 2006, IEEE Computer, Vol. 39, p. 25. ISSN:0018-9162.

56. Shoham Yoav, Leyton-Brown, Kevin. Multiagent Systems: Algorithmic, Game-Theoretic, and Logical Foundations, б.м. : Cambridge University Press, 2008. P. 496. ISBN 9780521899437.

57. Sloman Aaron, Brian Logan. Building cognitively rich agents using the SIMAGENT toolkit. 2, New York, NY, USA : ACM , 1999 г., Т. 43, pp. 71-77. ISSN 0001-0782:

58. Standish R.K., Madina D. ClassdescMP: Easy MPI programming in С++, б.м;: Springer, 2003 г., Computational Science. arXivxs.DC/0401027.

59. Stonebraker M., Brown P. Objects in Middleware: How Bad Can It Be? http://www.informix.eom/infonnix/corpinfo/zines/whitpprs/howbad:htm . CA : A White Paper Informix Inc, 1998 r.

60. Tatara E., et al. An;Introduction to Repast Modeling by-Using a Simple Predator-Prey Example. Argonne : Argonne National Laboratory, Argonne, 2006. Proceedings of the Agent 2006 Conference on Social Agents: Results and.Prospects.

61. Tveit Amund. A survey of Agent-Oriented Software Engineering. 2001.

62. Wooldridge Michael, Jennings Nicholas R., Kinny David. The Gaia Methodology for Agent-Oriented Analysis and Design. 3, Hingham, MA, USA : Kluwer Academic Publishers, 2000 г., Autonomous Agents and

63. Multi-Agent Systems, Т. 3, стр. 285-312. ISSN: 1387-2532".142

64. Yuri GUrevich, Benjamin Rossman, Wolfram^ Schulte. Semantic Essence of AsmL: Extended1 Abstract., s.l. : Springer, 2004, Lecture- Notes in Computer Science 3188, pp. 240-259.1. Работы автора

65. Работы, опубликованные автором в ведущих рецензируемых научных журналах и журналах рекомендованных ВАК Министерства образования и науки России:

66. Набиуллин О.Р. Использование Spec Explorer 2007 и ASF для разработки миогоагентных имитационных моделей // Естественные и технические науки, 2009. № 3. ISSN 1684-2626. С. 398-402.,

67. Другие работы, опубликованные автором по теме кандидатской: диссертации:

68. Набиуллин 0:Р., Норкин В.М. Архитектура высокопроизводительной системы многоагентного моделирования // Бизнес-Информатика. 2008; № 2(04). ISSN: 1998-0663. С. 48-60.

69. Набиуллин О.Р., Бабкин Э.А. Моделирование и автоматическая проверка по AsmL // Бизнес-Информатика. 2008. № 4(06). ISSN: 19980663. С. 56-63.

70. Набиуллин О.Р. Разработка многоагентной модели на основе теории коллективного действия // 14-я Нижегородская сессия молодых ученых (математические науки): сборник тезисов. Нижний Новгород, 2009. в печати.