You are on page 1of 10

УДК 004.457:37.

016
DOI: 10.18523/2617-3808.2019.2.56-65

Гороховський С. С., Ямковий О. В., Кирієнко О. В., Пєчкурова О. М.

Агентно-базована платформа ІоТ для контролю


навчального процесу
У теоретичній частині роботи розглянуто базові положення концепції Інтернету речей та опи-
сано вимоги, які висувають до систем ІоТ. Також описано основні можливості та переваги викори-
стання програмних агентів та мультиагентних систем у реалізації різних ІоТ.
У практичній частині запропоновано архітектурне рішення на основі мультиагентної системи
для підтримки та управління комунікацією у  мережі ІоТ обладнання. Наведене рішення здатне
розв’язати проблеми неоднорідності пристроїв та комунікації, побудови гнучкої інфраструктури
комунікації та інфраструктури групової комунікації в агентному середовищі, а також на рівні аген-
та. Також було запропоновано агентну платформу, що полегшує комунікацію агентів, які пра-
цюють на різних пристроях (датчики SunSpot, смартфони) і використовують різні комунікаційні
протоколи, надає можливість формувати агентів у групи для ефективного доставлення групових
повідомлень.
Продемонстровано переваги такого рішення на прикладі реалізації «Розумного Університету»
(системи підтримки та управління навчальним процесом, що складається з різних типів датчиків
та персональних смартфонів учасників навчального процесу) за використання розробленої муль-
тиагентної платформи.

Ключові слова: Інтернет речей (Internet of Things, IoT), моделі комунікації, мультиагентна систе-
ма, програмний агент.

Вступ строї обмінюються даними один з одним і пере-


дають дані через інтерфейси. Деякі вбудовані
Останнім часом дедалі популярнішою та акту­ пристрої IoT, наприклад, охоронні відеокамери
альнішою стає концепція Інтернету речей (ІоТ) – високої роздільної здатності, відеотелефони VoIP
мережі датчиків та різноманітних пристроїв, що та інші, потребують для роботи широкосмугово-
програмно взаємодіють між собою через мережу го підключення. Однак для безлічі інших про-
Інтернет. дуктів передання пакетів даних потрібне лише
Термін «Інтернет речей» (IoT) вперше вико- час від часу [6].
ристав у 1999 р. британський піонер технологій Широкомасштабне впровадження IoT допо-
Кевін Ештон для опису системи, в якій об’єкти може змінити на краще багато аспектів нашого
фізичного світу можуть бути під’єднані до Ін­ життя. Технологія IoT надає можливість удоско-
тер­нету за допомогою датчиків. Ештон вигадав налення сільського господарства, промисловості
цей термін, щоб проілюструвати здатність під- та виробництва та розподілу енергії шляхом
ключати мітки радіочастотної ідентифікації (Ra­ збільшення доступності інформації по ланцюж-
dio-Frequency Identification, RFID), що викорис­ ку виробництва за допомогою мережевих датчи-
товуються в  корпоративних мережах, для того, ків. Однак IoT порушує багато питань та про-
щоб розраховувати та відстежувати товари без блем, які необхідно розглянути та вирішити,
необхідності втручання людини. Сьогодні Інтер­ щоб зрештою реалізувати потенційні вигоди.
нет речей став популярним терміном для опису Зрозуміло, що ця взаємодія має здійснювати-
сценаріїв, в  яких можливості з’єднання та об- ся за допомогою спеціального програмного за-
числень в  Інтернеті поширюються на різні безпечення. У  літературі запропоновано багато
об’єкти, пристрої, датчики та повсякденні еле- підходів до розробки такого програмного забез-
менти. печення. Одним із ключових підходів є викори-
«Речами» в інтернеті речей зазвичай назива- стання інтелектуальних програмних агентів та
ють глибоко вбудовані пристрої з такими від- мультиагентних систем.
мінними особливостями, як низька пропускна У цій роботі описано запропоноване рішення
здатність, збір даних із низкою повторюваністю побудови системи підтримки та управління на-
і малий обсяг використовуваних даних. Ці при- вчальним процесом «Розумний Університет» на

© Гороховський С. С., Ямковий О. В., Кирієнко О. В., Пєчкурова О. М., 2019


Гороховський С. С., Ямковий О. В., Кирієнко О. В., Пєчкурова О. М. Агентно-базована платформа ІоТ для контролю... 57

основі мультиагентної системи для підтримки та іноді конкурентно, а іноді й автономно реалізу-
управління комунікацією у  мережі ІоТ облад- ють свої індивідуальні цілі, отримуючи доступ
нання. до ресурсів і сервісів навколишнього середови-
ща, а також час від часу створюючи результати
1. Інтернет речей для суб’єктів, які ініціювали цих агентів.
Агентні системи складаються з агентів та їх
Відділ стандартів зв’язку МСЕ (Міжнарод­ оточення. Як правило, мультиагентні системи
ний союз електрозв’язку, International Telecom­ пов’язані з програмними агентами. Проте агенти
mu­nication Union) опублікував Рекомендацію в мультиагентній системі також можуть бути ро-
Y.2060 за назвою «Огляд інтернету речей» (Over­ ботами, людьми або групами людей.
view of the Internet of Things) [7]. У цьому доку- Агенти можна поділити на види, які варію-
менті поняття Інтернет речей (Internet of things ються від простого до складного:
(IoT)) визначається як глобальна інфраструкту- ● пасивні агенти, або «агенти без цілей» (на-
ра для інформаційного середовища, яка забезпе- приклад перешкода, яблуко або ключ у будь-­
чує можливість надання більш складних послуг якому простому моделюванні);
шляхом з’єднання один з одним (фізичних і вір- ● активні агенти з  простими цілями (напри-
туальних) речей на основі наявних і  функціо- клад, птахи у зграї, або вовк – овечка в мо-
нально сумісних інформаційно-комунікаційних делі здобич – жертва);
технологій, що розвиваються. ● когнітивні агенти (складні розрахунки).
У роботі [4] елементи IoT зведені в просту Агентні середовища можна поділити на вір-
формулу: туальні, дискретні, безперервні. Також вони мо-
Фізичні об’єкти + контролери, сенсори, жуть бути організовані відповідно до таких
виконавчі механізми + Інтернет = IoT. властивостей, як доступність (якщо можна зібра-
ти повну інформацію про навколишнє середови-
Ця формула чітко описує суть інтернету ре­
ще), детермінізм (якщо дія дає певний ефект),
чей. Екземпляр IoT складається з набору фізич-
динаміка (скільки суб’єктів впливає на навко-
них об’єктів, кожен з яких містить мікроконтро-
лишнє середовище в певний момент), дискреція
лер, що забезпечує інтелектуальність, і  датчик,
(якщо кількість можливих дій у середовищі є кін-
що вимірює будь-який фізичний параметр, і/або
цевою), епізодичність (якщо дії агента в  певні
виконавчий механізм, що спрацьовує від будь-­
періоди часу впливають на інші періоди) і  роз-
якого фізичного параметра та підтримує мож-
мірність (якщо просторові характеристики є важ­
ливість комунікації через Інтернет або будь-яку
ливими факторами середовища та агент роз-
іншу мережу.
глядає простір у прийнятті рішень). Дії агентів,
З операційного погляду, важливо думати про
як правило, опосередковуються через відповідне
те, як пристрої IoT підключаються та спілкують-
проміжне програмне забезпечення, яке пропо-
ся між собою з  точки зору технічних моделей
нує абстракцію дизайну для мультиагентних
зв’язку. У  березні 2015 р. Рада Інтернет-архі­
систем, що надає засоби контролю доступу до
тектури (Internet Architecture Board, IAB) випус-
ресурсів та координації агентів [2].
тила архітектурний документ для мереж інтелек-
Агенти в мультиагентній системі мають кіль-
туальних об’єктів (RFC 7452), в якому окреслено
ка важливих характеристик:
чотири загальні моделі зв’язку, що використову-
● автономність  – агенти принаймні частково
ються пристроями IoT [3].
незалежні, самосвідомі, автономні;
У згаданій рекомендації Y.2060 [7] описано
● обмеженість знань – жоден агент не володіє
еталонну модель ІоТ. Вона має чотири рівні: рі-
інформацією про всю систему, або система
вень програмного додатку, рівень підтримки
є надто складною для використання агентом
послуг і підтримки програмних додатків, рівень
таких знань;
мережі, рівень пристрою, а  також можливості
● децентралізація – в системі не має існувати
керування та можливості забезпечення безпеки,
жодного агента, який керував би всією сис-
пов’язані з цими чотирма рівнями.
темою.
2. Програмні агенти Основною причиною використання агентних
технологій в Інтернеті речей є те, що агенти мо-
Агентна система (або Multi-Agent System, жуть працювати без втручання людини. Мобільні
MAS) – програмне середовище, в якому окремі агенти за потреби можуть мігрувати між різними
агенти взаємодіють один з одним, іноді спільно, пристроями. Агенти можуть спілкуватися і  як
58 ISSN 2617-3808. Наукові записки НаУКМА. Комп’ютерні науки. 2019. Том 2

наслідок  – обмінюватися інформацією. Тому в на декількох сценаріях, що стосуються контро-


певних ситуаціях щойно створений агент може лю навчального процесу факультету, та показано
взяти цінну інформацію з іншого агента. її користь з  погляду реконфігурації та обміну
Одна з ключових ідей IoT полягає в тому, щоб даними через неоднорідні бездротові технології,
забезпечити підключення об’єктів у  будь-який що дуже важливо для ІоТ.
час, у  будь-якому місці, з  будь-якими іншими Розроблювана платформа є  розширенням,
«речами», в  ідеалі, з  використанням будь-якої конкретною реалізацією абстрактної архітекту-
технології зв’язку та будь-якої служби. Засто­ ри FIPA (The Foundation for Intelligent Physical
сунки ІоТ є численними та різноманітними, по- Agents). Крім того, згідно зі специфікаціями FIPA,
ширюються майже на всі сфери повсякденного розробник архітектури сам обирає, які абстрак-
життя та діяльність окремих осіб і організацій. тні елементи реалізовувати і як це робити. І на-
Система самоорганізації має бути спроможною впаки, реалізація може містити додаткові опції
впоратися з  мінливістю в  системі IoT, зокрема або функції, які вимагають від розробника об-
з динамічними змінами в її середовищі, всереди- робки як абстрактних, так і специфічних для
ні пристроїв, з яких складається система (напри- платформи елементів. Тобто реалізація абстракт­
клад, із  дефіцитом ресурсів), або в  глобальній ної архітектури FIPA не забороняє введення ко-
мережі, яка включає додаток IoT (наприклад, рисних елементів для створення хорошої агент-
збій одного з вузлів). Тому однією з  найважли- ної системи, вона просто встановлює мінімально
віших проблем, пов’язаних із розробкою про- необхідні елементи.
грам IoT, є ефективне управління цими змінами Спочатку уточнимо, що ми розумітимемо під
автономно, незважаючи на їх різноманітність та терміном «Розумний Університет». Нам потріб-
складність [5]. но ввести до розгляду значну кількість датчиків,
Розподіленим та мінливим характером сис- які можуть забезпечити корисну інформацію
тем IoT можна керувати за допомогою автоном- про середовище та стан. Крім цього, працівники
ності, контекстно-осмисленості та самоадап­ університету (викладачі, співробітники служби
таційних властивостей програмних агентів, що безпеки та спеціалісти деканатів та кафедр) но-
підтримують розробку автономних застосунків сять особисті кишенькові пристрої (смартфони),
IoT. Найбільш відповідним рішенням є викори- що є важливим джерелом даних і можуть вико-
стання агентів як будівельних блоків програми ристовуватися у  наданні конкретних контекст-
IoT, що забезпечить функціональність розподі- но-залежних послуг. Датчики надають дані, які
леної програми та виконання завдань самоконт­ можуть використовуватися допоміжними серві-
ролю. Автономність, властива програмним аген- сами, які допомагають адміністрації і співробіт-
там, робить їх слушним вибором для розробки никам служби безпеки в  їхній роботі, а  також
самокерованих систем ІоТ [1]. для надання послуг, відповідно до місця розта-
шування студентів.
3. Проектування платформи Система має надавати різні послуги для ці-
«Розумного Університету» льових користувачів:
● для адміністрації система надає інформацію
Агентні технології мають необхідні власти- про присутність або відсутність студентів та
вості для управління розподіленістю та багать- викладачів в  аудиторіях, доступність аудито-
ма іншими вимогами IoT, однак наявні агентні рій, а також допомагає ділитися і поширювати
платформи не зовсім вирішують неоднорідність інформацію між викладачами та студентами;
цих середовищ, а  також не надають явної під- ● для співробітників служби безпеки, ноди
тримки для поширення даних у групі пов’язаних IoT (датчики і смартфони) надають інфор­
IoT вузлів. Наявні агентні платформи не підтри- мацію про присутність людей і  фізичні по-
мують гнучкі інфраструктури, де була б можли- казники у приміщенні (температура, світло,
вість модифікувати та розширити інфраструкту- вологість тощо) і  відправляють глобальні
ру як на етапі розгортання, так і під час роботи повідомлення різним групам людей, залуче-
застосунку. Далі в роботі буде описано агентну ним у навчальному процесі;
платформу, що частково вирішує наведені вище ● у випадку зі студентами ми спираємося на
обмеження та недоліки наявних агентних плат- той факт, що абсолютна більшість людей ви-
форм. Платформа також дає змогу агентам само- користовує смартфони, тому наша система
стійно розв’язувати проблеми зв’язку, викорис­ миттєвих повідомлень може надавати різні
товуючи відповідний плагін. Для наочності буде види інформації, основаної на місцезнахо-
продемонстровано роботу та переваги платформи дженні.
Гороховський С. С., Ямковий О. В., Кирієнко О. В., Пєчкурова О. М. Агентно-базована платформа ІоТ для контролю... 59

Платформу розроблено як мультиагентну си- го» мають здійснювати самі агенти. Кожен агент
стему (MAS), агенти якої вбудовані в  пристрої має керувати та вести список вузлів IoТ, зацікавле-
(наприклад, планшети, смартфони) учасників них у  певних даних, і  поширювати через окремі
навчального процесу та датчики, розташовані повідомлення нові дані, коли вони доступні. Це
всередині будівлі. Мультиагентна система має рішення може бути дуже ресурсоємним, якщо кіль-
чотири типи агентів: кість зацікавлених цільових агентів є  високою,
● агент TeacherAgent для викладачів; і також ускладнює реалізацію агента.
● агент SecurityAgent, який допомагає спів-
4. Сервіси платформи
робітникам служби безпеки;
«Розумного Університету»
● агент StudentAgent для студентів;
● SensorAgent для датчиків. Як уже було сказано вище, розроблювана
Кожен із них працює в  певному пристрої. платформа розширює абстрактну архітектуру
Ці агенти розгортаються в  агентному середо­ FIPA. Зокрема, платформа підтримує службу
вищі, яке працює на комп’ютері. Такий набір дає управління агентами (AMS), службу реєстрації
нам різні сценарії, які розглянемо нижче. та виявлення послуг (DF), новий сервіс для реє-
Опишемо основні сценарії комунікації, які до­ страції учасників у  групи (Group Management
поможуть проілюструвати проблеми, пов’язані Service, GMS) і  сервіс передання повідомлень
з використанням агентних технологій в IoT: (Message Transport Service, MTS), який надає
1. Неоднорідність пристроїв. Нам потрібні можливість комунікації агентам, що зареєстро-
інтелектуальні агенти, здатні працювати на вані в агентній платформі, розширеній для мож-
будь-якому пристрої IoT, – від простих датчиків ливості групової розсилки повідомлень. Роз­
до смартфонів. Крім того, необхідно мати аген- повсюдження повідомлень всередині підтри-
тів, що легко налаштовуються і здатні адаптува- мується внутрішньою платформою передання
тися до апаратних та програмних ресурсів, до- повідомлень (Internal Platform Message Transport,
ступних у кожному пристрої. IPMT), що реалізує MTS і  вирішує проблеми
2. Гетерогенність спілкування. У неоднорідно- взаємодії та підтримує кілька протоколів та тех-
му середовищі IoT необхідно забезпечити тех- нологій доступу до мережі для передання пові-
нологічні засоби, що дають змогу спілкуватися домлень.
агентам, які не підтримують однакові транспорт- Варто зазначити, що AMS, DF та MTS є класич-
ні протоколи. ними й обов’язковими сервісами, що надають-
3. Гнучка комунікаційна інфраструктура. Нині ся будь-якими агентними платформами (ці по-
повсякчас з’являються та зникають нові системи слуги визначаються специфікацією абстрактної
й технології бездротового зв’язку. В  останні архітектури FIPA). До того ж до цих послуг ми
роки ми бачили, як деякі з них вже застаріли (як- розширили MTS, щоб підтримувати ефективне
от IrDa), натомість інші з’явилися (наприклад, NFC групове спілкування, яке доповнюється новим
і Wi- Fi Direct). Тим не менш, досить складно роз- сервісом GMS.
ширювати наявні агентні платформи для підтрим- Інформація про агентів та послуги зберіга-
ки нових можливостей. Більш гнучкі архітектури
ється у внутрішніх базах даних платформи згід-
та інфраструктури мають допомагати агентним
но з рекомендаціями FIPA. Таким чином, AMS
платформам легше впоратися з еволюцією і  поя-
зберігає агенти у  вигляді кортежів, які включа-
вою нових технологій, зокрема з  новими транс­
портними сервісами, кодуванням повідомлень і т.д., ють ідентифікатор агента на платформі, і інфор-
і  забезпечувати сумісність і  інтеграцію нового та мацію для контакту з агентом. Групи зберігають-
наявного агентного програмного забезпечення, ся як спеціальні типи агентів.
а  також нових комунікаційних технологій. Тому
бажано мати агентну архітектуру та інфраструк­ 5. Внутрішній дизайн платформи
туру з ефективними механізмами інтеграції. Вона
повинна мати можливість легко розширюватися Внутрішній дизайн платформи «Розумного
новими засобами комунікації, зокрема вмикати або Університету» зображено на рис. 1. Платформу
вимикати ці механізми навіть під час виконання розроблено за допомогою патерну Медіатор.
і використовувати їх одночасно, коли це необхідно. Основний клас IU (Intellectual University) ін-
4. Ефективне розповсюдження групових капсулює взаємодію різних елементів, з  яких
повідомлень. Багато програм і служб, що реалізу- складається внутрішній дизайн платформи, на-
ються в ІоТ, вимагають поширення даних між згру- дання послуг, перелічених вище, і  зберігає ін-
пованими вузлами. На практиці реалізацію та формацію про агентів і групи, що зареєстровані
управління цим типом комунікації «один до одно- всередині платформи, а  також про послуги, що
60 ISSN 2617-3808. Наукові записки НаУКМА. Комп’ютерні науки. 2019. Том 2

Рис. 1. UML діаграма класів платформи «Розумний Університет»


Гороховський С. С., Ямковий О. В., Кирієнко О. В., Пєчкурова О. М. Агентно-базована платформа ІоТ для контролю... 61

надаються агентами, які зареєстровані в  муль- В IUManagementOntology та сама структу-


тиагентній системі. Агенти не взаємодіють без- ра онтологій, що використовуються у платфор­
посередньо з класом IU для доступу сервісів, що мі Jade. Ця онтологія містить терміни і поняття
вони надають. Замість цього, всі взаємодії все­ (тобто структуровані об’єкти з даними), що ви-
редині платформи відбуваються за допомогою користовуються агентами, коли їм потрібен пев-
мови комунікації агентів (Agent Communication ний сервіс, що надається платформою. Напри­
Language, ACL), яка є стандартним форматом по­ клад, коли агент хоче зареєструватися в системі
відомлень для агентних платформ FIPA. Нашою щоб надавати певні дані про середовище в ауди-
імплементацією цього стандарту є  IUMessage торії, він посилає повідомлення із запитом на
(див. рис. 1), форматом повідомлення якого є зви- сервіс DF, яке включає RegisterService у  вмісті
чайна стрічка. повідомлення з описом послуги, яку він надає.
Як тільки агент починає свою роботу, його З іншого боку, коли SecurityAgent звертається
перша взаємодія полягає в тому, щоб приєднати- до DF, щоб визначити ідентифікатор агента,
ся до агентної платформи. У  реєстраційних за- який надає інформацію з датчика присутності
питах присутні слухачі. Платформа надає пев- в аудиторії, йому необхідно відправити повідом-
них слухачів для різних протоколів і технологій лення SearchService та певну інформацію про
(TCP, SunSpot, Bluetooth Listener). Зв’язок між сервіс, який йому потрібен. Потім IU відповідає
слухачами та класом IU моделюється за допо­ на запит повідомленням, яке включає результат
могою патерну Спостерігач. Предмети є слуха­ ServiceAnswer. Маючи інформацію з цього по-
чами, а IU – спостерігачем. Усередині ці класи відомлення SecurityAgent надсилає запит даних
створюють екземпляри потоків із сокетами, які до одного з SensorAgents, включеного в повідом-
слухають запити з портативних пристроїв (при- ленні, який періодично відправляє інформаційні
строї з підтримкою Android, мобільні телефони повідомлення з даними про присутність, поки
з  профілем MIDP). Агенти надсилають запит він не виявить, що університет повністю порож-
про реєстрацію в агентній платформі через цей ній і може бути закритий.
слухач. У реєстраційному повідомленні вони вка-
зують свій тип, ідентифікатор і сукупність і тип 6. Керування групами в системі
транспортних протоколів, які він підтримує (на- «Розумний Університет»
приклад, Bluetooth). Ця інформація зберігається
в екземплярі класу AgentProfile. Як зазначено вище, іншою перевагою систе-
Профілі агентів зберігаються в  хеш-таблиці ми «Розумний Університет» є підтримка різних
(атрибут profiles), індексовані за ідентифікато- парадигм і технологій комунікації. Зокрема, IU
ром агента. Ці дані будуть використані для на- підтримує однорангове та багатоадресне спілку-
дання агенту доступу до Системи Обміну Пові­ вання, що полегшує розсилання інформації згру-
домленнями. Крім того, платформа додає кожного пованими компонентами системи. Щоб додати
агента до групи згідно з типом агента. Реєстрацію цей тип зв’язку в агентну систему, розроблювана
повинен пройти кожен агент (TeacherAgent, Se­ платформа включає концепцію груп. Група скла-
cu­rityAgent, SensorAgent та StudentAgent). дається з набору агентів, які розділяють мож-
У системі кожний агент реєструє послуги, які ливості і є  частиною запрограмованої функції
він може надати в системі. Ми проілюструємо, агента. За замовчуванням існує група для кожно-
як два невідомі агенти, зареєстровані у платфор- го типу агента, з яких складається система, але
мі, можуть зустрітися та співпрацювати, вико- також користувач може визначати свої власні
ристовуючи сервіси платформи. Ця функція по- групи, беручи до уваги роль, яку відіграє агент
легшує взаємодію агентів у  відкритій системі. у системі, і потреби програми. Різні групи, що
Це можна продемонструвати за допомогою та­ формуються в університеті, проілюстровані в та-
кого сценарію. кому сценарії.
Сценарій 1. У нашому університеті в ауди- Сценарій 2. В університеті є групи для кож-
торії є різні типи датчиків з інтегрованим Sen­ ної категорії персоналу: група викладачів та адмі-
sorAgent, які можуть вимірювати та надавати ністрації, група, яка об’єднує охоронців, студенти
дані про прискорення, яскравість, присутність також організовані в  різні групи. Не розподі-
людей та температуру. Робочий день майже за- лені студенти (тобто які щойно вступили) на­
кінчився, тому агент служби безпеки повинен лежать лише глобальній групі студентів, але сту­
закрити цю аудиторію, але перш ніж це зробити, денти організованих груп (наприклад, група дру­
він має перевірити, чи порожня аудиторія. Ця дія гого року навчання маґістерської програми КНІТ)
вимагає моніторингу сенсора присутності людей. також утворюють окрему групу з  відповідним
62 ISSN 2617-3808. Наукові записки НаУКМА. Комп’ютерні науки. 2019. Том 2

керівництвом, який складається з викладача (на- вих повідомлень різних типів та з різних джерел.
приклад, керівника програми) та ряд агентів сту- Викладач надсилає повідомлення про скасуван-
дентів. ня чи перенесення пари, або будь-який інший
Групи не формуються спонтанно, однак треба тип повідомлення, який може допомогти зроби-
мати на увазі, що належність до групи може бути ти навчальний процес більш організованим та
динамічною, вона може змінюватись залежно від зручним. Охоронець попереджає про підвищен-
часу та контексту (відрахування студента, переве- ня температури в аудиторії або будь-які інші но-
дення в іншу групу тощо). Бувають ситуації, що вини, пов’язані з особистою безпекою студентів.
потрібно сформувати тимчасову групу для зве­ Зі сценаріїв 3 та 4 ми бачимо велику користь від
дених лекцій або з огляду на наявність вибірко- створення груп у нашій системі і як це полегшує
вих курсів, на які можуть бути записані студенти спілкування між агентами. Створення та підтрим-
з різних напрямів і навіть факультетів. Тому групи ку груп забезпечує система керування групами
можна створювати в будь-який час і також можуть (GMS). Ця служба підтримує створення груп і дає
враховувати контекстну характеристику (напри- змогу агентам приєднуватися та виходити з груп.
клад, локалізацію). Це може бути дуже корисно, Усередині керування групами відбувається
іноді система має передавати контекстно-залежну таким чином: якщо агент є першим членом групи,
інформацію на певний набір пристроїв. Так про- створюється нова група, представлена екземп-
стіше розсилати контекстно-залежну інформацію, ляром GroupConnection у  GMS. Ця структура
актуальну для відвідувачів та персоналу, напри- даних зберігає інформацію про активних учасни-
клад, «університет скоро зачиняється» або «необ- ків групи в атрибуті connection. Приєднання аген-
хідно допомогти перенести книги в бібліотеку». та до групи та інформація, яка зберігається у від-
Сценарій 3. Група може бути визначена для повідній GroupConnection, залежить від його
сприяння поширенню інформації між агентами та профілю (клас AgentProfile на рис. 1). Якщо агент
підвищення ефективності надання послуг. В уні- підтримує TCP/IP і мультикаст IP, створюється
верситеті є група для всіх датчиків, які контролю- MulticastConnection (навіть якщо в  цій групі не­
ють певну аудиторію. Хоча ці агенти контролю- має MulticastConnection) і  додається до Group­
ють і видають різні дані (наприклад, присутність, Connection. MulticastConnection присвоюється
температуру або вологість), фізично вони розта- мультикаст IP-адреса. Після цього платформа
шовані в тому самому приміщенні, що вважаєть- відправляє повідомлення агентам, які підписані
ся однією з контекстних ознак, використовуваних на мультикаст адресу і порт, прив’язаний до гру­
для визначення групи. Крім того, вони належать пи. Якщо агент не підтримує TCP/IP, то індивіду-
до однієї групи, оскільки всі вони є агентом сен- альна транспортна адреса агента (представлений
сора. Таким чином, коли певна аудиторія порож- реалізацією інтерфейсу SenderConnection) дода-
ня, агент SecurityAgent може відправити повідом- ється в об’єкт групового підключення. На рисун-
лення «порожнє приміщення» на групу датчиків ку нижче UML діаграма, яка відображає процес
у цій кімнаті, і кожен агент датчика може зменши- реєстрації першого StudentAgent, який приєдну-
ти активність для економії енергії. ється до групи. У цьому випадку агент підтримує
Сценарій 4. Студент зареєстрований у  гру- багатоадресне розсилання, тому процес реєстра-
пах, визначених у сценарії 2, тому під час пере- ції витягує IP та порт нового багато­адресного
бування в університеті він отримує кілька групо- з’єднання всередині GroupConnection.

Рис. 2.
UML діаграма
послідовності
реєстрації
нового агента
в системі
Гороховський С. С., Ямковий О. В., Кирієнко О. В., Пєчкурова О. М. Агентно-базована платформа ІоТ для контролю... 63

Сценарій 5. Реєстрація відвідування студен- ристовуючи доступ до технології, яка була визна-
тами та викладачами університету. Оскільки за чена на етапі реєстрації. З’єднання підтриму-
допомогою Bluetooth та інших датчиків система ються конкретними реалізаціями інтерфейсу
може реєструвати розташування смартфону (а, від­ SenderConnection. Усі активні з’єднання збері-
повідно, і  його власника) в  будь-який час на гаються у хеш-таблиці. Для кожного з’єднання
території університету, дані про розташування зберігається інформація  – ідентифікатор агента
кожного з учасників навчального процесу можна або групи в системі і клас, який реалізує інтер-
додатково зберігати в базі даних. У такому ви- фейс SenderConnection. Платформа підтримує
падку для викладачів та для адміністрації більше п’ять типів з’єднань (тобто реалізацій інтер-
немає потреби фіксувати відвідування у  тради- фейсу): TCPConnection, BluetoothConnection, Mul­
ційний спосіб (на папері), дані про присутність ti­castConnection, SunSpotConnection та Group­Con­
чи відсутність студента завжди можна переві- nection.
рити в системі. Також це допоможе адміністрації TCPConnection і BluetoothConnection викорис­
університету контролювати викладачів  – чи пе- товують агенти, що працюють на портативних
ребувають вони там, де за розкладом мають про- пристроях, для надсилання та отримання повідо-
водити пару. млень через TCP-сокети та з’єднання Bluetooth.
Також за допомогою поєднання даних систе- Ці пристрої можуть отримувати багатоадресні
ми фіксації розташування та датчиків присутно- повідомлення за допомогою сокетів UDP через
сті можна фіксувати, що у коридорі біля аудито- об’єкти MulticastConnection. SunSpotConnection
рії зібрався натовп під час пари. Це може свід­ ви­користовують для зв’язку з нодами сенсорів Sun­
чити про те, що викладач запізнюється або SPOT. Нарешті, GroupConnection являє собою
взагалі не прийшов на пару. Про це можна спо­ групу пристроїв і зберігає внутрішній список з’єд-
вістити службу охорони, щоб вони відчинили нань (атрибут connection), який може посилатися
аудиторію, або адміністрацію університету. на інші описані типи з’єднань. Завдяки такому дизай-
Сценарій 6. Оскільки студенти та викладачі ну легко додати нові пристрої та протоколи зв’язку
поділені на групи, система може зручно та гнуч- до сервісу передання повідомлень, оскільки нам
ко розсилати сповіщення та нагадування за роз- потрібно лише імплементувати одного слухача та
кладом як окремим групам, так і всім зареєстро- інтерфейс SenderConnection для нового типу зв’язку
ваним агентам. Наприклад, нагадування про не- або специфічний механізм зв’язку. Описані можли-
обхідність запису на вибіркові дисципліни або вості вирішують поставлену вище проблему забез-
запрошення студентам пройти анонімне опиту- печення гетерогенності спілкування.
Імплементацію кожного з  аспектів поширення
вання про викладачів наприкінці семестру.
повідомлень у платформі реалізує інтерфейс FIPAA­
7. Підтримка групової розсилки gentPlatform. Цей інтерфейс дає змогу здійснюва-
повідомлень ти безперешкодний доступ між усіма учасниками
платформи. Клас IUAPInterface розширює інтер-
Як і  в  будь-якій іншій агентній платформі, фейс FIPAAgentPlatform сервісами, що дозволя-
у платформі «Розумний Університет» існує сер- ють приєднуватися до груп і покидати їх.
віс доставки повідомлень між зареєстрованими Усередині реалізація комунікації розділена на
в системі агентами. Для кожного з агентів систе- дві основні частини: доступ до послуг платфор-
ма надає доступ принаймні до одного типу під- ми IU (служб AMS, DF та GMS), а  також над­
ключення до платформи. Після реєстрації агента силання та отримання повідомлень через сервіс
через систему керування агентами встановлю- передавання повідомлень (IUPlugin, MulticastPlu­
ється зв’язок між агентом і платформою, вико- gin та BluetoothPlugin).

Рис. 3.
UML діаграма
класів IUPlugin
64 ISSN 2617-3808. Наукові записки НаУКМА. Комп’ютерні науки. 2019. Том 2

Класи IUPlugin і BluetoothPlugin дають змогу Екземпляр GroupConnection має всереди-


надсилати повідомлення всередині платформи ні хеш-таблицю реалізацій SenderConnection.
«Розумний Університет», використовуючи певну Причина такого рішення полягає в тому, що,
технологію транспортування або доступу. Вони хоч найкращим способом надсилання групо-
реалізуються як потоки, які слухають повідом- вих повідомленнь є використання мультикаст
лення. У випадку з IUPlugin – з TCP з’єднання, ІР-адреси, ми не можемо бути впевненими,
встановленого за допомогою IU, а у випадку що всі пристрої в групі підтримують багато­
з  BluetoothPlugin  – від RFCOMM Bluetooth- адресні TCP/IP або UDP. Таким чином, хоча
з’єднання до служби, яка також працює в агент- платформа визначає адресу багатоадресної
ній платформі. Випадок MulticastPlugin є особ­ розсилки для ідентифікації кожної групи і ви-
ливим, тому що це потік лише для прослухо­ користовує сокети UDP для надсилання бага-
вування повідомлень, орієнтованих на групові тоадресних повідомлень, вона також гарантує,
розсилки. Як зазначено, агенти можуть попроси- що члени груп, які не підтримують IP-муль­
ти платформу про приднання до групи, і це ро- тикаст, також можуть отримувати групові
биться через IUAPInterface. Якщо підключення по­відомлення. Наведена нижче UML діагра-
здійснюється через протокол ІР, то платформа ма послідовності демонструє це на прикладі
відповідає на запит IP-адресою багатоадресної над­силання повідомлення від викладача до
розсилки та транспортним портом. За допомогою студентів, що використовують різні типи під-
цієї інформації створюється новий MulticastPlu­ ключення. Тут агент надсилає повідомлен-
gin і додається до архітектури. ня через BluetoothPlugin. Коли повідомлення
Як уже згадано, розсилання повідомлень гру- надходить до IU, він далі відправляє повідом-
пам також реалізується як інший тип зв’язку, лення за допомогою відповідного GroupCon­
представлений класом GroupConnection. nection.

Рис. 4. Діаграма послідовності відправки повідомлення від викладача до студентів

Платформа підтримує протоколи зв’язку кож- основні можливості та переваги використання


ного пристрою (наприклад, ZigBee, WiFi) і  ви- програмних агентів та мультиагентних систем
ступає як шлюз, виконуючи певні функції для у реалізації різних ІоТ.
забезпечення сумісності. На рівні агентів ми на- У практичній частині запропоновано архітек-
даємо агентам можливість самоконфігурації турне рішення на основі мультиагентної систе-
своєї внутрішньої архітектури, залежно від потреб ми для підтримки та управління комунікацією
для використання різних комунікаційних прото- у мережі ІоТ обладнання.
колів з урахуванням контексту та потреб програ- Наведене рішення здатне розв’язати пробле-
ми. Ця гнучкість у рамках внутрішнього дизайну ми неоднорідності пристроїв та комунікації,
агентів також полегшує одночасне використання побудови гнучкої інфраструктури комунікації та
різних механізмів поширення повідомлень. інфраструктури групової комунікації в  агент­
ному середовищі, а також на рівні агента. Було
Висновки
запропоновано агентну платформу, що полегшує
У теоретичній частині роботи розглянуто ба- комунікацію агентів, які працюють на різних
зові положення концепції Інтернету речей та ви- пристроях (датчики SunSpot, смартфони) і ви-
моги, що висувають до систем ІоТ. Описано користовують різні комунікаційні протоколи,
Гороховський С. С., Ямковий О. В., Кирієнко О. В., Пєчкурова О. М. Агентно-базована платформа ІоТ для контролю... 65

а також надає можливість формувати агентів (системи підтримки та управління навчальним


у групи для ефективного доставлення групових процесом, що складається з різних типів датчи-
повідомлень. ків та персональних смартфонів учасників на-
Продемонстровано переваги такого рішення вчального процесу) за використання розробленої
на прикладі реалізації «Розумного Університету» мультиагентної платформи.

Список літератури
1. Гороховський С. С. Агентні технології: спроба критичного https://www.ncbi.nlm.nih.gov/pubmed/26140350. – Title from
огляду [Електронний ресурс] / Семен Самуїлович Горохов- the screen.
ський. – Режим доступу: http://ekmair.ukma.edu.ua/bitstream/ 4. McEwen A. Designing the Internet of Things / A. McEwen,
handle/123456789/10630/Horokhovs%27kyy_Ahentni_ H. Cassimally. – London : TJ International, 2013. – 324 с.
tekhnolohiyi_sproba.pdf. – Назва з екрана. 5. RFC 7452 Architectural Considerations in Smart Object Net-
2. Anas M Mzahm. Agents of Things (AoT): An Intelligent Ope­ working [Electronic resource]. – Mode of access: https://tools.
rational Concept of the Internet of Things (IoT) [Electronic re- ietf.org/html/rfc7452. – Title from the screen.
source] / Anas M Mzahm, Alicia Y.C. Tang, Mohd Sharifuddin 6. The Internet of Think Overview [Electronic resource]. – Mode
Ahmad. – Mode of access: https://ieeexplore.ieee.org/docu- of access: https://www.internetsociety.org/resources/doc/2015/
ment/6920728/. – Title from the screen. iot-overview. – Title from the screen.
3. A Software Product Line Process to Develop Agents for 7. Y.2060 : Overview of the Internet of things Electronic re­
the IoT [Electronic resource] / Inmaculada Ayala, Mercedes source].  – Mode of access: https://www.itu.int/rec/T-REC-
Amor, Lidia Fuentes, José M. Troya. – Mode of access: Y.2060-201206-I. – Title from the screen.

References
Anas M Mzahm, Tang, Alicia Y. C., & Mohd, Sharifuddin, Ahmad. ekmair.ukma.edu.ua/bitstream/handle/123456789/10630/
Agents of Things (AoT): An Intelligent Operational Concept of Horokhovs%27kyy_Ahentni_tekhnolohiyi_sproba.pdf”_
the Internet of Things (IoT). Retrieved from https://ieeexplore. Ahentni_tekhnolohiyi_sproba.pdf.
ieee.org/document/6920728/. McEwen, A., & Cassimally, H. (2013). Designing the Internet of
Ayala, Inmaculada, Amor, Mercedes, Fuentes, Lidia, & Troya, Things. London: TJ International.
José M. A Software Product Line Process to Develop Agents RFC 7452 Architectural Considerations in Smart Object Network-
for the IoT. Retrieved from https://www.ncbi.nlm.nih.gov/ ing. Retrieved from https://tools.ietf.org/html/rfc7452.
pubmed/26140350. The Internet of Think Overview. Retrieved from https://www.inter-
Gorokhovskyi S. Ahentni tekhnolohii: sproba krytychnoho ohliadu. netsociety.org/resources/doc/2015/iot-overview.
Retrieved from http://ekmair.ukma.edu.ua/bitstream/handle/ Y.2060: Overview of the Internet of things. Retrieved from https://
123456789/10630/Horokhovs%27kyyHYPERLINK “http:// www.itu.int/rec/T-REC-Y.2060-201206-I.

S. Gorokhovskyi, О. Yamkovyi, О. Kyriienko, O. Pyechkurova


AGENT-BASED IOT PLATFORM FOR CONTROLLING
THE LEARNING PROCESS
The large-scale implementation of the IoT promises to change many aspects of our lives for the better.
The IoT technology provides the opportunity to improve the agriculture, industry, and the production and
distribution of energy by increasing the availability of information on the production chain with the help of
network sensors. However, IoT raises many issues that need to be addressed and resolved in order to ulti-
mately realize potential benefits.
The theoretical part of the paper considers the basic provisions of the concept of the Internet of Things
, and describes the requirements for the IOT systems . Here are the main features and benefits of using
software agents and multi-agent systems in the implementation of various IOT. The practical part offers an
architectural solution based on a multi-agent system for maintaining and managing communications in the
IOT equipment network.
This solution can solve the problems of device heterogeneity and communication, building a flexible com-
munications infrastructure, and building a group communication infrastructure in the agent environment, as
well as at the agent level. To solve the above problems, an agent platform was proposed that facilitates the
communication of agents working on various devices (SunSpot sensors, smartphones), uses various communi-
cation protocols, and provides the ability to form agents in groups for efficient delivery of group messages.
The advantages of such a solution are demonstrated on the example of the implementation of the “Intel-
ligent University” (a support system and management of educational process consisting of different types
of sensors and personal smartphones of participants of the educational process) for the use of the developed
multi-agent platform.
Keywords: Internet of Things (IoT), communication models, multiagent system, software agent.

Матеріал надійшов 23.05.2019

You might also like