TY - JOUR
T1 - Towards Scalable Model Checking of Reflective Systems via Labeled Transition Systems
AU - Tei, Kenji
AU - Tahara, Yasuyuki
AU - Ohsuga, Akihiko
N1 - Funding Information:
This work was supported in part by JSPS KAKENHI.
Publisher Copyright:
© 2022 IEEE.
PY - 2023/3/1
Y1 - 2023/3/1
N2 - Reflection is a technique that enables a system to inspect or change its structure and/or behavior at runtime. It is a key enabler of many techniques for developing systems that have to function despite rapidly changing requirements and environments. A crucial issue in developing reflective systems is to ensure the correctness of their behaviors, because object-level behaviors are affected by metalevel behaviors. In this paper, we present an extended labeled transition system (LTS), which we call a metalevel LTS (MLTS), that supports data representation of another LTS for use in modeling a reflective tower. We show that two of the existing state reduction techniques for an LTS (symmetry reduction and divergence-sensitive stutter bisimulation) are also applicable to an MLTS. Then, we introduce two strategies for implementing an MLTS model in Promela, thereby enabling verification with the SPIN model checker. We also present case studies of applying MLTSs to two reflection applications: self-adaptation of a reconnaissance robot system, and dynamic evolution of an Internet-of-things (IoT) system. The case studies demonstrate the applicability of our approach and its scalability improvement through the state reduction techniques.
AB - Reflection is a technique that enables a system to inspect or change its structure and/or behavior at runtime. It is a key enabler of many techniques for developing systems that have to function despite rapidly changing requirements and environments. A crucial issue in developing reflective systems is to ensure the correctness of their behaviors, because object-level behaviors are affected by metalevel behaviors. In this paper, we present an extended labeled transition system (LTS), which we call a metalevel LTS (MLTS), that supports data representation of another LTS for use in modeling a reflective tower. We show that two of the existing state reduction techniques for an LTS (symmetry reduction and divergence-sensitive stutter bisimulation) are also applicable to an MLTS. Then, we introduce two strategies for implementing an MLTS model in Promela, thereby enabling verification with the SPIN model checker. We also present case studies of applying MLTSs to two reflection applications: self-adaptation of a reconnaissance robot system, and dynamic evolution of an Internet-of-things (IoT) system. The case studies demonstrate the applicability of our approach and its scalability improvement through the state reduction techniques.
KW - Model checking
KW - SPIN model checker
KW - labeled transition system
KW - reflection
UR - http://www.scopus.com/inward/record.url?scp=85132537258&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85132537258&partnerID=8YFLogxK
U2 - 10.1109/TSE.2022.3174408
DO - 10.1109/TSE.2022.3174408
M3 - Article
AN - SCOPUS:85132537258
SN - 0098-5589
VL - 49
SP - 1299
EP - 1322
JO - IEEE Transactions on Software Engineering
JF - IEEE Transactions on Software Engineering
IS - 3
ER -