Смекни!
smekni.com

Разработка интеллектуального агента глоссария с набором терминов по тематическим вопросам (стр. 3 из 6)

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

GlossaryAgent.xml

<!--<H3>Glossary agent</H3>-->

<agent xmlns="http://jadex.sourceforge.net/jadex"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://jadex.sourceforge.net/jadex

http://jadex.sourceforge.net/jadex-0.94.xsd"

name="Glossary"

package="Glossary">

Рисунок 2.2 – Общееописаниеагентаглоссария


<imports>

<import>jadex.planlib.*</import>

<import>jadex.runtime.*</import>

<import>jadex.util.*</import>

<import>jadex.adapter.fipa.SFipa</import>

<import>java.util.logging.*</import>

<import>jadex.adapter.fipa.*</import>

</imports>

Рисунок 2.3 – Импортируемые библиотеки

<goals>

<! -- Query goal represents a necessity in information, executes the search of terms. -->

<querygoal name="query_term" exclude="never">

<parameter name="result" class="term" direction="out">

<value evaluationmode="dynamic">

select one $term from $beliefbase.terms

where !$term.isFull()

order by $beliefbase.my_location.getDistance($term.getLocation())

</value>

</parameter>

</querygoal>

<!-- Main goal of the student is to give additional information. -->

<maintaingoal name="term_definition">

<maintaincondition>

$beliefbase.query = true

</maintaincondition>

</maintaingoal>

</goals>

Рисунок 2.4 – Цели работы агента


<beliefs>

<!-- Restart agent -->

<belief name="Restart" class="Glossary">

<fact>GlossaryPlanRestart();</fact>

</belief>

<!-- The presence of request for additional information.

Search of terms from the list of materials. -->

<belief name="QuerySearch" class="Glossary">

<fact>GlossaryPlanSearch.getGlossaryDictionary();</fact>

</belief>

<!-- Opening of the found searching information. -->

<belief name="ContentOpen" class="Glossary">

<fact>GlossaryPlanOpenDictionary();</fact>

</belief>

<!-- Send message to agent coordinator. -->

<belief name="FileNotFound" class="Glossary">

<fact>GlossaryPlanSendMessageTermNotFound();</fact>

</belief>

<!-- Send message to agent chat. -->

<belief name="NoTerm" class="Glossary">

<fact>GlossaryPlanSendMessageNoTerm();</fact>

</belief>

<!-- Send message to student. -->

<belief name="NoReference" class="Glossary">

<fact>GlossaryPlanSendMessageNoReference();</fact>

</belief>

<!-- Sleep mode agent-->

<belief name="SleepMode" class="Glossary">

<fact>GlossaryPlanSleep();</fact>

</belief>

</beliefs>

Рисунок 2.5 – Используемые знания агентом, которые описывают исполняемые факты

<plans>

<!-- Plan restart agent-->

<plan name="restart">

<body>new GlossaryPlanRestart()</body>

</plan>

<!-- Plan presence of references in the text-->

<plan name="reference">

<body>new GlossaryPlanReference()</body>

</plan>

<!-- Plan search of necessary term-->

<plan name="search">

<body>new GlossaryPlanSearch()</body>

<trigger><messageevent ref="request_reference"/></trigger>

</plan>

<!-- Plan reflection of content-->

<plan name="content_open">

<body>new GlossaryPlanOpenDictionary()</body>

</plan>

<--External plan. Description of interaction with an agent by a co-ordinator.-->

<plan name="coordinator">

<body>new GlossaryPlanSendMessageTermNotFound()</body>

<trigger><messageevent ref="request_inform"/></trigger>

</plan>

<--External plan. Description of interaction with an agent by a chat.-->

<plan name="chat">

<body>new GlossaryPlanSendMessageNoTerm() </body>

<trigger><messageevent ref="request_failure"/></trigger>

</plan>

<-- Plan show message to student-->

<plan name="student">

<body>new GlossaryPlanSendMessageNoReference() </body>

<trigger><messageevent ref="request_reference"/></trigger>

</plan>

<!-- Plan sleep mode agent-->

<plan name="sleep">

<body>new GlossaryPlanSleep()</body>

</plan>

</plans>

Рисунок 2.6 – Исполняемые планы агента

<events>

<messageevent name="request_inform" direction="receive" type="fipa">

<parameter name="performative" class="String" direction="fixed">

<value>SFipa.INFORM</value>

</parameter>

<parameter name="content-start" class="String" direction="fixed">

<value>"Error! Reference of the term is not found."</value>

</parameter>

</messageevent>

<messageevent name="request_failure" direction="receive" type="fipa">

<parameter name="performative" class="String" direction="fixed">

<value>SFipa.FAILURE</value>

</parameter>

<parameter name="content-start" class="String" direction="fixed">

<value>"It is necessary to lay out material. Add dictionary" </value>

</parameter>

</messageevent>

<messageevent name="request_reference" direction="send" type="fipa">

<parameter name="performative" class="String" direction="fixed">

<value>SFipa.REQUEST</value>

</parameter>

<parameter name="content-start" class="String" direction="fixed">

<value>"Reference is not found. Make an effort other time." </value>

</parameter>

</messageevent>

</events>

Рисунок 2.7 – События, выводимые сообщения для передачи иным агентам или конечному пользователю

<initialstates>

<initialstate name="default">

<plans>

<initialplan ref="SeachTerm"/>

</plans>

</initialstate>

</initialstates>

</agent>

Рисунок 2.8 – Описывает начальное состояние агента и завершение его описания

2.2.1 Описание интеллектуального агента глоссария с использованием платформы Jadex. Для начала агент описывается в HTML в соответствии с заданными планами, целями и фактами, как это представлено выше.

Рассмотрим характеристики агента. Агент глоссарий имеет такие характеристики как:

- наличие запроса и поиска дополнительной информации;

- открытие найденой искомой информации;

- просмотр необходимой информации.

Входная информация:

- запрос на поиск необходимого материала.

Выходная информация:

- найденная по ссылке информация.

2.2.2 Цели. В разрабатываемом агенте выделяется две цели. Это цели вида запроса (query) и главная цель (main goal). Цель запроса изображает необходимость в информации, выполняет поиск условий. Представляет необходимость в информации. Главная цель – это предоставить студенту дополнительную информацию. Эта цель специфицирует состояние, которое должно быть достигнуто.

2.2.3 Знания. В знаниях описываются происходящие факты в ходе работы агента. В нашем случае описывается семь знаний, в которых определяются факты. При запуске агента вызывается факт Restart agent. Следующим фактом есть зарос на поиск QuerySearch, показывает присутствие запроса на дополнительную информацию и выполняет поиск терминов от списка материалов. Открытие искомой информации со словаря выполняется с помощью факта ContentOpen. TermNotFound – говорит о том, что будет отправлено сообщение об ошибке агенту координатору. А агенту чата отправляется сообщение с помощью факта NoTerm о том, что необходимо, чтоб преподаватель выложил необходимый материал, которого нет в наличии. Отсылается сообщение студенту о неправильной ссылке. SleepMode – показывает переход агента в спящий режим.

2.2.4 Планы. Вразрабатываемомагентевыделяютсяпланы restart, reference, search, content_open, coordinator, chat, student, sleep:

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

- Reference - присутствие ссылок по тексту;

- Search – поиск необходимого термина;

- Content_open - отображение содержимого словаря;

- Coordinator - описание взаимодействия с агентом координатором. Отсылает сообщение об ошибке, термин не найден. Является внешним планом;

- Chat - внешний план. Описание взаимодействия с агентом чата. Отсылает сообщение о том, что материала нет в наличии;

- Student – вывод сообщения студенту. Отсылает сообщение о том, что ссылка неправильная и материала нет в наличии;

- Sleep – агент переходит в спящий режим.

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

3. ОПИСАНИЕ ПРОГРАММНОГО МОДУЛЯ

3.1 Описание среды разработки агента платформы Jadex

Jadex - это агент, ориентированный на собственный механизм принятия решений, взаимодействуя с XML и Java файлами, поддержки этих решений.

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

Один главный аспект - то, что никакой новый язык программирования не введен. Вместо этого, агенты Jadex могут программироваться в объектно-ориентированные интегрированные среды разработки искусства.

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

3.1.1 Особенности платформы разработки агента, Jadex. Преимущество разработки на функциональных агентов на платформе Jadex является, что не требуется изучения новых языков программирования. Вместо этого агенты кодируются на базе объектно-ориентированного программирования в интегрированной среде разработки (IDEs), типа Eclipse и Intellij IDEA.

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