=Paper= {{Paper |id=Vol-2845/Paper_36.pdf |storemode=property |title=Using Educational IoT System |pdfUrl=https://ceur-ws.org/Vol-2845/Paper_36.pdf |volume=Vol-2845 |authors=Alexander Provotar,Maksym Veres,Maksym Samoilenko |dblpUrl=https://dblp.org/rec/conf/iti2/ProvotarVS20 }} ==Using Educational IoT System== https://ceur-ws.org/Vol-2845/Paper_36.pdf
Using Educational IoT System
Alexander Provotar, Maksym Veres and Maksym Samoilenko
Taras Shevchenko National University of Kyiv, Glushkov ave., 4g, 03022, Kyiv, Ukraine.

                 Abstract
                 This paper investigates using educational IoT in group of students. There is formal
                 investigation of IoT system approach presented as transition systems and their composition
                 which presented as Petri net with next liveness checking. Paper describes architecture of IoT
                 system which is implementation of Petri net.

                 Keywords 1
                 educational IoT, web – server, transition system, Petri net

1. Introduction

    Nowadays IoT devices is popular and can be used as IoT for mobile phones, smart homes,
automotive technologies. There is a good opportunity for using IoT in education curriculum. This
paper exposes using IoT technologies in education, especially model of interaction between IoT and
end-users, and realization of model by using system architecture.
    This paper has a contribution: model of interaction between IoT and end-users which exposed as
Petri net with liveness checking which is result of multiplication transition systems of each aspect of
interaction and system architecture of implementation of Petri net.
    Section II provides a literature review oof using educational IoT. Section III introduces using IoT
in curriculum and described initial information about IoT system. Section IV provides transition
system and Petri net definitions, investigates liveness of Petri net presented as multiplication of
transition systems. Section V presents system architecture of Petri net implementation. Section VI
describes conclusions and Section VII – references.

2. Literature review

   There are plenty examples of using IoT in education curriculum with Lego Mindstorm. There is
Robolab programming tool for Lego Mindstorm analysis of using IoT for learning programming
languages by students which take a part in Lego IoT building blocks, decomposing and investigation
of educational task given, running program [1]. Working with education IoT described step by step in
system engineering students by experiencing software engineering lifecycle from requirements and
design to system implementations by means of Lego Mindstorm [2]. There is an example of using
maker made IoT in educational process described where this IoT can be integrated in school
curriculum with strong acceptance by the school community [3]. According to papers above,
educational IoT has a good possibility to be used in curriculum. Also, there is paper with interaction
of group of IoT with different relationship types and with system architecture of connection protocols
discussion and analysis presented [4].
   Different interaction between system architecture aspects can be presented by Petri net. Current
paper describes model interaction by using transition systems of each aspect by example of model of
working with graphic processing (GPU) systems where working GPU cycle is decomposed by parts
and presented as transition systems with further transforming to Petri net with liveness checking[5].

IT&I-2020 Information Technology and Interactions, December 02–03, 2020, KNU Taras Shevchenko, Kyiv, Ukraine
EMAIL aprowata1@bigmir.net (A. Provotar); veres@ukr.net (M. Veres); maxsam125@gmail.com (M. Samoilenko)
ORCID: 0000−0002−6556−3264 (A. Provotar); 0000-0002-8512-5560 (M. Veres); 0000−0002−2237−7138 (M. Samoilenko)
          © 2021 Copyright for this paper by its authors.
          Use permitted under Creative Commons License Attribution 4.0 International (CC BY 4.0).
          CEUR Workshop Proceedings (CEUR-WS.org)




                                                                                                                391
3. Using IoT device in curriculum
   Let’s describe overall view of using IoT in education curriculum. Let’s assume that there is
theoretical educational IoT device which is controlled by student’s command in moment of solving
educational task. This IoT device illustrates task invocation, which helps student understand
correctness of command according to task. Task for student is generated by task service and student
solves this task by means of user interface service which handle user task’s input and user interface
service interacts with IoT. Also, IoT can be used in group of student which can share common task
generated from task service – task generates accordingly to data collected for group of IoT devices
paralelly. There are three aspect of interaction:
        user service – gets task from task service, interacts with user input, transform input to task
   command and sends to IoT device,
        task service – generates task for students, collects information about each IoT device and
   generates task according to information collected. Task service controls parallel invocation of task
   of all IoT devices assigned
        IoT – device which performs each command obtained by user interface assigned.
In conclusion, user service, task service and IoT can be presented as transition system in the next
chapter.

4. Petri net of IoT system

      Let’s introduce transition systems and Petri net [6]. Transition system is a system 𝐴 =
(𝑆, 𝑇, 𝛼, 𝛽, 𝑠0 ) where:
           𝑆 is finite or infinite set of states;
           𝑇 is finite or infinite set of transitions
           𝛼, 𝛽 are two relations from 𝑇 to 𝑆 where each transition 𝑡 of 𝑇 set results in two states
    𝛼 (𝑡), 𝛽(𝑡) which are start and end of transition 𝑡 correspondingly.
           𝑠0 is the start state of transition system.
            Let’s 𝐴1 , … , 𝐴𝑛 are transition systems where 𝐴𝑖 = (𝑆𝑖 , 𝑇𝑖 , 𝛼𝑖 , 𝛽𝑖 , 𝑠0 ), 𝑖 = 1, … , 𝑛 . Constraint
of synchronization is subset 𝑇 of set (𝑇1 ∪ {𝜀}) × … × (𝑇𝑛 ∪ 𝜀)\{(𝜀, … , 𝜀)} where 𝜀 is identical
transition which is absence of any action in transition system. Elements of set 𝑇 are global transitions.
If 𝑡 = (𝑡1 … 𝑡𝑛 ) ∈ 𝑇 and 𝑡𝑖 ≠ 𝜀 then transition system 𝐴𝑖 takes a part in the transition 𝑡. Tuple 𝐴 =
(𝐴1 … 𝐴𝑛 , 𝑇) is multiplication of transition systems 𝐴1 … 𝐴𝑛 , which are multiplication components of
𝐴. Global transition 𝑡 = (𝑡1 , … , 𝑡𝑛 ) is modeling possible transition to 𝐴1 … 𝐴𝑛 . If transition 𝑡𝑖 = 𝜀
then transition system 𝐴𝑖 doesn’t take a part in the global transition 𝑡 .
            Petri net (𝑃, 𝑇, 𝑀, 𝐹0 ) describes multiplication 𝐴 = (𝐴1 , … , 𝐴𝑛 , 𝑇) of transition systems 𝐴𝑖 =
(𝑆𝑖 , 𝑇𝑖 , 𝛼𝑖 , 𝛽𝑖 , 𝑠0 ) where 𝐴𝑖 ∩ 𝐴𝑗 = ∅ with 𝑖 ≠ 𝑗. 𝑖, 𝑗 = 1,2, … , 𝑛 if 𝑃 = 𝑆1 ∪ 𝑆2 ∪ … ∪ 𝑆𝑛 , 𝑇 = 𝑇, 𝐹 =
{(𝑠, 𝑡)│𝑡𝑖 ≠ 𝜀 &𝑠 = 𝛼𝑖 (𝑡𝑖 )} ∪ {(𝑡, 𝑠)│𝑡𝑖 ≠ 𝜀 &𝑠 = 𝛽𝑖 (𝑡𝑖 )} for some 𝑖 = {1,2, … , 𝑛} where 𝑡𝑖 defines
𝑖-th component 𝑡 ∈ 𝑇, 𝑀0 = (𝑆01 , 𝑆02 , … , 𝑆0𝑛 ) . Semantic of multiplication of transition systems and
semantic of Petri net which is illustration of this multiplication, accords in sense of sequence of global
transitions 𝑡1 , … , 𝑡𝑘 is global history of multiplication of transition systems only in case of using
allowable sequence of results of transitions for Petri net.
            Let’s abbreviate transition system as TS and there are:
           𝑇𝑆1 – IoT
           𝑇𝑆2 – user interface service
           𝑇𝑆3 – task service
    Interpretations of states and transitions from fig.1 for 𝑇𝑆1 are next:
           𝑎0 – waiting command from 𝑇𝑆2
           𝑝1 – fetching command from 𝑇𝑆2
           𝑎1 – command fetched is stated and is ready to use data from command

                                                                                                               392
       𝑝2 – send command to controller to start
       𝑎2 – controller started command invocation
       𝑝3 – get command invocation result
       𝑎3 – result is fetched and prepared to return to 𝑇𝑆2
       𝑝4 – result of invocation is sending to 𝑇𝑆2
       𝑎4 – result of invocation is sent and there is nothing to do.
       𝑝5 – transition to 𝑎0




Figure 1: 𝑇𝑆1 𝐼𝑜𝑇




Figure 2: 𝑇𝑆2 user interface service

Interpretations of states and transitions from fig. 2 for 𝑇𝑆2 are next:
     𝑏0 – waiting for user input
     𝑞1 – fetching command from user input
     𝑏1 – fixation command from user input
     𝑞2 – send command to 𝑇𝑆3
     𝑏2 – command is sent to 𝑇𝑆3 , waiting for result
     𝑞3 – getting result from 𝑇𝑆3
     𝑏3 – fixation result command from 𝑇𝑆3
     𝑞4 – sending command to 𝑇𝑆1
     𝑏4 - command is sent to 𝑇𝑆1 , waiting for result
     𝑞5 – getting result from 𝑇𝑆1
     𝑏5 – fixation result command from 𝑇𝑆1
     𝑞6 – send result command from 𝑇𝑆1 to 𝑇𝑆3
     𝑏6 - command is sent to 𝑇𝑆3 , waiting for result
     𝑞7 – getting result command from 𝑇𝑆3
     𝑏7 - fixation result command from 𝑇𝑆3
     𝑞8 – show result of command invocation
     𝑏8 – result is shown


                                                                          393
        𝑞9 – go to initial state: wait for user input




Figure 3: 𝑇𝑆3 task service

Interpretations of states and transitions from fig. 3 for 𝑇𝑆3 are next:
        𝑐0 – waiting command from 𝑇𝑆2
        𝑟1 – fetching command from 𝑇𝑆2
        𝑐1 – command fetched is stated and is ready to use data from command
        𝑟2 – send command to data source
        𝑐2 – waiting for data source response
        𝑟3 – get command invocation result
        𝑐3 – result is fetched and prepared to return to 𝑇𝑆2
        𝑟4 – result of invocation is sending to 𝑇𝑆2
        𝑐4 – result of invocation is sent and there is nothing to do.
        𝑟5 – transition to 𝑐0
   By available transition systems there is a possibility to build IoT system as Petri net in
synchronous multiplications of transition systems 𝑇𝑆1 , 𝑇𝑆2 , 𝑇𝑆3 with global transitions
              𝑇1 = {(𝜀, 𝑞1 , 𝜀),(𝜀, 𝑞2 , 𝜀), (𝜀, 𝑞2 , 𝑟1 ), (𝜀, 𝑞2 , 𝑟2 ), (𝜀, 𝑞2 , 𝑟3 ), (𝜀, 𝑞2 , 𝑟4 ), (𝜀, 𝑞3 , 𝜀),
                      (𝜀, 𝑞4 , 𝜀), (𝑝1 , 𝑞4 , 𝜀), (𝑝2 , 𝑞4 , 𝜀), (𝑝3 , 𝑞4 , 𝜀), (𝑝4 , 𝑞4 , 𝜀), (𝜀, 𝑞5 , 𝜀),
                             (𝜀, 𝑞6 , 𝜀), (𝜀, 𝑞6 , 𝑟1 ), (𝜀, 𝑞6 , 𝑟1 ), (𝜀, 𝑞6 , 𝑟2 ), (𝜀, 𝑞6 , 𝑟3 ),
                         (𝜀, 𝑞6 , 𝑟4 ), (𝜀, 𝑞7 , 𝜀), (𝜀, 𝑞8 , 𝜀), (𝜀, 𝑞9 , 𝜀), (𝜀, 𝜀, 𝑟5 ), (𝑝5 , 𝜀, 𝜀)}
   Petri net which models all transition systems is built by using set of constraints of synchronous
multiplications 𝑇1 as showed fig. 4
Petri net states and transitions references to TS
     𝑠0 (𝑎0 𝑏0 𝑐0 )
     𝑡1 − 𝑞1
     𝑠1 (𝑎0 𝑏1 𝑐0 )
     𝑡2 − 𝑞2
     𝑠2 (𝑎0 𝑏2 𝑐0 )
     𝑡3 − 𝑟1
     𝑠3 (𝑎0 𝑏2 𝑐1 )
     𝑡4 − 𝑟2
     𝑠4 (𝑎0 𝑏2 𝑐2 )
     𝑡5 − 𝑟3
     𝑠5 (𝑎0 𝑏2 𝑐3 )
     𝑡6 − 𝑟4
     𝑠6 (𝑎0 𝑏2 𝑐4 )
     𝑡7 − 𝑞3
     𝑠7 (𝑎0 𝑏3 𝑐0 )
     𝑡8 − 𝑞4
     𝑠8 (𝑎0 𝑏4 𝑐0 )

                                                                                                                394
       𝑡9 − 𝑝1
       𝑠9 (𝑎1 𝑏4 𝑐0 )
       𝑡10 − 𝑝2
       𝑠10 (𝑎2 𝑏4 𝑐0 )
       𝑡11 − 𝑝3
       𝑠11 (𝑎3 𝑏4 𝑐0 )
       𝑡12 − 𝑝4
       𝑠12 (𝑎4 𝑏4 𝑐0 )
       𝑡13 − 𝑞5
       𝑠13 (𝑎0 𝑏5 𝑐0 )
       𝑡14 − 𝑞6
       𝑠14 (𝑎0 𝑏6 𝑐0 )
       𝑡15 − 𝑟1
       𝑠15 (𝑎0 𝑏6 𝑐1 )
       𝑡16 − 𝑟2
       𝑠16 (𝑎0 𝑏6 𝑐2 )
       𝑡17 − 𝑟3
       𝑠17 (𝑎0 𝑏6 𝑐3 )
       𝑡18 − 𝑟4
       𝑠18 (𝑎0 𝑏6 𝑐4 )
       𝑡19 − 𝑞7
       𝑠19 (𝑎0 𝑏7 𝑐0 )
       𝑡20 − 𝑞8
       𝑠20 (𝑎0 𝑏8 𝑐0 )
       𝑡21 − 𝑞9




Figure 4: Petri net of multiplication 𝑇𝑆1 , 𝑇𝑆2 , 𝑇𝑆3 with global transitions


                                                                                395
    After building Petri net there is a task of checking correctness of model – let’s check liveness of
Petri net. For liveness checking it needs to find solution of equation 𝐴 ∙ 𝑥 = 0 where A is incidence
matrix for this Petri net on fig. 5.

    𝑡1 𝑡2 𝑡3 𝑡4 𝑡5 𝑡6 𝑡7 𝑡8 𝑡9 𝑡10 𝑡11 𝑡12 𝑡13 𝑡14 𝑡15 𝑡16 𝑡17 𝑡18 𝑡19 𝑡20 𝑡21
𝑠0 −1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
𝑠1 1 −1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
𝑠2 0 1 −1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
𝑠3 0 0 1 −1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
𝑠4 0 0 0 1 −1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
𝑠5 0 0 0 0 1 −1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
𝑠6 0 0 0 0 0 1 −1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
𝑠7 0 0 0 0 0 0 1 −1 0 0 0 0 0 0 0 0 0 0 0 0 0
𝑠8 0 0 0 0 0 0 0 1 −1 0 0 0 0 0 0 0 0 0 0 0 0
𝑠9 0 0 0 0 0 0 0 0 1 −1 0 0 0 0 0 0 0 0 0 0 0
𝑠10 0 0 0 0 0 0 0 0 0 1 −1 0 0 0 0 0 0 0 0 0 0
𝑠11 0 0 0 0 0 0 0 0 0 0 1 −1 0 0 0 0 0 0 0 0 0
𝑠12 0 0 0 0 0 0 0 0 0 0 0 1 −1 0 0 0 0 0 0 0 0
𝑠13 0 0 0 0 0 0 0 0 0 0 0 0 1 −1 0 0 0 0 0 0 0
𝑠14 0 0 0 0 0 0 0 0 0 0 0 0 0 1 −1 0 0 0 0 0 0
𝑠15 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 −1 0 0 0 0 0
𝑠16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 −1 0 0 0 0
𝑠17 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 −1 0 0 0
𝑠18 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 −1 0 0
𝑠19 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 −1 0
𝑠20 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 −1
Figure 5: incidence matrix of Petri net 𝐴

According to TSS [7] one solution is on fig. 6.

𝑡1 𝑡2 𝑡3 𝑡4 𝑡5 𝑡6 𝑡7 𝑡8 𝑡9 𝑡10 𝑡11 𝑡12 𝑡13 𝑡14 𝑡15 𝑡16 𝑡17 𝑡18 𝑡19 𝑡20 𝑡21
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
Figure 6: solution of 𝐴 ∙ 𝑥 = 0

All transitions of Petri net are covered by positive invariant values so Petri net is viable.

5. System architecture of Petri net model implementation

Here Petri net can be implemented as system on fig. 6.
    Task service generates one common shared task parallelly for group of IoT devices. Common task
means one common task with specific context of each IoT device. Specific context can have task
difficulty, IoT configuration, actual state of IoT.
According to transition systems above there is system implementation:
 Task service transition system is implemented as task service
 User interface service and IoT transition systems are implemented into education IoT system.
    There is the scheme for implementation on fig. 6:
    Let’s view education IoT implementation: it can consist of educational robot as IoT, as Wi – Fi
web server and mobile phone, as user interface service, as Wi – Fi client. Mobile phone is used as

                                                                                                   396
illustrative example of device with user interface. They have JSON restful communication on fig.7.
Via mobile phone student can send command to robot to change location and task service generate
tasks for students and can check command from mobile phone before sending to robot.




Figure 6: Petri net system architecture scheme




Figure 7: Interaction between ed. robot and mobile phone

    Let’s see IoT robot inner components: there is a power source, which gives a possibility to use
robot IoT autonomously, Wi – Fi web server module which communicates with mobile phone as user
interface service via JSON protocol, microcontroller which controls command invocation, engine
module with motors which can move robot to other location on fig. 8. Robot can have functionality of
changing location. Group of students solves common changing location task with purpose to impove
programming skills. Task service controls all IoT devices assigned to common task and generates new
task to each IoT device accordingly.
    Task service can be implemented as web – server which generates, checks task for mobile phones
for students. Web service interacts with mobile phone via JSON restful protocol and web – service
can support parallel connections which allow to do common task in group of students as showed of
fig. 9.
    Web service uses database as data source for keeping all actual information data about all IoT
assigned to task service.
    Let’s see implementation of Petri net as interaction of systems.


                                                                                                397
       User interface (mobile phone) waits for user input, which is command programmed for IoT
        robot.
       After user input user command in fetched and going to be sent to task service via JSON
        protocol
       User command is sent to task service web server via JSON protocol and wait for task service
        response




Figure 8: Overview of IoT robot components

       Task service web server obtains the command
       Task service web server sends the command to database to get actual info about other IoT
       Task service web server got database result about the command invocation
       Task service web server return result with the command to user service (mobile phone)
       User service sends the command to IoT robot
       Iot service (IoT robot) obtains a command via JSON protocol by means of Wi – Fi controller
       IoT service does the command by using IoT robot’s components
       IoT service sends to User interface the command invocation result
       User interface service obtains a result from IoT service
       User command is sent to task service server and wait for task service response
       Task service obtains the command
       Task service sends the command to database to get actual info about other IoT and generates
        new tasks
       Task service got database result about the command invocation and new task
       Task service return result with the command to user service (mobile phone)
       User interface service shows result to end users and waits for next input
       Implementation of IoT system is similar to Petri net transitions sequence.

6. Conclusions

   There is education system for possibility to solve common task in group of students which can be
decomposed into three transition systems IoT, user interface service and task service. After Petri net,
as multiplication of three systems, is used for checking liveness of IoT educational system model.
This model can be implemented as IoT robot as IoT transition system, mobile phone as user interface


                                                                                                   398
service and task server as task service. This system supports parallel work which allows generate one
common task for group of IoT devices.




Figure 9: Overview of IoT education system

7. References

[1] Karatrantou, Anthi & Panagiotakopoulos, Christos. (2008). Algorithm, Pseudo-Code and Lego
    Mindstorms Programming, Workshop Proceedings of SIMPAR 2008 Intl. Conf. on Simulation,
    modeling and programming for autonomous robots. Venice(Italy) 2008 November, 3-4, ISBN
    978-88-95872-01-8, pp. 70-79
[2] Nielsen, Claus & Adams, Paul. (2015). Active learning via LEGO MINDSTORMS in Systems
    Engineering education. 489-495. 10.1109/SysEng.2015.7302802, 2015 IEEE International
    Symposium on Systems Engineering (ISSE).
[3] Mylonas, Georgios & Amaxilatis, Dimitrios & Pocero, Lidia & Markelis, Iraklis & Hofstaetter,
    Joerg & Koulouris, Pavlos. (2019). Using an Educational IoT Lab Kit and Gamification for
    Energy Awareness in European Schools. This is a preprint version of a paper submitted
    toFabLearn Europe'18, Proceedings of the Conference on Creativity and Making in Education.
    DOI: 10.1145/3213818.3213823
[4] Lloret, Jaime & Sendra, Sandra & Gonzalez Ramirez, Pedro & Parra, Lorena. (2019). An IoT
    Group-Based Protocol for Smart City Interconnection. 10.1007/978-3-030-12804-3_13. Springer
    Nature Switzerland AG 2019S. Nesmachnow and L. Hernández Callejo (Eds.): ICSC-CITIES
    2018, CCIS 978, pp. 164–178, 2019. https://doi.org/10.1007/978-3-030-12804-3_13
[5] S. L. Kryvyi, S. D. Pogorilyy, M. S. Slinko , MODEL JUSTIFICATION OF GPU-BASED
    APPLICATIONS, DOI https://doi.org/10.15407/usim.2018.04.0046 , ISSN 0130-5395, Control
    systems and computers, 2018, № 4
[6] Kryvyi S. L., Boyko Y. V., Pogorilyy S. D., Boretskyi O. F., Glybovets M. M. Design of Grid
    Structures on the Basis of Transition Systems with the Substantiation of the Correctness of Their
    Operation. Cybernetics and Systems Analysis. January 2017, Volume 53, Issue 1, pp 105—114.
    Springer Science+Business Media New York 2017.
[7] Kryvyi S.L. 2015. Linear Diophantine constraints and their application. Chernivtsi: “Bukrek”
    Publishing House.


                                                                                                 399