Modeling and reasoning of IoT architecture in semantic ontology dimension

Modeling and reasoning of IoT architecture in semantic ontology dimension

Journal Pre-proof Modeling and reasoning of IoT architecture in semantic ontology dimension Guang Chen, Tonghai Jiang, Meng Wang, Xinyu Tang, Wenfei J...

6MB Sizes 0 Downloads 60 Views

Journal Pre-proof Modeling and reasoning of IoT architecture in semantic ontology dimension Guang Chen, Tonghai Jiang, Meng Wang, Xinyu Tang, Wenfei Ji

PII: DOI: Reference:

S0140-3664(19)31891-2 https://doi.org/10.1016/j.comcom.2020.02.006 COMCOM 6206

To appear in:

Computer Communications

Received date : 2 December 2019 Revised date : 2 January 2020 Accepted date : 3 February 2020 Please cite this article as: G. Chen, T. Jiang, M. Wang et al., Modeling and reasoning of IoT architecture in semantic ontology dimension, Computer Communications (2020), doi: https://doi.org/10.1016/j.comcom.2020.02.006. This is a PDF file of an article that has undergone enhancements after acceptance, such as the addition of a cover page and metadata, and formatting for readability, but it is not yet the definitive version of record. This version will undergo additional copyediting, typesetting and review before it is published in its final form, but we are providing this version to give early visibility of the article. Please note that, during the production process, errors may be discovered which could affect the content, and all legal disclaimers that apply to the journal pertain. © 2020 Published by Elsevier B.V.

Journal Pre-proof

lP repro of

Modeling and Reasoning of IoT Architecture in  Semantic Ontology Dimension  GuangChen1,2,4*, TonghaiJiang1,3, MengWang1,4, XinyuTang1,4, WenfeiJi1,2,4  1

  The Xinjiang Technical Institute of Physics & Chemistry, Chinese Academic of Science, Urumqi 830011, China.    University of Chinese Academy of Sciences, Beijing 100049, China.  3  Xinjiang Laboratory of Minority Speech & Language Information Processing, Chinese Academy of  ScienceUrumqi 830011, China.  4  Jiangsu CAS Nor‐West star Information Technology Co.,Ltd, Wuxi 214135, China.  Email: [email protected][email protected] , [email protected],2,4,    *  Correspondence Email: [email protected]; Tel.:+86‐1816‐893‐7637 (G.C.)  2

Abstract:  The  architecture  for  IoT  is  the  primary  foundation  for  designing  and  implementing  the  System of Internet of things. This paper discusses the theory, method, tools and practice of modeling  and  reasoning  the  architecture  of  the  Internet  of  Things  system  from  the  dimension  of  semantic  ontology. This paper breaks the way of static ontology modeling, and proposes an implementation  framework for real‐time and dynamic ontology modeling of the IoT system from the running system.  According  to  the  actual  needs  of  the  health  cabin  IoT  system  and  the  combination  of  theory  and  practice,  the  system  architecture  model  of  the  semantic  ontology  dimension  of  IoT  is  built.  Then,  based on the reasoning rules of the ontology model, the model is reasoned by Pellet reasoning engine  which injects the atom of the custom reasoning built‐ins into the source code. In this way we have  realized the automatic classification and attribute improvement of resources and behaviors of the IoT  system, the real‐time working state detection and fault diagnosis of the IoT system, and the automatic  control of the IoT system and resources.  Keywords: IoT; Architecture; Ontology; modeling; reasoning   

rna

1. Introduction 

Jou

Internet of Thing (IoT) refers to a dynamic loosely coupled system which combines various kinds  of  information  sensing  devices,  such  as  RFID,  sensing  devices  and  control  devices  that  can  execute  certain  commands  to  affect  the  environment  through  a  variety  of  networking  technologies  and  the  Internet[1].  Different  from  the  traditional  Internet,  the  Internet  of  Things  integrates  physical  space,  information  space  and  social  space[2].  It  has  special  characteristics  different  from  the  traditional  Internet[1],  including  heterogeneity,  large‐scale,  interaction  with  the  physical  world,  resource  constraints, dynamics and incompleteness. These characteristics make the design and implementation  of the Internet of Things face great challenges.  The architecture of the Internet of things is a graphical or formal model based on mathematics,  formal language with precise semantics and specifications, or formal description method, which aims  at the architecture of the Internet of things from different perspectives and dimensions. Furthermore,  the system architecture model which extracts the key features of the system from the specific Internet  of things system is further abstracted and generalized, so that it can provide reference for the design or  modeling  of  other  Internet  of  things  system,  and  the  built  Internet  of  things  architecture  model  is  called the reference model of Internet of things architecture.  Because of the dynamic and incomplete nature, the IoT system often has very rich and complex  operation  state.  How  to  real‐time  perceive  the  running  status  of  each  component  resource  and  determine  whether  there  are  anomalies  in  the  Internet  of  Things  system  based  on  some  underlying  sensing  data  is  an  urgent  problem  to  be  solved.  It  is  the  motive  of  this  paper  to  explore  a  model  knowledge which is less intrusive to the existing Internet of Things system and can acquire advanced 

Journal Pre-proof

1.1. Ontology Modeling Theory 

lP repro of

operating  state  of  the  Internet  of  Things  system  by  automatic  reasoning  based  on  the  basic  factual  behavior of the Internet of Things.    The traditional method achieves this goal by specially constructing the Internet of Things service  for system anomaly monitoring and judgment. It not only needs to invest in certain development, but  also  can  not  carry  out  dynamic  expansion,  resulting  in  the  increase  of  the  maintenance  cost  of  the  Internet of Things system. In recent years, in order to solve the interoperability problem of resources in  heterogeneous Internet of Things systems, the research of Internet of Things has gradually introduced  semantic  web  technology  into  the  Internet  of  Things[3].  The  ontology  and  modeling  capabilities  provided by the Semantic Web enable resources in the Internet of Things to be described in a unified  machine‐understandable manner.  The reasoning technology  based on  ontology model also makes  it  possible  to  automatically  extract  and  infer  the  working  state  information  of  high‐level  Internet  of  Things from low‐level sensor data. The ability of semantic ontology free modeling and extension can  also  effectively  solve  the  problems  brought  by  the  dynamic  expansion  of  physical  network  system  resources.  In  this  paper,  the  architecture  of  Internet  of  Things  system  is  modeled  from  the  dimension  of  semantic  ontology.  Relying  on  the  technology  of  semantic  ontology  modeling  and  reasoning,  the  automatic  identification,  real‐time  state  monitoring,  fault  diagnosis  and  automatic  control  of  the  resources of the Internet of Things system are accomplished. Based on the semantic ontology modeling  of the Internet of Things (IoT) system for temperature control in the elderly health cabin, this paper  discusses  the  method  and  practice  of  using  semantic  ontology  to  model  the  architecture  of  the  IoT  system and model reasoning. 

Jou

rna

Ontology  modeling  theory  has  undergone  a  process  of  continuous  development  and  improvement, and is still in the process of sustainable development. The content involved is extensive  and rich. Due to the limitation of space, the specific grammatical rules of modeling theory will not be  listed one by one in this paper, but the more official introduction of theoretical rules will be cited.  As early as 2000, Tim Berners‐Lee, the father of the World Wide Web, proposed the concept and  hierarchy  of  the  Semantic  Web[4].  Based  on  URI  [5](Uniform  Resource  Identifier)  and  XML  [6](  Extensible Markup Language), W3C formally released the first basic ontology modeling language RDF  [7](  Resource  Description  Framework)  in  2004.  RDF  defines  property  (the  connection  relationship  between ontology resources ) and resources in the form of triples. This become the basis of semantic  web  and  knowledge  atlas  for  knowledge  entity  relationship  representation.  Until  now,  the  representation of atomic knowledge in mainstream knowledge atlas and semantic ontology exists in  the form of triples. However, RDF is limited in expressing concepts, classes and attributes of entities. It  can only be regarded as the original ontology language.    In  order  to  further  expand  the  ability  of  ontology  modeling  and  expression,  on  the  basis  of  inheriting  RDF  grammar,  W3C  developed  OWL[8](Web  Ontology  Language)  which  is  an  ontology  language oriented to Semantic Web. OWL extends the modeling ability of describing SimpleClasses,  Individuals,  Simple  Properties,  and  Property  Characteristics  and  Property  Restrictions.  OWL  also  defines the description class rules of Ontology Mapping, which enables ontology modeling to derive  new  classes  or  attributes  in  the  form  of  Equivalence  on  the  basis  of  existing  classes  and  attributes.  Introducing Ontology on the basis of RDF greatly enriches the expressive ability of ontology modeling.  The introduction of Ontology on the basis of RDF greatly enriches the expressive power of ontology  modeling, but this is still not enough. For  example, even  if there  are already basic Person and  Data  Property has Age, it is still impossible to express the concept of PigSign Person whose age mod 12 is  zero (in 2019) through ontology mapping.  In  order  to  expand  OWLʹs  modeling  and  expression  ability  more  freely.  W3C  defines  SWRL[9](Semantic Web Rule Language) based on RuleML[10]. SWRL extends the expressive power of  OWL description language by describing Axioms in ontology modeling. A SWRL is divided into two 

Journal Pre-proof

1.2. Ontology Modeling Method 

lP repro of

parts: Antecedent and Consequent, which are composed of several Atoms. Multiple SWRL rules can  be  created  simultaneously  in  ontology  modeling.  SWRL  Atom  can  be  divided  into  the  following  categories:  Class  Expression  Atom,  Property  Expersion  Atom,  Data  Range  Restriction  Atom  and  SWRL Core Build‐In Atom. SWRL defines a series of Core Built‐Ins in the swrlb description file. These  plug‐ins are used in SWRL Builtin Atom, which enriches SWRLʹs reasoning rule expression ability in  mathematical calculation, string processing and time processing.  SWRL  based  on  OWL  has  been  able  to  model  many concepts and reasoning rules in ontology  Internet  of  Things  modeling,  but  in  order  to  complete  the  modeling  of  Ontology‐based  Internet  of  Things  architecture,  this  is  still  not  enough.  For  example,  although  SWRL  can  handle  time‐related  operations well through Built‐Ins for Date, Time and Duration[9], there is no way to get the current  time, and we need to judge the working state of the sensor according  to  the  current  time  when  we  model  the  sensor.  To  this  end,  we  need  to  further  expand  the  modeling  capabilities  of  SWRL  and  implement some custom SWRL reasoning extension plug‐ins. SWRL supports user‐defined plug‐ins  grammatically,  and  uses  the  same  plug‐in  grammar  as  Core  Build‐In  to  model.  To  distinguish  between these user‐defined primitives, we call them Custrom Build‐In Atom. 

Jou

rna

In  this  section,  we  take  the  ontology  model  of  Person  in  the  social  Internet  of  things[2]  as  an  example to illustrate the ontology modeling method based on ontology modeling  theory.A  complete  ontology model of Person is shown in Figure 1. Part of the content is folded due to space constraints,  complete XML files are detailed in Appendix 1.   

Figure 1. Modeling Ontology Person Based on OWL+SWRL. 

 

Journal Pre-proof

1.3. Ontology Modeling Tool 

lP repro of

Firstly, based on OWL grammar rule[8], the basic class Person is modeled, which shown in line 6  of Figure 1.Similarly,  we establish  the  basic  class  Adult as  shown in lines 8‐10 of Figure 1. By using  the ʺsubClassOfʺ attribute, we define ʺAdultʺ as a subclass of ʺPersonʺ, and express the concept that  an adult must be a human.  Secondly, the object attribute has Child and the data attribute has Age are modeled separately, as  shown  in  lines  20‐30 of Figure 1.  The  Domain  that  qualifies  the  has  Age  attribute  is  Person and the  Range is an integer value. By adding the attribute Functional Property[8] to has Age, as shown in line  27 of Figure 1, the concept of a person can only have one age is expressed.  Thirdly, based on OWLʹs Ontology Mapping[8] grammar, we define the Parent class as shown in  lines 12‐16 of Figure 1. Parent is connected to Person through the Object Property has Child. Through  OWLʹs  grammar  rules,  we  express  the  concept  that  Parents  is  a  Person  who  has  Child  at  least  one  Person.  Then we define  two  individual  examples  of  Person ʺJinZiXuanʺ  and  ʺJinLingʺ as shown in line  33‐43  of  Figure  1.  We  describe  JinZiXuan  is  31  years  old  by  hasAge  property  andJinZiXuan  has  father‐son relationship with Jinling by has Child property.  Finally,  we  define  a  reasoning  rule  of  Adult based on SWRL grammar rule[9], as shown  in  lines  46‐114 of Figure 1, describing the concept of adult is a person older than 18 years old.  As you can see, just modeling a simple concept of Person, the file length of XML has exceeded  100 lines. Modeling directly using RDF/XML is very complex and costly to modify and maintain, and  error  prone.  And  the  reading  and  understanding  of  this  model  depends  on  the  modelerʹs  deep  understanding  of  OWL  +  SWRL  grammar  rules.  This  reduces  the  efficiency  of  Ontology‐based  modeling to a certain extent. In order to better model the semantic ontology of the Internet of Things  system, we need to explore a better ontology modeling tool to shield the specific grammatical rules of  RDF/XML, focusing on the characteristics of the Internet of Things system itself for semantic ontology  modeling. 

Jou

rna

In order to facilitate ontology development and application, many organizations or groups have  developed various types of ontology tools, such as Apollo[11], OILEd[12], OntoEditor[13], Protégé[14],  WebODE[15], and so on. Considering open source, extensive use, extensibility of plug‐ins, reasoning  engine  support,  document  richness,  this  paper  decides  to  use  Protégéas  a  modeling  tool  for  the  semantic  ontology  dimension  architecture  of  the  Internet  of  Things.  Protégéis  the  most  popular  ontology editing and modeling software developed by the Bioinformatics Research Center of Stanford  University  Medical  College  based  on  Java  language.  It  is  the  core  development  tool  of  ontology  modeling  in  Semantic  Web.  The  latest  version  is  version  5.5.0.Introduction  to  the  menu  function  of  Protégé and its detailed usage can be referred to reference[16].  Remodelling  the  Person  ontology  mentioned  in  Section  1.2  using  Protégéis  shown  in  Figure 2.  Different  views  of  Protégécan  be  used  to  model  basic  classes,  object  property,  data  property,  and  SWRL  rules  respectively.  It  is  worth  mentioning  that  Protégéalso  supports  the  graphical  display  of  the established ontology model as shown in the lower right side of Figure 2, but the graphical view  ʺOntoGraphʺ can only display the existing ontology model graphically, and cannot directly carry out  graphical modeling.  Ontology  modeling  using  Protégémakes  the  modeler  no  longer  care  about  the  complex  grammatical rules of ontology description language, but only need to understand the attributes and  constraints  of  ontology  at  the  conceptual  level  to  complete  the  domain  ontology  modeling,  which  greatly  improves  the  efficiency  of  modeling.  Because  the  ontology  model  based  on  RDF/XML  and  visual  ontology  model  based  on  Protégéis  essentially  identical,  in  order  to  save  space  and  increase  readability,  all  the  subsequent  ontology  modeling  discussions  are  given  with  the  visual  ontology  model in Protégé. 

lP repro of

Journal Pre-proof

 

Figure 2. Visual Modeling of Ontology Person with Protégé. 

It  should  be  noted  that  SWRL  only  describes  the  reasoning  rules  in  the  ontology,  but  does  not  actually implement the reasoning of these rules. In the model of Figure 2, we can clearly see that the  type  of  individual  JinZiXuan  is  only  Person  but  not  Parent  and  Adult.  This  is  because  inference  execution based on OWL grammar rules and SWRL inference rules is accomplished by reasoner.  1.4. Ontology Modeling Reasoner 

Jou

rna

The  common  inference  engines  of  ontology  models  includeJess[17]、Racer[18]、Fact++[18]、 Hermit[19]、Jena[20]and Pellet[18] and so on. Hermit reasoner has been installed in Protégé5.5, and  other reasoner, including Pellet, can be installed through Check For Plugin in the File menu. Based on  the  model  established  in  Section  1.3,  we  can  use  Pellet  reasoner  to  perform  ontology  model  reasoning.As shown  in  Figure 3,  on the Reasoner  menu,  select the  Pellet inference  engine, and then  click the Start reasoner option. It can be observed that the individual JinZiXuan has both Parent and  Adult types as shown on the right side of Figure 3. Click the ?button on the right of the type Adult, you  can see why it adds this type as shown below in Figure 3. 

  Figure 3. Ontological Reasoning Using Pellet in Protégé. 

Journal Pre-proof

Different  reasoner  have  different  support  for  OWL  grammar  rules  and  SWRL  inference  rules,  even for different types of constituent Atom in SWRL. The reasoning support of each inference engine  for OWL+SWRL is shown in Table 1.   

Reasoner  Jess  Racer  Fact++  Jena  Hermit  Pellet 

lP repro of

Table 1. Reasoner support table for ontology reasoning rules. 

OWL Ontology  Class & Property  Rules  Experation    Atom  unsupport  support  support  unsupport  support  unsupport  support  unsupport  support  support  support  support 

DataRange  Restriction Atom  support  unsupport  unsupport  unsupport  unsupport  support 

Core Build‐In  Atom  support  unsupport  unsupport  unsupport  unsupport  support 

Custrom  Build‐In Atom  unkonwn  unsupport  unsupport  unsupport  unsupport  coding support 

Different inference engines support different SWRL syntax rules and custom inference plug‐ins.  Table 1  describes  in  detail  the support of  different  inference engines for  relevant content. In  Table 1  ʺunknownʺ means that no relevant literature or experimental methods have been found, and ʺcoding  supportʺ means that the source code of the reasoner needs to be modified and recompiled to support.  Because  the  Semantic  Ontology  dimension  of  the  Internet  of  Things  architecture  modeling  not  only  needs  to  use  SWRL  Core  Build‐Ins  reasoning,  but  also  needs  to  use  Customer  Build‐Ins  reasoning  rules  such  as  ʺCurrentTimeʺ,  so  this  paper  chooses  Pellet  as  the  reasoning  engine  of  the  Internet of Things ontology model. By modifying Pelletʹs source code, some code implementations of  Custom  Build‐Ins  are  injected  into  Pellet  reasoner,  and  integrated  it  into  Protégémodeling tool.  The  implementation will be described in detail in Section 2.3.  2. Related Work 

Jou

rna

In  the  aspect  of  ontology  Internet  of  things  modeling,  some  scholars  have  carried  out  relevant  research and put forward many different ontology Internet of things models. In Reference[3], semantic  ontology technology was applied to the Internet of things system to solve the interoperability problem  between heterogeneous systems, and the framework of automatically building ontology model from  text information  source  was given,  but the  modeling method, modeling  examples and experimental  verification of ontology modeling were not provided. Reference[21] describes the modeling content of  the  Internet  of  things  system  equipment  resources  in  intelligent  manufacturing,  and  proposes  an  implementation framework for storing and invoking the ontology model. However, there is no clear  explanation  about  how  to  build  ontology  model  for  Internet  of  things  system  and  how  to  apply  it  based on ontology model.  This  paper  refers  to  the  modeling  ideas  of  some  excellent  ontology  models  of  the  Internet  of  things, and models the ontology dimension architecture model of the Internet of things system from  the three levels of behavior, resources and environment. In Section 3, the concepts and reasoning rules  involved in the ontology model of the Internet of things system are clearly explained and discussed.  Through  the  operation  simulation  of  the  Internet  of  things  system  in  Section  3,  the  creation  of  the  Internet  of  things  system  behavior  and  resource  ontology  instance  is  completed  automatically.  In  Section 1, this  paper discusses  the  theory  of semantic  ontology modeling and the  modeling method  using ontology in detail, and introduces the modeling tools and reasoning tools in detail, which lays a  good  foundation  for  building  the  Internet  of  things  architecture  model  of  semantic  ontology  dimension. In Section 4, the semantic ontology model is applied to realize the resource and behavior  classification, automatic detection of system resource composition and intelligent diagnosis of system  resource fault.  In  the  aspect  of  ontology  Internet  of  things  reasoning,  reference[22]  focuses  on  semantic  collaboration  of  different  ontology  Internet  of  things  models,  so  as  to  provide  users  with  special 

Journal Pre-proof

3. Materials and Methods   

lP repro of

services  to  meet  their  preferences,  but  does  not  provide  the  modeling  methods  and  modeling  examples  of  Internet  of  things  ontology  models.  Reference[23]  verified  the  possibility  of  ontology  Internet of things model combined with reasoning technology to obtain more abundant knowledge to  better meet the user information query. However, the implementation methods of time reasoning and  multi  event  joint  reasoning  are  not  clear  enough.  Although  Jenaʹs  reasoning  machine  and  the  algorithm of time reasoning chain are mentioned, there is no clear explanation about which technology  is used to realize the reasoning chain based on programming or reasoning rules.  On  the  basis  of  OWL  ontology  syntax  rules  and  SWRL  rules,  this  paper  implements  a  set  of  ontology  IOT  system  structure  reasoning  rules  for  automatic  classification  of  IOT  system  resources  and behaviors, component detection and fault diagnosis by customizing SWRL plug‐in primitives. In  Section 1, the reasoning tools and methods are given. In Section 3, the integration method of inference  engine supporting custom SWRL plug‐in primitives in ontology modeling tool is given in detail. 

rna

The  modeling  framework  of  OWL+SWRL  based  semantic  ontology  dimension  IoT  architecture  modeling is shown in Figure 4. 

 

Figure 4. Ontology Modeling and Implementation Framework of Internet of Things Architecture. 

Jou

In this section, we first use the ontology modeling tool Protégé to model the basic ontology model  of the Internet of Things system. The basic ontology model includes the abstract conceptual expression  of the physical environment and the resources of the Internet of Things system, as well as the SWRL  reasoning rules to determine the working status of the resources of the Internet of Things system, but it  does not contain specific instances and data.  In section 3.5, we will write an ontology modeling middleware based on Java language. Ontology  modeling  middleware  will  be  connected  to  the  sensor  control  resources  and  cloud  central  control  services  of  the  Internet  of things system in the mode  of agent to realize the transfer of sensing data  agent and control command. Ontology modeling middleware loads the concepts in the basic ontology  model, and according to the  concepts in these models and the  received perceptual data  and  control  commands,  uses  Jena  ontology  API[24]  to  automatically  create  the  corresponding  Internet  of  things  resources  or  perceptual  control  behavior  instances,  and  provides  an  HTTP  service  that  outputs  the  current ontology model of the Internet of things with perceptual facts and data.  Finally, in Section 4, we read the complete basic fact ontology with perceptual data and control  commands provided by ontology middleware output service through protégé tool, and use the pellet  CG (the implementation of the self defined inference plug‐in injected by the pellet inference engine) 

Journal Pre-proof

lP repro of

integrated in protégé after source code modification and recompilation for model reasoning, so as to  complete all the inferable Ontology attributes and data to complete the architecture modeling of the  semantic ontology dimension of the Internet of things system.  Through  the  ontology  model  service  provided  by  middleware,  we  can  get  the  latest  behavior  information of the Internet of things system in real time, and complete the real‐time reasoning of the  Internet of things ontology model according to the ontology concept and reasoning rules in the basic  ontology model, so as to realize the real‐time monitoring of the environment and resource state of the  Internet  of  things  system.  Through  the  customized  SWRL  plug‐in,  we  can  also  replace  the  central  control service to fully realize the automatic control of the Internet of things system.  3.1. Modeling Basic Ontology Model of the Internet of Things System 

rna

This  paper  refers  to  some  good  modelling  ideas  in  SSN[25]  and  reference[23],  such  as  environment, resources and behavior as the basic concepts of Internet of Things ontology, but does not  directly  use  the  conceptual  classes  or  properties  in  SSN  ontology.  For  the  purpose  of  satisfying  the  simulation  experiment  and  introducing  the  ontology‐based  architecture  modeling  method  to  the  readers, a simplified basic ontology model of the Internet of Things system is established as shown in  Figure 5. The model contains only the basic concepts and attributes, and there is no specific example of  IoT system components. The complete model file is detailed in Appendix 8. 

 

Figure 5. Basic Ontology Model of Internet of Things System. 

Jou

As shown in Figure 5, the Internet of Things system conceptually includes the IoT System class  representing  the  IoT  system  itself,  the  Environment  class  representing  the  physical  environment  in  which  the  IoT  system  is  located,  and  the  Resource  class  representing  the  component  resources  (including sensors and cloud control services) in the IoT System and Behavior class which represents  the  behavior  of  the  Internet  of  Things  system  generated  by  resources.  Each  class  is  subdivided  into  several subclasses, such as Resrouce, which can be divided into Sensor, Service and Controller from  the  perspective  of  resource  function.  From  the  point  of  view  of  the  state  of  resources,  Resource  can  also be divided into Working Resource, Fault Resource and currently Unknown Resource.  Each  class  in  the  Internet  of  Things  system  will  derive  different  Object  Property  and  Data  Prpoerty.  Object  Property  are  connected  to  other  individuals  in  the  ontology  model,  while  Data  Property  are  directly  connected  to  a  specific  value.  Take  resource  as  an  example,  it  contains  Object  Property  belong  System  that  can  be  connected  to  an  instance  of  an  IoT  System,  indicating  that  the 

Journal Pre-proof

lP repro of

resource belongs to the Internet of Things system. It also includes Data Property exec Behavior and  take Behavior points connected to the behavior class which indicates that this IoT system resource has  generated some behavior or receives the behavior of other resources.  3.2. Modeling SWRL Reasoning Rules of Internet of Things System 

Based on the established ontology model of the Internet of Things system, we can further model  the SWRL reasoning rules of the Internet of Things system as shown in Figure 6. Detailed reasoning  rules  function  description  will  be  discussed  in  Section  4  with  specific  reasoning  requirements  of  Internet of Things ontology model.    iot:Behavior(?b)^iot:targetURI(?b, ?burl)^iot:Resource(?r)^iot:identyURI(?r, ?r Behavior Attribute Rule 01

url)^swrlb:resolveURI(?burl, ?rurl, "http") ->

iot:targetResource(?b, ?r)^iot:takeBehavior(?r, ?b)

iot:Behavior(?b)^iot:fromURI(?b, ?burl)^iot:Resource(?r)^iot:identyURI(?r, ?rur Behavior Attribute Rule 02

l)^swrlb:resolveURI(?burl, ?rurl, "http") ->

iot:fromResource(?b, ?r)^iot:execBehavior(?r, ?b) Behavior Classification Rule 01

iot:Behavior(?b)^iot:temperature(?b, ?t) -> iot:Perception(?b)

Behavior Classification Rule 02

iot:Behavior(?b)^iot:commander(?b, ?com) -> iot:Controlling(?b)

iot:Behavior(?b)^iot:happenedTime(?b, ?st)^iot:belongSystem(?b, ?s)^iot:current Behavior Classification Rule 03

Time(?s, ?et)^cascg:durInSec(?dur, ?st, ?et)^swrlb:lessThan(?dur, 10) -> iot:RecentBehavior(?b)

iot:belongSystem(?b, ?s)^iot:temperature(?b, ?t)^iot:hasEnvironment(?s, ?e)^iot Environment Attribute Rule 01

:RecentBehavior(?b)^iot:Perception(?b)^cascg:newestBehavior(?b, "Perception") -> iot:hasTemperature(?e, ?t)

Environment Attribute Rule 02

iot:Environment(?e)^iot:belongSystem(?e, ?s)^iot:currentTime(?s, ?t) -> iot:currentTime(?e, ?t)

cascg:noBehavior(?r, "All", "All")^iot:Resource(?r) -> iot:UnknowResource(?r)

Resource Classification Rule 02

iot:Perception(?p)^iot:targetResource(?p, ?r) -> iot:Service(?r)

Resource Classification Rule 03

iot:Perception(?p)^iot:fromResource(?p, ?r) -> iot:Sensor(?r)

Resource Classification Rule 04

iot:Controlling(?b)^iot:fromResource(?b, ?r) -> iot:Service(?r)

Resource Classification Rule 05

iot:Controlling(?b)^iot:targetResource(?b, ?r) -> iot:Controler(?r)

rna

Resource Classification Rule 01

Resource Classification Rule 06

iot:Sensor(?s)^iot:execBehavior(?s, ?b)^iot:temperature(?b, ?t) -> iot:TemperatureSensor(?s)

Jou

iot:TemperatureSensor(?s)^cascg:noBehavior(?s, "All", "Recent") ->

Resource Failure Rule 01

iot:FaultResource(?s)^iot:faultReason(?s, "No temperature perception in 10 seconds")

Resource Failure Rule 02

iot:TemperatureSensor(?r)^iot:RecentBehavior(?b)^iot:execBehavior(?r, ?b) -> iot:WorkingResource(?r) iot:Controler(?c)^iot:takeBehavior(?c, ?b)^iot:RecentBehavior(?b)^cascg:latestB

Resource Failure Rule 03

ehavior(?c, "Take", ?b)^iot:responseCode(?b, ?code)^swrlb:notEqual(?code, 200) ->

iot:FaultResource(?c)^iot:faultReason(?c, "Latest received control command processing failed")

Resource Failure Rule 04

iot:Controler(?c)^iot:takeBehavior(?c, ?b)^iot:RecentBehavior(?b)^cascg:latestB ehavior(?c, "Take", ?b)^iot:responseCode(?b, ?code)^swrlb:equal(?code, 200) ->

Journal Pre-proof

iot:WorkingResource(?c) iot:Controler(?c)^cascg:noBehavior(?c, "Take", "Recent")^cascg:httpTestStatus(?c, "Test", ?code)^swrlb:notEqual(?code,

Resource Failure Rule 05

lP repro of

200)^swrlb:stringConcat(?rea, "Response failed, return ", ?code) -> iot:FaultResource(?c)^iot:faultReason(?c, ?rea) iot:Controler(?c)^cascg:noBehavior(?c, "Take",

Resource Failure Rule 06

"Recent")^cascg:httpTestStatus(?c, "Test", ?code)^swrlb:equal(?code, 200) -> iot:WorkingResource(?c)

iot:Service(?s)^cascg:noBehavior(?s, "Exec", "Recent") -> Resource Failure Rule 07

iot:FaultResource(?s)^iot:faultReason(?s, "No controller control commands have been sent recently")

iot:Service(?s)^iot:takeBehavior(?s, ?b)^iot:RecentBehavior(?b)^cascg:latestBeh Resource Failure Rule 08

avior(?s, "Take", ?b)^iot:responseCode(?b, ?code)^swrlb:notEqual(?code, 200) -> iot:FaultResource(?s)^iot:faultReason(?s, "Sensor Data Acceptance Failure") iot:Service(?s)^iot:execBehavior(?s, ?b1)^iot:RecentBehavior(?b1)^iot:takeBehav ior(?s, ?b2)^iot:RecentBehavior(?s)^cascg:latestBehavior(?s,

Resource Failure Rule 09

"Take", ?b2)^iot:responseCode(?b2, ?code)^swrlb:equal(?code, 200) -> iot:WorkingResource(?s)

iot:Service(?s)^iot:execBehavior(?s, ?b1)^iot:RecentBehavior(?b1)^cascg:noBehav

Resource Failure Rule 10

ior(?s, "Take", "Recent") -> iot:WorkingResource(?s)

System Composition Rule 01

iot:Environment(?e)^iot:belongSystem(?e, ?s) -> iot:hasEnvironment(?s, ?e)

System Composition Rule 02

iot:UnknowResource(?r)^iot:belongSystem(?r, ?s) -> iot:hasUnknowResource(?s, ?r)

System Composition Rule 03

iot:hasSensor(?sys, ?s)

iot:Sensor(?s)^iot:FaultResource(?s)^iot:belongSystem(?s, ?sys) -> iot:hasFaultSensor(?sys, ?s)

rna

System Composition Rule 04

iot:Sensor(?s)^iot:WorkingResource(?s)^iot:belongSystem(?s, ?sys) ->

System Composition Rule 05

System Composition Rule 06

iot:hasService(?sys, ?s) iot:Service(?s)^iot:belongSystem(?s, ?sys)^iot:FaultResource(?s) -> iot:hasFaultService(?sys, ?s) iot:Controler(?c)^iot:belongSystem(?c, ?s)^iot:WorkingResource(?c) -> iot:hasController(?s, ?c) iot:Controler(?c)^iot:belongSystem(?c, ?s)^iot:FaultResource(?c) ->

Jou

System Composition Rule 07

iot:Service(?s)^iot:belongSystem(?s, ?sys)^iot:WorkingResource(?s) ->

System Composition Rule 08

iot:hasFaultController(?s, ?c)

Figure 6. SWRL Reasoning Rules of Internet of Things System. 

The  reasoning  rules  include  the  rules  to  improve  the  resource  attributes  and  the  relationship  between the resource composition of the IoT system, and the rules to perceive and judge the working  status of each resource in the current IoT system. Taking the ʺBehavior Classification Rule 03ʺ of the  Internet  of  Things  system  as  an  example,  we  believe  that  the  Recent  Behavior  occurring  within  10  seconds  before  the  current  time  whitch  can  be  relied  on  to  judge  the  current  working  status  of  the  Internet  of  Things  system.  The  reasoning  of  reasoning  rules  can  depend  on  the  results  of  other  reasoning rules. As shown in Figure 6, ʺResource Fault Rule 02ʺ is based on the reasoning results of  Recent Behavior expressed by ʺBehavior Classification Rule 03ʺ. Further reasoning can determine that 

Journal Pre-proof

lP repro of

the  sensor has Working  Resource  statue if  the behavior  of temperature sensing  is implemented and  this behavior is Recent Behavior.  In  particular,  we  use  some  Custrom  Build‐In  Atom  in  some  SWRL  reasoning  rules,  such  as  ʺdurInSecʺ in ʺBehavior Classification Rule 03ʺ.The function of this Build‐In Atom is to calculate how  many seconds have elapsed from the occurrence time to the current time according the execution time  of  IoT  behavior,  so  as  to further  judge whether the  IoT  behavior  is  a  recent  behavior  by  comparing  whether the result is less than 10.This Build‐In Atom is not the SWRL Core Built‐Ins Atom, but our  own defined Atom. At present, the SWRLTab page provided by Protégé5.5 version can not support  the  input  of  Custom  Build‐In  Atom  very  well.  These  Atoms  are  manually  modified  and  entered  by  modifying  the  corresponding  basic  ontology  OWL  files,  whitch  based  on  RDF/XML  grammar  of  SWRL.Protégé5.5  can  show  these  Custom  Build‐In  Atom,  but  cannot  be  modified  and  saved.  The  native  Pellet  reasoner  integrated  in  Protégécan  not  directly  support  the  reasoning  of  these  Custom  Built‐Ins Atoms. We need to modify the source code of Pellet and inject our Custom Built‐Ins into the  registration class of Pellet to achieve reasoning support.  3.3. Implementing Custom Built‐Ins in SWRL rules 

Jou

rna

In  order  to  integrate  Pellet‐CG,  our  reasoning  machine  injected  with  Custom  Built‐Ins  source  code,  in  Protégé.  We  first  download  Pelletʹs  source  code  from  GitHub  (https://github.com/stardog  ‐union/pellet/tree/maven).Pellet source package is a Maven project [26]. It needs to be imported using  IDE  integrated  with  Maven  function.  This  research  uses  Eclipse  Mars  +  Maven  2.4.3  as  the  experimental  integration  environment.  Pellet‐Maven  includes  several  sub‐projects,  including  Core  (Pellet  Core  Inference  Package,  including  Pellet  Core  Inference  Algorithms  Implementation),  Jena  (API Project of Pellet and Jena Integration), etc., but there is no Protégéplug‐in project that we need.  We need to download the plug‐in project Protege from the source code of Pellet‐Maset (Pellet 2.4.0)  (https://github.com/stardog‐union/pellet/tree/master),  import  the  project  to  Eclipe  and  modify  the  dependency of its POM file to 2.3.2 as shown in Figure 7. 

 

Figure 7. Import Pellet‐Protege and Modify Project Dependency 

It  should  be  noted  that  Pellet‐Protege  project  compilation  needs  to  rely  on  pellet‐core,  pellet‐owlapi3,  pellet‐modularity  and  other  project  dependencies,  which  provide  source  code  in 

Journal Pre-proof

lP repro of

Pellet‐Mavenʹs  sub‐projects.  Please  ensure  that  they  are  opened  in  the  IDE  or  installed  with  Maven  Install command in order to compile Pellet‐Protege Project smoothly.    Next,  we  write  our  Built‐Ins  with  reference  to  the  Custom  Built‐Ins  API  provided  by  Pellet,  as  shown  in  Figure 8.  Detailed  plug‐in  implementation  code  is shown  in  Appendix  2.Since  Pellet  does  not  provide  a  detailed  description  of  the  Built‐Ins  API,  this  study  refers  to  the  writing  method  described in reference [27]. 

 

Figure 8. Implementing of Custom Built‐Insin Pellet reasoner. 

Jou

rna

Next we inject the Custom Built‐Ins into Pelletʹs inference engine acquisition interface, as shown  in Figure 9. 

 

Figure 9. Modify inference engine interface and inject Custom Built‐Ins 

Then modify the plug‐in description file ʺplugin.xmlʺ of Protégéas shown in Figure 10. Following  the configuration of Pellet‐2.3, a custom plug‐in Pellet‐CG is injected, its name displayed in Protégé is  configured,  and  the  corresponding  implementation  class  is  the  full  project  path  of  ʺPelletIncrementalReasoerFactory” in the previous step. 

lP repro of

Journal Pre-proof

 

Figure 10. Modifying Protégé plug‐in description XML file. 

Finally,  we  can  export  the  jar  package  “pellet‐cg“  in  the  form  of  Jar  package,  and  copy  the  jar  package  to  the  ʺpluginsʺ  folder  in  the  root  directory  of  Protégé  installation.  We  can  complete  the  installation of the custom Pellet‐CG reasoning machine. Note that when exporting jar packages, you  must choose to use the META‐INF file in the project, otherwise Protégéwill not load Pellet reasoner  correctly.  3.3. Operation simulation of health cabin IoT system 

rna

In the health cabin Internet of Things system, three temperature sensors are connected to sense  indoor  temperature,  an  air  conditioning  device  is  connected  to  refrigerate,  and  a  heating  device  is  connected to heat. All devices and sensors are scheduled by cloud control service. The system needs  to ensure that the indoor temperature can reach the optimum temperature range of 26℃in an effective  time. In order to carry out simulation,we have compiled a simulation program to simulate the work  function of the IoT system for temperature control in a healthy cabin.  3.4.1. Air Physical Environment Simulation 

Jou

In  a  healthy  cabin,  the  outdoor  temperature  and indoor  temperature are  variable,  and  the  user  inputs the specific indoor and outdoor temperature when the simulation program is initialized. The  air physical environment records the indoor and outdoor temperature of the health cabin by variables.  If the indoor temperature is lower than the outdoor temperature, the indoor temperature rises by one  degree  every  60  seconds  due  to  heat  transfer,  but  the  maximum  does  not  exceed  the  outdoor  temperature.  Otherwise,  if  the  indoor  temperature  is  lower  than  the  outdoor  temperature,  the  temperature  will  drop  by  one  degree  in  60  seconds.  Operating  screenshots  of  the  air  physical  environment simulation program are shown in Figure 11. Detailed implementation codes are shown  in  Appendix  3.The  time  interval  of  temperature  change  due  to  heat  transfer  can  be  modified  by  modifying ʺHeatTransferDelayTimeʺ as shown in Figure 11. 

lP repro of

Journal Pre-proof

 

Figure 11. Operating screenshot of air physical environment simulation program 

3.4.2. Temperature Sensor Simulation 

rna

In  a  health  cabin,  temperature  sensors  collect  temperature  every  10  seconds.  The  simulation  program realizes the temperature sensorʹs perception of the environment temperature by the way of  socket  inter‐process  communication.  And  the  perceived  environment  temperature  of  the  healthy  cabin  will  be  sent  as  HTTP  request  according  to  the  access  address  of  the  Cloud  Control  Service  configured  by  the  user.  Accessing  three  sensors  to  the  system  can  be  realized  by  running  three  simultaneous  temperature  sensor  simulation  programs  in  the  same  time.  The  running  screenshot  of  the  temperature  sensor  simulation  program  is  shown  in  Figure 12.  Detailed implementation  of  Java  code is shown in Appendix 4.You can modify the sensorʹs temperature sensing interval by modifying  the ʺSensorTemperatureDelayTimeʺ variable, as shown in Figure 12.   

 

Figure 12. Screenshot of Temperature Sensor simulation program. 

Jou

3.4.3. Air Conditioning and Heating Simulation 

In  a  health  cabin,  the  air  conditioning  receives  control  commands  in  the  form  of  Http  Service,  including  the  opening,  closing  and  testing  commands  sent  by  Cloud  Control  Service.  Operating  screenshots  of  the  air  conditioning  simulation  program  are  shown  in  Figure  13.  Detailed  program  implementation  code  is shown  in  Appendix 5.When the air conditioning is in the ʺONʺ  state, it  can  affect  the  physical  environment  of  air  temperature  at  20  seconds  interval,  making  its  temperature  drop by 1  ℃.As shown in Figure 13, you can modify the time interval between the temperature drops  caused by the impact of the the air conditioning by modifying the ʺAirCoolingDelayTimeʺ. 

lP repro of

Journal Pre-proof

 

Figure 13. Operating screenshot of air conditioning simulation program. 

The  realization  of  heating  is  exactly  similar  to  that  of  air  conditioning,  which  is  not  discussed  here.  3.4.4 Cloud Control Service Simulation 

Jou

rna

In the health cabin, the Cloud Control Service service receives temperature data from all sensors,  and  compares  the  temperature  perceived  with  the  optimum  ambient  temperature  of  26  ℃.  If  the  temperature is too high, it sends the ʺONʺ command to the air conditioning, and sending the ʺOFFʺ  command  to  the  heating.  If  the  temperature  is  too  low,  turn  on  the  heating  and  turn  off  the  air  conditioning. Whether the central control service receives the temperature sensed by the temperature  sensor or not, the Cloud Control Service sends ʺTestʺ commands to the air conditioning and heating at  10  seconds  intervals  to  detect  whether  the  corresponding  controller  entity  is  still  working.  A  screenshot  of  the  program  running  for  Cloud  Control  Service  is  shown  in  Figure 14.  Detailed  Java  implementation code is shown in Appendix 6. 

 

Figure 14. Screenshot of Cloud Control Service Simulator 

3.5. Access the Ontology Modeling Middleware    In  order  to  realize  the  real‐time  automatic  creation  of  IoT  system  resources  and  behavior  instances,  we  need  to  write  IoT  system  access  middleware.  The  main  function  of  middleware  is  to  read  the  established  basic  ontology  model  of  the  Internet  of  Things  system,  monitor  all  kinds  of  behaviors  in  the  system,  including  sensing  transmission  behavior  and  controlling  command  transmission behavior, and automatically create the behavior and resource instances of the Internet of  Things system based on the concept of the basic ontology model. 

Journal Pre-proof

lP repro of

As shown in Figure 4, the best placement of middleware should be before Cloud Control Service.  Sensors  can  forward  perceived  data  to  Cloud  Control  Service  through  middleware  agents.  Cloud  Control  Service  forwards  control  commands  to  corresponding  Internet  of  Things  control  entities.  through  proxy  middleware.  A  screenshot  of  the  middleware  program  is  shown  in  Figure  15.  The  complete Java implementation code is detailed in Appendix 7. 

 

Figure 15. Ontology Modeling Middleware Operating Screenshot of Internet of Things System. 

Jou

rna

The arithmetic principle of the middleware of IoT system is as follows:  First,  use  Jena  Ontology  API  to  read  the  basic  ontology  model  established  in  Section  2.1,  and  maintain  a  real‐time  ontology  model  ʺIoT  Modelʺ  of  the  current  Internet  of  Things  system  in  the  memory of the middleware program. According to the modelerʹs naming of the current IoT system,  the  Individual  and  Environment  instances  of  the  IoT  system  are  automatically  created,  and  the  ʺbelongSystemʺ attribute is added to the environment instances.  Next, the middleware completes the proxy forwarding of the IoT system behavior according to  the user‐configured service address, implements the proxy service through the API provided by Java  HttpServer[28], and completes the data transmission of the proxy address through the API provided  by HttpURLConnection[29], and obtains the access result to return.   

 

Figure 16. Opening and refreshing ontology model of real‐time IoT system based on middleware  services 

In  the  process  of  proxy  forwarding,  the  behavior  from  the  sending  resource  to  proxied  target  resource  of  IoT  system,  including  sensing  data  and  control  commands,  is  captured.  Based  on  Jena  Ontology  API[24],  ontology  instances  of  these  behaviors  are  created  and  added  to  the  real‐time  ontology model ʺIoTModelʺ. It should be pointed out in particular that middleware only models the  basic  information,  including  the  occurrence  time  and  transmission  parameters,  captured  in  the  behavior  of  the  IoT  system.  It  does  not  make  further  model  inference  based  on  these  basic  facts. 

Journal Pre-proof

4. Results and Discussion 

lP repro of

Model  inference  and  perfection  are  based  on  Pellet  in  Protégé,whitch  we  will  discuss  it  further  in  Section 3.  Finally,  the  Ontology  Modeling  Middleware  provides  an  HTTP  service  ʺ/current‐IoT‐modelʺ  based on the HttpServer API to output the current real‐time ontology model.  Using the ʺOpen from URLʺ function of Protégé, we can directly rely on this service to open the  real‐time ontology model of the IoT system and view the real‐time Behaviors and Individuals of the  IoT  system.  And  it  can  refresh  the  latest  real‐time  ontology  model  of  the  IoT  system  at  any  time  through the way of ʺReloadʺ, as shown in Figure 16. 

Based  on  the  results  discussed  in  Section  2,  we  have  been  able  to  obtain  a  relatively  complete  real‐time  basic  fact  model  of  the  health  cabin  system,  including  the  basic  health  cabin  ontology,  operation  behavior  and  resource  instances,  through  the  output  services  provided  by  the  ontology  modeling  middleware  of  the  Internet  of  Things  system.  In  this  section,  we  will  perform  the  model  reasoning of this model, so as to complete the automatic classification of resources and behaviors of  the  IoT  system,  the  automatic  identification  of  the  components  of  the  IoT  system,  as  well  as  the  working status of the components of the IoT system, and to diagnose the causes of abnormal working  status. Based on the real‐time ontology IoT model and SWRL rules, this paper discusses the possibility  that this ontology architecture model will take over the control services for automatic control of the  Internet of Things system when the control services fail.  4.1. Resource and Behavior Classification 

Jou

rna

As shown in Figure 6, ʺBehavior Attribute Rules 01ʺ and ʺBehavior Attribute Rules 02ʺ are used to  associate  the  behavior  and  resources  of  the  Internet  of  Things  system.  From  the  behavior  of  the  Internet  of  Things  system,  the  URI  of  the  source  of  the  behavior  can  be  obtained  through  the  ʺfromURIʺ  property  and  the  resource  URI  that  receives  the  behavior  can  be  obtained  by  the  ʺtargetURIʺ property. By comparing resource URIs, the association between take Behaviior and exec  Behavior is automatically established.  As  shown  in  Figure  6,  the  behavior  of  the  Internet  of  Things  system  has  been  classified  by  ʺBehavior Classification Rules 01‐03ʺ. We believe that the behavior that contains temperature sensing  parameters is Perception, and the behavior that contains control command parameters is Conrtolling.  The behavior that occurs within 10 seconds before the current time of the Internet of Things system is  Recent Behvior.  The rules of resource classification are shown in Figure 6 as ʺResource Classification Rules 01‐06ʺ.  ʺResource  Classification  Rule  1ʺ  means  that  if  a  resource  of  an  IoT  system  has  never  produced  any  behavior, we can not determine its type and state and classify it as an Unknown Resource.ʺResource  Classification  Rule  2ʺ  based  on  the  reasoning  results  of  behavior  classification  expresses  that  the  receiving  target  of  Perception  is  a  Service,  and  ʺResource  Classification  Rule  3ʺ  expresses  that  the  sending source of Perception is a Sensor.ʺResource Classification Rules 4‐5ʺ respectively indicate that  the receiving target of Controlling(control behavior ) is a Controler, and the source must be a Service.  Finally,  based  on  the  reasoning  result  of  ʺResource  Classification  Rule  2ʺ,  we  can  make  further  reasoning  of  temperature  sensor,  which  means  that  a  Sensor  that  senses  temperature  must  be  a  Temperature Sensor.  Based on the above reasoning rules and referring to the reasoner integration method introduced  in Section 2.3, we use the Pellet‐CG reasoner with the Custom Built‐Ins such as ʺnoBehaviorʺ injected  after source code modification to reasoning results as shown in Figure 17. 

lP repro of

Journal Pre-proof

 

Figure 17. Reasoning results of resource and behavior classification in IoT system 

Figure 17 shows that resources and behaviors are automatically correlated and the classification  of  resources  and  behaviors  in  the  Internet  of  Things  system  becomes  more  detailed  after  reasoning.Examine  a  specific  ʺRes_1980...ʺ,  as  you  can  see  in  Figure  17,  it  has  been  automatically  classified as TemperatureSensor and it’s currently working statusisWorkingResource.  4.2. Resource Fault Diagnosis 

As shown in Figure 6, ʺResource Failure Rule 01‐10ʺ, SWRL is used to describe the fault rules of  temperature  sensor,  air  conditioning  or  heating  controller  and  cloud  control  service  respectively.To  better  illustrate  these  rules,  we  first  define  some  symbols.The  Resource  of  IoT  system  that  have  not  executed or received RecentBehavior (within 10 seconds) is defined asø. The Resource of IoT system have RecentBehavior, including execBehavior or takeBehavior, is defined as E.The latest behavior execution state of RecentBehavior is defined as S for success and F for failure.

rna

Firstly,  according  to  the  fault  determination  method  of  temperature  sensor,  the  fault  determination table of temperature sensor is given as shown in Table 2.  Table 2. Temperature sensor fault Diagnosis table. 

Jou

Situation  execBehavior  Result  Situation 1  E  WorkingResource  Situation 2  ø  FaultResource  Table 2  shows  a  simple  method  to  determine  the  working  status  of  temperature  sensors.  If  the  temperature sensor has not performed temperature sensing recently (within 10 seconds), as it do not  execBehavior  RecentBehavior,  then  the  temperature  sensor  is  considered  to  have  failed  (FaultResource). On the contrary, if there is a recently perceived behavior, regardless of whether the  behavior is successfully received and processed by cloud control service, the sensor is considered to  be  in  working  condition(WorkingResource).Even  if  the  cloud  control  service  fails  to  receive,  the  temperature  sensor  is  working  when  the  temperature  sensing  is  executed.As  shown  inʺResource  Failure Rule 01‐02 ʺ of Figure 6 , the decision method is expressed in SWRL.In the rule of judging no  recent behavior, the “noBehavior” Custom Built‐InsAtom is used, and the faultReason data property  is used to automatically associate a fault explanation for the resource.  As discussed in Section 2.4.4, in a healthy cabin, the Cloud Control Service receives the sensing  data  from  all  temperature  sensors,  and  judges  according  to  the  latest  temperature  perceived,  issues  the  ON  or  OFFcommand  for  air  conditioning  and  heating.Even  if  all  sensors  fail,  the  cloud  control  service  sends  Test  command  every  10  seconds  to  get  the  working  state  of  the  control 

Journal Pre-proof

resources.According  to  the  working  principle  of  cloud  control  service,  the  fault  diagnosis  table  of  cloud control service can be deduced as shown inTable 3.  Table 3. Fault Diagnosis Table for Cloud Control Service. 

lP repro of

Situation  takeBehavior  execBehavior  Result  Situation 1  S  E  WorkingResource  Situation 2  F  E  FaultResource  Situation 3  ø  E  WorkingResource  Situation 4  S  ø  FaultResource  Situation 5  F  ø  FaultResource  Situation 6  ø  ø  FaultResource  Based on the Custom Built‐Ins Atoms used by temperature sensors, we can write 6 similar fault  determination rules for cloud control service, but by observing the distribution of fault conclusions in  Table 3, we can simplify them into four 4 determination rules.As shown in Figure 6, ʺResource Failure  Rule 07ʺ expresses the main control servicedo not execBehavior RecentBehavior, then a failure must  occur  (because  at  least  the  TEST  behavior  will  be  executed),  covering  Situation  4,  Situation  5  and  Situation  6.ʺResource  Failure  Rule  08ʺ  expresses  the  sensing  behavior  of  the  temperature  sensor  recently received, but the processing fails. It can be judged that a fault occurred, covering Situation 2  and  Situation  5.It  is  not  difficult  to  see  the  Situation  that  ʺResource  Failure  Rules  7  and  8ʺ  have  overlapping Situation 5,  but it does not  affect the results  of  reasoning.When  Situation 5  occurs,  two  faultReason will occur because ʺResource Failure Rule 7 and 8ʺ are satisfied simultaneously, but the  service is still classified as FaultResource. The ʺResource Failure Rule 9 and 10ʺ cover Situation 1 and  Situation  3  respectively  as  supplements,  and  express  the  reasoning  rules  for  judging  the  working  status of the cloud control service.  According to the same formulation definition, the fault determination table of air‐conditioning or  heating control entity resources is shown inTable 4.  Table 4.Control Resource Fault Diagnosis Table. 

Jou

rna

Situation  takeBehavior  Result  Situation 1  S  WorkingResource  Situation 2  F  FaultResource  Situation 3  ø  Need Further Judge  If the  control  resource (air  conditioning  or  heating)  receives RecentBehavior, its working  status  can be accurately determined based on the handle result of the latest behavior in the RecentBehavior.  As shown in Situation 1 in Table 4, the control resource receives control command within 10 seconds  and is successfully processed, which can adequately determine that the control resource is in working  state. Convert Situation 1 and Situation 2 to SWRL rules as shown in ʺResource Failure Rule 03 and 04ʺ  in Figure 6.  However, if the control resource has not processed any RecentBehavior in the last 10 seconds, it  can  not  be  simply  judged  that  it  is  in  a  failure  state,  because  in  the  case  of  failure  of  cloud  control  service, it will also lead to air conditioning or heating not handling any control command.To further  determine the working status of control resources, we have written a CustomBuilt‐In ʺhttp TestStatusʺ  that  can  send  HTTP  requests.As  shown  in  ʺResource  Failure  Rule  05  and  06ʺ  in  Figure  6,  an  HTTP  request can be sent by passing in the controller entity (? C) and the command (Test) that needs to be  sent, and the corresponding return result (? Code) can be obtained to further determine the working  status of the control entity.This built‐in is not difficult to implement because, based on the reasoning  results of resource classification, we can explicitly extract the service address and port information of  the incoming control resource instance.  The reasoning results of the resource failure rules are shown in Figure 18. It can be seen that a  controller resource has recently been inferred as a failure state due to incorrect handling of received  control command. 

lP repro of

Journal Pre-proof

 

Figure 18. Reasoning Results of Resource Failure Rules . 

4.3. Detection of Resource Composition 

rna

Based  on  the  classification  of  behavior  and  resources  and  the  reasoning  results  of  resource  failures, we have been able to clearly model and detect reasoning rules of resource composition in the  Internet of Things system.As shown in “Resource Composition Rule 01‐08” of Figure 6, if a resource(?  R) belongs to an Internet of Things system(? S), it can automatically associate the object property of  ʺhasSensorʺ or ʺhasFault Sensorʺ for the Internet of Things system according to the failure status of the  resource.Similarly,  it  can  be  associated  with  ʺhasServiceʺ and  ʺhasFaultServiceʺ,  ʺhasControllerʺ  and  “hasFaultControllerʺ.Thus, we can get the working state of an Internet of Things system as a whole, as  shown inFigure 19, which shows the current real‐time working state of the Internet of Things system  in the health cabin. 

 

Figure 19. Reasoning results of resource composition in IoT system 

Jou

It  can  be  seen  that  the  system  is  currently  connected  to  a  sensor,  a  cloud  control  service  and  a  controller, and the controller has failed.Click on the corresponding resource link, as shown in the blue  underscore section of Figure 19, you can directly open the corresponding IoT controller resources and  show  their  specific  resource  classification  and  failure  reasons  as  shown  in  Figure  18.  When  we  re‐connect two sensors according to the system design goal, and reload the real‐time model according  to  the  method  described  in  Section  2.5,  and  reasoning  based  on  ʺPellet‐CGʺ,  we  can  see  the  latest  accessed sensors and their working status in the resource composition list shown on the right side of  Figure 19.  4.4. Automatic Control of IoT System  Based on the ʺEnvironmental Attribute Rule 01ʺ shown in Figure 6, we can accurately perceive the  real‐time temperature information of the physical environment in which the Internet of Things system  is located in the case that at  least  one temperature  sensor does  not fail. Combined  with the Custom  Built‐Ins  ʺhttpTestStatusʺ  used  in  Section  3.2,  we  can  theoretically  replace  cloud  control  service  for 

Journal Pre-proof

lP repro of

automatic control of the Internet of Things system, although we do not want to do so in principle of  not  intruding  into  the  original  Internet  of  Things  system  as  much  as  possible.Its  implementation  is  shown in Figure 6 as ʺSystem Control Rule 01‐03ʺ.  These three rules express that when the current temperature of the physical environment of the  Internet of Things is higher than 26℃, the air conditioner is turned on and the heating is turned off.  When the temperature is lower than 26 C, the air conditioner is turned off and the heating is turned on.  The air conditioner and the heating are turned off at the same time when the temperature is equal to  26℃.Although according to these three rules, there are still some gaps in the realization of automatic  control of Internet of Things system, including that we have not yet compiled rules to further classify  controller  resources  into  air‐conditioning  or  heating,  and  these  rules  are  executed  every  time  we  perform rule reasoning manually in Protégé, rather than dynamically in real time. But these problems  can  be  solved.  Depending  on  the  existing  records  of  control  behavior  of  cloudcontrol  service,  it  is  possible  to  further  identify  whether  the  controlled  entity  is  air  conditioner  or  heating.  The  second  problem can also integrate Pellet reasoner in the middleware, so as to perform real‐time reasoning and  control while temperature sensing is captured.This makes it possible for us to achieve a unified control  of  cloud  control  brain  in  all  modeled  Internet  of  Things  systems  based  on  the  semantic  knowledge  graph.  5. Conclusions 

Jou

rna

The architecture of the Internet of Things is a graphical or formal model of the composition and  working  principle  of  the  IOT  system  from  different  perspectives  and  dimensions.  It  is  the  primary  basis  for  the  design  and  implementation  of  the  IOT  system.Based  on  the  dimension  of  semantic  ontology and  the combination of theory and practice, this  paper discusses the  modeling theory and  method of semantic ontology dimension architecture model of Internet of Things system.In this paper,  a  framework  for  modeling  real‐time  dynamic  ontology  semantic  dimension  architecture  model  of  Internet  of  Things  system  is  proposed.  And  based  on  semantic  reasoning  technology,  the  model  reasoning of high‐level knowledge, which realizes resource classification and composition detection,  resource working status information and resource fault diagnosis of the Internet of Things system, is  derived from low‐level Internet of Things system behavior instances.  Future research still needs to deal with the storage and cleaning of behavior instances of Internet  of Things systems. According to the working principle of the Internet of Things system described in  Section  2.4,  a  minimum  of  180  perceptual  behaviors  will  be  generated  if  only  three  sensors  are  connected  for  10  minutes,  which  does  not  include  the  control  behavior  of  the  IoT  system  after  temperature  sensing.These  behaviors  are  currently  stored  in  the  memory  of  the  ontology  modeling  middleware  of  the  Internet  of  Things,  which  will  soon  cause  the  ontology  modeling  middleware  to  collapse  due  to  memory  overflow.  Therefore,  on  the  basis  of  guaranteeing  the  query  efficiency  of  ontology behavior in the Internet of Things, we need to study the data storage technology of ontology  instances in the Internet of Things.In addition, the real‐time state perception and fault diagnosis of the  Internet  of  Things  system  depend  on  the  recent  behavior  of  the  Internet  of  Things  system.  How  to  clean and tailor some outdated behavior of the Internet of Things system also needs further research.  In  order  to  make  better  use  of  the  semantic  ontology  dimension  of  the  Internet  of  Things  architecture model, on the basis of the discussion in Section 3.4, future research work can also study  the  technology  of  semantic  reasoning and  knowledge  graph, and  establish the central  control  cloud  brain  of  the  Internet  of  Things  system,  to  realize  real‐time  resource  state  sensing,  fault  anomaly  monitoring and more abundant intelligent semantic automatic control of Internet of Things system.  References  1. 

CHEN  Hai‐Ming,CUI  Li.Design  and  Model  Checking  of  Service  Oriented  Software  Architecture    for  Internet of Things[J].Chinese Journal of Computers,2016,39(05):853‐871.   

Journal Pre-proof

2. 

MI  Bao‐Tong,LIANG  Xun,ZHANG  Shu‐Sen.A  Survey  on  Social  Internet  of  Things[J].Chinese  Journal  of  Computers,2018,41(07):1448‐1475.   

3. 

Xu  Yuan,  Zhang  Chunhong,  Ji  Yang.  Semantic  Internet  of  Things:  Starting  with  Ontology 

lP repro of

Construction[J].Telecommunications Network Technology,2014,1(3):32‐36.    4. 

LI  Yong‐chao,  LUO  Jun‐min.  Research  on  R  easoning  on  Ontology  in  Semantic  Web[J].Computer 

5. 

Berners‐Lee,  T.  Uniform  Resource  Identifiers  (URI):  Generic  Syntax.  Availabe  online:  https://www. 

6. 

Liam. Extensible Markup Language (XML). Availabe online: https://www.w3.org/XML/   

7. 

Manola,  F.;  Miller,  E.  RDF  Primer.  Availabe  online:  https://www.w3.org/TR/2004/REC‐rdf‐primer 

Technology and Development,2007,17(1):101‐103.    ietf.org/rfc/rfc2396.txt   

‐20040210/    8. 

Smith,  M.K.;  Welty,  C.;  McGuinness,  D.L.  OWL  Web  Ontology  Language  Guide.  Availabe  online:  https://www.w3.org/TR/2004/REC‐owl‐guide‐20040210/   

9. 

Horrocks,  I.;  Patel‐Schneider, P.F.;  Boley,  H.; Tabet,  S.;  Grosof,  B.; Dean,  M.  SWRL:  A  Semantic Web  Rule Language Combining OWL and RuleML. Availabe online: https://www.w3.org/Submission/SWRL/  Overview.html   

10. 

Bassiliades,  N.  Rule  Markup  Language  Initiative.  Availabe  online:  http://wiki.ruleml.org/index.php/ 

11. 

Wei, S.; Wang, J.; Ping, L.; Min, W. APOLLO:a general framework for populating ontology with named 

RuleML_Home   

entities via random walks on graphs. In Proceedings of International Conference on World Wide Web.  12. 

Bechhofer,  S.;  Horrocks,  I.;  Goble,  C.A.;  Stevens,  R.  OilEd:  A  Reason‐able  Ontology  Editor  for  the  Semantic  Web.  In  Proceedings  of  Joint  German/austrian  Conference  on  Ai:  Advances  in  Artificial  Intelligence. 

13. 

Sure,  Y.;  Erdmann,  M.;  Angele,  J.;  rgen;  Staab,  S.;  Studer,  R.;  Wenke,  D.  OntoEdit:  Collaborative  Ontology  Development  for  the  Semantic  Web.  In  Proceedings  of  Semantic  Web‐iswc,  First 

14. 

rna

International Semantic Web Conference, Sardinia, Italy, June. 

Noy, N.F.; Sintek, M.; Decker, S.; Crubezy, M.; Fergerson, R.W.; Musen, M.A. Creating Semantic Web  contents with Protege‐2000. IEEE Intelligent Systems 2005, pp 60‐71. 

15. 

Corcho, O. Building Legal Ontologies with METHONTOLOGY and WebODE. 2005. 

16. 

Horridge,  M.  A  Practical  Guide  To  Building  OWL  OntologiesUsing  Protege  4  and  CO‐ODE  Tools.  Availabe  online:  http://mowl‐power.cs.man.ac.uk/protegeowltutorial/resources/ProtegeOWLTutorial  P4_v1_3.pdf   

18. 

Eriksson, H. Using JessTab to integrate Protege and Jess. Intelligent Systems IEEE 2003, pp 43‐50. 

Jou

17. 

Huang, T.; Li, W.; Yang, C. Comparison of Ontology Reasoners: Racer, Pellet, Fact++. In Proceedings of  Agu Fall Meeting. 

19. 

Glimm,  B.;  Horrocks,  I.;  Motik,  B.;  Stoilos,  G.;  Wang,  Z.  HermiT:  An  OWL  2  Reasoner.  Journal  of 

Automated Reasoning 2014, pp 245‐269. 

20. 

Alves,  M.B.;  Damásio,  C.V.;  Correia,  N.  SPARQL  Commands  in  Jena  Rules.  In  Proceedings  of 

International Conference on Knowledge Engineering & the Semantic Web. 

21. 

Gao Keman, Zhang Shuai, Zhao Dongfang, Liu Yi, JI Xinrong. Research on Ontology‐based Equipment  Resource 

Modeling 

and 

Management 

Informationization,2018,21(10):153‐154.   

in 

Internet 

of 

Things[J].China 

Management 

Journal Pre-proof

22. 

Ding Yafei Li Guanyu Zhang Hui. SEMANTIC SPACE‐BASED SEMANTIC COLLABORATION METHOD IN  SEMANTIC WEB OF THINGS[J]. Computer Applications and Software, 2016, 33(02):1‐6+16.    FENG  Jian‐Zhou1,  SONG  Sha‐Sha1,  KONG  Ling‐Fu1.  Research  on  Semantic  Association  and  Decision 

lP repro of

23. 

Method of the Internet of Things[J]. Acta Automatica Sinice, 2016, 42(11):1691‐1701.    24. 

Mcbride, B. Jena: A Semantic Web Toolkit. IEEE Internet Computing 2002, pp 55‐59. 

25. 

Compton,  M.;  Barnaghi,  P.;  Bermudez,  L.;  García‐Castro,  R.;  Corcho,  O.;  Cox,  S.;  Graybeal,  J.;  Hauswirth,  M.;  Henson,  C.;  Herzog,  A.  The  SSN  ontology  of  the  W3C  semantic  sensor  network  incubator group. Web Semantics Science Services & Agents on the World Wide Web 2012, pp 25‐32. 

26. 

DENG  Zhi‐qiang,  DENG  Lin‐qiang.  Maven  Application  In  Java  Project  Development[J].  Electronic  Component and Information Technology, 2019, 3(05):1‐4.   

27.  28. 

Kuba, M. OWL 2 and SWRL Tutorial. Availabe online: http://dior.ics.muni.cz/~makub/owl/   

ZHOU  Chang,WANG  Ze.  Design  and  Implementation  of  the  Simple  HTTP  Server[J].  Software  Engineering, 2017, 20(01):9‐11.   

29. 

Grand, M.; Knudsen, J. HttpURLConnection. In Oreilly & Associates Inc, 2019. 

 

 

Chen Guang, born in 1988. PhD. candidate. His main research interests include information processing and

 

rna

application of Internet of Thing, soft engineering, pattern recognition and multimedia technology.

Jou

Jiang Tonghai, born in 1963. PhD, professor, senior researcher at the Chinese Academy of Science, PhD supervisor. His main research interests include computer network theory and traffic engineering, big data technology, Internet of Things technology.

  Wang  Meng,  born  in  1980.  PhD,  professor.  His  main  research  interests  include  information 

Journal Pre-proof

 

lP repro of

processing, big data fusion, data clean. 

TangXinyu, born in 1975. PhD, professor, deputy researcher at the Chinese Academy of Science. His main research interests include database technology and data warehouse, data mining, data cleaning of massive data.

 

JiWenfei, born in 1991. PhD. candidate. His main research interests include information processing and application of

Jou

rna

Internet of Thing, big data fusion.

Journal Pre-proof

Conflict of Interest statement We declare that we have no financial and personal relationships with other people or

lP repro of

organizations that can inappropriately influence our work, there is no profssional or other personal interest of any nature or kind in any product, service and/or company that could be construed as influencing the position presented in, or the review of , the manuscript entitled Modeling and Reasoning of IoT Architecture in Semantic Ontology Dimension. Guang Chen

Jou

rna

2020.1.2

Journal Pre-proof

Author Statement Modeling and Reasoning of IoT Architecture in Semantic Ontology Dimension:

lP repro of

I have made substantial contributions to the conception or design of the work.

I have drafted the work or revised it critically for important intllectual content; And I have approved the final version to be published; And I agree to be accountable for all aspects of the work in ensuring that questions rlatd to th accuracy or intgrity of any part of the work are appropriately invstigated and resolved.

All persons who have made substantial contributions to the work reported in the

manuscript, including those who provided editing and writing assistance. If the manuscript does not include Acknowledgments, it is because the authors have not received substantial contributions from nonauthors. Guang Chen

Jou

rna

2020.1.2