Authors:
Norbert Somogyi
and
Gergely Mezei
Affiliation:
Department of Automation and Applied Informatics, Faculty of Electrical Engineering and Informatics, Budapest University of Technology and Economics, Műegyetem rkp. 3., H-1111 Budapest, Hungary
Keyword(s):
Formal Verification, UML, CTL, Kripke Structure, NuSMV, OCL.
Abstract:
Over the years, the field of software modeling has gained significant popularity. By capturing the static aspects of the requirements of the software, model-driven engineering easens the development and maintenance of software. However, additional constraints that the solution must conform to may be too complex to include in the structure of the model itself. For this reason, 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 a general approach for verifying static constraints on software models by employing different formal verification methods than previous solutions. The approach defines a general Kripke Structure (KS) that captures the static structure of the model. In the next step, the constraints that the model must conform to are formalized using a first-order branching-time logic, the Computational Tree Logic (CTL). Finally, the NuSMV m
odel checker tool is used to check whether the constraints formalized in CTL hold on the formal Kripke Structure. To demonstrate the feasibility of the approach, the concepts are illustrated on a running UML class diagram.
(More)