Modeling Method to Abstract Collective Behavior of Smart IoT Systems in CPS
Abstract
:1. Introduction
- dTP-Calculus: This process algebra can represent the smart behavior of IoTs in the systems with non-deterministic choice operation based on probability.
- n:2-Lattice: This lattice has two special join and meet operations to handle the state explosion problem caused by the interactions of IoTs in the systems.
- (1)
- Phase I: Collective Behavior Modeling for Behavior Ontology with PRISM.The top box of Figure 2 shows the overview of the approach with PRISM, consisting of the following steps:
- (i)
- Step 1: Active Ontology [10] is used to construct a class hierarchy of a domain, where all the actors in the domain, including their interactions, are depicted as classes and relations, respectively.
- (ii)
- Step 2: Regular expression is used to define all the collective behaviors of the domain, where each behavior is depicted as a sequence of interactions between actors. Further, their inclusion relations allow the organization of a hierarchical order, which forms a special lattice, namely, n:2-Lattice.
- (iii)
- Step 3: The behaviors are abstracted quantifiably with the notions of the cardinality and capacity of the actors.
- (iv)
- Step 4: Finally, a behavior ontology is defined by merging the n:2-Lattices into one single integrated lattice, based on common actors with the notion of the consistent quantification, for the domain.
- (2)
- The bottom box of Figure 2 shows the specification and simulation method for a system with dTP-calculus, which are realized on the ADOxx Meta-Modeling Platform [9] as a tool, namely, SAVE, as follows:
- (i)
- Step 1: Each IoT in the system is specified with dTP-Calculus for its operational requirements.
- (ii)
- Step 2: Each IoT in the system is simulated, and its output is generated.
- (iii)
- Step 3: Each abstract behavior instance is extracted from the output.
- (3)
- Phase III: Behavior Projection and Interpretation on Behavior Ontology with PRISM.The right box of Figure 2 shows that the behavior instances of the system can be projected to the behavior ontology for the system and interpreted for their collective behaviors in the patterns of the lattice after restructuring the regular behaviors into the abstract ones in the following steps:
- (i)
- Step 1: Each abstract behavior instance is projected to Behavior Ontology.
- (ii)
- Step 2: The requirements for collective behavior instances are interpreted and verified.
2. Related-Works
2.1. Smart IoT and Process Algebra
- (1)
- pCCPS: It is a process algebra with non-deterministic choice operation based on discrete probability distribution only for CPS, whose definition is based on probabilistic labelled transition semantics (pLTS) [24]. Other probabilistic distributions are not defined yet.
- (2)
- PALOMA: Is another process algebra with choice operations based on exponential probability distribution to determine the location of a mobile agent [25]. Other probabilistic distributions are not yet defined.
2.2. State Explostion Problem and Abtraction
- (1)
- Hierarchical approach: the flat level of the states of the process is hierarchically organized [27];
- (2)
- Grouping approach: A number of related states in the process are grouped together into a single abstract state at the time of composition [28];
- (3)
- Contextual Simplification: A set of specification contexts are abstracted into a single functional context [29].
- (1)
- Cardinality: It implies the composition patterns with respect to the number of actors for behaviors in the system;
- (2)
- Capacity: It implies the composition instances for the cardinality patterns.
3. Phase I: Collective Behavior Modeling for Behavior Ontology
3.1. Theory: n:2-Lattice
- (1)
- There exist more than one joins between a, b in Set {a, b}. That is, no least upper bound exists.
- (2)
- There exist more than one meets between a, b in Set {a, b}. That is, no greatest upper bound exists.
3.2. Theory: Smart EMS Example
3.2.1. Step 1: Active Ontology
- Classes:
- (i)
- Smart EMS System Domain (EMS): Smart EMS System Domain, that is, EMS is the top-most class. It contains Ambulance (A), Patient (P), and Place (PL) as subclasses.
- (ii)
- Patient (P): Patient, that is, P, is a class that is transported to Hospital (H) by Ambulance (A).
- (iii)
- Ambulance (A): Ambulance, that is, A, is a class that transports Patient (P) to Hospital(H).
- (iv)
- Place (PL): Place, that is, PL, is a class that contains Location (A) and Hospital (H) as subclasses.
- (v)
- Location (L): Location, that is, L, a class that denotes the place where Patient (P) is at the beginning.
- (vi)
- Hospital (H): Hospital, that is, H, is a class that denotes the place where Patient (P) will be at the end.
- Interactions:
- (i)
- a1 = <A, L>: a1 is a movement action that Ambulance (A) drives to Location (L). It implies that the ambulance drives to the place where the patient is after receiving an emergency call from the patient.
- (ii)
- a2 = <P, A>: a2 is a movement, that is, take-on, action that Patient (P) performs onto Ambulance (A). It implies that the patient takes on the ambulance in order to go to the specific hospital.
- (iii)
- a3 = <A, H>: a3 is a movement that Ambulance (A) drives to Hospital (H). It implies that the ambulance drives to the hospital to transport the patient to the hospital.
- (iv)
- a4 = <A, P>: a4 is a movement, that is, take-off, action that Patient (P) performs off Ambulance(A). It implies that the patient takes off the ambulance at the hospital.
- (v)
- a5 = <P, H>: a5 is a movement action that Patient (P) moves into Hospital (H). It implies that the patient is now registered in the hospital for treatment.
3.2.2. Step 2: Regular Behaviors
- (1)
- : An Ambulance drives to a Location (a1). a Patient at the Location takes on the Ambulance (a2). The Ambulance drives to a Hospital (a3). The Patient takes off the Ambulance (a4). The Patient is registered to the Hospital (a5).
- (2)
- : An Ambulance performs the behavior B1 repeatedly.
- (3)
- : An Ambulance drives to a Location (a1). A number of Patients at the Location take on the Ambulance (). The Ambulance drives to a Hospital (a3). Each patient on the Ambulance takes off the Ambulance and is registered to the Hospital (). The Ambulance performs this behavior repeatedly.
- (4)
- : An Ambulance drives to a Location (a1). A number of Patients at the Location take on the Ambulance (). An Ambulance drives to each Hospital for each Patient, and the patient in the Ambulance takes off the Ambulance and is registered in the Hospital (). The Ambulance performs this behavior repeatedly.
- (5)
- : An Ambulance performs Behavior B3 or B4 repeatedly.
- (6)
- : An Ambulance drives to a number of Locations for multiple Patients (). The Ambulance drives to a Hospital (a3). Each patient in the Ambulance takes off from the Ambulance and is registered in the Hospital (). The Ambulance performs this behavior repeatedly.
- (7)
- : An Ambulance drives to a number of Locations for multiple Patients (). An Ambulance drives to each Hospital for each Patient, and the patient in the Ambulance takes off from the Ambulance and is registered in the Hospital (). The Ambulance performs this behavior repeatedly.
- (8)
- : An Ambulance performs Behavior B6 or B7 repeatedly.
- (9)
- : An Ambulance performs Behavior B5 or B8 repeatedly.
3.2.3. Step 3: Abstract Behaviors
- (1)
- (2)
- (3)
- (4)
- (5)
- (6)
- (7)
- (8)
- (9)
- (1)
- (2)
- (3)
- (4)
3.2.4. Step 4: Behavior Lattice (BL) and Behavior Ontology (BO)
4. Phase II: Behavior Instance Extraction
4.1. Theory: dTP-Calculus
4.1.1. Main Characteristics
Mobility
- (1)
- The movement mode: The mode is determined by the autonomy or heteronomy of the movement as follows:
- (i)
- Active movements: The movements that a process performs autonomously.
- (ii)
- Passive movements: The movements that a process is performed heteronomously by other processes.
- (2)
- The movement direction: The direction is determined by the target of the movement to or from a process:
- (i)
- Move-in direction: The direction that a process moves into another process area.
- (ii)
- Move-out direction: The direction that a process moves out of another process area.
Synchronization
Priority
Time
- (1)
- Ready Time: The minimum time needed for a process to prepare for an action.
- (2)
- Timeout: The maximum time needed for a process to prepare for an action.
- (3)
- Execution Time: The time needed for a process to perform an action itself.
- (4)
- Deadline: The time for a process to terminate an action including its ready time.
- (5)
- Period: The temporal period in which a process repeats an action.
Probability
- (1)
- Discrete distribution;
- (2)
- Normal distribution;
- (3)
- Exponential distribution;
- (4)
- Uniform distribution.
4.1.2. Syntax
- (1)
- Action: It denotes an operation performed by a process. There are four different types of action: null (Empty), communication (Send/Receive), movement (Movement), and control (Control).
- (2)
- Timed action: It is an action with the properties of ready time(r), timeout(to), execution time(e), and deadline(d). A detailed description of the properties is presented in Section Time. The types of Timed Action are the same as those of the actions in (1).
- (3)
- Timed process: It is a process with the same properties as Timed Action in (2).
- (4)
- Priority: It denotes the priority of a process. It is represented with a natural number. The higher value represents the higher priority, with the exception that 0 represents the highest priority.
- (5)
- Nesting: It denotes the inclusion relations among processes.
- (6)
- Channel: It denotes the communication channels between processes, which allow synchronization for communication.
- (7)
- Choice: It denotes the non-deterministic selection operation of actions or processes.
- (8)
- Probabilistic choice: It is the choice operation in (7) that is defined probabilistically, based on the following four probabilistic distribution models:
- (i)
- Discrete Distribution (D): For discrete distribution, the probability is directly specified in the condition. For example, 0.7 and 0.3 are directly specified at P and Q, respectively, for the following probabilistic choice:
- (ii)
- Normal Distribution (): It is specified with the values of and . For example, 50 and 5 are specified for and , respectively, for the following probabilistic choice:
- (iii)
- Exponential Distribution (): It is specified with the value of . For example, 0.33 is specified for for the following probabilistic choice:
- (iv)
- Uniform Distribution (): It is specified with the lower and upper bound values of and . For example, 3 and 7 are specified for and , respectively, for the following probabilistic choice:
- (9)
- Parallel: It denotes that the multiple processes are running simultaneously.
- (10)
- Exception: It is the operation that is defined to handle an exception.
- (11)
- Sequence: It denotes an array of actions in a process, representing the basic patterns of actions in the process.
- (12)
- Empty: It denotes a null action, representing an idle process.
- (13)
- Send/Receive: It denotes a part of the paired communication actions, that is, sending or receiving, between two processes, based on synchronization.
- (14)
- Movement request: It denotes a request action for the synchronous movement among processes.
- (15)
- Movement permission: It denotes a permission action for the synchronous movement among processes.
- (16)
- Create process: It denotes a control action of a process to create its new child process inside itself.
- (17)
- Kill process: It denotes a control action of a process to terminate one of its internal processes with a lower priority.
- (18)
- Exit process: It denotes a control action for a process to terminate itself.
4.1.3. Semantics
- (1)
- Sequence: Defines that the proper execution of Action makes the transition of to , without any premise and side condition.
- (2)
- Choice: ChoiceL and ChoiceR define that or is selected for execution without any premise and side condition.
- (3)
- Probability Choice: It defines that Choice is performed probabilistically with a given premise and a side condition. For example, implies that the probabilities for Actions , , and are 70%, 10%, and 20%, respectively.
- (4)
- Com: It defines the synchronous communication between and on a channel with the conditions of and . The Send action is defined by a message with overline () and the Receive action is defined by a message without overline (). Synchronous communication is represented by the action.
- (5)
- Parallel: ParallelL and ParallelR define that the two processes, and , are independent of each other and are executed in parallel. However, if they are dependent, the ParallelCom Com rule should be applied. It defines that if the two processes, and , are synchronous actions, their action can occur synchronously in parallel, not affecting other processes.
- (6)
- Nesting: NestingO and NestingI define that the transition of or does not affect the nested relation between and . However, if there are synchronous actions between and , the actions will affect both processes by their parallel synchronous transition as NestingCom. Note that the synchronous action between and is denoted by the action.
- (7)
- In, Out, Get, and Put: In and Get are the moving-in actions of a process into another process, autonomously and heteronomously, respectively, and Out and Put are the moving-out actions of a process out of another process, autonomously and heteronomously, respectively. These actions are performed synchronously, meaning that the movement actions must be approved by the target process for both the moving-in and moving-out actions. Such synchronous movement actions are represented by action. Note that In and Out are active, and Get and Put are passive.
- (8)
- InP, OutP, GetP, and PutP: These rules are for asynchronous movements, represented by priorities. For example, if the process with a higher priority requests a movement to another process with a lower priority, there is no need to recieve permission from the other process. These rules can be used to handle some exceptional cases in emergency situations.
- (9)
- TickTimeR: It defines the elapsed local time in a process by decrementing the ready time and the deadline of an action by a time unit with .
- (10)
- TickTimeTO: It defines the elapsed local time in a process by decrementing the timeout and the deadline of an action by a time unit with after the ready time is completed in a condition where the synchronous partner process is not ready.
- (11)
- TickTimeSyncE: It defines the elapsed execution time for the synchronous action. If two synchronous actions and are ready, two actions are performed synchronously, and the execution time and the deadline of the actions are decremented by a time unit with .
- (12)
- TickTimeAsyncE: It defines the elapsed execution time for the asynchronous action. Since the asynchronous does not require to wait for its timeout, , it is possible to proceed to its execution just after its ready time, . After that, its execution time, , and deadline, , are decremented by a time unit with .
- (13)
- TickTimeEnd: It defines the termination of the action by completing its execution time . Note that implies the elapsed time unit.
- (14)
- Timeout: It defines the state of Timeout error at the time when Timeout(to) becomes 0 by the elapsed time unit with , which implies a system fault. If an exception handler is defined and the action with the fault is terminated, the handler after the exception operator () is executed. Note that Process is still valid.
- (15)
- Deadline: Similar to Timeout, defines the state of Deadline error at the time when Deadline(d) becomes 0 by the elapsed time unit with , which implies a system fault. If an exception handler is defined, the action with the fault is terminated and the handler process after the exception operator () is executed. Process is still valid.
- (16)
- Period: It defines the periodic repetition of Action . In Period, Action executes itself in the period time. It means that the value of will be decremented by 1 after each .
- (17)
- Period End: It defines the termination of the periodic repetition of Action . Since the value of is 0, Action will not repeat itself any more after the elapsed unit period, .
4.2. Smart IoT Example
- Patient: There is a total of eight Patients in the example: Each Patient is in Houses A, B, C, and D, respectively, and the other four Patients are in School E.
- Ambulance: There is a total of three Ambulances (A, B, and C) in the example.
- Place: There is a total of four Houses (A, B, C, and D) and one School(E) in the example.
- Hospital: There is a total of three Hospitals (A, B, and C) in the example.
4.2.1. Step 1: Specification with dTP-Calculus
- • Control System:
- CS.
- • 911 Center:
- 911.
- • Hospitals:
- HospitalA, HospitalB, HospitalC.
- • Ambulances:
- AmbA, AmbB, AmbC.
- • Places:
- HouseA, HouseB, HouseC, HouseD, School.
- • Patients:
- PHBP1, PHBP2, PHBP3, PHD1, PHD2, PHD3, PFP1, PFP2.
4.2.2. Step 2: Simulation
4.2.3. Step 3: Extraction of Abstract Behavior Instances
- Cardinality: The number of actors in an abstract behavior.
- Capacity: The possible number of other actors held by each actor in cardinality.
- Level 1:
- Level 2:
- Level 3:
- (1)
- (2)
- (3)
- (4)
- (5)
- (6)
- Ambulance A drives to House A (a1).
- Patient A takes on Ambulance A (a2).
- Ambulance A drives to Hospital A (a3).
- Patient A takes off Ambulance A (a4).
- Patient A is registered to Hospital A (a5).
- (1)
- (2)
- (3)
- (1)
5. Phase III: Behavior Projection and Interpretation on Behavior Ontology with PRISM
5.1. Projection of Behavior Instances to Behavior Ontology
5.2. Interpretations for Equivalences
- (1)
- Strong equivalences:
- (2)
- Weak equivalences:
- (i)
- ;
- (ii)
- (The above 1. iii) ;
- (iii)
- ;
- (iv)
- (The above 1. iv) .
5.3. Future Research for Probable Similarity
6. Proof of Concepts
6.1. The PRISM Tool
- (1)
- ADOxx Platform: ADOxx is the platform supporting the meta-modeling method to implement the modeling language, mechanisms, and algorithms of PRISM. In terms of PRISM, ADOxx can be classified into the following sub-layers:
- (i)
- First Sub-Layer: It consists of pre-defined functions to develop the PRISM modeling tool. The functions are used to implement the basic modeling language, mechanisms, and algorithms of the modeling tool.
- (ii)
- Second Sub-Layer: It consists of APIs provided by ADOxx. APIs are provoked by the ADOScripts language and used to implement the extended functions, that is, user-defined functions of the modeling tool.
- (iii)
- Third Sub-Layer: It consists of the ADOxx repository to store the products produced by the modeling tool, as well as the functions to export and import the products to/from external supporting systems.
- (2)
- PRISM Components: PRISM provides all the functions to model and analyze the behaviors stated in the steps in Section 3 and is supported by the following components:
- (i)
- Regular Behavior Generator (RBG): RBG is used to construct the regular behaviors based on Active Ontology. The RB model is generated as a result.
- (ii)
- Abstract Behavior Generator (ABG): ABG is used to construct the abstract behaviors based on the RB model produced from the above (i). The AB model is generated at the end.
- (iii)
- Behavior Lattice Generator (BLG): BLG is used to construct the behavior lattice based on the AB model produced from the above (ii). The BL model is generated at the end.
- (iv)
- Behavior Lattice Merger (BLM): BLM is used to construct one behavior lattice integrated from the BL models of the two different systems. Note that integration is only possible when the two different BL models have a common main actor.
- (v)
- Behavior Interpreter (BI): BI is used to project the collective behavior patterns of the selected domain onto the BL mode produced above (iii). The iBL model is generated at the end. In order to utilize BI, it is necessary to collect the behavior data of the selected system domain example from the SAVE tool.
- (3)
- PRISM Modelers: PRISM Modelers consist of the products produced by the PRISM tool:
- (i)
- Class Diagram (CD): The CD model is the model designed for the hierarchical structure of the classes in the system domain.
- (ii)
- Active Diagram (AD): The AD model is the model designed for the actions among the classes in the CD model from (1). Active ontology is constructed at the end.
- (iii)
- Regular Behavior (RB): The RB model consists of the regular behaviors generated from the AD model.
- (iv)
- Abstract Behavior (AB): The AB model consists of abstract behaviors generated from the RB model.
- (v)
- Behavior Lattice (BL): The BL model is generated from the AB model. The inclusion relations among abstract behaviors can be found in the model.
- (vi)
- Merged Lattice of Behavior Lattices (mLBL): The mLBL model is constructed from two different BL models.
- (vii)
- Interpreted Behavior Lattice (iBL): The iBL model is generated from the BL model. This model allows the extraction of the collective behavior patterns of the example from the selected system domain.
6.2. The SAVE Tool
- (1)
- Specifier: Is the modeling tool to specify the operational requirements of a system by using the graphic notations of dTP-Calculus. It consists of In-the-Large (ITL) and In-the-Small (ITS) modelers. ITL is the model to specify the system view consisting of processes and their inclusion relations, including communication channels, in a conceptual geographical space. It represents a process as a node, as well as inclusion relations. In addition, the channels, represented as arcs, are connecting processes for communication. ITS is the model to specify the process view consisting of the actions, communications, and movements of a process. ITS represents a process as a Process Lane, which consists of blocks of the actions, communications, and movements of the process. The specifier generates ITL and ITS models. The details are presented in [6,7].
- (2)
- Analyzer: It is the tool that simulates the execution paths generated using the ITL and ITS models from (1). As a result, an execution model is generated automatically. It analyzes all of the execution paths of the simulation model, and it represents the simulation results of each execution path pictorially. The details are presented in [6,7].
- (3)
- Verifier: It is the tool to verify the safety and security requirements of a system from the simulation results from (2). As a result, the geo-temporal space (GTS) model is generated. The GTS model represents the simulation results of all the actions and movements of the processes pictorially in a two-dimensional space. The details are presented in [6,7].
6.3. Smart EMS Example
6.3.1. Phase I with PRISM
6.3.2. Phase II with SAVE
6.3.3. Phase III with PRISM
7. Conclusions and Future Research
- (1)
- Phase 1: Each behavior of the IoT Systems Domain was defined as a sequence of the interactions and/or movements of a group of the IoTs in the systems with respect to each type of IoT. Since interactions and movements among the behaviors were overlapped, the behaviors were organized in a lattice structure called n:2-Lattice, which has the special properties of multiple joins and meets. Further, the lattice could be interpreted with respect to the cardinalities of the types of IoTs, and it was possible to construct a type-oriented knowledge architecture for all the possible collective behavior of the IoT systems.
- (2)
- Phase 2: An IoT Example from the IoT Systems Domain was modeled with dTP-Calculus, where all the actions of each IoT in the example were defined as the interactions and movements of processes with dTP-Calculus.
- (3)
- Phase 3: The output of the simulation was abstracted and projected to the Behavior Ontology of the domain.
Author Contributions
Funding
Institutional Review Board Statement
Informed Consent Statement
Data Availability Statement
Conflicts of Interest
References
- Yu, W.; Dillon, T.; Mostafa, F.; Rahayu, W.; Liu, Y. Implementation of industrial cyber physical system: Challenges and solutions. In Proceedings of the 2019 IEEE International Conference on Industrial Cyber Physical Systems (ICPS), Taipei, Taiwan, 6–9 May 2019; pp. 173–178. [Google Scholar] [CrossRef]
- Freund, L.; Al-Majeed, S. Modelling industrial iot system complexity. In Proceedings of the 2020 International Conference on Innovation and Intelligence for Informatics, Computing and Technologies (3ICT), Sakheer, Bahrain, 20–21 December 2020; pp. 1–5. [Google Scholar] [CrossRef]
- Haxthausen, A.E.; Peleska, J. Formal development and verification of a distributed railway control system. IEEE Trans. Softw. Eng. 2000, 26, 687–701. [Google Scholar] [CrossRef] [Green Version]
- Clarke, E.M.; Klieber, W.; Nováček, M.; Zuliani, P. Model checking and the state explosion problem. In LASER Summer School on Software Engineering; Springer: Berlin/Heidelberg, Germany, 2011; pp. 1–30. [Google Scholar] [CrossRef]
- Lee, S.; Song, J.; Karagiannis, D.; Lee, M. Analysis Method for Probabilistic Verification for Smart IoT Systems with Process Algebra. In Proceedings of the 2021 IEEE International Conference on Smart Internet of Things (SmartIoT), Jeju Island, South Korea, 13–15 August 2021; pp. 221–228. [Google Scholar] [CrossRef]
- Song, J.; Lee, M. Process Algebra to Control Nondeterministic Behavior of Enterprise Smart IoT Systems with Probability. In Proceedings of the IFIP Working Conference on The Practice of Enterprise Modeling, Luxembourg, 27–29 November 2019; Springer: Cham, Switzerland, 2019; pp. 184–196. [Google Scholar] [CrossRef]
- Song, J.; Choe, Y.; Lee, M. Application of probabilistic process model for smart factory systems. In Proceedings of the International Conference on Knowledge Science, Engineering and Management, Athens, Greece, 28–30 August 2019; Springer: Cham, Switzerland, 2019; pp. 25–36. [Google Scholar] [CrossRef]
- Choe, Y.; Lee, M. A Lattice Model to Verify Behavioral Equivalences. In Proceedings of the 2014 European Modelling Symposium, Pisa, Italy, 21–23 October 2014; pp. 378–386. [Google Scholar] [CrossRef]
- Fill, H.G.; Karagiannis, D. On the conceptualisation of modelling methods using the ADOxx meta modelling platform. Enterp. Model. Inf. Syst. Archit. 2013, 8, 4–25. [Google Scholar] [CrossRef]
- Song, J.; Lee, M. A Composition Method to Model Collective Behavior. In Proceedings of the IFIP Working Conference on The Practice of Enterprise Modeling, Vienna, Austria, 31 October–2 November 2018; Springer: Cham, Switzerland, 2018; pp. 121–137. [Google Scholar] [CrossRef]
- Choe, Y.; Lee, M. Algebraic method to model secure IoT. In Domain-Specific Conceptual Modeling; Springer: Cham, Switzerland, 2016; pp. 335–355. [Google Scholar] [CrossRef]
- Choi, W.; Choe, Y.; Lee, M. A reduction method for process and system complexity with conjunctive and complement choices in a process algebra. In Proceedings of the 2015 IEEE 39th Annual Computer Software and Applications Conference, Taichung Taiwan, 1–5 July 2015; Volume 3, pp. 381–386. [Google Scholar] [CrossRef]
- Clarke, E.M.; Emerson, E.A.; Sifakis, J. Model checking: Algorithmic verification and debugging. Commun. ACM 2009, 52, 74–84. [Google Scholar] [CrossRef]
- Yeh, W.J.; Young, M. Compositional reachability analysis using process algebra. In Proceedings of the symposium on Testing, analysis, and verification, Victoria, BC, Canada, 8–10 October 1991; pp. 49–59. [Google Scholar] [CrossRef]
- Chen, T.; Chilton, C.; Jonsson, B.; Kwiatkowska, M. A compositional specification theory for component behaviours. In Proceedings of the European Symposium on Programming, Tallinn, Estonia, 24 March–1 April 2012; Springer: Berlin/Heidelberg, Germany, 2012; pp. 148–168. [Google Scholar] [CrossRef]
- Raju, S.C. An Automatic Verification Technique for Communicating Real-Time State Machines; Technical Report 93–04-08; Univ. of Washington: Seattle, DC, USA, 1993. [Google Scholar]
- Bouguettaya, A.; Sheng, Q.Z.; Benatallah, B.; Neiat, A.G.; Mistry, S.; Ghose, A.; Yao, L. An internet of things service roadmap. Commun. ACM 2021, 64, 86–95. [Google Scholar] [CrossRef]
- Zhang, W.E.; Sheng, Q.Z.; Mahmood, A.; Zaib, M.; Hamad, S.A.; Aljubairy, A.; Ma, C. The 10 research topics in the Internet of Things. In Proceedings of the 2020 IEEE 6th International Conference on Collaboration and Internet Computing (CIC), Atlanta, GA, USA, 1–3 December 2020; pp. 34–43. [Google Scholar] [CrossRef]
- International Telecommunication Union. Internet of Things: IoT Day Special; LexInnova Technologies, LLC: Houston, TX, USA, 2005; Volume 7. [Google Scholar]
- Evans, D. The Internet of Things: How the Next Evolution of the Internet is Changing Everything; CISCO White Paper; CISCO: San Jose, CA, USA, 2011. [Google Scholar]
- Gartner. Gartner’s 2009 Hype Cycle Special Report Evaluates Maturity of 1,650 Technologies; Gartner Research: Stamford, CT, USA, 2009; Available online: https://www.gartner.com/en/documents/1108412 (accessed on 15 June 2022).
- Hansson, H.; Jonsson, B. A calculus for communicating systems with time and probabilities. In Proceedings of the 11th Real-Time Systems Symposium, Lake Buena Vista, FL, USA, 5–7 December 1990; pp. 278–287. [Google Scholar] [CrossRef]
- Lee, I.; Philippou, A.; Sokolsky, O. Resources in process algebra. J. Log. Algebraic Program. 2007, 72, 98–122. [Google Scholar] [CrossRef] [Green Version]
- Lanotte, R.; Merro, M.; Tini, S. A probabilistic calculus of cyber-physical systems. Inf. Comput. 2021, 279, 104618. [Google Scholar] [CrossRef]
- Feng, C.; Hillston, J. PALOMA: A process algebra for located markovian agents. In Proceedings of the International Conference on Quantitative Evaluation of Systems, Florence, Italy, 8–10 September 2014; Springer: Cham, Switzerland, 2014; pp. 265–280. [Google Scholar] [CrossRef] [Green Version]
- Valmari, A. The state explosion problem. In Advanced Course on Petri Nets; Springer: Berlin/Heidelberg, Germany, 1996; pp. 429–528. [Google Scholar] [CrossRef]
- Aslansefat, K.; Latif-Shabgahi, G.R. A hierarchical approach for dynamic fault trees solution through semi-Markov process. IEEE Trans. Reliab. 2019, 69, 986–1003. [Google Scholar] [CrossRef]
- Xu, C.; Su, J.; Chen, S. Exploring efficient grouping algorithms in regular expression matching. PLoS ONE 2018, 13, e0206068. [Google Scholar] [CrossRef] [PubMed]
- Hillston, J.; Marin, A.; Rossi, S.; Piazza, C. Contextual lumpability. In Proceedings of the 7th International Conference on Performance Evaluation Methodologies and Tools, Torino, Italy, 10–12 December 2013; pp. 194–203. [Google Scholar] [CrossRef] [Green Version]
- Kwon, G. Relay reachability algorithm for exploring huge state space. Electron. Notes Theor. Comput. Sci. 2006, 149, 19–31. [Google Scholar] [CrossRef] [Green Version]
- Ihaka, R.; Gentleman, R. R: A language for data analysis and graphics. J. Comput. Graph. Stat. 1996, 5, 299–314. [Google Scholar]
- Spector, P. An Introduction to the SAS system; Department of Statistics, University of California: Berkeley, CA, USA, 2003; Available online: http://www.stat.berkeley.edu/classes/s100/sas.pdf (accessed on 15 May 2022).
- OMiLAB Hompage. Available online: https://austria.omilab.org/psm/tools (accessed on 10 April 2022).
PCCS | PACSR | pCCPS | PALOMA | dTP-Calculus | |
---|---|---|---|---|---|
Distributivity | No | No | N/A | Agent | Geo-Space |
Communication | τ-action | τ-action | τ-action | N/A | τ-action Synch Asyncho |
Mobility | N/A | N/A | N/A | Agent | λ-action Active Passive |
Real-Time | N/A | N/A | Time | N/A | Time |
Probability | Conditional | Conditional | Discrete Distribution | Exponential Distribution | Discrete, Normal, Exponential, Uniform Distributions |
Mode | Active | Passive | |
---|---|---|---|
Direction | |||
Move-in | In | Get | |
Move-out | Out | Put |
No | Name | Transition Rules |
---|---|---|
(1) | Sequence | |
(2) | ChoiceL | |
ChoiceR | ||
(3) | Probability Choice | |
(4) | Com | |
(5) | ParallelL | |
ParallelR | ||
ParallelCom | ||
(6) | NestingO | |
NestingI | ||
NestingCom | ||
(7) | In | |
Out | ||
Get | ||
Put | ||
(8) | InP | |
OutP | ||
GetP | ||
PutP | ||
(9) | TickTimeR | |
(10) | TickTimeTO | |
(11) | TickTimeSyncE | |
(12) | TickTimeAsyncE | |
(13) | TickTimeEnd | |
(14) | Timeout | |
(15) | Deadline | |
(16) | Period | |
(17) | Period End |
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |
© 2022 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Song, J.; Karagiannis, D.; Lee, M. Modeling Method to Abstract Collective Behavior of Smart IoT Systems in CPS. Sensors 2022, 22, 5057. https://doi.org/10.3390/s22135057
Song J, Karagiannis D, Lee M. Modeling Method to Abstract Collective Behavior of Smart IoT Systems in CPS. Sensors. 2022; 22(13):5057. https://doi.org/10.3390/s22135057
Chicago/Turabian StyleSong, Junsup, Dimitris Karagiannis, and Moonkun Lee. 2022. "Modeling Method to Abstract Collective Behavior of Smart IoT Systems in CPS" Sensors 22, no. 13: 5057. https://doi.org/10.3390/s22135057
APA StyleSong, J., Karagiannis, D., & Lee, M. (2022). Modeling Method to Abstract Collective Behavior of Smart IoT Systems in CPS. Sensors, 22(13), 5057. https://doi.org/10.3390/s22135057