Научная статья на тему 'Формальная модель проверки совместимости компонентов IoT-системы'

Формальная модель проверки совместимости компонентов IoT-системы Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
160
24
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ИНТЕРНЕТ ВЕЩЕЙ / ВЕБ-СЕРВИС / ФОРМАЛЬНАЯ МОДЕЛЬ / СПЕЦИФИКАЦИЯ / ВЕРИФИКАЦИЯ / КОМПОЗИЦИЯ / СОВМЕСТИМОСТЬ / СОГЛАСОВАННОСТЬ / ПРОВЕРКА НА МОДЕЛИ / БОЛЬШИЕ ДАННЫЕ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Тименко Артур Валентинович, Шкарупило Вадим Викторович, Олейник Андрей Александрович, Грушко Светлана Сергеевна

В настоящее время в сети Интернет генерируются значительные объемы трафика, источниками которого, зачастую, являются различного рода «умные» устройства. Количество подобных устройств исчисляется миллиардами. В результате этого все большую актуальность приобретает реализации парадигмы Интернета вещей. Это сопряжено с обеспечением совместимости между компонентами распределенных программных систем, построенных поверх взаимодействующих устройств. В роли компонентов системы при этом, зачастую, выступают веб-сервисы. В связи с этим, для обеспечения совместимости между компонентами, помимо стандартизации, возникает потребность разработки эффективных средств и механизмов обеспечения и проверки согласованности взаимодействия между веб-сервисами. Цель работы повышение эффективности процесса разработки системы Интернета вещей. Поставленная цель достигается за счет разработки формальной модели проверки совместимости компонентов системы Интернета вещей, предназначенной служить базисом для проведения автоматизированной верификации методом проверки на модели на этапе проектирования системы. Наиболее существенный результат работы состоит в том, что была предложена формальная модель спецификации системы Интернета вещей, которая основывается на темпоральной логике действий (Temporal Logic of Actions) и соответствующем формализме. Научная новизна работы состоит в использовании концепции «действия» названной темпоральной логики, что позволило получать компактные реконфигурируемые формальные спецификации, отражающие специфику рассматриваемой системы изменение требований к характеристикам системы в зависимости от изменения внешних условий. Адекватность предложенной модели подтверждена на примере сценария предметной области. Измерены временные затраты, сопутствующие автоматизированной верификации спецификации, синтезированной согласно предложенной модели. Эти затраты охарактеризованы как приемлемые с учетом вычислительной сложности решаемой задачи и относительно низких вычислительных возможностей использованной аппаратной платформы. Отмечено, что названные затраты в дальнейшем могут быть снижены.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Тименко Артур Валентинович, Шкарупило Вадим Викторович, Олейник Андрей Александрович, Грушко Светлана Сергеевна

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Формальная модель проверки совместимости компонентов IoT-системы»

Formal Model for Checking the Interoperability Between the Components

of the IoT system

Timenko A.V.1, Shkarupylo V.V.2, Oliinyk A.O.1, Hrushko S.S.1

1 Zaporizhzhia National Technical University Zaporizhzhia, Ukraine 2 National University of Life and Environmental Sciences of Ukraine

Kyiv, Ukraine

Abstract. Today, the significant volumes of network traffic circulate through the Internet. The sources of such traffic are, in particular, the diverse territory distributed "smart" devices. The number of named devices is about billions. As a consequence, the relevance of bringing to practice the core concepts of the Internet of Things paradigm is constantly becoming more and more topical. It's bound with the problem of granting the interoperability between the components of distributed software systems, built over the aforementioned devices. The web services are typically considered as the components of the system. To this end, to establish the interoperability between the components, despite the standardization, the need for the development of effective tools and techniques, granting the interoperability between the web services, arises. The goal of the work is to increase the effectiveness of the Internet of Things system engineering process by way of checking the interoperability between the components during the designing. The goal is achieved through the development of formal model for checking the interoperability between the components of the Internet of Things system by way of model checking in an automated manner. The novelty of proposed solution is grounded on the usage of Temporal Logic of Actions, corresponding formalism and the concept of action as the basis for compact and easily reconfigurable formal specifications synthesis. The adequacy of proposed model has been proved through the case study. The verification-related time costs have been estimated.

Keywords: Internet of Things, web service, formal model, specification, verification, composition, interoperability, consistency, model checking, big data. DOI: 10.5281/zenodo.3239196

Model formal pentru verificarea compatibilitatii componentelor sistemului IoT Timenko A.V.1, Shkarupilo V.V.2, Oleinik A.A.1, Grushko S.C.1

1Universitatea Tehnica Nationala din Zaporoje Zaporoje, Ucraina 2Universitatea Nationala de resurse bio si Stiintele Mediului din Ucraina,

Kiev, Ucraina

Rezumat. ín prezent, Internetul genereaza sume importante de trafic, ale caror surse sunt adesea diferite tipuri de dispozitive "inteligente". Numarul de astfel de dispozitive se cifreaza la miliarde. Ca urmare, implementarea paradigmei Internet of Things (IoT) devine din ce in ce mai importanta. Aceasta implica asigurarea compatibilitatii intre componentele sistemelor software distribuite, construite pe dispozitivele care interactioneaza. ín acest sens, rolul componentelor sistemului este adesea serviciile web. ín acest sens, pentru a asigura compatibilitatea intre componente, pe langa standardizare, este necesara dezvoltarea unor instrumente si mecanisme eficiente pentru a asigura si verifica coerenta interactiunii dintre serviciile web. Scopul lucrarii este cresterea eficientei procesului de dezvoltare a internetului obiectelor. Acest obiectiv este realizat prin dezvoltarea unui model formal de verificare a compatibilitatii componentelor sistemului Internet of Things, care este destinat sa serveasca drept baza pentru efectuarea unei verificari automate utilizand metoda de verificare a modelului la etapa de proiectare a sistemului. Cel mai important rezultat al lucrarii este acela ca a fost propus un model formal al specificatiei sistemului IoT, care se bazeaza pe logica temporala a actiunilor (Temporal Logic Actions) si pe formalismul corespunzator. Noutatea stiintifica a lucrarii consta in utilizarea conceptului de "actiune" al logicii temporale mentionate mai sus, care a facut posibila obtinerea unor specificatii formale compacte reconfigurabile care reflecta specificul sistemului in cauza - modificarea cerintelor privind caracteristicile sistemului in functie de schimbarile conditiilor externe. Adecvarea modelului propus este confirmata de exemplul unui scenariu de domeniu. Se masoara costurile de timp asociate verificarii automate a specificatiilor, sintetizate conform modelului propus.

Cuvinte-cheie: Internet de lucruri, serviciu web, model formal, specificatie, verificare, compozitie, compatibilitate, consistenta, verificare model, date mari.

© TnMeHKO A.B., fflKapynn^o B.B., O^eHHHK A.A., rpymKO C.C., 2019

Формальная модель проверки совместимости компонентов IoT-системы Тименко А.В.1, Шкарупило В.В.2, Олейник А.А.1, Грушко С.С.1

1 Запорожский национальный технический университет Запорожье, Украина 2 Национальный университет биоресурсов и природопользования Украины,

Киев, Украина

Аннотация. В настоящее время в сети Интернет генерируются значительные объемы трафика, источниками которого, зачастую, являются различного рода «умные» устройства. Количество подобных устройств исчисляется миллиардами. В результате этого все большую актуальность приобретает реализации парадигмы Интернета вещей. Это сопряжено с обеспечением совместимости между компонентами распределенных программных систем, построенных поверх взаимодействующих устройств. В роли компонентов системы при этом, зачастую, выступают веб-сервисы. В связи с этим, для обеспечения совместимости между компонентами, помимо стандартизации, возникает потребность разработки эффективных средств и механизмов обеспечения и проверки согласованности взаимодействия между веб-сервисами. Цель работы - повышение эффективности процесса разработки системы Интернета вещей. Поставленная цель достигается за счет разработки формальной модели проверки совместимости компонентов системы Интернета вещей, предназначенной служить базисом для проведения автоматизированной верификации методом проверки на модели на этапе проектирования системы. Наиболее существенный результат работы состоит в том, что была предложена формальная модель спецификации системы Интернета вещей, которая основывается на темпоральной логике действий (Temporal Logic of Actions) и соответствующем формализме. Научная новизна работы состоит в использовании концепции «действия» названной темпоральной логики, что позволило получать компактные реконфигурируемые формальные спецификации, отражающие специфику рассматриваемой системы - изменение требований к характеристикам системы в зависимости от изменения внешних условий. Адекватность предложенной модели подтверждена на примере сценария предметной области. Измерены временные затраты, сопутствующие автоматизированной верификации спецификации, синтезированной согласно предложенной модели. Эти затраты охарактеризованы как приемлемые - с учетом вычислительной сложности решаемой задачи и относительно низких вычислительных возможностей использованной аппаратной платформы. Отмечено, что названные затраты в дальнейшем могут быть снижены.

Ключевые слова: Интернет вещей, веб-сервис, формальная модель, спецификация, верификация, композиция, совместимость, согласованность, проверка на модели, большие данные.

ВВЕДЕНИЕ

В настоящее время число различных «умных» устройств (например, смартфоны, планшеты и др.) стремительно возрастает. В данном ключе, с точки зрения автоматизации, с целью интегрирования подобных устройств в рамках различного рода вычислительных процессов, потребность в освоении технологии, реализующей указанную концепцию, приобретает все большую актуальность.

В данном случае подразумевается концепция Интернета вещей (Internet of Things, IoT), которая может быть охарактеризована следующим образом: множество физических объектов, подключенных к сети Интернет, взаимодействуют, обмениваются

информацией и координируют свои действия [1].

Озвученная концепция подразумевает взаимодействие миллиардов подобных объектов [2].

Существует множество различных сценариев реализации Интернета вещей: «умный дом» [3], «умный город» [4] и др. Чтоб уникальным образом идентифицировать подобные устройства в составе системы, используется технология RFID (Radio Frequency Identification) [5].

Разнообразие используемых

коммуникационных протоколов и

взаимодействующих устройств

обуславливает возникновение проблемы интероперабельности (совместимости), т.е. способности устройств различной корпоративной принадлежности,

поддерживающих, в общем случае, различные коммуникационные протоколы, взаимодействовать между собой. В данной работе такая совокупность

взаимодействующих разнородных «умных» устройств рассматривается как система, синтезируемая согласно некоторому заданному (предусмотренному) сценарию использования.

Для рассуждения на тему совместимости IoT-система рассматривается с точки зрения основополагающей архитектуры.

Выделяются четыре уровня архитектуры (снизу-вверх): уровень сенсоров и соединений, сетевой уровень, уровень сервисов управления и обеспечения безопасности, уровень «умных» приложений [6]. Верхний иерархический уровень можно рассматривать как предметно-зависимый - с точки зрения области применения соответствующих приложений: умный дом, умный город, умная система

электроснабжения и т.д. С точки зрения масштаба и сложности (комплексности), подобные предметно-ориентированные

программные решения варьируются существенным образом, однако механизм их функционирования подобен - базируется на вызовах веб-сервисов. Это означает, что реализация некоторого заданного сценария функционирования системы состоит в координировании соответствующим образом компонентов системы - веб-сервисов.

С целью обобщения, для абстрагирования от предметно-зависимых сценариев, рассмотрение названной системы в рамках работы выполняется на третьем (предпоследнем) уровне - уровне сервисов. В данном ключе IoT-система рассматривается как композиция взаимодействующих веб-сервисов [7]. Такой подход характеризуется преимуществами в следующих позициях: автоматизация, повторное использование, гибкость реконфигурирования.

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

Названные компоненты взаимодействуют между собой путем обмена сообщениями. В связи с этим, концепция совместимости рассматривается с позиции протоколов взаимодействия. В общем случае, проблема обеспечения совместимости может быть решена путем стандартизации [8], однако, в действительности имеет место практическое использование различных альтернативных протоколов, в том числе прикладных: MQTT (Message Queue Telemetry Transport), XMPP (Extensible Messaging and Presence Protocol), CoAP (Constrained Application Protocol) и т.д.

[9]. Вместе с тем, существует множество различных подходов, ориентированных на достижение совместимости. Некоторые из них рассматриваются ниже.

Один из подходов состоит в создании и использовании механизма трансляции протоколов, предназначенного для использования в индустриальных сценариях (Industrial IoT, IIoT) [10]. Альтернативное решение заключается в использовании инструментария межплатформенного

взаимодействия, где под платформой подразумевается программная система [11]. При этом оперируют понятием вертикальной совместимости. Возможное решение -система-шлюз, развернутая на мобильном устройстве и выполняющая функции интерфейса между IoT-устройством и средой взаимодействия (Интернет) [12]. Еще одно решение для обеспечения вертикальной совместимости - инструментарий HyperCat и соответствующий IoT-концентратор [13].

Для автоматизации взаимодействия типа M2M (Machine-to-Machine) предложен M2M-шлюз, предназначенный к развертыванию и использованию на мобильных устройствах [14]. В данном случае подразумевается концепция горизонтальной совместимости, когда различные приложения

взаимодействуют и обмениваются данными в автоматическом режиме. Она может быть реализована путем разработки

соответствующего протокола

взаимодействия, охватывающего также вопросы обеспечения надлежащего уровня QoS-характеристик (Quality of Services) [15].

Компромиссный подход состоит в стандартизации наряду с использованием формальных языков описания поведений IoT-устройств. Соответствующая реализация -система EUDroid [16]. Более того, задачу проверки совместимости предлагается решать уже на этапе проектирования - оперируя моделями архитектуры IoT-системы [17].

Отдельную область исследований составляет вопрос обеспечения

совместимости данных - достижения защищенного и управляемого обмена данными между программными системами [18]. Также отмечается важность проверки временной согласованности передаваемых сообщений, которая имеет место при устранении ошибок передачи [19].

Альтернативный подход - достижение совместимости на семантическом уровне -

путем обеспечения целостности

семантических описаний веб-сервисов [20].

С позиции пространственной удаленности IoT-устройств, обосновывается важность проверки результирующей согласованности взаимодействия компонентов системы [21]. При этом важность поддержания временной согласованности при обмене данными между устройствами возрастает [22]. Пример соответствующей задачи - проверка согласованности применительно к «большим данным» (big data) IoT [23].

В данной работе предлагается модель, которая основывается на подходах, принятых в работах [16] и [17], а именно - на решении задачи проверки совместимости компонентов системы на этапе проектирования, с использованием формальных методов.

Цель работы - повышение эффективности процесса разработки IoT-систем.

Поставленная цель достигается за счет разработки формальной модели проверки совместимости компонентов системы, предназначенной служить базисом для проведения автоматизированной

верификации методом проверки на модели на этапе проектирования системы.

Научная новизна работы состоит в использовании концепции «действия» темпоральной логики действий (TLA, Temporal Logic of Actions) [24], что позволило получать компактные реконфигурируемые формальные спецификации, отражающие специфику рассматриваемой системы -изменение требований к характеристикам системы в зависимости от изменения внешних условий.

МЕТОДЫ, РЕЗУЛЬТАТЫ И ОБСУЖДЕНИЕ

В работе концепции совместимости и согласованности рассматриваются совместно. Вводится допущение, что компоненты системы совместимы, если они оперируют одинаковыми протоколами, а их взаимодействия согласованы по времени.

Рассматривая взаимодействие между некоторыми веб-сервисами путем обмена сообщениями, подразумевается

горизонтальная совместимость.

Согласованность взаимодействий

компонентов системы проверяется в автоматизированном режиме - с использованием формального метода проверки на модели (Model Checking).

При описании формальной модели IoT-системы используются концепции «действия» и «динамики».

Под «действием» подразумевается вызов веб-сервиса - компонента IoT-системы, под «динамикой» - последовательность таких вызовов, уникальным образом

идентифицирующих некоторый

вычислительный процесс - сценарий функционирования системы.

Чтобы формализовать озвученные концепции, используется темпоральная логика TLA и соответствующий формализм TLA+ [24]. Данный формализм широко используется в различных предметных областях, например, при проверке проектных решений для веб-сервисов Amazon (Amazon Web Services, AWS) [25], при разработке надежных и отказоустойчивых модулей программной платформы системы

управления железнодорожным движением уровня SIL 4 (Safety Integrity Level) [26].

Математическая строгость формализма TLA+ позволяет создавать компактные и реконфигурируемые формальные описания (модели) системы.

I. Методы

Для формализации «действия»

воспользуемся структурой Крипке [27].

Структурой Крипке M на множестве

атомарных высказываний AP является структура следующего вида:

M = (S,{s0 }, R, l),

(1)

где £ - конечное множество состояний, 50 е £ - начальное состояние, Я с £2 -множество переходов между состояниями, Ь : £ ^ 2АР - функция разметки состояний.

Пусть 5 е £ - некоторое текущее состояние, а 5 = Я(в) е £ - последующее состояние как результат перехода (5,5')е Я .

«Действие» в данном ключе - это булева функция перехода, принимающая истинное значение при переходе (5,5')е Я .

Для формирования множества атомарных высказываний АР введем следующие два множества:

V={v гт,

D = {dj,d2 },

(2) (3)

где V - множество переменных состояний, Б - множество значений переменных состояний: = 0, й2 = 1.

Каждая у, е V представляет некоторый веб-сервис в составе композиции, который либо подлежит вызову, либо уже был вызван - в зависимости от значения из множества Б .

Множество АР представим декартовым произведением:

AP = V х D .

(4)

Элементы множества АР следует интерпретировать следующим образом: (у, ,0) е АР - I -й веб-сервис еще не был вызван; (у, ,1)е АР - I -й веб-сервис уже был вызван. Для акцентирования внимания на действиях, представим множество АР в виде объединения:

AP = AP' u AP".

(5)

где AP' = {ap'} - множество предусловий для действий: ap' = (vi ,0) е AP' с AP -предусловие для i -го действия; AP" = {ap'} -множество постусловий: ap' = (vi ,1) е AP'' с AP - постусловие (результат) для i -го действия.

Для представления в формальной модели совместимости двух сервисов за основу берется действие, обуславливающее переход (s, s')е R. В данном ключе вводится концепция «события» - e, которое представляется в формальной модели как импликация, модифицированная

темпоральным оператором Next (X) [28]:

ei - (ap' ^ X ap') - (-ap' v X ap'), (6)

что означает, что, если условие ap' е AP' истинно, тогда соответствующее условие ap' е AP'' должно быть истинным в последующий момент модельного времени.

Аналогичным образом формализуется концепция «пустого события» - eei (empty event), которая означает, что некоторая переменная состояний vi е V не меняет своего значения в последующий момент модельного времени:

eei = (ap' ^ X ap') = (-ap' v X ap'). (7)

Предложенную формализацию событий (6) и (7) положим в основу спецификации перехода (у, 5 ')е Я . Для этой цели рассмотрим следующий сценарий.

Сервис, представленный переменной у, е V, будем рассматривать как совместимый с сервисом, представленным переменной

е V( ф ]), при условии, что имеет место

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

соответствующее событие е, (6). Иными словами, если сервис, представленный переменной у, е V, является инициатором взаимодействия с сервисом, представленным переменной у}- еV, то соответствующее

отношение можно представить оператором предшествования х: е, х е}-, где е,

рассматривается как предусловие совместимости г -го и ] -го сервисов. В таком случае будем утверждать в формальной модели, что I -й сервис совместим с ] -м сервисом именно в заданном порядке вызовов.

Для создания «событийного» каркаса спецификации перехода воспользуемся тернарным оператором «?:» языка программирования Си:

(ei)? e, : ee,,

(8)

Спецификация на основе (8) призвана служить механизмом формирования цепочек вызовов: в случае, если условие е, (6) истинно, проверке выполнения подлежит условие е}-, в противном случае - ее}- (7).

Формализации цепочек вызовов на основе (8) будем называть «динамиками»:

Ък = eb em

(9)

Нижний индекс элементов цепочки событий указывает на относительный порядок возникновения событий, т.е. е1 х е2 х... х ет . События, для которых выполняется отношение е, х е}-, будем

называть «совместным» событиями.

Темпоральную спецификацию на основе выражений (6) и (9) - шаблон спецификации динамики - представим конъюнкцией:

f (Ък)-

e, л e2 л... л em

(10)

Поскольку система в общем случае может функционировать согласно различным сценариям, то с каждой динамикой целесообразно отождествлять

соответствующее подмножество состояний системы переходов:

S = U Sk

(11)

k=1

где Sk с S - подмножество состояний системы переходов, ассоциированное с k -й динамикой. Понятие совместимости при этом предлагается рассматривать в узком смысле и широком смысле.

Если подразумевается проверка совместимости компонентов системы в ключе отдельно взятой динамики, имеет место постановка задачи проверки совместимости в узком смысле:

M,|= f (bk),

(12)

где Sk и s* £ S \ Sk . Выражение (12) означает, что для структуры (1) темпоральная формула (10) должна выполняться Уя* е Sk .

Чтобы сформулировать постановку задачи проверки совместимости в широком смысле, сформируем как дизъюнкцию темпоральную формулу, охватывающую альтернативные динамики:

/(Ь )v /(Ь2^... V /(Ьк^... V /(Ьп). (13)

Соответствующую задачу проверки формализуем следующим образом:

M, 5 |=§ .

(14)

При этом стоит отметить, что, если поведение 1оТ-системы характеризуется лишь одной динамикой, постановка задачи в узком смысле также является и постановкой задачи в широком смысле.

На основе введенных концепций и формализаций сформируем

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

подлежащую автоматизированном проверке -верификации методом проверки на модели согласно сформулированной постановке задачи проверки - (12) или (14).

Спецификацию начального состояния зададим конъюнкцией:

Init = (vj = 0)л... л(уг = 0)л... л(ут = 0) . (15)

Переход (s, s')e R формализуем на основе выражения (8) и конструкции IF-THEN-ELSE. При этом выделим два случая -переход из начального состояния и переход из одного из последующих состояний. В первом случае в качестве предусловия выступает спецификация начального состояния (15):

Acti = (v' = IF (Init) THEN —ivi ELSEvl), (16)

где v' представляет переменную состояния в последующий момент модельного времени.

Во втором случае предусловием является спецификация предыдущего перехода:

Act 3 =(v'j = IF (Act,) THEN — v; ELSE v ^). (17)

Предложенный подход к

специфицированию переходов между состояниями как действий представлен на рис. 1.

Предложенный подход к

специфицированию динамики состоит в следующем:

• Основываясь на (10), сформировать спецификацию динамики, где в качестве конъюнктов будут фигурировать единственное выражение (16) - инициатор цепочки переходов, и m -1 выражение (17).

• Сформировать результирующую темпоральную формулу, подлежащую автоматизированной проверке согласно постановке задачи (12) методом проверки на модели:

Speck = Init л G[Actj л... л Actm ],

(18)

где G - темпоральный оператор «Globally»; в качестве конъюнктов в квадратных скобках фигурируют

спецификации переходов на основе выражений (17) и (18).

Рис. 1. Алгоритм

спецификаций переходов. 1

формирования

Таким образом, постановка задачи (12) приобретает следующий вид:

M, s * |= Speck .

(l9)

В соответствии с выражением (13), в случае постановки задачи в широком смысле (14), получим результирующую

темпоральную формулу следующего вида:

RSpec = Init л G[Spec[ v... v Spec'n ],

(20)

где Speck — Actj л... л Actm динамики без учета начального состояния.

- спецификация спецификации

II. Результаты

Для проверки предложенной модели рассмотрен следующий сценарий [29]:

• Некоторый пользователь 1оТ-системы взаимодействует с системой посредством веб-интерфейса с целью исследования ее работы.

• Допустимы следующие варианты действий пользователя: подготовка и запуск эксперимента; получение данных (результата) проведения эксперимента и визуализация полученных данных (рис. 2).

i

Authorization

V

Choose activity

V

V

V

Experiment tweaking

Data obtaining

V

Data visualization

Рис. 2. Диаграмма действий для рассматриваемого сценария. 2

На рис. 2 представлены два альтернативных сценария работы с системой, т.е. имеем две динамики.

Каждое действие реализуется

соответствующим веб-сервисом. Тогда имеем

переменных

спецификация, предложенной

следующее множество состояний: V = {v1; v2, v3, v4, v5}.

Формальная TLA+ синтезированная согласно модели, приведена в табл. 1.

В табл. 1 в строке 6 символом [] обозначен темпоральный оператор G.

Эксперименты проведены на платформе следующей конфигурации: операционная система - MS Windows 7; процессор - Intel Celeron B815, 1.6 ГГц; оперативная память -2 ГБ; среда исполнения Java - JRE 1.8.0_191; среда моделирования - TLA Toolbox v. 1.5.6; метод проверки на модели, реализованный в составе среды TLA Toolbox, - TLC (TLA Checker) v. 2.12. Количество достижимых состояний (в которых выполняется результирующая темпоральная формула), обнаруженных в процессе

автоматизированной верификации, составило

i,2Appendixl

6, а сопутствующие проверке временные затраты - 2.735 с. (усредненное значение)

Таблица 13

Формальная TLA+ спецификация 4.

No. Specification

1 VARIABLES v1, v2, v3, v4, v5 \* list of variables

2 Invariant == A v1 \in BOOLEAN ... /\ v5 \in BOOLEAN \* variables invariants

3 \* initial state specification as conjunction Init == v1=FALSE /\ v2=FALSE /\ v3=FALSE /\ v4=FALSE /\ v5=FALSE

4 Act 0 == v1' = IF Init THEN ~v1 ELSE v1 \* specification Act_1 == v2' = IF Act_0 THEN ~v2 ELSE v2 \* of Act 2 == v3' = IF Act 1 THEN ~v3 ELSE v3 \* transitions Act 3 == v4' = IF Act 1 THEN ~v4 ELSE v4 \* between Act 4 == v5' = IF Act 3 THEN ~v5 ELSE v5 \* the states

5 Next == V /\ (Act 0 /\ Act 1 /\ Act 2) /\ UNCHANGED<<v4,v5>> \* alternative \/ /\ (Act 0 /\ Act 1 /\ Act 3 /\ Act 4) /\ UNCHANGED<<v3>> \* behaviors

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

6 RSpec == Init/\[][Next]_<<v1,v2,v3,v4,v5>> \* resulting temporal formula

III. Обсуждение

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

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

Предложенная модель позволяет синтезировать компактные и

реконфигурируемые спецификации 1оТ-системы с требуемым уровнем детализации.

Сопутствующие процессу

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

ВЫВОДЫ

Таким образом, в работе предложена формальная модель проверки совместимости

компонентов IoT-системы. При этом были получены следующие результаты:

• Формализована концептуальная составляющая предложенной модели - на основе структуры Крипке и выразительных возможностей формализма TLA+.

• Проверена адекватность предложенной модели - на основе сценария предметной области - вариаций сценариев взаимодействия пользователя с системой.

• Измерены временные затраты на верификацию спецификации, синтезированной согласно предложенной модели. Среднее значение составило 2.735 с. Такие затраты охарактеризованы как приемлемые.

Благодарности

Работа выполнена в рамках проекта Erasmus+ Internet of Things: Emerging Curriculum for Industry and Human Applications ALIOT Project (reference number 573818-EPP-1 -2016-1-UK-EPPKA2-CBHE-JP), при участии кафедры компьютерных систем и сетей и кафедры программных средств Запорожского национального технического университета.

Работа проведена в рамках исследовательской работы «Методы и средства принятия решений для обработки данных в интеллектуальных системах распознавания образов» (номер ДБ 04927), проводимой кафедрой программных средств Запорожского национального технического университета.

34Appendix1

76

APPENDIX 1 (ПРИЛОЖЕНИЕ 1)

xFig. 1. Algorithm of synthesis the specifications

of transitions.

2Fig. 2. Activity diagram for the case study.

3,4Table 1. Formal TLA+ specification.

Литература (References)

[1] Al-Fuqaha A., Guizani M., Mohammadi M., Aledhari M., Ayyash M. Internet of things: a survey on enabling technologies protocols and applications. IEEE Communications Surveys & Tutorials, 2015, vol. 17, no. 4, pp. 2347-2376. doi: 10.1109/COMST.2015.2444095

[2] Bera S., Misra S., Vasilakos A.V. Software-Defined Networking for Internet of Things: A Survey. IEEE Internet of Things Journal, 2017, vol. 4, no. 6. pp. 1994-2008. doi: 10.1109/JI0T.2017.2746186

[3] Stojkoska B.L.R., Trivodaliev K.V. A review of Internet of Things for smart home: Challenges and solutions. Journal of Cleaner Production, 2017, vol. 140, pp. 1454-1464. doi: 10.1016/j.jclepro.2016.10.006

[4] Sotres P., Santana J.R., Sanchez L., Lanza J., Munoz L. Practical lessons from the deployment and management of a smart city Internet-of-Things infrastructure: the SmartSantander testbed case. IEEE Access, 2017, vol. 5, pp. 1430914322. doi: 10.1109/ACCESS.2017.2723659

[5] Li R., Song T., Capurso N., Yu J., Couture J., Cheng X. IoT applications on Secure Smart Shopping System. IEEE Internet of Things Journal, 2017, vol. 4, no. 6, pp. 1945-1954. doi: 10.1109/JI0T.2017.2706698

[6] Yaqoob I., Ahmed E., Hashem I.A.T., Ahmed A.I.A., Gani A., Imran M., Guizani M. Internet of Things architecture: Recent advances taxonomy requirements and open challenges. IEEE Wireless Communications, 2017, vol. 24, no. 3, pp. 10-16. doi: 10.1109/MWC.2017.1600421

[7] Lemos A.L., Daniel F., Benatallah B. Web Service Composition: A Survey of Techniques and Tools. ACM Computing Surveys (CSUR), 2016, vol. 48, no. 3, pp. 1-41. doi: 10.1145/2831270

[8] Mahmood K., Li X., Chaudhry S.A., Naqvi H., Kumari S., Sangaiah A.K., Rodrigues J.J.P.C. Pairing based anonymous and secure key agreement protocol for smart grid edge computing infrastructure. Future Generation Computer Systems, 2018, vol. 88, pp. 491-500. doi: 10.1016/j.future.2018.06.004

[9] Desai P., Sheth A., Anantharam P. Semantic Gateway as a Service Architecture for IoT Interoperability. Proc. 2015 IEEE International Conference on Mobile Services. New York, NY, USA, 2015, pp. 313-319. doi: 10.1109/MobServ.2015.51

[10] Derhamy H., Eliasson J., Delsing J. IoT interoperability: on-demand and low latency transparent multiprotocol translator. IEEE Internet of Things Journal, 2017, vol. 4, no. 5, pp. 1754-1763. doi: 10.1109/JIOT.2017.2697718

[11] Soursos S., Podnar-Zarko I., Zwickl P., Gojmerac I., Bianchi G., Carrozzo G. Towards the Cross-Domain Interoperability of IoT Platforms. Proc. 2016 European Conference on Networks and Communication (EUCNC 2016). Athens, Greece, 2016, pp. 398-402. doi: 10.1109/EuCNC.2016.7561070

[12] Aloi G., Caliciuri G., Fortino G., Gravina R., Pace P., Russo W., Savaglio C. Enabling IoT interoperability through opportunistic smartphone-based mobile gateways. Journal of Network and Computer Applications, 2017, vol. 81, pp. 74-84. doi: 10.1016/j.jnca.2016.10.013

[13] Blackstock M., Lea R. IoT interoperability: A hub-based approach. Proc. 2014 International Conference on Internet of Things (IOT). Cambridge, MA, USA, 2014, pp. 79-84. doi: 10.1109/I0T.2014.7030119

[14] Pereira C., Pinto A., Aguiar A., Rocha P., Santiago F., Sousa J. IoT interoperability for actuating applications through standardised m2m communications. Proc. 2016 IEEE 17th International Symposium on A World of Wireless, Mobile and Multimedia Networks (WoWMoM). Coimbra, Portugal, 2016, pp. 1-6. doi: 10.1109/WoWMoM.2016.7523564

[15] Ferrari P., Flammini A., Sisinni E., Rinaldi S., Brandao D., Rocha M.S. Delay estimation of Industrial IoT applications based on messaging protocols. IEEE Transactions on Instrumentation and Measurement, 2018, vol. 67, no. 9, pp. 21882199. doi: 10.1109/TIM.2018.2813798

[16] Buono P., Cassano F., Legretto A., Piccinno A. EUDroid: A formal language specifying the behaviour of IoT devices. IET Software, 2018, vol. 12, no. 5, pp. 425-429. doi: 10.1049/iet-sen.2017.0347

[17] Sosa-Reyna C.M., Tello-Leal E., Lara-Alabazares D. Methodology for the model-driven development of service oriented IoT applications. Journal of Systems Architecture, 2018, vol. 90, pp. 15-22. doi: 10.1016/j.sysarc.2018.08.008

[18] Nawaratne R., Alahakoon D., De Silva D., Chhetri P., Chilamkurti N. Self-evolving intelligent algorithms for facilitating data interoperability in IoT environments. Future Generation Computer Systems, 2018. vol. 86, pp. 421-432. doi: 10.1016/j.future.2018.02.049

[19] Zhou Q., Simmhan Y., Prasanna V. Knowledge-infused and consistent Complex Event Processing over real-time and persistent streams. Future

Generation Computer Systems, 2017, vol. 76, pp. 391-406. doi: 10.1016/j.future.2016.10.030

[20] Hur K., Chun S., Jin X., Lee K.-H. Towards a semantic model for automated deployment of IoT services across platforms. Proc. 2015 IEEE World Congress on Services. New York, NY, USA, 2015. pp. 17-20. doi: 10.1109/SERVICES.2015.11

[21] Beal J., Viroli M., Pianini D., Damiani F. Self-adaptation to device distribution in the Internet of Things. ACM Transactions on Autonomous and Adaptive Systems (TAAS), 2017, vol. 12, no. 3, pp. 1-29. . doi: 10.1145/3105758

[22] Shi X., Fan L., Ling Y., He J., Xiong D. Dynamic and quantitative method of analyzing clock inconsistency factors among distributed nodes. Arabian Journal for Science and Engineering, 2015, vol. 40, no. 2, pp. 519-530. doi: 10.1007/s13369-014-1545-1

[23] Liu F., Yang Y. A two-tier replication framework and its consensus protocol for big data storage of internet of things. Journal of Internet Technology, 2016, vol. 17, no. 7, pp. 1453-1460.

[24] Lamport L. Specifying systems: The TLA + language and tools for hardware and software engineers. Boston, Addison-Wesley, 2002. 382 p.

[25] Newcombe C., Rath T., Zhang F., Munteanu B., Brooker M., Deardeuff M. How Amazon web

Сведения об авторах.

Тименко Артур

f Валентинович. Ассистент кафедры компьютерных систем и сетей Запорожского национального технического университета. Область научных интересов - Интернет вещей; компьютерные сети. E-mail:

timenko. artur@ gmail .com

El Шкарупило Вадим

Викторович. К.т.н., доцент, доцент кафедры компьютерных систем и сетей Национального университета биоресурсов и природопользования Украины. Область научных интересов -Интернет вещей; формальные методы. E-mail:

shkarupylo.vadym@gmail.com

services uses formal methods. Communications of the ACM, 2015, vol. 58, no. 4, pp. 66-73. doi: 10.1145/2699417

[26] Resch S., Paulitsch M. Using TLA+ in the development of a safety-critical fault-tolerant middleware. Proc. of 2017 IEEE International Symposium on Software Reliability Engineering Workshops (ISSREW), Toulouse, France, 2017, pp. 17. doi: 10.1109/ISSREW.2017.43

[27] Clarke E.M., Grumberg O., Peled D.A. Model checking. Massachusetts, MIT Press, 2001. 314 p.

[28] Shkarupylo V.V., Tomicic I., Kasian K.M., Alsayaydeh J. A. J. An Approach to increase the Effectiveness of TLC Verification with Respect to the Concurrent Structure of TLA+ Specification. International Journal of Software Engineering and Computer Systems, 2018, vol. 4, no. 1, pp. 48-60. doi: 10.15282/ijsecs.4.1.2018.4.0037

[29] Sanchez L., Munoz L., Galache J. A., Sotres P., Santana J. R., Gutierrez V., Ramdhany R., Gluhak A., Krco S., Theodoridis E., Pfisterer D. SmartSantander: IoT experimentation over a smart city testbed. Computer Networks, 2014, vol. 61, pp. 217-238. doi: 10.1016/j.bjp.2013.12.020

Олейник Андрей

Александрович. К.т.н., доцент, доцент кафедры программных средств Запорожского

национального технического университета. Область научных интересов - искусственный интеллект, нейронные сети, анализ данных. E-mail: oleinikaa@gmail.com Грушко Светлана Сергеевна. К.т.н., старший преподаватель кафедры компьютерных систем и сетей Запорожского национального технического университета. Область научных интересов - проектирование устройств управления на ПЛИС; интерфейсы компьютерных систем.

E-mail: grushko ss@i.ua

i Надоели баннеры? Вы всегда можете отключить рекламу.