Generalized Formal Model-Verifier: A Formal Approach for Verifying Static Models


연구 분야: Verification



학회: SN Computer Science


초록

The field of software modeling has gained significant popularity in the last decades. By capturing the static aspects of the software requirements, model-driven engineering eases the development and maintenance of software. However, additional constraints, such as invariants on model elements, that the solution must conform to may be too complex to include in the structure of the model itself. External solutions are often used to describe static constraints on models, the most prevalent approach being the Object Constraint Language (OCL) and its formal variants. This paper proposes the Generalized Formal Model-Verifier (GFMV), which is a general approach for verifying static constraints on software models. GFMV employs different formal verification methods based on Kripke Structures. Kripke Structures are used to capture the static structure of the model, then the constraints are formalized using a first-order branching-time logic, the Computational Tree Logic (CTL). Finally, the NuSMV model checker is reused to verify whether the constraints formalized in CTL hold on the formal Kripke Structure. When compared to existing solutions, GFMV offers increased generality and formal proof that the constraints hold on the model. The expressive power and runtime-scalability of the approach are evaluated on a real-world example model and OCL invariants cited from literature.


Author Profile
Norbert Somogyi

Department of Automation and Applied Informatics Faculty of Electrical Engineering and Informatics Budapest University of Technology and Economics Műegyetem rkp. 3 1111 Budapest Hungary

Andorra
Author Profile
Gergely Mezei

Department of Automation and Applied Informatics Faculty of Electrical Engineering and Informatics Budapest University of Technology and Economics Műegyetem rkp. 3 1111 Budapest Hungary

Andorra

📄 논문 정보

발행 연도 2024년
인용수 0
출판 국가 Andorra
사이트 Springer
좋아요 수 0

연관 논문 목록 (315건)