A New Model Checking Tool LAURA F. CACOVEAN, FLORIN STOICA, DANA SIMIAN Department of Computer Science “Lucian Blaga” University of Sibiu, Faculty of Sciences Str. Dr. Ion Ratiu 5-7, 550012, Sibiu ROMANIA laura.cacovean@ulbsibiu.ro, florin.stoica@ulbsibiu.ro, dana.simian@ulbsibiu.ro Abstract: - In this paper we present a new CTL model checking tool used to prove whether a CTL model represented as a directed graph satisfies a set of specifications given in form of one or more temporal logic formulas. Our tool is implemented in client-server paradigm: CTL Designer, the client tool, allows an interactive construction of the Kripke model as a directed graph and the CTL Checker, the core of our tool, represents the server part and is published as Web service. The CTL Checker includes an algebraic compiler implemented with ANTLR (Another Tool for Language Recognition) support. The main function of the Web service is to parse a given formula, find the set of nodes in which the formula is satisfied and return result to the user. As test case for our tool, we choose a CTL Model for Login Page Controller. The model will check if logging is allowed or not depending on input data. Key-Words: - CTL model checking, Web services, ANTLR, algebraic compiler 1 Introduction Model checking is a technology often used for the automated system verification. The model checking algorithms are currently used as verification techniques implemented in varied programming environments. The verified system can be a physical system or a real-time concurrent program. The behavior of checked system is described by the Kripke model. The Kripke models are based on the states and use the SMV (Symbolic Model Verifier) technique. The SMV model checking takes as input the model and formula then check whether or not the formula is satisfied or not by the model. Until now were developed tools for model checking which are using temporal logics like ALLOY, BANDERA, CADENCE SMV, GEAR, MCMAS, NuSMV. These instruments have support for the CTL (Computation Tree Logic) specification properties, expressed as formulas of propositional temporal logic. Our CTL model checking tool has a great facility because being a Web service can be accessed by any Internet user. We also provide a .NET GUI client which has capability of interactive graphical specification of the CTL model. Because the algebraic operators of a process are easily expressed in scenarios of a system, and the state variables are very suitable for the specification of properties, a CTL model appear to be sufficient to handle most common properties of analyzed system. The remainder of this paper is organized as follows. In section 2 we present a short definition of a CTL model checker. In section 3 is presented the implementation of an algebraic compiler used by our tool to verify CTL formulas for given models. Invocation of the compiler will be accomplished through a Web service described in section 4. CTL Designer, the client component of our tool is presented in section 5. Section 6 deals with a test case for the new model checking tool. Conclusions are presented in section 7. 2 CTL model checker A model checking tool can be used to verify if a given system satisfies a temporal logic formula. A CTL model is defined as a directed graph. A Kripke model M over AP is a triple M=(S, Rel, P:S→2 AP ) where S is a finite set of states, Rel⊆S×S is a transition relation, and P:S→2 AP is a function that assigns each state with a set of atomic propositions, denoted by AP. CTL model checker is branching-time logic, meaning that its formulas are interpreted over all paths beginning in a given state of the Kripke structure. For each state from graph M there is a successor and a path composed by a sequence of some states. Proceedings of the European Computing Conference ISBN: 978-960-474-297-4 358