Professional Documents
Culture Documents
Ahentno-Bazovana Platforma IoT Dlia Kontroliu Navchalnoho Protsesu
Ahentno-Bazovana Platforma IoT Dlia Kontroliu Navchalnoho Protsesu
016
DOI: 10.18523/2617-3808.2019.2.56-65
Ключові слова: Інтернет речей (Internet of Things, IoT), моделі комунікації, мультиагентна систе-
ма, програмний агент.
основі мультиагентної системи для підтримки та іноді конкурентно, а іноді й автономно реалізу-
управління комунікацією у мережі ІоТ облад- ють свої індивідуальні цілі, отримуючи доступ
нання. до ресурсів і сервісів навколишнього середови-
ща, а також час від часу створюючи результати
1. Інтернет речей для суб’єктів, які ініціювали цих агентів.
Агентні системи складаються з агентів та їх
Відділ стандартів зв’язку МСЕ (Міжнарод оточення. Як правило, мультиагентні системи
ний союз електрозв’язку, International Telecom пов’язані з програмними агентами. Проте агенти
munication 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
Платформу розроблено як мультиагентну си- го» мають здійснювати самі агенти. Кожен агент
стему (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
керівництвом, який складається з викладача (на- вих повідомлень різних типів та з різних джерел.
приклад, керівника програми) та ряд агентів сту- Викладач надсилає повідомлення про скасуван-
дентів. ня чи перенесення пари, або будь-який інший
Групи не формуються спонтанно, однак треба тип повідомлення, який може допомогти зроби-
мати на увазі, що належність до групи може бути ти навчальний процес більш організованим та
динамічною, вона може змінюватись залежно від зручним. Охоронець попереджає про підвищен-
часу та контексту (відрахування студента, переве- ня температури в аудиторії або будь-які інші но-
дення в іншу групу тощо). Бувають ситуації, що вини, пов’язані з особистою безпекою студентів.
потрібно сформувати тимчасову групу для зве Зі сценаріїв 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
ційний спосіб (на папері), дані про присутність ticastConnection, SunSpotConnection та GroupCon
чи відсутність студента завжди можна переві- 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
Список літератури
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.