Gurbuz Dogan Eksioglu - малюнок

 

- Ні, Аліса, це не твій улюблений фільм. "Дезіре", це новий клас пристроїв сімейства "Мажордом", який не потребує настройки і сертифікований для доступу до певної приватної інформації. Його необхідно тільки підключити до мережі Інтернет, повідомити ID групи, яку він повинен обслуговувати, а також, свої проблеми і бажання. Ти знаєш - я далеко не кращий кухар, стари нудьгують і часто хворіють, син погано встигає в школі. Зате тепер !!! Дід хрестить спиртне і п'є тільки газовану воду. Бабуся Сара має терплячого слухача свого нескінченного рецепта приготування риби-фіш. Чоловік "здійснює подвиг" не раз в два тижні, а через день. І взагалі...

Він прокинувся від сильного болю. На лобі кровоточила садно, за вікном глибока ніч, а на екрані комп'ютера світился рядок:

"Крок 17. Для настройки хвилин, утримуйте кнопку CTRL іііііііііііііііііііііііііііііііііііііі"

Александр Прокоф'єв "Техноріум" (замітки на стікерах)

У будь-якому проекті, що має інтерфейс взаємодії з людиною, я дотримуюся простого правила - спочатку до деталей пропрацюй фронтенд. Тоді не буде проблем зі структурою і форматом джерел даних. Але в даному випадку я почну з бекенду, тому що навіть створення універсального шаблону UI описателя інтернет-магазину передбачає абстрактне міркування про них.

Сучасні зародкові і, часом незрозумілі досягнення Штучного Інтелекту, а також апаратні засоби його підтримки послужили причиною короткої замітки, яку я навів як епіграф. У заголовку наведені слова, якими закінчується захоплива розповідь Джеффа Хокінка, основоположника багаторічних досліджень в області Ієрархічної Тимчасової Пам'яті (IТП). Рекомендую подивитися лекцію цілком, але тому що предмет цієї статті безпосередньо стосується онтології і таксономії, то посилаюся на момент, де стверджується, що принципи ІТП відмінно підходять для вирішення задач класифікації. Згадані Дж. Хокінгом області прогресу викликали у мене жартівливу асоціацію з малюнком на початку статті, не настільки веселі роздуми про прийдешні обмеження творчості, і

Спогади про те, як це починалося

Схема пристрою мого диплома була заснована на електронних компонентах Логіки-Т, де RS-тригер важив ~ 100 гр і мав розміри пачки сигарет. Після захисту диплома в 1979 році був залишений молодим фахівцем на кафедрі зварювального Обладнання в Київському Політехнічному Інституті з зарплатою ~ $100. Одного разу на пляжі Творець подарував мені електронну схему реалізації ідеї "електромагнітної ложки" професора В.П. Черниша, яка вилилася в Aвторске Свідоцтво СРСР №923764 - "Пристрій для електромагнітного перемішування розплаву зварювальної ванни" (пріоритет винаходу 22 липня 1980 р). Впроваджував в поодинці в суворі грудневі морози на заводі, розташованому на березі річки Амур, де виготовлялися важливі для країни Пристроi. Був нагороджений премією ~ $50 і забороною закордонного туризму на 5 років. У ті часи ми дружно з надією будували країну і не припускали подібних 'банкетів' в майбутньому ...

На наступному малюнку показаний вузол керованого лічильника з того пристрою. У той час мікросхеми були в новинку, і це був мій перший досвід їх застосування.

Scheme of the Digital Counter, based on Mux, Switch and DC
Через 40 років подібні досягнення в схемотехніці викликають посмішку, сучасна електроніка все більш формалізується і її розробку років через 7 будуть з успіхом проводити роботи. Тому прогресивні країни вже всерйоз обговорюють Універсальний Базовий Дохід. Думаю процес завершиться коли буде складена онтологія нашого оточення (сподіваюся все-таки не світу). Можливо проекти, подібні пропонованому 'DIY Vavoom', допоможуть нам зберегти найголовніше:

'Ми стоїмо перед неминучістю виправдати себе творчістю, а не виправдати свою творчість. У творчому акті повинно бути внутрішнє самовиправдання, і будь-яке зовнішнє його виправдання безсило і принизливо. Людина виправдовує себе перед Творцем не тільки через відкуплення, а й творчістю.'

Н.А. Бердяєв 'Сенс творчості (досвід виправдання людини)'

Засоби підтримки розробки

Музичний твір можна описати за допомогою 7-ми нот. Геном людини - за допомогою 4-х символів ATGC, хоча є пропозиція розширити список символами ZPSB. Постараємося і ми використовувати мінімальний набір засобів для вирішення завдання, пам'ятаючи вимогу, яка була оголошена в попередній статті - формати описателей продуктів будь-якої складності для всіх стадій життя продукту (Пошук, Розробка, Виробництво, Пропозиція і Утилізація) повинні гармоніювати один з одним.

'Золоті' рядки

У переважній більшості випадків сучасне програмування являє собою нескінченне повторення давно відомих патернів, але за допомогою різних фреймворків і на різних мовах, кількість яких зростає як на дріжджах. Злиття компаній і груп незалежних розробників дозволяє стандартизувати методики та в підсумку робити проекти більш простими і захищеними від помилок. Подивіться, наприклад, як ESPHome пропонує користувачам створювати власні прошивки для Wi-Fi контролерів, налаштовуючи готові профілі. Я застосовую подібний підхід, але використовуючи прості описатели Машини Стану, про що розповім в одній з наступних публікацій цього циклу статей.

Помилки в програмах, особливо в зв'язку з очікуваним широким впровадженням, здавалося-б простого IoT, стають дуже дорогими і процес їх виявлення настільки ускладнюється, що найближчим часом може виявитися не під силу програмістам. Тому, наприклад, Platform Security Architecture і ELISA Project більш грунтовно підходять до створення стандартних сертифікованих елементів, процесів та інструментів.

Дотримуючись зазначеним тенденціям, я постараюся уникнути трудомістких підходів і відмовлюся від програмування бекенду в загальноприйнятому сенсі. У стародавній Махабхарате сказано про створення світу, що спочатку були Браміни, потім - Правда, і т.д. Євангеліє від Іоанна починається словами 'На початку було Cлово'. Спираючись на цю давню мудрість я почну з онтології.

Пошук стандартної фундаментальної онтології

"Бог, - думав я, - повинен був сказати лише одне слово, що містить в себе всю повноту буття. Жоден з вимовлених ним звук не може бути менш значним, ніж весь всесвіт або принаймні ніж вся сукупність часів. Жалюгідні і хвалькуваті людські слова - такі, як 'все', 'світ', 'всесвіт', - це всього лише тіні і подібності єдиного звуку, рівного цілому прислівнику і всьому, що вiн в собі містить".

Хорхе Борхес "Письмена Бога"

Можна створювати описатели продуктів і послуг за своїми правилами. Але стандартизуючи семантику інтернету у вигляді онтологій ми отримуємо додаткову можливість залучати відвідувачів, які нічого не знають про нашому ресурсі. До того ж, сучасні тенденції все наполегливіше вимагають, щоб інформація була зрозуміла машинам, зокрема, пошуковим. Проблема полягає в тому, що вже зараз існуе величезна кількість онтологій. На наступному скріншоті з вебсайту The Linked Open Data Cloud (https://lod-cloud.net) представлений граф, що містить понад 1200 наборів даних:

The Linked Open Data Cloud from https://lod-cloud.net
Онтології зазвичай поділяють на 3 рівні:

  • верхній
  • середній
  • доменний (рівень додатку)

Дана розробка відноситься до рівня додатку і я провів багато днів в роздумах яку онтологію взяти за основу. Спочатку здавалося все просто - користуйся набором з існуючих. З іншого боку, учасники проекту 'Coordinated Holistic Alignment of Manufacturing Processes' (CHAMP) цілком обгрунтовано стверджують про нестачу універсальних термінологій опису продуктів і процесів. Розглянемо деякі широко відомі онтології:

Schema: 784 класи, 11494 аксiомы (версія 3.4)
GoodRelations: 38 класів, 1141 аксіома
Базовая Формальная Онтология (БФО): 36 класів, 1684 аксіоми

У якийсь момент вивчення БФО у мене виникла асоціація з мовою племені Пираха, який містить всього 7 приголосних і 3 голосних, але дуже складний при зовнішній простоті. Так і БФО - треба міцно перебудувати систему свого мислення, щоб правильно застосовувати її. У будь-якому випадку БФО верхнього рівня дуже приваблива своєю стислістю. Подивимося онтологію середнього рівня, створену на її основі:

CommonCoreOntologies: 1430 класів, 13112 аксіом (версія 1.1)

І нарешті, ще одна онтологія середнього рівня, яку я знайшов вже після опису стадій життя продукту в своїй попередній статті. Вона розроблена на основі БФО і CommonCoreOntologies спеціально для підтримки продукту на всіх стадіях його життя:

AllCHAMPAontology: 2136 класів, 17300 аксіом

Обсяг інформації вражає! Хоча ці онтології мають модульну структуру і можна використовувати тільки потрібні частини. Однак треба витратити чимало часу на їх вивчення, щоб вибрати тільки необхідне. Адже це ще середній рівень і онтології рівня додатку, в свою чергу, можуть додати не менший обсяг інформації. Загалом, як співав Девід Боуї - "ласкаво прошу в мій нічний кошмар"...

Зізнаюся, мені було важко відмовитися від ідеї застосування онтології CHAMP, хоч вона досить об'ємна і проект ще не закінчений. Але, як ми вже знаємо, в її основі лежить БФО, параграф 2.1 специфікації якої починається словами:

"An entity is anything that exists."

Я спеціально виділив жирним шрифтом ключове слово. Таким чином, користувач, крім високого рівня порогу входження в матеріал зіткнеться ще й з явно оголошеним обмеженням в підтримці розробки ще не існуючих продуктів.

До того ж, на мій погляд, закладений в BFO явне поділ сутностей на матеріальні і нематеріальні ('material entity' і 'immaterial entity') також сильно ускладнює онтологію і розуміння правил її застосування. Якщо у робота є відеокамера, але зламався датчик температури і він не знає про це, то він може прийняти сплячого матеріального кота за його нематеріальне зображення на подушці. Тобто рівень нашого знання, і висновки, що базуються на ньому, обмежений нашими поточними можливостями. Прокинувся кіт знову стане для такого робота матеріальним, якщо він володіє інтелектом для візуального визначення переміщення об'єкта.

Якщо ж ми оголосимо будь-яку сутність апріорі матеріальної, то серйозно спростимо BFO. Наприклад, камінь що лежить на обриві, до речі, складається як все навколо з рухомих атомів, можна уявити як об'єкт, який бажає спокою. Таким чином, вода підмившi обрив, виконує його бажання отримати задоволення від переміщення за допомогою дії сили тяжіння в більш стабільну точку спокою.

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

IoT - Internet of Tasks або Інтернет Бажань

'Якщо мені буде добре, я тебе так довезу, що тобі теж буде добре ...'
З кінофільму 'Міміно'

Що шукає мавпа, намагаючись дістати їжу з коробки? Хіба метою її пошуку була палиця, якою вона пробує зачепити банан через отвір в коробці? Хіба подружка Аліси, яку я згадав в епіграфі шукала медикаменти для батьків? Хіба, для того щоб зробити голку для ін'єкцій з ніпеля, Джекі Чан шукав напилок в кінофільмі "Хто я?" Ні, всі вони шукали засіб вирішення завдання. Для мавпи ним виявилася підходяща за розмірами палиця, для подружки Аліси - добрий всезнайка "Дезіре", а Джекі просто зняв колесо, завів мотор і заточив голку на обертовому гальмівному диску. Тобто в загальному випадку ми шукаємо не конкретні предмети, яких в даній конкретній ситуації може не бути в наявності, або навіть не існувати в природі. Більш того, предмети самі по собі не представляють ніякої цінності. Помістіть багатія з усім його золотом і навіть прислугою на безлюдний острів і вже через місяць він засумує через відсутність глядачів того, як він насолоджується своїм багатством.

У загальному випадку ми шукаємо засоби задоволення наших бажань або нагальних потреб. Але щоб не дисонувати з усталеним терміном IoT, я застосував слово Task (завдання). Використовуючи такий підхід до створення онтології базового рівня, нам уже не треба буде ломати голову над практичним застосуванням дуализму Онтологічного Матеріалізму і Онтологічного Ідеалізму. Важливим стає не вийти в бажаннях за рамки пристойності і свого первинного доброго призначення.

'Цей народ вже давно ... всі турботи забув, і Рим, що колись
Все роздавав: легіони, і владу, і лікторів зв'язки,
Стриманий тепер і про двох лише речах неспокійно мріє:
Хліба і видовищ!
..'

Децiм Юнiй Ювенал "10-а сатiра"

На відміну від багатьох навколишніх речей, бажання існували завжди і їх набір відносно постійний. До того ж їх набагато менше, порівняно з постійно зростаючою за рахунок прогресу кількістю засобив, за допомогою яких вони реалізуються. Наприклад, бажання переміститися в іншу країну раніше здійснювалося пішки, на коні, віслюку, їздових собак або верблюді. Зараз є самокат, велосипед, різні авто- і мото-, аж до літаків. Тобто базова онтологія бажань досить стабільна, середній шар ймовірно взагалі не потрібен, і тільки онтології додатків, що відображають взаємодію бажань через засоби їх реалізації, можуть бути відносно великі.

У зв'язку зі складністю розробки пропонованої концепції онтології Інтернету Бажань я беру тайм-аут. Сподіваюся, що продовження буде до моменту, коли я вже не зможу заощадити кошти на продовження існування цього вебсайту.