Информатика, вычислительная техника и инженерное образование. – 2012. № 1 (8)
Раздел III. Искусственный интеллект и нечеткие системы
УДК 004.89 + 004.4
Л.С. Родзина
ИНСТРУМЕНТАЛЬНЫЕ СРЕДСТВА ПОДДЕРЖКИ МНОГОАГЕНТНЫХ
ПРИЛОЖЕНИЙ ДЛЯ СРЕДЫ E-LEARNING*
В статье представлены результаты исследования, посвященного проектированию
инструментальных средств поддержки многоагентных приложений для среды e-learning.
Разработан алгоритм ведения агентами переговоров. Анализируются особенности программной реализации агентов на мультиагентной платформе JADE. Приводятся результаты экспериментов для демоверсии многоагентной системы, намечены направления дальнейших исследований: персонализация и адаптация электронных образовательных контентов к запросам конкретного пользователя, интеллектуализация многоагентной системы, ориентация на новую парадигму образования.
E-learning, многоагентная система, платформа JADE, стандарт FIPA.
L.S. Rodzina
TOOLS TO SUPPORT MULTIAGENT APPLICATIONS FOR THE ELEARNING
The paper presents the results of a study on the design of tools to support multiagent applications for the e-learning. The algorithm of agents of the negotiations. The features of the programmatic implementation of the agents on the multi-agent platform JADE. We present results of experiments for a demo of multi-agent system, the directions for further research: personalization and adaptation of electronic educational contents to the needs of a particular user, intellectualization of multi-agent system, focus on new paradigm of education.E-learning, multi-agent system, platform JADE, standard FIPA.
Введение. В России e-learning представлено краткосрочными образовательными программами заказчиков дополнительного обучения, а также комплексными программами, которые предлагают некоторые университеты, открывающие виртуальные филиалы в Интернет [1]. Но e-learning является и объектом, и инструментом модернизации современных учебных программ, поскольку представляет неотъемлемую часть учебного процесса в любой форме обучения. E-learning позволяет преобразовывать образовательный контент, повышать мобильность и креативность учебных планов, открывает возможности проектирования и конструирования разнообразных инструментов формирования профессиональных компетенций.
*
Работа опубликована при поддержке РФФИ (проекты № 11-07-00094-а и № 11-07-00064-а).
Информатика, вычислительная техника и инженерное образование. – 2012. № 1 (8) Ведутся активные исследования по поиску новых высокоэффективных образовательных технологий. Этот факт убедительно подтверждают проведение масштабных конференций по применениям информационных технологий в образовании [2]. По существу, эти конференции посвящены обсуждениям новых технологий обучения на основе сети Интернет. В материалах этих конференций в числе наиболее перспективных технологий и систем указываются следующие технологии и среды:
технология интеллектуальных программных агентов и многоагентных систем, которая позволяет распознавать индивидуальные особенности обучаемого и возможные возникающие проблемы при усвоении учебного материала и на основе этого автоматически строить модель обучаемого;
интеллектуальные образовательные среды, построенные с использованием технологий и принципов интеллектуальных агентов, сетей знаний, распознавания и генерирования речи для построения гибких интеллектуальных интерфейсов;
среды интерактивного взаимодействия, построенные на основе интерактивных распределенных игр и распределенных виртуальных миров, состоящих из объектов многоразового использования (software reuse технологии);
среды интерактивного преподавания и обучения, построенные на основе web-lecturing технологии и активного использования стримминг видео- и аудиофрагментов в реальном масштабе времени;
технология порталов, позволяющая адаптировать и персонализировать пользователя по запросам, а также автоматически своевременно обновлять расположенную в сети Интернет информацию;
высокоэффективные языки программирования XML и SMIL, на базе которых будет строиться подавляющее большинство систем и приложений, основанных на следующем поколении сети Интернет;
технология семантического Web, целью которой является объединение существующих разрозненных и отдельно функционирующих Web-"островов" в единую глобальную информационную систему.
Все это позволяет говорить об актуальности исследований в области разработки инструментальных средств поддержки многоагентных приложений для среды e-learning.
Постановка задачи. Согласно определению международной организации FIPA (Foundation for Intelligent Physical Agents), цель которой – способствовать продвижению коммерческих приложений технологии интеллектуальных агентов путем разработки открытых спецификаций, поддерживающих взаимодействие агентов и агентных сервисов; агент «обладает способностью предоставлять в рамках унифицированной и интегрированной исполнительной модели один или более сервисов, которые могут включать доступ к внешнему программному обеспечению, пользователям и коммуникационным возможностям» [3].
Одной из важных задач является проектирования инструментальных средств поддержки многоагентных приложений для среды e-learning.
Для успешного взаимодействия агентов необходимо их синтаксическое (по языку) и семантическое (по используемым в предметной области понятиям) согласование. Проблема здесь состоит в различиях между внешним и внутренним представлениями знаний. Возможное решение проблемы заключается в использовании онтологии как части языка коммуникации агентов [4].
Информатика, вычислительная техника и инженерное образование. – 2012. № 1 (8) Т. Груббером доказано, что онтологии, описанные в формате логики предикатов, могут быть транслированы в другие формы представления [5].
Совместное использование информации людьми или программными агентами – одна из целей разработки онтологий. К примеру, различные веб-сайты содержат информацию о некоторой предметной области. Если эти веб-сайты совместно используют и публикуют одну и ту же базовую онтологию терминов, то компьютерные агенты могут извлекать информацию из этих сайтов, накапливать ее и использовать для ответов на запросы. Вообще, возможность использовать знания в предметных областях – одна из движущих сил в изучении онтологий.
При проектировании инструментальных средств поддержки многоагентных приложений возникают различные вопросы [6]:
как агенты взаимодействуют между собой? Какие языки и протоколы для этого использовать? Что и когда передавать?;
как гарантировать, что агенты действуют когерентно в принятии решений или мер?;
как агенты представляют и рассуждают относительно действий, планов и знаний других агентов, чтобы выполнять координацию с ними?
Постановка решаемой исследовательской проблемы состоит в следующем.
В условиях наличия нескольких источников знаний в информационно-обучающе й системе, многокомпонентности и сложной структуры учебно-педагогических знаний реализовать программных агентов, оказывающих помощь обучаемому в освоении учебного курса. Из проблемы вытекает целый ряд частных задач:
используя модель FIPA-совместимой агентной платформы, разработать архитектуру многоагентной системы для среды e-learning на JADE [7];
разработать правила построения и поддержки переговоров агентов в среде e-learning;
разработать сценарий переговоров агентов с целью оптимизации процесса e-learning;
разработать инструментальные средства для демоверсии многоагентной системы, реализующей сценарий переговоров агентов на платформе JADE.
Решению указанных задач посвящены разделы, представленные ниже.
Многоагентная платформа JADE. Наиболее популярной из многоагентных платформ является JADE. Ее назначение распределенные приложения, собранные из автономных агентов. Основными свойствами платформы JADE являются:
поддержка стандартов FIPA;
существование большого количества готовых плагинов;
наличие подробной документации и лицензии;
наличие связи с коммерческими структурами и применение платформы во многих университетах мира;
наличие инструментария разработки агентов (отладка обработчиков поведения, средства тестирования, управление платформой и агентами);
использование в качестве языка описания агентов Java, возможность использования сторонних плагин, наличие библиотеки протоколов согласно стандартам FIPA, поддержка онтологий;
использование плагины Semantic Web и Web Services.
Информатика, вычислительная техника и инженерное образование. – 2012. № 1 (8) Предлагаемая архитектура организации образовательной сети включает следующих основных агентов: Student Agent (SA), внутренний агент Searchbot Agent (SB), Matchmaker; Pedagogical Agents (PA), зарегистрированных на платформе JADE.
Алгоритм ведения агентами переговоров. В качестве примера, на рис. представлен алгоритм ведения переговоров агентом SA.
Исходные данные поступают от студента через GUI к SA. Запрос переходит к агенту SB. Этот запрос проверяется на предмет соответствия данной тематике (проверка на принадлежность используемых предикатов и терминов заданной онтологии). В случае успешного ответа запрос передается агенту Matchmaker (в противном случае студенту выдается соответствующее сообщение об ошибке и требуются дальнейшие действия студента либо переформулирование запроса, либо отказ вообще от использования данного сервиса). Агент Matchmaker, получив запрос от агента SB, в свою очередь обращается к «сервису желтых страниц», который обеспечивается агентом среды JADE Directory Facilitator (DF). Подразумевается, что все существующие педагогические агенты заранее зарегистрированы агентом DF.
Агенту DF передается запрос на выдачу списка всех педагогических агентов, предоставляющих заданные дистанционные курсы с именем желаемого курса (подразумевается, что решен вопрос о синонимичности курсов, находящийся в компетенции онтологического агента).
Информатика, вычислительная техника и инженерное образование. – 2012. № 1 (8) Агент Matchmaker получает список, состоящий из N педагогических агентов PA, готовых предоставить заданный дистанционный курс. Затем агент Matchmaker передает этот список агенту SB, который начинает вести переговоры с каждым педагогическим агентом из списка. В первую очередь, агент SB задает уточняющий вопрос о наличии заданного курса у педагогического агента (РА), т.к. данные предоставленные агентом Matchmaker, который, в свою очередь, воспользовался «сервисом желтых страниц» могли быть устаревшими. В случае отсутствия необходимого курса по РА агент SB переходит к переговорам со следующим РА.
В случае наличия необходимого курса агент SB обращается с запросом к РА для получения полного списка разделов курса. Когда список получен, агент SB производит сравнение списка разделов курса с заданным студентом списком разделов и в случае совпадения разделов он спрашивает у РА информацию о длительности и стоимости совпавшего раздела, фиксируя в своей базе данных полученную информацию. Таким образом, происходят диалоги со всеми PА из списка.
По завершении списка SB агент переходит к принятию решения: он подбирает такую последовательность необходимых разделов, которая бы максимально соответствовала бы запросу студента, включая стоимостные и временные ограничения.
Особенности программной реализации агентов в среде JADE. При программной реализации поведения агента используется класс JADE, его реализующий, а само поведение задается программистом.
Рассмотрим фрагмент поведения агента Searchbot Agent (SB) на языке Java с использованием классов JADE. Агент Searchbot Agent выполняет основные функции агента SA и получает от него по GUI необходимую информацию. При получении определенных шаблонов сообщений агент переходит из одного состояния в другое. Если сообщение не приходит, то агент остается в прежнем состоянии.
Например, вначале, агент Searchbot Agent ожидает информацию о введенном запросе от студента, получая ее от SA. Тип сообщения в поле должен быть «inform» и язык сообщения, указанный в поле должен быть «Plain-Text». Следовательно, вначале, агент SA ждет, чтобы его информировали (текстовая информация), для того чтобы в дальнейшем он мог действовать.
На языке Java это реализовано следующим образом:
class myBehaviour extends SimpleBehaviour { private boolean finished = false;
ACLMessage msg1, msg2;
public myBehaviour(Agent a) { super(a); } public void action() { if (op1()) state=2; else state=1;
if (op2()) state=3; else state=2;
Информатика, вычислительная техника и инженерное образование. – 2012. № 1 (8) // Receiving source information from StudentAgent MessageTemplate m2 = MessageTemplate.MatchLanguage("Plain-Text");
MessageTemplate m3 = MessageTemplate.and(m1,m2);
// Sending source information to Matchmaker r.setName("Matchmaker");
msg2 = new ACLMessage(ACLMessage.QUERY_REF);
msg2.setSender(getAID());
msg2.setContent("((all ?x (and (course-deliver ?x) (and (hold-of ?x ?y) (and (distance-course ?y) (has-title ?y "+msg1.getContent()+")))) ))");
msg2.setLanguage("FIPA-SL");
msg2.setOntology("Distance-Learning");
msg2.setReplyWith("q1");
Подразумевается, что вначале объявляется класс агента SA, который является производным класса Agent среды JADE. Затем задается поведение агента при реализации класса myBehaviour, являющегося производным классом от класса SimpleBehaviour.
Значение состояния содержится в переменной state, которое инициализируется значением 1. Затем при получении сообщения Inform на языке Plain-Text от агента Student Agent состояние разговора меняется на state=2, в противном случае, если сообщение не пришло, то агент SearchbotAgent остается в прежнем состоянии state=1, и т.д. Таким образом, разговор агентов производится путем передачи друг другу определенных сообщений на языке FIPA ACL и сменой состояний, при получении конкретных сообщений.
Информатика, вычислительная техника и инженерное образование. – 2012. № 1 (8) Графический интерфейс программы позволяет задавать следующие поля:
название курса; названия разделов курса; ограничения на цену курса; ограничения на длительность курса. При этом используются возможности, предоставляемые платформой JADE для наглядного представления происходящих в среде переговоров (используется служебный агент Sniffer).
Программная реализация агентов и их переговоров в среде JADE имеет свои особенности. В основном для общения между агентами используются сообщениязапросы. Переговоры агентов производятся путем передачи определенных сообщений на языке FIPA ACL. Удобный для использования и интуитивно понятный GUI является важной частью разработки Конечно, технологии не стоят на месте. В программный комплекс JADE могут быть включены дополнительные модули, например для связи с внешними компонентами, библиотеки агентов и внешних компонентов. Среда разработки многоагентных систем может быть дополнена специализированными модулями их проектирования, например, системой контроля версий, редактором онтологий Protege и др.
К тому же программные агенты могут выполнять множество рутинных задач по обработке информации без помощи человека. Основной трафик порождается агентами, а конечный пользователь даёт задания агентам и выполняет общее управление такой деятельностью. Возможна миграция агентов не только между постоянно присоединенными к сети узлами, но и между мобильными платформами, которые подключаются к сети на некоторые промежутки времени. Клиент присоединяется к постоянной сети на короткий промежуток времени с мобильной платформы, отправляет агента для исполнения задачи и отсоединяется; потом клиент присоединяется к другому узлу сети и забирает результаты работы агента. Другой вариант – сервер, на который должен переместиться агент, присоединяется до сети, а потом отсоединяется. В этом случае агент должен уметь переместиться на такой сервер, который временно присоединяется, и вернуться в постоянную сеть.
Результаты экспериментов и направления дальнейших исследований. В настоящее время демонстрационная версия многоагентной системы выполняет поиск заданных учебных курсов и их отдельных модулей, удовлетворяющих по своим параметрам запросу пользователя. В зависимости от результатов поиска либо выводится список подходящих курсов вместе с идентификаторами предоставляющих их агентов, либо сообщения об отсутствии таковых в принципе, либо о причине несоответствия найденных.
Агенты общаются между собой по определенным разработанным сценариям. Проводится доработка и расширение платформы агентов за счет следующего множества агентов:
агент Администратор для управления жизненным циклом агентов, физически расположенных на платформе;
агент Менеджер предметной области, отвечающий за регистрацию сервисов (ролей) агентов приложений и поддержки;
агент Коммуникационный канал, который обеспечит физическую связь между агентами, включая служебных агентов;
агент Раппер для преобразования форматов сообщений между агентами и остальным программным обеспечением (базами данных, пакетами прикладных программ и т. д.);
Информатика, вычислительная техника и инженерное образование. – 2012. № 1 (8) агент Администратор Онтологий, в функции которого входит обеспечение связи между серверами онлайн-курсов, администрирование и управление курсами; распределение ролей (студент, преподаватель, администратор курса и т. п.);
агент Персональный ассистент, представляющий собой особый класс интеллектуальных агентов, функционирующих полуавтономно от пользователя и от его имени, представляя его интересы или представляя услуги от имени пользователя другим ассистентам;
агент Монитор Группы, который сможет обеспечить поддержку кооперативного решения проблемы; помочь тьюторам в координации действий членов группы; а также предложить темы для обсуждения, выбирая их из базы знаний;
координирует фазы обсуждения проблем (например, управляет процедурами предоставления слова, организации голосования и т. п.); распределить привилегии при принятии предложений; предложить возможные общие решения. Этот же агент, помогая студентам, координирует сообщения, переключает и активизирует панель пользователя, предлагает частные решения пользователю;
агент Новости обеспечивает поддержку системы новостей и асинхронного обмена сообщениями между преподавателем и студентами, включая обеспечение связи между пользователями, зарегистрированными на различных серверах; обеспечивает запись всех сообщений, относящихся к данному конкретному пользователю в его «записную книжку», реализованную в виде отдельного приложения на компьютере клиента;
агент Чат обеспечивает поддержку структурированного и синхронного обсуждения пользователями, включая обеспечение связи между пользователями, зарегистрированными на различных серверах.
Основными направлениями дальнейших исследований и разработок по разработке инструментальные средства поддержки многоагентных приложений для среды e-learning являются:
дальнейшая интеллектуализация многоагентной системы;
персонализация и адаптация электронных образовательных контентов к запросам конкретного пользователя [8];
соответствие разрабатываемым стандартам по представлению учебных материалов в сети Интернет;
ориентирование на новую парадигму образования, в центре которой стоит обучаемый и глобальные образовательные ресурсы, а не преподаватель и локальные ресурсы;
новые технологии преподавания и обучения, основанные на возможностях сети Интернет.
Заключение. Один из наиболее важных выводов из проведенных исследований, программных разработок и экспериментов заключается в том, что технология многоагентных систем является одним из самых перспективных средств для построения агентов, способных играть роль виртуальных преподавателей, виртуальных студентов или слушателей, виртуальных тьюторов или кураторов, помогающих студентам в обучении.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Бова В.В., Курейчик В.В., Нужнов Е.В., Родзин С.И. Принципы построения интегрированной инструментальной среды поддержки инновационного асинхронного образования Информатика, вычислительная техника и инженерное образование. – 2012. № 1 (8) // Известия ЮФУ. Технические науки. Таганрог: Изд-во ТТИ ЮФУ, 2009.
№ 12 (101). С. 240-246.
2. Родзина Л.С. Прикладные многоагентные системы. Программирование на платформе JADE. - Saarbrucken, Germany: LAP LAMBERT Academic Publishing GmbH&Co, 2011. – 3. FIPA ACL Message Structure Specification. http://www.fipa.org/specs/fipa00061/.
4. Тарасов В.Б. От многоагентных систем к интеллектуальным организациям: философия, психология информатика. – М.: Изд-во Эдиториал УРСС, 2002. – 352 с.
5. Gruber T.R. A Translation Approach to Portable Ontology Specifications // Knowledge Acquisition, 1993, № 5 (2). pp. 199-220.
6. Городецкий В.И., Карсаев О.В., Самойлов В.В., Серебряков С.В. Инструментальные средства для открытых сетей агентов // Известия РАН. Теория и системы управления.
2008. № 3. – C. 106-124.
7. JADE Programmers guide. http://sharon.cselt.it/projects/jade/doc/programmersguide.pdf.
8. Родзина Л.С., Родзина О.Н. О некоторых подходах к разработке электронных образовательных контентов // Труды межд. научно-тех. конф. "Интеллектуальные системы" (AIS'08) и "Интеллектуальные САПР" (CAD-2008), Дивноморск, Россия. М.:
ФИЗМАТЛИТ, 2008. Т. 3. С. 215-219.
Родзина Лада Сергеевна Федеральное государственное автономное образовательное учреждение высшего профессионального образования «Южный федеральный университет»;
E-mail: [email protected];
347928, г. Таганрог, пер. Некрасовский, 44;
Тел.: +79185303314;
Кафедра математического обеспечения и применения ЭВМ, студент.
Rodzina Lada Sergeevna Taganrog Institute of Technology Federal State-Owned Educational Establishment of Higher Vocational Education «Southern Federal University»;
E-mail: [email protected];
44, Nekrasovskiy, Taganrog, 347928, Russia;
Phone: +79185303314;
The Department of Software Engineering, postgraduate student.