На правах рукописи
ЛОМОВ
Александр Андреевич
МЕТОД ОНТОЛОГО-ОРИЕНТИРОВАННОЙ РАЗРАБОТКИ ПРОГРАММНЫХ АГЕНТОВ
С КОСВЕННЫМ ВЗАИМОДЕЙСТВИЕМ В ИНТЕЛЛЕКТУАЛЬНЫХ ПРОСТРАНСТВАХ
05.13.11 — Математическое и программное обеспечение вычислительных машин,
комплексов и компьютерных сетей
АВТОРЕФЕРАТ
диссертации на соискание ученой степени кандидата технических наук
Петрозаводск 2014
Работа выполнена в Петрозаводском государственном университете.
Научный руководитель: Корзун Дмитрий Жоржевич, кандидат физикоматематических наук, доцент кафедры информатики и математического обеспечения ФГБОУ ВПО «Петрозаводский государственный университет»
(ПетрГУ)
Официальные оппоненты: звание, уч. степень ФИО Пантелеев Михаил Георгиевич кандидат технических наук, доцент кафедры вычислительной техники ФГБОУ ВПО «СанктПетербургский государственный электротехнический университет «ЛЭТИ» (СПбГЭТУ)
Ведущая организация: ФГБУН Институт прикладных математических исследований Карельского научного центра Российской академии наук (ИПМИ КарНЦ РАН, г. Петрозаводск).
Защита состоится (число, месяц, год) в … часов на заседании...
диссертационного совета Д 002.199.01 при Федеральном государственном бюджетном учреждении науки Санкт-Петербургском институте информатики и автоматизации Российской академии наук по адресу: 199178, Санкт-Петербург, В.О., 14 линия, 39.
С диссертацией можно ознакомиться в библиотеке Федерального государственного бюджетного учреждения науки Санкт-Петербургского института информатики и автоматизации Российской академии наук
Автореферат разослан... (число, месяц, год)
Ученый секретарь диссертационного совета Д 002.199. кандидат технических наук, доцент Нестерук Филипп Геннадьевич
Общая характеристика работы
Актуальность темы. Парадигма интеллектуальных пространств ориентирована на разработку прикладных сервисно-ориентированных многоагентных систем для вычислительных сред «повсеместных вычислений» и Интернета физических устройств (Internet of Things, IoT). Прикладная система строится как набор взаимодействующих программных агентов на окружающих и удаленных устройствах (напр., бытовая техника, мобильные ЭВМ). Интеллектуальное пространство (ИП) обеспечивает динамическое множество участников контекстно-зависимой информацией, сервисами и персонифицированными рекомендациям. Участниками выступают персональные агенты, агенты оборудования, сервисные агенты и др. Интеллектуальные пространства классифицируют по типу вычислительной среды, модели взаимодействия агентов и способу организации разделяемого информационного содержимого.
Широкое применение получили интеллектуальные пространства, разворачиваемые в локализованных физических окружениях (напр., в доме или офисе — системы Z-Wave, KNX, С-Bus). В случае открытых ИП участники представлены разнообразными вычислительными устройствами, а состав участников динамически меняется (напр., ИП в общественных местах — конференц-зал, зона отдыха и т.п.). Реализация таких ИП сталкивается с проблемой интероперабельности (возможности взаимодействия) множества динамических участников, включая вопросы как сетевого взаимодействия, так и разделения информационного содержимого.
В отдельный класс выделяют интеллектуальные пространства с косвенным взаимодействием программных агентов и онтолого-ориентированным представлением и обработкой разделяемого информационного содержимого. Такие ИП характеризуются следующими свойствами. Вычислительная среда удовлетворяет условиям IoT — разнообразные устройства локализованы в физическом окружении и выполняют сетевые коммуникации как друг с другом, так и с внешними системами. Взаимодействие агентов основано на моделях «классная доска» и «публикация/подписка».
Информационное содержимое ИП представлено в общем хранилище на основе моделей и технологий Семантического веб, ориентированных на машинную обработку.
Разработка агентов для ИП включает задачу программирования логики агента (программный код, реализующий действия агента как участника системы). В логике агента программируется косвенное взаимодействие с другими агентами, обработка информационного содержимого на основе модели RDF (Resource Description Framework) и онтологий проблемной области на языке OWL (Web Ontology Language).
Для программирования логики агента в терминах OWL-онтологий (классы, свойства, индивиды) необходимо промежуточное ПО и инструментарий разработки, которые предоставят уровень абстракции и механизмы программирования, скрывающие от разработчика нижележащую реализацию косвенного взаимодействия агентов.
Моделирование проблемной области с помощью онтологий позволяет применять методы модельно-ориентированной разработки. Онтологическая модель проблемной области определяет информационные объекты (далее — объекты), посредством которых агент взаимодействует с другими агентами в ИП. Промежуточное ПО позволяет связать такие объекты с конструкциями языка программирования и представить объекты в программном коде логики агента структурами данных. Развитие таких методов в итоге приводит к онтолого-ориентированной разработке ПО, когда онтологии применяются на основных этапах разработки (анализ, проектирование, реализация).
Целью диссертационной работы является повышение эффективности разработки агентов с косвенным взаимодействием в интеллектуальных пространствах за счет автоматизированной онтолого-ориентированной разработки программного кода логики агента на основе онтологий проблемной области.
Объектом исследования являются программные агенты интеллектуального пространства, применяющие 1) модели «классная доска» и «публикация/подписка»
для косвенного взаимодействия с другими агентами и 2) RDF-модель и OWL-онтологии для представления и совместной обработки информационного содержимого.
Предметом исследования являются модели косвенного взаимодействия агентов и механизмы программирования, обеспечивающие 1) автоматизированную онтолого-ориентированную разработку программного кода логики агента для разнообразных аппаратно-программных вычислительных платформ, 2) интеграцию, синхронизацию и обработку на стороне агента во время его выполнения информационного содержимого с использованием объектов онтологической модели проблемной области.
Для достижения поставленной цели в работе решаются следующие задачи.
1. Анализ существующих методов разработки программных агентов и моделей их взаимодействия для определения путей упрощения программирования логики агента за счет применения онтологической модели проблемной области.
2. Разработка метода автоматизированной онтолого-ориентированной разработки агентов для упрощения программирования логики агента с использованием объектов онтологической модели проблемной области.
3. Разработка моделей взаимодействия агентов для автоматической интеграции на стороне агента объектов из нескольких ИП, автоматической синхронизации на стороне агента объектов при их изменении в ИП и обработки на стороне агента группы объектов с автоматическим построением агентом запросов к ИП виде транзакций.
4. Разработка механизмов программирования для использования предлагаемых моделей взаимодействия при программировании логики агентов.
5. Реализация и апробация программных средств для применения предлагаемого метода онтолого-ориентированной разработки агентов и механизмов программирования с учетом разнообразия аппаратно-программных вычислительных платформ.
Результаты выполненных в работе исследований и проектных работ основаны на автоматизированных системах онтологического моделирования, моделях взаимодействия и протоколах распределенных систем, моделях и технологиях Семантического веб, методах системного программирования, объектно-ориентированном подходе к проектированию и программированию.
Основные положения, выносимые на защиту:
1. Метод автоматизированной онтолого-ориентированной разработки для программирования логики агента с использованием объектов онтологической модели проблемной области и моделей косвенного взаимодействия агентов.
2. Модель взаимодействия агентов на основе сессии параллельных сеансов сетевого доступа для участия агента в нескольких ИП и автоматической интеграции на стороне агента объектов из этих ИП.
3. Модель взаимодействия агентов на основе операции подписки для отслеживания агентом происходящих в ИП изменений и автоматической синхронизации на стороне агента изменяемых в ИП объектов.
4. Модель взаимодействия агентов на основе обработки группы объектов на стороне агента с автоматическим формированием запроса на множественное изменение информационного содержимого ИП в виде транзакции.
5. Механизмы обеспечения онтолого-ориентированной разработки программных агентов на основе предложенных моделей взаимодействия агентов и реализация этих механизмов в инструментарии SmartSlog платформы Smart-M3.
Научная новизна работы состоит в следующем.
1. Разработан метод разработки программных агентов на основе онтологических библиотек как промежуточного ПО, отличающийся поддержкой выбора объектов онтологической модели проблемной области для косвенного взаимодействия с другими агентами и позволяющий генерировать программный код онтологической библиотеки для выбранных объектов на целевом языке программирования.
2. Разработана модель взаимодействия агентов на основе сессии, отличающаяся поддержкой параллельных сеансов сетевого доступа при программировании логики агента и позволяющая одновременно взаимодействовать в нескольких ИП. Агент создает сессию из сеансов сетевого доступа с локальным хранилищем информации для автоматической интеграции объектов, разделяемых агентами в нескольких ИП.
3. Разработана модель взаимодействия агентов на основе операции подписки, отличающаяся поддержкой использования в логике агента объектов онтологической модели при программировании для отслеживания изменений в ИП и позволяющая на стороне агента автоматически синхронизировать объекты с изменениями, вносимыми в ИП другими агентами.
4. Разработана модель взаимодействия агентов на основе обработки группы объектов, отличающаяся возможностью программировать правила обработки в логики агента и позволяющая на стороне агента автоматически формировать запрос на множественное изменение информационного содержимого ИП в виде одной транзакции, уменьшая число сетевых обращений к ИП.
5. Реализованы механизмы программирования в виде инструментария SmartSlog для апробации предложенного метода, отличающиеся поддержкой моделей косвенного взаимодействия агентов и позволяющие разрабатывать программных агентов для ИП на платформе Smart-M3.
Обоснованность и достоверность научных положений обеспечены аналитическим обзором исследований и разработок в области интеллектуальных пространств, подтверждаются положительными итогами практического использования результатов диссертации в пилотных прикладных системах на базе платформы Smart-M3, а также апробацией основных научно-практических положений в печатных трудах и докладах на российских и международных конференциях.
Практическая ценность работы. Предложенные модели взаимодействия агентов используются в полученном методе разработки агентов. Механизмы программирования реализованы в инструментарии с открытым исходным кодом SmartSlog платформы Smart-M3. Инструментарий позволяет а) повысить качество разработки программного кода за счет связывания программных конструкций с онтологической моделью проблемной области, б) снизить трудозатраты на разработку и сопровождение программных агентов и в) разрабатывать агентов для различных аппаратно-программных вычислительных платформ. Инструментарий применяется при разработке системы интеллектуального зала SmartRoom, автоматизирующей проведение мероприятий коллективной деятельности (конференции, собрания и др.).
Реализация результатов работы. Исследования проводились в рамках реализации комплекса мероприятий Программы стратегического развития ПетрГУ на 2012г.г., были поддержаны грантом КА179 «Комплексное развитие регионального сотрудничества в области открытых инноваций в ИКТ» в рамках Karelia ENPI — совместной программы Европейского союза, Российской Федерации и Республики Финляндия, получили финансовую поддержку со стороны Минобрнауки России в рамках базовой части государственного задания №2014/154 в сфере научной деятельности, НИР № 1481.
Апробация. Основные положения и результаты диссертационной работы представлялись на международных конференциях Open Innovations Association FRUCT:
2011 г. (FRUCT 9, FRUCT 10), 2012 г. (FRUCT 12) и 2013 г. (FRUCT 13), семинаре «Проблемы современных информационно-вычислительных систем» в МГУ им М. В. Ломоносова, 2010 г.; международной конференции Annual International Workshop on Advances in Methods of Information and Communication Technology Computing, Systems, Services and Technologies (UBICOMM), 2010 г.; конгрессе Information Systems and Technologies (IS&IT'11), 2011 г.; научном семинаре СПИИРАН, 2013 г.; научном семинаре ИИММ КНЦ РАН, 2013 г.
Публикации. Основные результаты по материалам диссертационной работы опубликованы в 10 печатных работах, среди них 3 работы из перечня ВАК, 1 работа индексируется в базе данных Scopus.
Объем и структура работы. Диссертация объемом 122 машинописных страниц состоит из введения, 4 глав, заключения и приложения. Список использованной литературы содержит 88 наименований. Текст диссертации содержит 108 страниц машинописного текста, включая 30 рисунков, 5 таблиц.
Во введении обосновывается актуальность работы и формулируется ее цель, приводятся основные положения, выносимые на защиту, отмечается их научная новизна и практическая значимость, кратко изложены основные результаты и приведено содержание работы по главам.
В первой главе рассмотрены интеллектуальные пространства как парадигма для построения многоагентных систем, обеспечивающих пользователей контекстнозависимой информацией, сервисами и персонифицированными рекомендациями. В качестве иллюстративного примера вводится прикладная система «умный дом».
Интеллектуальные пространства классифицируют в зависимости от типа вычислительной среды, модели сетевого взаимодействия агентов и способа организации разделяемого агентами информационного содержимого. Выделяют интеллектуальные пространства с косвенным взаимодействием, в которых агенты динамически формируют информационное содержимое ИП, используя онтолого-ориентированные модели и технологии Семантического веб для представления и обработки информации.
Проблемная область описывается набором онтологий, позволяющих интерпретировать информационное содержимое ИП в терминах объектов и их семантических связей. Агент следует частной онтологической модели, определяющей, какое подмножество объектов требуется этому агенту для взаимодействия с другими агентами. Сетевой доступ любого агента к информационному содержимому ИП выполняется через информационного брокера, обрабатывающего запросы на чтение и запись.
Разработчик сталкивается со следующими проблемами при программировании логики агента. 1. Программирование взаимодействия с другими агентами в ИП. В логике агента необходимо реализовать сетевой доступ к ИП (в общем случае, в виде набора параллельных вычислительных потоков к одному и более ИП). Программный код оперирует со структурами данных для представления на стороне агента объектов из информационного содержимого ИП. 2. Программирование реакции агента на изменения информационного содержимого ИП, вносимых другими агентами. В логике агента необходимо реализовать подписку на объекты в информационном содержимом ИП для отслеживания изменений. В программном коде задается реакция агента на поступающие изменения с внесением ответных изменений. На решение этих проблем влияют, во-первых, ограничения целевого устройства для программного агента: язык программирования, вычислительные ресурсы, средства сетевых коммуникаций, организация параллельных вычислительных потоков. Во-вторых, трудоемкость разработки зависит от уровня абстракции для представления в программном коде обрабатываемого информационного содержимого.
Два уровня разработки программного агента для ИП показаны на рис. 1. При низкоуровневой разработке (уровень RDF-представления) в программном коде используется представление в виде RDF-троек, т.е. без непосредственных манипуляций в коде с объектами онтологической модели. Сетевой доступ к ИП — через RDFориентированный ИП-интерфейс. Высокоуровневая разработка (уровень OWLпредставления) скрывает от разработчика операции с RDF-тройками в промежуточном ПО. Разработчику предоставлен дополнительный уровень абстракции (структуры данных для представления в программном коде объектов онтологической модели — OWL классы, свойства и индивиды) и поддерживающий его интерфейс прикладного программирования. Промежуточное ПО увеличивает общий объем программного кода агента, но упрощает программирование логики агента за счет приближения к проблемной области. В результате, уменьшается программный код логики агента, который необходимо создать и протестировать прикладному разработчику.
Задачи программирования логики агента для реализации взаимодействия агентов приведены в табл. 1. Их решение на уровне RDF-представления требует от разработчика самостоятельно программировать сетевой доступ к ИП для обмена наборами троек и их обработку, в том числе доступ или синхронизацию обновлений в виде набора параллельных вычислительных потоков. На уровне OWL-представления решение допускает автоматизацию: промежуточное ПО предоставляет механизмы для программирования в логике агента взаимодействия с другими агентами через разделение в информационном содержимом ИП объектов онтологической модели проблемной области. Для разработки агентов выгодно использовать онтолого-ориентированный подход, повышающий уровень автоматизации разработки, надежности и снижающий трудозатраты на сопровождение агентов. На основе онтологий автоматизируется проверка корректности и проводится интеграция информации.
Рисунок 1. Низкоуровневая и высокоуровневая разработка программных агентов для интеллектуальных пространств.
Во второй главе предложен метод автоматизированной онтолого-ориентированной разработки агентов для ИП. Промежуточное ПО для высокоуровневой разработки агента реализуется как программная онтологическая библиотека функций и структур данных, предоставляющая разработчику логики агента интерфейс прикладного программирования, параметризируемый объектами онтологической модели.
Разработка агента включает следующие шаги (рис. 2), каждый из которых поддерживает автоматизацию на основе онтолого-ориентированного подхода к разработке ПО:
1) онтологическое моделирование проблемной области, 2) выбор объектов для формирования частной онтологической модели проблемной области для взаимодействия агента с другими агентами и автоматическая генерация программного кода онтологической библиотеки, 3) программирование логики агента и взаимодействия с другими агентами, используя структуры данных и функции из онтологической библиотеки.
Представление объектов Программный код опери- Структуры данных, при- Генерация промеонтологической модели рует наборами троек. ближенные к проблем- жуточного ПО для Сетевой доступ к не- Сетевые сеансы доступа в Сетевые сеансы объеди- Интеграция поскольким ИП с интегра- параллельных вычисли- нены общим локальным ступающих обновцией поступающих об- тельных потоках с раз- хранилищем. лений из ИП.
новлений. дельной обработкой получаемых из ИП троек.
Отслеживание изменений Подписка на тройки и Подписка на онтологи- Синхронизация в ИП, вносимых другими программирование обра- ческие объекты (классы, поступающих обагентами, и синхрониза- ботки получаемых набо- индивиды, свойства). новлений из ИП.
ция обновлений. ров троек.
Локальная обработка с Обработка наборов троек Обработка в терминах Формирование последующим внесением и формирование множест- проблемной области и общего запроса на множественных измене- ва запросов на внесение формирование запросов внесение изменений в ИП. изменений. на свойств индивидов. ний в ИП.
Таблица 1. Базовые задачи программирования логики агента.
Онтологическая библиотека состоит из частей l data и l func. В l data определены структуры данных для представления объектов частной онтологической модели агента. С учетом целевой для агента аппаратно-программной вычислительной платформы предлагается генерировать программный код l data с выбором языка программирования. Инвариантная функциональная часть l func содержит функции для программирования взаимодействия агента в общеонтологических терминах — «класс», «свойство», «индивид». Тем самым, программная реализация l func зависит от целевой аппаратно-программной платформы без привязки к конкретной проблемной области.
Рисунок 2. Схема использования онтологической библиотеки в рамках метода В логике агента используются вызовы функций из l func с параметрами на основе структур данных из l data. Для сетевого доступа агента к ИП онтологическая библиотека выполняет преобразования между структурами данных l data и RDF-представлением. Часть l func поддерживает различные ИП-интерфейсы, чтобы обеспечить разработку агентов для широкого круга аппаратно-программных платформ.
Емкостная трудоемкость онтологической библиотеки оценивается как Величины v data и v func определяют объем памяти для загрузки частей l data и l func на устройство. Параметры C obj, C ses и C sub отражают средние затраты по памяти для хранения на стороне агента одного индивида и его свойств, сеанса и подписки. Параметры n loc, n ses и n sub — это число индивидов, сеансов и подписок.
Время выполнения отдельной функции из l func зависит от автоматических преобразований между структурами данных l data и RDF-форматом ИП-интерфейса. Временная трудоемкость онтологической библиотеки оценивается как где C obj- trp и C trp -obj — средние затраты на преобразование (из OWL-объектов в RDFтройки и обратно), — интенсивность вызова функций онтологической библиотеки в вычислительном потоке, nth — число параллельных вычислительных потоков.
Оценки (1) и (2) определяют затраты, вызываемые переходом к разработке на уровне OWL-представления. Для маломощных устройств эти затраты должны быть ограничены. Применение частной онтологической модели для агента уменьшает значения nloc, C obj- trp и C trp -obj. Так, в системе «умный дом» онтологии описывают 1) людей, 2) сенсоры физического окружения и 3) бытовое климатическое оборудование. Поскольку агент сенсора оперирует с небольшим набором измеряемых параметров и операции доступа к ИП сводятся к простым операциям чтения/записи, то генерируемая для него часть l data не требует трудоемких программных конструкций.
Предложенный метод применяет модели взаимодействия агентов, где объекты онтологической модели выступают базовыми элементами при программировании логики агента. В работе предлагаются три таких модели.
Модель взаимодействия агентов на основе сессии используется агентом как ( P, Q, D ), где P — множество сеансов сетевого доступа агента к ИП, Q — множество подписок для отслеживания изменений в ИП, D — множество объектов онтологической модели в локальном хранилище. Сетевой сеанс требует отдельного вычислительного потока на стороне агента. Подписка привязана к сетевому сеансу. Локальное хранилище разделено между сеансами и подписками, что позволяет автоматизировать интеграцию обновлений, поступающих из нескольких ИП. Так, свойства индивида могут разделяться в разных ИП, обновления поступают по параллельным сетевым сеансам, но в логике агента индивид представлен как один целостный объект.
Каждый сеанс (и подписка) находится в активном состоянии или ожидает. В активном состоянии установлено сетевое соединение с ИП (для подписки в отслеживаются изменения в ИП). В состоянии ожидания сеанс или подписка определены только на стороне агента (сетевое соединения отсутствует). Следовательно, при программировании логики агента вместо явного завершения сетевого сеанса и последующей установки нового можно использовать компактные программные конструкции переключения состояний сеансов. Для этих целей онтологическая библиотека включает операции активации ( ACTIVE ) и ожидания (WAIT ). Для сеансов, подписок и объектов в локальном хранилище сессии введены операции: регистрация ( REG ) — ассоциирует объект с сессией, удаление ( DEL ) — удаляет ассоциацию объекта.
Пример использования модели — взаимодействие агента в системе «умный дом», где развернуты два ИП (внутри дома и во дворе). Персональный агент на мобильном телефоне использует сетевые сеансы доступа к двум ИП. В логике агента переключаются состояния сеансов и подписок в зависимости от местоположения человека. Поступающие по подпискам изменения из этих ИП интегрируются агентом в локальном хранилище информации в виде объектов (индивидов и их свойств).
Модель взаимодействия агентов на основе онтолого-ориентированной операции подписки используется агентом как (Osrc, Dsub, Dind ), где Osrc — множество объектов онтологической модели для отслеживания в ИП, Dsub — множество RDF-троек, представляющие отслеживаемые объекты в формате ИП-интерфейса, Dind — множество RDF-троек для представления изменений отслеживаемых объектов в формате ИП-интерфейса. При программировании логики агента разработчику нужно оперировать непосредственно только с объектами из Osrc — множества троек Dsub и Dind скрыты от разработчика, обновление Osrc выполняется на стороне агента автоматически. Для этих целей в онтологическую библиотеку включают операции SUBDATA(Osrc ) и UPDATE ( Dind ). Первая транслирует объекты Osrc в представление Dsub для подписки на уровне ИП-интерфейса. Вторая обновляет объекты Osrc на основе Dind. Параметры операции подписки — объекты из Osrc. В результате, разработчик