<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta>
      <journal-title-group>
        <journal-title>H</journal-title>
      </journal-title-group>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>PRISM: A Knowledge Engineering Tool to Model Collective Behaviors of Real-time IoT Systems</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Maryam Rahmani</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Junsup Song</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Moonkun Lee</string-name>
          <email>moonkun@jbnu.ac.kr</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Chonbuk National University 567 Beakje-daero Deokjin-gu Jeonju-si Jeonbuk 54896</institution>
          ,
          <country>Republic of Korea</country>
        </aff>
      </contrib-group>
      <volume>21</volume>
      <issue>1</issue>
      <abstract>
        <p>This paper presents a knowledge engineering tool, called PRISM, to model collective behaviors of real-time IoT systems. PRISM is developed on the ADOxx Meta-Modeling Platform, in order to implement the new notion of a domain engineering method, known as behavior ontology. In PRISM, the ontology can be constructed as follows: 1) All the collective behaviors for a domain are defined from active ontology, 2) the behaviors are formed in a quantifiably abstracted lattice, called n:2-Lattice, and 3) a behavior ontology for the domain can be constructed by merging the n:2-lattices into an integrated lattice. Once the ontology is constructed, each system in the domain can be interpreted with respect to the ontology or lattice. In the paper, the Emergency Medical Service (EMS) domain and a smart IoT example for EMS are selected for modeling and interpretation in PRISM. PRISM shows an innovative approach for meta-modeling of domain knowledge as a tool.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        There are strong needs to represent system behaviors for each knowledge domain in
some collective patterns, especially using tools. However the needs are not easily
satisfied due to the following reasons:
1) There were the structural limitations caused by the size of system components
and the complexity of their interactions, as well as their composition, causing
state explosion [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ].
2) There were no effective tools to model collective behaviors of systems with
the supporting meta-modeling platforms [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ].
      </p>
      <p>
        In order to satisfy the needs partially, this paper presents a tool, called PRISM, with
the following method and the meta-modeling support:
1) The method is based on a concept of behavior ontology [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. The approach in
this paper extended the previous research [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] for implementation in PRISM.
      </p>
      <p>
        The method solved the state explosion problem with abstracting behaviors.
2) PRSIM is developed on the ADOxx Meta-Modeling Platform [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] to implement
the method. The implementation demonstrates the feasibility of the method by
the meta-modeling tool.
1) A class hierarchy of a domain is constructed based on Active Ontology [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ],
where all the actors of a domain and their interactions are defined as classes
and relations, respectively.
2) All the collective behaviors of the domain are defined in regular expression,
where each behavior is defined as a sequence of interactions among actors.
The behaviors can be organized in a hierarchical order based on their inclusion
relations, forming a special lattice, called n:2-Lattice [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ].
3) All the behaviors are quantifiably abstracted with a notion of cardinality and
capacity for actors.
4) A behavior ontology for the domain is constructed by merging the n:2-lattices
into an integrated lattice, based on quantifiably common actors.
      </p>
      <p>
        Once a final lattice for a domain is constructed, it can be used to interpret the
collective behaviors of systems in the domain as follows:
1) Behavior extraction from SAVE [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]: The shaded box below the white box
just mentioned in Fig. 1 shows the method for specification and verification
of operational and secure requirements for a system with called δ-calculus
[
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] and GTS Logic [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. The method is also implemented on the ADOxx
Meta-Modeling Platform as a tool, called SAVE. As a result of the simulation
from the specification, the behavior of the system can be extracted. However
we don’t know yet what the collective pattern of each behavior is.
2) Behavior projection and interpretation to PRISM: As shown in the right
white box of the figure, we can project the behaviors of the system, after
restructuring the raw behaviors into the abstract ones, and interpret the
behaviors in the patterns of the lattice as the behavior ontology for the system.
In order to demonstrate the feasibility of the approach, the Emergency Medical
Service (EMS) domain is selected for modeling its collective behaviors in PRISM.
Further a smart IoT example for EMS is selected to interpret its collective behaviors on
PRISM by projection and interpretation. The EMS example shows that the method is
very effective and efficient to construct a hierarchy of collective behaviors in the
lattice as the behavior ontology, as well as projection and interpretation. Compare to
other approaches for modelling behaviors and analyzing patterns of the behaviors [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ],
our method can be considered to be innovative in representing the behaviors with
collective patterns by the n:2-Lattice. Further PRISM demonstrates the efficiency and
effectiveness of feasibility of the method as a tool.
      </p>
      <p>
        This paper is organized as follows. Section 2 overviews the PRISM tool. Section 3
shows the approach in steps with the EMS domain in PRISM. Section 4 shows
behaviors for the smart IoT example for EMS simulated in SAVE and their projection to
PRISM for interpretation. Finally, conclusions and future research will be made in
Section 5.
As stated, the PRISM tool is developed on the ADOxx Meta-Modeling Platform [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ].
ADOxx was originally developed and released by the OMiLAB of the University of
Vienna, and is known as one of the most innovative meta-modeling tools to model
many modeling methods. There are total 42 open models developed on ADOxx and
open to the public for non-profit applications [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ].
      </p>
      <p>The architecture and modeling views of PRISM is shown in Fig. 2. The graphical
representations of the models in PRISM are designed by the ADOxx Development
Tool, and the procedures of its components are built from the ADOxx libraries. The
detailed algorithms of the procedures are programmed in the ADOScript language.
The figure shows three system layers of PRISM implemented on ADOxx as follows:
1) ADOxx Platform: ADOxx provides three layers to implement mechanisms and
algorithms for PRISM as follows:
i) First Layer: Beside the pre-defined functionality, which is a basic set of
features most commonly used by modeling tools, it is possible to
configure the basic features for modeling definitions.
ii) Second Layer: To implement scripts like the stated ADOScripts, it
provides approximately 400 APIs for the ADOxx components. Those APIs
enable the generation of objects, editing of their properties, etc.
iii) Third Layer: There are three ways of interactions with ADOxx from
outside. The simple interaction is by exporting and importing XML files.
2) PRISM Components: PRISM uses those of the second layer of ADOxx to
implement the basic components of PRISM as follows:
i) Regular Behavior Generator (RBG): This is an engine to generate a set
of regular, that is, basic behaviors from Active Ontology.
ii) Abstract Behavior Generator (ABG): This is an engine to abstract a set
of the regular behaviors from i) with respect to cardinality and capacity.
iii) Behavior Lattice Generator (BLG): This is an engine to generate a
behavior lattice from the abstract behaviors from ii).
iv) Behavior Lattice Merger (BLM): This is an engine to merge two
behavior lattices into an integrated lattice with respect to the same main actors
with different cardinalities. It forms a lattice of lattices.
v) Behavior Interpreter (BI): This is an engine to input behaviors from
SAVE and project them onto the final lattice of its domain for
interpretation in the collective behavior patterns of the domain in the form of the
lattice.</p>
      <p>PRISM Modelers: PRISM uses the functionalities of the first layer of ADOxx to
implement the graphical elements and attributes of its graphic models as follows:
i) Class Diagram (CD): The model to define the architecture of classes for
a domain.
ii) Active Diagram (AD): The model to define the active ontology of the
domain from i).
iii) Regular Behavior (BB): The model to define a set of regular behaviors
from Active Ontology from ii).
iv) Abstract Behavior (AB): The model for a set of abstract behaviors
generated automatically from that of basic behaviors by ABG from ii) of 2).
v) Behavior Lattice (BL): The model for a behavior lattice generated
automatically from a set of abstract behaviors by BLG from iii) of 2).
vi) Merged Lattice of Behavior Lattices (mLBL): The model for a lattice of
behavior lattices merged automatically from a set of behavior lattices by
BLM from iv) of 2).
vii) Interpreted Behavior Lattice (iBL): The model for a behavior lattice
with interpretation of behaviors of a system in the domain of the lattice
projected automatically by BI from v) of 2).</p>
      <p>Section 3 shows how PRISM works in steps, with the EMS domain example.
3</p>
    </sec>
    <sec id="sec-2">
      <title>Approach</title>
      <p>This section presents each step of modeling in PRISM with the EMS domain. EMS is
the system where, in case of traffic and car accidents, the drivers or patients from the
accidents are transported to proper medical institutes under control of the 911.
The first step is to design active ontology for the EMS example. Active ontology
consists of classes and subclasses in the domain, including their interactions.
The EMS domain example contains four classes: Ambulance (A), Patient (P), and
Place (PL). Note that Place contains Location (L) and Hospital (H) as subclasses.
Fig. 3 shows the active diagram for the active ontology as follows:
1) Actors: There are 4 different kinds of actors:
i) Patient (P): Person to be transported.
ii) Ambulance (A): Actor to deliver Patient.
iii) Location (L): Place for Patient to be delivered from.</p>
      <p>iv) Hospital (H): Place for Patient to be delivered to.
2) Interactions: There are 6 kinds of interactions:
i) a1 = &lt;A, L&gt;: Ambulance goes to Location
ii) a2 = &lt;P, A&gt;: Patient gets on Ambulance.
In this step, all the collective behaviors are defined as a sequence of interactions from
Step 1. In order to quantify the behaviors, all behaviors are divided into two kinds of
behaviors: the one with one main actor and the others with other actors. In the other
words, there are different views by different actors. For example, in EMS there are
four kind of actors, represented as B(L, A, H, P). Then, there are two types of
behaviors for Ambulance as a main actor, represented as B(n, 1, n, n) for 1 Ambulance and
B(n, n, n, n) for n Ambulances.</p>
      <p>There are total 9 behaviors possible for EMS, defined in regular expression as follows:
1) B1  a1, a2,a3,a4,a5 : An Ambulance goes to a Place, gets a Patient on, goes to a</p>
      <p>Hospital, and gets the Patient off, who goes into the Hospital.
2) B2  a1, a2, a3, a4, a5  : A repeating behavior of B1.
3) B3  a1, a2  , a3, a4, a5   : An Ambulance goes to a Place, gets Patients on,
4) B4  a1, a2  , a3, a4, a5   : An Ambulance goes to a Place, gets Patients on,
and goes to Hospitals to get some of the Patients off until all the Patients off,
each group of who goes into the Hospital. And it repeats itself.
5) B5  a1, a2  , a3, a4, a5  | a3, a4, a5   : A repeating behavior of B3 and B4,
that is, B1 through B4.
6) B6  a1, a2  , a3, a4, a5   : An Ambulance goes to Places to get Patients on,
8) B8  a1, a2  , a3, a4, a5  | a3, a4, a5   : A repeating behavior of B6 and B7, that
The next step is to abstract the regular behaviors from Step 2. The abstraction is based
on the number of main actors and the numbers of actors collaborating with their
degree of interactions. Formally Abstract Behavior is the behavior that has been
quantitatively abstracted with respect to cardinality and capacity of actors. The cardinality
implies the number of actors involved in behavior, and the capacity does the number
of possible interactions among the actors. The behavior is denoted by B(c1 , ,cn ) ,
where each c is an actor, cxp1, , px , where x and p1, , px are the cardinality and
capacity of c.</p>
      <p>For EMS, the behaviors for 1 Ambulance from Step 2 can be abstracted as follows:
1) B1  B1  P11 , A11 , H11 
2) B2  B2  Pix1, ,xi , A11 , H kz1, ,zk 
3) B3  B3  P1x , A1y , H1z 
4) B4  B4  P1x , A1y , H k11, ,1k 
5) B5  B5  P1x , A1y , H kz1, ,zk 
6) B6  B6  P1i1, ,1i , A1y , H1k 
7) B7  B6  P1i1, ,1i , A1 , H k11, ,1k </p>
      <p>1
8) B8  B8  P1i1, ,1i , A1y , H kz1, ,zk 
9) B9  B8  Pix1, ,xi , A1y , H kz1, ,zk 
Further, abstract behaviors for n Ambulances can be defined as follows:</p>
    </sec>
    <sec id="sec-3">
      <title>Interpretation by Projection</title>
      <p>
        This section shows how a system in a domain can be interpreted for its collective
behavior with respect to the behavior ontology of the domain. Here a smart IoT for
EMS has been designed as an example, as Fig. 6 shows with a code for the example in
δ-Calculus [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], which is a process algebra to specify the movements of business
processes in real-time environments with the special notion of movements over a
conceptual geographical space. All the interactions among processes in the system are
automatically handled by the notion of IoT.
4.1
      </p>
      <p>SAVE
1) Patient ( P15,1,1,1,4 ): 8 Patient Objects in 5 Places with the capacity of 1, 1, 1, 1, 4.</p>
      <p>3
2) Ambulance ( A1,1,3 ): 3 Ambulance with capacity of 1, 1, 3.</p>
      <p>3) Hospital ( H 33,3,5 ): 3 Hospitals with capacity of 3, 3, 5.</p>
      <p>Here, B(P15,1,1,1,4 , A31,1,3 , H 53,3,5 ) can be interpreted as an abstract behavior that 5
groups of Patients with capacities of 1, 1, 1, 1 and 4 are to be delivered by 3
Ambulances with capacities of 1, 1 and 3 to 3 Hospitals with capacity of 3, 3, and 5.
B2.2 P13,1,1 , AB1 , H 31,1,1   B1.3 P11 , AB1 , H11 , B1.4 P11 , AB1 , H11 , B1.5 P11 , AB1 , H11 
This paper presented the PRISM tool, developed on the ADOxx Meta-Modeling
Platform, for a new method for knowledge engineering to model collective behaviours of
systems, based on Behavior Ontology. PRISM showed an innovative approach for
meta-modeling of domain knowledge and demonstrated the efficiency and
effectiveness of the approach for implementation and feasibility as a tool. The future research
includes developing other domain knowledge and their composition, as well as
developing an open model tool for PRISM on ADOxx.</p>
    </sec>
    <sec id="sec-4">
      <title>Acknowledgment</title>
      <p>This work was supported by Basic Science Research Programs through Space Core
Technology Development Program through the NRF (National Research Foundation
of Korea) funded by the Ministry of Science, ICT and Future Planning
(NRF2014M1A3A3A02034792), and Basic Science Research Program through NRF
funded by the Ministry of Education (NRF-2015R1D1A3A01019282).</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>W.</given-names>
            <surname>Choi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Choe</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Lee</surname>
          </string-name>
          .
          <article-title>A Reduction Method for Process and System Complexity with Conjunctive and Complement Choices in a Process Algebra</article-title>
          .
          <source>Proceedings of 39th IEEE COMPSAC/MVDM. July</source>
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>Longbing</given-names>
            <surname>Cao</surname>
          </string-name>
          ,
          <string-name>
            <surname>Philip</surname>
            <given-names>S.</given-names>
          </string-name>
          <string-name>
            <surname>Yu</surname>
          </string-name>
          . Edited, Behavior Computing: Modeling, Analysis,
          <source>Mining and Decision</source>
          . Springer,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>S.</given-names>
            <surname>Woo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>On</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Lee</surname>
          </string-name>
          .
          <article-title>An Abstraction Method for Mobility, and Interaction in Process Algebra Using Behavior Ontology. 37th IEEE COMPSAC</article-title>
          .
          <year>July 2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>W.</given-names>
            <surname>Xing</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            <surname>Corcho</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Goble</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Dikaiakos</surname>
          </string-name>
          .
          <article-title>Active Ontology: An Information Integration Approach for Highly Dynamic Information Sources</article-title>
          .
          <source>Europe Semantic Web Conference</source>
          <year>2007</year>
          (
          <article-title>ESWC-</article-title>
          <year>2007</year>
          ), Innsbruck, Austria.
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>Y.</given-names>
            <surname>Choe</surname>
          </string-name>
          and
          <string-name>
            <given-names>M.</given-names>
            <surname>Lee</surname>
          </string-name>
          .
          <article-title>A Lattice Model to Verify Behavioral Equivalence</article-title>
          .
          <source>UKSim-AMSS 8th European Modelling Symposium. Oct</source>
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>Y.</given-names>
            <surname>Choe</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Choi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Jeon</surname>
          </string-name>
          and
          <string-name>
            <given-names>M.</given-names>
            <surname>Lee</surname>
          </string-name>
          .
          <article-title>A Tool for Visual Specification and Verification for Secure Process Movements</article-title>
          .
          <source>eChallenges e-2015. November</source>
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>Y.</given-names>
            <surname>Choe</surname>
          </string-name>
          and
          <string-name>
            <given-names>M.</given-names>
            <surname>Lee.</surname>
          </string-name>
          δ-Calculus:
          <article-title>Process Algebra to Model Secure Movements of Distributed Mobile Processes in Real-Time Business Application</article-title>
          .
          <source>23rd European Conference on Information Systems. April</source>
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>S.</given-names>
            <surname>Lee</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Choe</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Lee</surname>
          </string-name>
          .
          <article-title>A Dual Method to Model IoT Systems</article-title>
          .
          <source>International Journal of Mathematical Models and Methods in Applied Sciences. May</source>
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>9. http://austria.omilab.org/psm/exploreprojects?param=explore</mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>