Ім'я файлу: Документ Microsoft Word (4).docx
Розширення: docx
Розмір: 1863кб.
Дата: 01.04.2023
скачати
Пов'язані файли:
Документ Microsoft Word (5).docx
221pdf-8.docx
zx практические.docx
вышмат.docx
Армения (2).docx
владислава курсовая.docx
андрей лабы.docx
Вар. 1.docx
алекс.docx


ЗВІТ
з лабораторної роботи №5_2
Інструментальні засоби для побудови мультиагентних систем.
Частина_3. AgentTool”

Перед створенням онтології необхідно налаштувати відображення у вікні програми необхідних вкладок (рис. А.1).




Рисунок А.1 Вибір вкладок
Призначення вкладок:

  • Active Ontology  відображення IRI, загальних характеристик (кількості аксіом, класів, властивостей, об'єктів і т.п.) і анотації онтології;

  • Classes перегляд і редагування класів;

  • Object Properties перегляд і редагування властивостей-відносин між індивідами;

  • Data Properties перегляд і редагування властивостей-даних індивідів;

  • Individuals by class  перегляд і редагування примірників класів;

  • OWLVis і OntoGraf візуалізація онтології у вигляді графа;

  • SPARQL Query виконання запитів.

Насамперед при створенні онтології необхідно створити класи. Всі спроектовані нами класи будуть відображатися у вікні Class hierarchy [24].

Класи абстрактні групи, колекції або набори об'єктів. Вони можуть включати в себе екземпляри, інші класи, або ж поєднання і того, і іншого. Класи описують поняття предметної області (рис. А.2).



Рисунок А.2 Класи предметної області

Основними поняттями даної предметної області є (рис. А.3): Транспортний засіб (ТЗ)  головний клас.

Водій  клас, що містить інформацію про людину-власника ТЗ. Дорога клас, що містить інформацію про місце знаходження ТЗ.

Станція технічного обслуговування (СТО) клас, що містить інформацію про найближче місце для обслуговування ТЗ.



Рисунок А.3 Класи предметної області Робимо опис класів предметної області (рис. А.4).



Рисунок А.4 Опис класів предметної області
Далі створюємо підкласи даної предметної області (рис. А.5 )


Рисунок А.5 Підкласи предметної області

На прикладі більш детальніше розглянемо підклас  гальмівного управління (рис. А.6).



Рисунок А.6 Розклад підкласу «гальмівне управління»

Об'єкти в онтології можуть мати атрибути. Кожен атрибут має принаймні ім'я та значення і використовується для зберігання інформації, яка специфічна для об'єкта і прив'язана до нього.

Важлива роль атрибутів полягає в тому, щоб визначати відносини (залежно) між об'єктами онтології. Зазвичай ставленням є атрибут, значенням якого є інший об'єкт (рис. А.7).

Властивості класів і їх примірників (предикати RDF-трійок) діляться на два

види:


  • властивості-відносини задаються на вкладці «Object Properties» і

визначають деякі відносини між двома індивідами (екземплярами класів), тобто суб'єктом і об'єктом RDF-трійки будуть індивіди;

    • властивості-дані задаються на вкладці «Data Properties» і визначають деякі фактичні характеристики індивідів (примірників класів), тобто суб'єктом RDF-трійки буде індивід, а об'єктом значення характеристики у вигляді рядка, числа, дати і т.п.



Рисунок А.7 Відносини класів предметної області
Домен (англ. Domain) вказує, екземпляри яких класів в RDF-трійці при використанні даного властивості будуть виступати в якості суб'єктів, а діапазон (англ. Range) в якості об'єктів.

На панелі «Характеристики» (англ. Characteristics) вибираються додаткові показники якості: транзитивність (англ.Transitive), симетричність (англ. Symmetric), рефлексивність (англ. Reflexive) і т.п.

Створення та редагування властивостей-даних виконується на вкладці «Data Properties» (рис. А.8).


Рисунок А.8 Заповнення даних предметної області

Створюємо екземпляри і заповнюємо значення атрибутів екземплярів (рис. А.9).

Примірники (англ. Instances) або індивіди (англ. Individuals)  це основні, ніжчеуровневі компоненти онтології. Примірники можуть являти собою як фізичні об'єкти (люди, будинки, планети), так і абстрактні (числа, слова). Онтологія може обійтися і без конкретних об'єктів [24]. Однак, однією з головних цілей онтології є класифікація таких об'єктів, тому вони також включаються. Створення індивідів в Protégé відбувається у вкладці Individuals.

Автоматична побудова і відображення графа онтології і взаємозв'язків між класами виконується при виборі вкладки «OntoGraf» (рис. А.10)


Рисунок А.9 Заповнюємо значення атрибутів


Рисунок А.10 Графічне відображення онтології

Пошук інформації за розробленою предметної онтології (рис. А.11 - А.13)


Рисунок А.11 Пошук інформації «Водій_1»


Рисунок А.12 Пошук інформації «Автомобіль_1»




Рисунок А.13 Пошук інформації «СТО_1»

ЗВІТ

з лабораторної роботи №4

Інструментальні засоби для побудови мультиагентних систем. Частина 2”

Для запуску платформи необхідно запустити Eclipse IDE, створити нове робоче сере- довище і в ньому відкрити новий Java проект (рис. 3.1).



Рис. 3.1. Новий Java проект в Eclipse IDE

Далі переходимо у вікно створення проекту , задаємо Next. У наступному вікні необхід- но підключити до нашого проекту бібліотеки Jade (рис. 3.2).

Для підключення бібліотек необхідно натиснути Add External JARs і вказати шлях до бібліотек. Вони знаходяться в папці \ lib, куди були скопійовані всі файли архівів плат- форми Jade. Після цього, натискаємо Finish.

Тепер до проекту підключені бібліотеки JADE. Створюємо нового Агента з прикладу

«PingAgent». Для цього необхідно створити новий клас в папці \ src (рис. 3.3).

Рис. 3.2. Бібліотеки Jade в проекті



Рис. 3.3. Новий клас

Тепер вводимо інформацію, створюємо новий клас в папку Project / src в паке- ті sprintintel з іменем PingAgent. Також на цьому етапі необхідно записати в поле

«Superclass» наступну інформацію: java.lang.Agent і натиснути Finish.

Зараз у нас є новий Агент і підключені необхідні бібліотеки. Необхідно поставити програмний код Агента. Для цього відкриваємо PingAgent.java з папки examples \ PingAgent, яка знаходиться в директорії, в яку розпаковані архіви Jade. Копіюємо весь вміст прикладу в нашого Агента. Подивимося на код нашого Агента, в ньому є помил- ки, які необхідно виправити (рис. 3.4).



Рис. 3.4. Помилка в коді Агента

Ця помилка цілком зрозуміла. Необхідно виправити ім’я пакету, який ми використо- вуємо. У нашому випадку – це sprintintel. Далі необхідно обов’язково зберегти зміни у файлі Агента.

Для того щоб запустити Агента і мультиагентну платформу, переходимо у меню Run Configuration. У ньому додаємо нову конфігурацію запуску Java – додатку. На рис. 3.5 і рис. 3.6 показані параметри головного класу (MainClass) – jade.Boot і видно назву

справжнього проекту. В поле Program Argument вкладки Arguments вводимо значен- ня « – gui». Таким чином, ми визначили, що нам необхідно запустити платформу і го- ловний контейнер, який вже містить додатковий клас нашого агента PingAgent.



Рис. 3.5. Конфігурація запуску, вкладка Arguments



Рис. 3.6. Конфігурація запуску. вкладка Main

Натискаємо на кнопку Run і запускаємо нашу платформу. Платформа запущена, і ми бачимо призначений для користувача інтерфейс, в якому запущена платформа і два базових агента AMS і DF. Щоб додати в головний контейнер нашого Агента « Ping», необхідно увійти у вкладку Action і додати клас нашого Агента (рис. 3.7).



Рис. 3.7. Інтерфейс користувача на платформі Jade



Рис. 3.8. Class Агента Ping Agent в пакеті sprintintel

Наш агент тепер знаходиться в головному контейнері. У чому ж суть Агента в прикладі PingAgent? Основне завдання цього агента – це відправляти відповідь у вигляді слова

«Ping» при запиті у вигляді слова «Pong». У коді ця частина виглядає так:

public void action () {

ACLMessage msg = myAgent.receive (); if (msg! = null){

ACLMessage reply = msg.createReply ();

if (msg.getPerformative () == ACLMessage.REQUEST) { String content = msg.getContent ();

if ((content! = null) && (content.indexOf ( «ping»)! = – 1)) {

myLogger.log (Logger.INFO, «Agent

«+ GetLocalName () +» – Received PING Request from «+ msg.getSender (). getLocalName ()); reply.setPerformative (ACLMessage.INFORM); reply.setContent ( «pong»);

}

}

}

}

При запуску агента в головному контейнері він звертається в «жовті сторінки» – агент DF, який записує у себе адресу цього агента. Всі запити здійснюються через DF агента. Таким чином, в систему можуть входити і виходити нові агенти і бути «на зв’язку».

Тепер перевіримо роботу нашого Агента і відправимо йому запит за допомогою

DummyAgent – готовий агент з призначеним для користувача інтерфейсом, за допо- могою якого можливо відправляти повідомлення на інші Агенти і отримувати від них відповіді. Для запуску DummyAgent необхідно натиснути кнопку StartDummyAgent в ряду кнопок швидкого доступу інтерфейсу користувача платформи. У самому Агенті необхідно скласти запит в правильній формі, як це показано на рис. 3.9



Рис. 3.9. DummyAgent, запит на Ping агента

Після правильного заповнення запиту необхідно натиснути на кнопку: відправити по- відомлення. DummyAgent дозволяє, відправляє запит з одної точної адреси агента на точну адресу іншого агента навіть якщо вони знаходяться в різних контейнерах. Але ці агенти повинні бути прописані в одній мультиагентной системі (тобто відомі DF аген- там). Справа, натиснувши на значок окуляри, в білому полі призначеного для корис- тувача інтерфейсу DummyAgent, можна побачити, чи прийшла відповідь і якого вона змісту (рис. 3.10).

Для того, щоб простіше було відслідковувати відправку повідомлень, можна запустити ще одного агента Sniffer, у якому відображаються стрілками надіслані повідомлення між агентами (рис. 3.11).



Рис. 3.10. Відповідь на запит DummyAgent



Рис. 3.11. Агент Sniffer
скачати

© Усі права захищені
написати до нас