SlideShare a Scribd company logo
1 of 6
Download to read offline
Proceedings of the European Computing Conference 
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→2AP) where S is a finite set of states, Rel⊆S×S 
is a transition relation, and P:S→2AP 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. 
ISBN: 978-960-474-297-4 358
Proceedings of the European Computing Conference 
Details about formal definitions for syntax and 
semantics of a CTL model checker can be found in 
paper [4]. 
A. Syntax definition of a CTL model checker [4] 
A CTL has the following syntax given in BNF 
(Backus-Naur Form): f :: ⏉|⏊|p|(¬ f1)| f1∧f2| f1∨f2| 
f1→ f2| AX f1| EX f1| AG f1| EG f1| AF f1| EF f1| 
A[f1Uf2] | E[f1Uf2] where ∀p∈AP. 
B. Semantics definition of a CTL model checker is 
detailed in [4] 
Let M=(S, Rel, P:S→2AP) be a Kripke model for 
CTL. Given a state s in S, in [2] is defined if a CTL 
formula f holds in state s. This is denoted by (M,s) ⊨ 
f. The satisfaction relation ⊨ is defined by structural 
induction on fourteen CTL formulas [4]. 
The model checker takes as input the model and 
the formula and then verifies if the formula is 
satisfied by the model. The query can be expressed 
as: „(M, s) ⊨ f”? where M will be the model 
analyzed, s will be a state from the model, and f will 
be the verified formula, which is satisfied or not by 
the model M. 
The base idea of the verification algorithm is to 
split the CTL formula f into valid sub-formulas, and 
using a structural induction will be created a parser 
tree labeled with these sub-formulas. Depending on 
the meaning of connectors and the truth value of 
each sub-formula, will be deducted the satisfaction 
of formula from each state using the parser tree 
created. 
3 Implementation of a model checker 
in ANTLR 
The flexibility of algebraic methodology shows us 
how the CTL model checkers for various temporal 
logics can be generated from the algebraic 
specification. In paper [2] we showed in detail how 
this algebraic approach can be used to the 
specification of a CTL model checker. 
The CTL language is defined as a Σ – language 
[2]. The operator scheme Σctl is defined as a triple 
〈Sctl,Octl,σctl〉 where sets Sctl={F} are representations 
of the formula f, Octl = {⊤, ⊥, ¬, ∧, ∨, →, AX, EX, 
AU, EU, EF, AF, EG, AG} is the set of operators, 
and the σctl:Octl→Sctl 
∗×Sctl is a function which 
defines the signature of the operators [2]. The CTL 
model checker can be defined as the Σctl - language 
given in the form Lctl=〈Semctl, Synctl, 
Lctl:Semctl→Synctl〉 where Synctl is the word algebra 
of the operator scheme Σctl generated by the 
operations from Octl and a finite set of variables, 
representing atomic propositions, denoted by AP. 
Semctl represents CTL semantic algebra defined over 
the set of CTL formulas which are satisfied by the 
CTL model M. Lctl is a mapping which associates 
the set of satisfied formulas from Semctl to CTL 
expressions from Sinctl which satisfy these 
formulas. 
From a formal point of view, implementation of 
a CTL model checker will be equated with 
implementation of an algebraic compiler. 
The definition of sigma algebras, sigma 
languages and also the definition of sigma 
heterogenic homomorphism can be found in detail 
in papers [3], [7]. 
In paper [2] it is mentioned that an algebraic 
compiler can be defined using Σ – algebras and Σ– 
heterogenic homomorphism as C:Ls→Lt, where Ls is 
the source language and Lt is the target language. 
The source language Ls is CTL, and the target 
language Lt is a language which describes the set of 
nodes from the model M where the formula f is 
satisfied. 
The algebraic compiler C translates formula f of 
the CTL model to set of nodes S' over which 
formula f is satisfied. That is, C(f)=S' where 
S'={s∈S| (M,s) ⊨ f}. 
The implementation of the algebraic compiler C 
is made in two steps. First, we need a syntactic 
parser to verify the syntactic correctness of a 
formula f. Then, we should deal with the semantics 
of the CTL language (Semctl), respectively with the 
implementation of the operators from set Octl. 
Writing a translator for certain language is 
difficult to be achieved requiring time and a 
considerable effort. Currently there are specialized 
tools which generate most of necessary code 
beginning from a specification grammar of the 
source language. 
For implementation of the algebraic compiler we 
choose the ANTLR (Another Tool for Language 
Recognition). ANTLR [5] is a compiler generator 
which takes as input a grammar - an exact 
description of the source language, and generates a 
recognizer for the language defined by the grammar. 
ANTLR support the EBNF (Extended BNF) 
notation, useful for specification of operations that 
requires the use of recursion. 
In order to translate a formula f of a CTL model 
to the set of nodes S' over which formula f is 
satisfied, is necessary the attachment of actions to 
grammatical constructions within specification 
grammar of CTL. 
The actions are written in target language of the 
generated parser (in our case, Java). These actions 
are incorporated in source code of the parser and are 
ISBN: 978-960-474-297-4 359
Proceedings of the European Computing Conference 
activated whenever the parser recognizes a valid 
syntactic construction in the translated CTL 
formula. In case of the algebraic compiler C, the 
actions define the semantics of the CTL model 
checker, i.e., the implementation of the Octl 
operators. 
The model checker generated by ANTLR from 
our specification grammar of CTL, takes as input 
the model M (where are defined the sets S, Rel, P) 
and formula f, and provides as output the set 
S'={s∈S| (M,s) ⊨ f} – the set of states where the 
formula f is satisfied. 
Given a CTL formula t, dctl(t) denotes the set of 
states in which the formula t holds. Each operation 
octl from algebra Semctl is associated with the 
expression d(octl(t)) representing the set of states 
from the algebra Synsets in which the formula octl(t) is 
satisfied [2]. In case of the AG operator we are 
using the following notation: d(AG(t)) = 
d(Allglobal(t)). 
For the formal specification of the AG operator 
given in figure 1, the corresponding action 
included in the ANTLR grammar of CTL language 
is detailed in figure 2. 
Z:=∅; Z':= dctl(t); 
while (Z≠ Z') do 
Z:=Z'; 
Z':=Z'∩{s∈S| succ(s)⊆ Z'}; 
endwhile 
dctl(Allglobal(t)) :=Z'; 
Fig 1. Formal definition of the set expression 
dctl(AG(t)) 
//Ctlformula→”ag” formula 
ctlFormula returns [HashSet set] : 
'ag' f=formula 
{ 
HashSet rez = new HashSet(); // Z:=∅ ; 
HashSet rez1 = new HashSet($f.set); 
// Z':= dctl(t); 
while (!rez.equals(rez1)) // while Z≠Z' do 
{ 
rez.clear(); 
rez.addAll(rez1); //Z:=Z' 
HashSet tmp = new HashSet(); 
boolean include; 
for (int i=0; i<MAX_STARI; i++) 
{ include = true; 
for (int j=0; j<MAX_STARI; j++) 
if (rel[i][j]==1) //∃ succ(s), s∈S 
if(!(rez1.contains(new Integer(j)))) 
include = false; 
if (include) 
tmp.add(new Integer(i)); //succ(s)⊆ Z' 
} // end for 
rez1.retainAll(tmp); 
//Z':=Z'∩ {s∈S| succ(s)⊆ Z'}; 
}// end while 
trace("ctlFormula",6); 
printSet(" ag " + $f.text,rez1); 
$set = rez1; // dctl(Allglobal(t)) :=Z'; 
} 
… 
Fig 2. Implementation of the AG formula in 
ANTLR 
For verification of formula f=ag(not((Btn and 
Err))) we can use the ANTLR debugging facility [5] 
to visualize the abstract syntactic tree AST, 
presented in figure 4. 
In figure 3 is represented the algebraic compiler 
implementation process, based on our specification 
grammar of CTL language. 
Fig 3. Algebraic compiler implementation 
Fig 4. AST tree for ag(not((Btn and Err))) 
formula in ANTLRWorks 
ISBN: 978-960-474-297-4 360
Proceedings of the European Computing Conference 
4 Publishing the CTL model checker 
as a Web service 
Web Services, as a distributed application 
technology, simplifies interoperability between 
heterogeneous distributed systems. Clients can 
access Web services regardless of the platform or 
operating system upon which the service or the 
client is implemented. In addition to 
interoperability, Web service clients can use 
standardized approaches to access services through 
firewalls. Such access extends the capabilities of 
clients. The transport protocol used by Web 
Services enables clients to operate with systems 
through firewalls [6]. 
In order to make available our implementation of 
algebraic compiler as a reusable component of a 
CTL model checking tool, we published it as a Web 
service. 
The architecture of the Web service 
implementation is represented in figure 5. 
The Web service will receive from a client the 
XML representation of a CTL model M and a CTL 
formula f. 
The original form of the CTL model M is passed 
then to the algebraic compiler C generated by 
ANTLR using our CTL extended grammar. The 
compiler will return as result C(f) ={s∈S| (M,s) ⊨ 
f}, the set of nodes in which the formula is satisfied. 
Obviously, the formula f may contain syntactical 
errors. 
In order to notify the client about these possible 
errors, we must override the default behavior of the 
ANTLR error-handling. 
We install our error-handling in lexer: 
@lexer::members { 
@Override 
public void reportError(RecognitionException re) { 
throw new RuntimeException 
("Lexical error!nn" + Position: " + re.line + ":" + 
re.charPositionInLine + " bad character: '" + (char)re.c + 
"'"); 
}} 
and also in parser: 
@members { 
@Override 
public void reportError(RecognitionException re) { 
throw new RuntimeException("Syntactical error!"); 
} …} 
and finally instruct ANTLR to throw the error, 
allowing the Web service to send it to the client: 
@rulecatch { 
catch (RecognitionException err) { 
throw err; 
}} 
Fig 5. The architecture of the CTL model checker 
Web Service 
5 The C# client 
The model checking tool is based on a C# GUI 
client who allows interactive graphical development 
of the CTL models. 
Fig 6. CTL Designer - the C# client in action 
All facilities are accessible through a right-click 
contextual menu: adding nodes, labeling nodes, 
deleting nodes, adding arcs, display nodes numbers, 
etc. 
The model is sent as a XML document to the 
Web service, together with the formula to be 
ISBN: 978-960-474-297-4 361
Proceedings of the European Computing Conference 
verified. The response from server is displayed in a 
separate window, as we will see in the following 
section. 
6 CTL Model for Login Page 
Controller 
In this section we consider as testing example a 
CTL model presented in [1], and we use our tool to 
verify a CTL formula. Our model refers to a login 
page with user name and password. The model will 
check if logging is allowed or not depending on 
input data. 
The Kripke model has five states and the 
propositional variables are from the set AP = {Usr, 
Psw, Btn, Err, not_Usr, not_Psw, not_Btn, 
not_Err}. Usr represents the fill in the user name, 
Psw corresponds to fill in the password, Btn is the 
push button event for Sing-in or Sign-out page and 
Err point out an error to login. 
The Kripke model is shown in figure 7: 
Fig 7. The CTL structure of 
“Login Page Controller” 
The formal definition of the Kripke structure for 
the Login Page Controller is given by: M = (S, Rel, 
P), where S={s0,s1,s2,s3,s4}, Rel={(s0,s1), (s1,s0), 
(s1,s2), (s2,s1), (s2,s3), (s2,s4), (s3,s0), (s3,s3), (s3,s4), 
(s4,s0)}, AP={Usr, Psw, Btn, Err, not_Usr, not_Psw, 
not_Btn, not_Err }, P assigns state s0 in M with not 
UserName, not Password, not Button pushed and 
not Error, that is set {not_Usr, not_Psw, not_Btn, 
not_Err}. P assigns state s1 in M with {Usr, 
not_Psw, not_Btn, not_Err}, the state s2 in M with 
{Usr, Psw, not_Btn, not_Err}, the state s3 in M with 
{Usr, Psw, Btn, not_Err}, the state s4 in M with 
{not_Usr, not_Psw, not_Btn, Err}. 
For the model presented in figure 7 an important 
task is to verify formula ag (not (Btn and Err)) that 
means to see if there exists a node which did not 
have in the same time the push sign-in button and 
have the error. The interpretation and verification of 
this formula presupposes these: We have the atomic 
proposition Btn in state {s3} and the atomic 
proposition Err in state {s4}. The (Btn and Err) is 
empty sets because any state from model does not 
contain both atomic propositions. Hence not (Btn 
and Err) formula is true in all states {s0,…,s4} and 
also the ag (not (Btn and Err)) is a formula satisfied 
by the proposed model. 
Verification of the formula with our CTL model 
checking tool allows us to conclude that formula is 
satisfied in all states of the Kripke model presented 
in figure 7. The states of model are numbered from 
0 to 4. This information is available selecting 
Details from the contextual menu of the CTL 
Designer. 
Fig 8. Invoking the algebraic compiler (Web 
service) from the CTL Designer (client) 
7 Conclusions 
In this article we built a CTL model checking tool, 
based on robust technologies (Java, .NET) and well-known 
standards (XML, SOAP, HTTP). 
As a great facility we mention the capability of 
interactive graphical specification of the CTL 
model, using the client tool (CTL Designer). 
The CTL algebraic compiler, implemented as a Web 
service and based on Java code generated by 
ISBN: 978-960-474-297-4 362
Proceedings of the European Computing Conference 
ANTLR using an original CTL grammar, provides 
error-handling for eventual lexical/syntax errors in 
formula to be translated. 
References: 
[1] L. F. Cacovean, Using CTL Model Checker for 
Verification of Domain Application Systems, 
Proceedings of the 11th WSEAS International 
Conference on EC, Iaşi, Romania, 2010, pp. 
262-267. 
[2] L. Cacovean, F. Stoica, Algebraic Specification 
Implementation for CTL Model Checker Using 
ANTLR Tools, 2008 WSEAS International 
Conferences, Computers and Simulation in 
Modern Science - Volume II, Bucharest, 
Romania, 2008, pp. 45-50 
[3] P.J. Higgins. Algebras with scheme of 
operators. Mathematische Nachrichten, No.27, 
1963/64, pp. 115–132. 
[4] M. Huth, M. Ryan, Logic in Computer Science: 
Modelling and Reasoning about Systems, 
Cambridge University Press, 2000. 
[5] Terence Parr , The Definitive ANTLR 
Reference, Building Domain-Specific 
Languages, version: 2007 
[6] F. Stoica, L. F. Cacovean, Interoperability 
Issues in Accessing Databases through Web 
Services, Proceedings of the 11th WSEAS 
International Conference on 
EVOLUTIONARY COMPUTING (EC '10), , 
2010, pp. 279-284 
[7] E. Van Wyk, Specification Languages in 
Algebraic Compilers, Theoretical Computer 
Science, 231(3), 2003, pp. 351—385. 
ISBN: 978-960-474-297-4 363

More Related Content

What's hot (20)

Ch04
Ch04Ch04
Ch04
 
Assignment9
Assignment9Assignment9
Assignment9
 
Ch05
Ch05Ch05
Ch05
 
C++ ppt
C++ pptC++ ppt
C++ ppt
 
Cs8251 faq1
Cs8251 faq1Cs8251 faq1
Cs8251 faq1
 
Computer programming questions
Computer programming questionsComputer programming questions
Computer programming questions
 
Mini Project- ROM Based Sine Wave Generator
Mini Project- ROM Based Sine Wave GeneratorMini Project- ROM Based Sine Wave Generator
Mini Project- ROM Based Sine Wave Generator
 
Principal source of optimization in compiler design
Principal source of optimization in compiler designPrincipal source of optimization in compiler design
Principal source of optimization in compiler design
 
Handout#10
Handout#10Handout#10
Handout#10
 
C language
C languageC language
C language
 
C language
C languageC language
C language
 
Handout#12
Handout#12Handout#12
Handout#12
 
[ITP - Lecture 12] Functions in C/C++
[ITP - Lecture 12] Functions in C/C++[ITP - Lecture 12] Functions in C/C++
[ITP - Lecture 12] Functions in C/C++
 
C notes for exam preparation
C notes for exam preparationC notes for exam preparation
C notes for exam preparation
 
Converting A Subset of LTL Formula to Buchi Automata
Converting A Subset of LTL Formula to Buchi Automata Converting A Subset of LTL Formula to Buchi Automata
Converting A Subset of LTL Formula to Buchi Automata
 
CONVERTING A SUBSET OF LTL FORMULA TO BUCHI AUTOMATA
CONVERTING A SUBSET OF LTL FORMULA TO BUCHI AUTOMATACONVERTING A SUBSET OF LTL FORMULA TO BUCHI AUTOMATA
CONVERTING A SUBSET OF LTL FORMULA TO BUCHI AUTOMATA
 
C programming for Computing Techniques
C programming for Computing TechniquesC programming for Computing Techniques
C programming for Computing Techniques
 
C language Unit 2 Slides, UPTU C language
C language Unit 2 Slides, UPTU C languageC language Unit 2 Slides, UPTU C language
C language Unit 2 Slides, UPTU C language
 
Static Analysis of Computer programs
Static Analysis of Computer programs Static Analysis of Computer programs
Static Analysis of Computer programs
 
CP Handout#3
CP Handout#3CP Handout#3
CP Handout#3
 

Viewers also liked

Open Access in Sweden and the programme OpenAccess.se
Open Access in Sweden and the programme OpenAccess.seOpen Access in Sweden and the programme OpenAccess.se
Open Access in Sweden and the programme OpenAccess.seUlf Kronman
 
Automatic control based on Wasp Behavioral Model and Stochastic Learning Auto...
Automatic control based on Wasp Behavioral Model and Stochastic Learning Auto...Automatic control based on Wasp Behavioral Model and Stochastic Learning Auto...
Automatic control based on Wasp Behavioral Model and Stochastic Learning Auto...infopapers
 
Mary frias final
Mary frias finalMary frias final
Mary frias finalmaryyfrias
 
Reading and publishing - two sides of the same coin?
Reading and publishing- two sides of the same coin?Reading and publishing- two sides of the same coin?
Reading and publishing - two sides of the same coin?Ulf Kronman
 
Игра-квест Осень в науке
Игра-квест Осень в наукеИгра-квест Осень в науке
Игра-квест Осень в наукеpeshkova_anastasiya
 
Den nya publikationsekonomin
Den nya publikationsekonomin Den nya publikationsekonomin
Den nya publikationsekonomin Ulf Kronman
 
Родительское собрание 20.10.2016г.
Родительское собрание 20.10.2016г.Родительское собрание 20.10.2016г.
Родительское собрание 20.10.2016г.peshkova_anastasiya
 
экскурсия в библиотеку имени франко
экскурсия в библиотеку имени франкоэкскурсия в библиотеку имени франко
экскурсия в библиотеку имени франкоpeshkova_anastasiya
 

Viewers also liked (13)

Open Access in Sweden and the programme OpenAccess.se
Open Access in Sweden and the programme OpenAccess.seOpen Access in Sweden and the programme OpenAccess.se
Open Access in Sweden and the programme OpenAccess.se
 
Graficas
GraficasGraficas
Graficas
 
Automatic control based on Wasp Behavioral Model and Stochastic Learning Auto...
Automatic control based on Wasp Behavioral Model and Stochastic Learning Auto...Automatic control based on Wasp Behavioral Model and Stochastic Learning Auto...
Automatic control based on Wasp Behavioral Model and Stochastic Learning Auto...
 
Mary frias final
Mary frias finalMary frias final
Mary frias final
 
Reading and publishing - two sides of the same coin?
Reading and publishing- two sides of the same coin?Reading and publishing- two sides of the same coin?
Reading and publishing - two sides of the same coin?
 
Игра-квест Осень в науке
Игра-квест Осень в наукеИгра-квест Осень в науке
Игра-квест Осень в науке
 
Bipod by-humayun-ahmed-mishir-ali-series
Bipod by-humayun-ahmed-mishir-ali-series Bipod by-humayun-ahmed-mishir-ali-series
Bipod by-humayun-ahmed-mishir-ali-series
 
Den nya publikationsekonomin
Den nya publikationsekonomin Den nya publikationsekonomin
Den nya publikationsekonomin
 
Родительское собрание 20.10.2016г.
Родительское собрание 20.10.2016г.Родительское собрание 20.10.2016г.
Родительское собрание 20.10.2016г.
 
день грамотности
день грамотностидень грамотности
день грамотности
 
экскурсия в библиотеку имени франко
экскурсия в библиотеку имени франкоэкскурсия в библиотеку имени франко
экскурсия в библиотеку имени франко
 
Кенжаева С.Л.
Кенжаева С.Л.Кенжаева С.Л.
Кенжаева С.Л.
 
Гайновская С.В.
Гайновская С.В.Гайновская С.В.
Гайновская С.В.
 

Similar to A New Model Checking Tool

Modeling the Broker Behavior Using a BDI Agent
Modeling the Broker Behavior Using a BDI AgentModeling the Broker Behavior Using a BDI Agent
Modeling the Broker Behavior Using a BDI Agentinfopapers
 
CTL Model Update Implementation Using ANTLR Tools
CTL Model Update Implementation Using ANTLR ToolsCTL Model Update Implementation Using ANTLR Tools
CTL Model Update Implementation Using ANTLR Toolsinfopapers
 
Scalability in Model Checking through Relational Databases
Scalability in Model Checking through Relational DatabasesScalability in Model Checking through Relational Databases
Scalability in Model Checking through Relational DatabasesCSCJournals
 
Implementing an ATL Model Checker tool using Relational Algebra concepts
Implementing an ATL Model Checker tool using Relational Algebra conceptsImplementing an ATL Model Checker tool using Relational Algebra concepts
Implementing an ATL Model Checker tool using Relational Algebra conceptsinfopapers
 
Verification of confliction and unreachability in rule based expert systems w...
Verification of confliction and unreachability in rule based expert systems w...Verification of confliction and unreachability in rule based expert systems w...
Verification of confliction and unreachability in rule based expert systems w...ijaia
 
Building a new CTL model checker using Web Services
Building a new CTL model checker using Web ServicesBuilding a new CTL model checker using Web Services
Building a new CTL model checker using Web Servicesinfopapers
 
Algebraic Approach to Implementing an ATL Model Checker
Algebraic Approach to Implementing an ATL Model CheckerAlgebraic Approach to Implementing an ATL Model Checker
Algebraic Approach to Implementing an ATL Model Checkerinfopapers
 
Component Based Control System Design
Component Based Control System DesignComponent Based Control System Design
Component Based Control System DesignM Reza Rahmati
 
Pretzel: optimized Machine Learning framework for low-latency and high throug...
Pretzel: optimized Machine Learning framework for low-latency and high throug...Pretzel: optimized Machine Learning framework for low-latency and high throug...
Pretzel: optimized Machine Learning framework for low-latency and high throug...NECST Lab @ Politecnico di Milano
 
Compositional testing for fsm based models
Compositional testing for fsm based modelsCompositional testing for fsm based models
Compositional testing for fsm based modelsijseajournal
 
A SYSTEMC/SIMULINK CO-SIMULATION ENVIRONMENT OF THE JPEG ALGORITHM
A SYSTEMC/SIMULINK CO-SIMULATION ENVIRONMENT OF THE JPEG ALGORITHMA SYSTEMC/SIMULINK CO-SIMULATION ENVIRONMENT OF THE JPEG ALGORITHM
A SYSTEMC/SIMULINK CO-SIMULATION ENVIRONMENT OF THE JPEG ALGORITHMVLSICS Design
 
BUSINESS PROCESS MODELED WITH BPMN AND CTL MODEL CHECKING
BUSINESS PROCESS MODELED WITH BPMN AND CTL MODEL CHECKINGBUSINESS PROCESS MODELED WITH BPMN AND CTL MODEL CHECKING
BUSINESS PROCESS MODELED WITH BPMN AND CTL MODEL CHECKINGIJCI JOURNAL
 
Phenoflow: An Architecture for Computable Phenotypes
Phenoflow: An Architecture for Computable PhenotypesPhenoflow: An Architecture for Computable Phenotypes
Phenoflow: An Architecture for Computable PhenotypesMartin Chapman
 
EXTENDED DISTRIBUTED UML-BASED PROTOCOL SYNTHESIS METHOD
EXTENDED DISTRIBUTED UML-BASED PROTOCOL SYNTHESIS METHODEXTENDED DISTRIBUTED UML-BASED PROTOCOL SYNTHESIS METHOD
EXTENDED DISTRIBUTED UML-BASED PROTOCOL SYNTHESIS METHODijcseit
 
EXTENDED DISTRIBUTED UML-BASED PROTOCOL SYNTHESIS METHOD
EXTENDED DISTRIBUTED UML-BASED PROTOCOL SYNTHESIS METHODEXTENDED DISTRIBUTED UML-BASED PROTOCOL SYNTHESIS METHOD
EXTENDED DISTRIBUTED UML-BASED PROTOCOL SYNTHESIS METHODijcseit
 
An Approach To Verilog-VHDL Interoperability For Synchronous Designs
An Approach To Verilog-VHDL Interoperability For Synchronous DesignsAn Approach To Verilog-VHDL Interoperability For Synchronous Designs
An Approach To Verilog-VHDL Interoperability For Synchronous DesignsDawn Cook
 
Time Series Estimation of Gas Furnace Data in IMPL and CPLEX Industrial Model...
Time Series Estimation of Gas Furnace Data in IMPL and CPLEX Industrial Model...Time Series Estimation of Gas Furnace Data in IMPL and CPLEX Industrial Model...
Time Series Estimation of Gas Furnace Data in IMPL and CPLEX Industrial Model...Alkis Vazacopoulos
 

Similar to A New Model Checking Tool (20)

Modeling the Broker Behavior Using a BDI Agent
Modeling the Broker Behavior Using a BDI AgentModeling the Broker Behavior Using a BDI Agent
Modeling the Broker Behavior Using a BDI Agent
 
CTL Model Update Implementation Using ANTLR Tools
CTL Model Update Implementation Using ANTLR ToolsCTL Model Update Implementation Using ANTLR Tools
CTL Model Update Implementation Using ANTLR Tools
 
Scalability in Model Checking through Relational Databases
Scalability in Model Checking through Relational DatabasesScalability in Model Checking through Relational Databases
Scalability in Model Checking through Relational Databases
 
Implementing an ATL Model Checker tool using Relational Algebra concepts
Implementing an ATL Model Checker tool using Relational Algebra conceptsImplementing an ATL Model Checker tool using Relational Algebra concepts
Implementing an ATL Model Checker tool using Relational Algebra concepts
 
Verification of confliction and unreachability in rule based expert systems w...
Verification of confliction and unreachability in rule based expert systems w...Verification of confliction and unreachability in rule based expert systems w...
Verification of confliction and unreachability in rule based expert systems w...
 
Building a new CTL model checker using Web Services
Building a new CTL model checker using Web ServicesBuilding a new CTL model checker using Web Services
Building a new CTL model checker using Web Services
 
Algebraic Approach to Implementing an ATL Model Checker
Algebraic Approach to Implementing an ATL Model CheckerAlgebraic Approach to Implementing an ATL Model Checker
Algebraic Approach to Implementing an ATL Model Checker
 
Component Based Control System Design
Component Based Control System DesignComponent Based Control System Design
Component Based Control System Design
 
Pretzel: optimized Machine Learning framework for low-latency and high throug...
Pretzel: optimized Machine Learning framework for low-latency and high throug...Pretzel: optimized Machine Learning framework for low-latency and high throug...
Pretzel: optimized Machine Learning framework for low-latency and high throug...
 
Compositional testing for fsm based models
Compositional testing for fsm based modelsCompositional testing for fsm based models
Compositional testing for fsm based models
 
Quantified NTL
Quantified NTLQuantified NTL
Quantified NTL
 
A SYSTEMC/SIMULINK CO-SIMULATION ENVIRONMENT OF THE JPEG ALGORITHM
A SYSTEMC/SIMULINK CO-SIMULATION ENVIRONMENT OF THE JPEG ALGORITHMA SYSTEMC/SIMULINK CO-SIMULATION ENVIRONMENT OF THE JPEG ALGORITHM
A SYSTEMC/SIMULINK CO-SIMULATION ENVIRONMENT OF THE JPEG ALGORITHM
 
BUSINESS PROCESS MODELED WITH BPMN AND CTL MODEL CHECKING
BUSINESS PROCESS MODELED WITH BPMN AND CTL MODEL CHECKINGBUSINESS PROCESS MODELED WITH BPMN AND CTL MODEL CHECKING
BUSINESS PROCESS MODELED WITH BPMN AND CTL MODEL CHECKING
 
Model checker for NTCC
Model checker for NTCCModel checker for NTCC
Model checker for NTCC
 
E0463137
E0463137E0463137
E0463137
 
Phenoflow: An Architecture for Computable Phenotypes
Phenoflow: An Architecture for Computable PhenotypesPhenoflow: An Architecture for Computable Phenotypes
Phenoflow: An Architecture for Computable Phenotypes
 
EXTENDED DISTRIBUTED UML-BASED PROTOCOL SYNTHESIS METHOD
EXTENDED DISTRIBUTED UML-BASED PROTOCOL SYNTHESIS METHODEXTENDED DISTRIBUTED UML-BASED PROTOCOL SYNTHESIS METHOD
EXTENDED DISTRIBUTED UML-BASED PROTOCOL SYNTHESIS METHOD
 
EXTENDED DISTRIBUTED UML-BASED PROTOCOL SYNTHESIS METHOD
EXTENDED DISTRIBUTED UML-BASED PROTOCOL SYNTHESIS METHODEXTENDED DISTRIBUTED UML-BASED PROTOCOL SYNTHESIS METHOD
EXTENDED DISTRIBUTED UML-BASED PROTOCOL SYNTHESIS METHOD
 
An Approach To Verilog-VHDL Interoperability For Synchronous Designs
An Approach To Verilog-VHDL Interoperability For Synchronous DesignsAn Approach To Verilog-VHDL Interoperability For Synchronous Designs
An Approach To Verilog-VHDL Interoperability For Synchronous Designs
 
Time Series Estimation of Gas Furnace Data in IMPL and CPLEX Industrial Model...
Time Series Estimation of Gas Furnace Data in IMPL and CPLEX Industrial Model...Time Series Estimation of Gas Furnace Data in IMPL and CPLEX Industrial Model...
Time Series Estimation of Gas Furnace Data in IMPL and CPLEX Industrial Model...
 

More from infopapers

Deliver Dynamic and Interactive Web Content in J2EE Applications
Deliver Dynamic and Interactive Web Content in J2EE ApplicationsDeliver Dynamic and Interactive Web Content in J2EE Applications
Deliver Dynamic and Interactive Web Content in J2EE Applicationsinfopapers
 
Building a Web-bridge for JADE agents
Building a Web-bridge for JADE agentsBuilding a Web-bridge for JADE agents
Building a Web-bridge for JADE agentsinfopapers
 
An Executable Actor Model in Abstract State Machine Language
An Executable Actor Model in Abstract State Machine LanguageAn Executable Actor Model in Abstract State Machine Language
An Executable Actor Model in Abstract State Machine Languageinfopapers
 
Generating JADE agents from SDL specifications
Generating JADE agents from SDL specificationsGenerating JADE agents from SDL specifications
Generating JADE agents from SDL specificationsinfopapers
 
A general frame for building optimal multiple SVM kernels
A general frame for building optimal multiple SVM kernelsA general frame for building optimal multiple SVM kernels
A general frame for building optimal multiple SVM kernelsinfopapers
 
Optimization of Complex SVM Kernels Using a Hybrid Algorithm Based on Wasp Be...
Optimization of Complex SVM Kernels Using a Hybrid Algorithm Based on Wasp Be...Optimization of Complex SVM Kernels Using a Hybrid Algorithm Based on Wasp Be...
Optimization of Complex SVM Kernels Using a Hybrid Algorithm Based on Wasp Be...infopapers
 
An evolutionary method for constructing complex SVM kernels
An evolutionary method for constructing complex SVM kernelsAn evolutionary method for constructing complex SVM kernels
An evolutionary method for constructing complex SVM kernelsinfopapers
 
Evaluation of a hybrid method for constructing multiple SVM kernels
Evaluation of a hybrid method for constructing multiple SVM kernelsEvaluation of a hybrid method for constructing multiple SVM kernels
Evaluation of a hybrid method for constructing multiple SVM kernelsinfopapers
 
Interoperability issues in accessing databases through Web Services
Interoperability issues in accessing databases through Web ServicesInteroperability issues in accessing databases through Web Services
Interoperability issues in accessing databases through Web Servicesinfopapers
 
Using Ontology in Electronic Evaluation for Personalization of eLearning Systems
Using Ontology in Electronic Evaluation for Personalization of eLearning SystemsUsing Ontology in Electronic Evaluation for Personalization of eLearning Systems
Using Ontology in Electronic Evaluation for Personalization of eLearning Systemsinfopapers
 
An AsmL model for an Intelligent Vehicle Control System
An AsmL model for an Intelligent Vehicle Control SystemAn AsmL model for an Intelligent Vehicle Control System
An AsmL model for an Intelligent Vehicle Control Systeminfopapers
 
Using genetic algorithms and simulation as decision support in marketing stra...
Using genetic algorithms and simulation as decision support in marketing stra...Using genetic algorithms and simulation as decision support in marketing stra...
Using genetic algorithms and simulation as decision support in marketing stra...infopapers
 
Models for a Multi-Agent System Based on Wasp-Like Behaviour for Distributed ...
Models for a Multi-Agent System Based on Wasp-Like Behaviour for Distributed ...Models for a Multi-Agent System Based on Wasp-Like Behaviour for Distributed ...
Models for a Multi-Agent System Based on Wasp-Like Behaviour for Distributed ...infopapers
 
Intelligent agents in ontology-based applications
Intelligent agents in ontology-based applicationsIntelligent agents in ontology-based applications
Intelligent agents in ontology-based applicationsinfopapers
 
A new co-mutation genetic operator
A new co-mutation genetic operatorA new co-mutation genetic operator
A new co-mutation genetic operatorinfopapers
 
Generic Reinforcement Schemes and Their Optimization
Generic Reinforcement Schemes and Their OptimizationGeneric Reinforcement Schemes and Their Optimization
Generic Reinforcement Schemes and Their Optimizationinfopapers
 
An executable model for an Intelligent Vehicle Control System
An executable model for an Intelligent Vehicle Control SystemAn executable model for an Intelligent Vehicle Control System
An executable model for an Intelligent Vehicle Control Systeminfopapers
 
A new Evolutionary Reinforcement Scheme for Stochastic Learning Automata
A new Evolutionary Reinforcement Scheme for Stochastic Learning AutomataA new Evolutionary Reinforcement Scheme for Stochastic Learning Automata
A new Evolutionary Reinforcement Scheme for Stochastic Learning Automatainfopapers
 
Optimizing a New Nonlinear Reinforcement Scheme with Breeder genetic algorithm
Optimizing a New Nonlinear Reinforcement Scheme with Breeder genetic algorithmOptimizing a New Nonlinear Reinforcement Scheme with Breeder genetic algorithm
Optimizing a New Nonlinear Reinforcement Scheme with Breeder genetic algorithminfopapers
 
A New Nonlinear Reinforcement Scheme for Stochastic Learning Automata
A New Nonlinear Reinforcement Scheme for Stochastic Learning AutomataA New Nonlinear Reinforcement Scheme for Stochastic Learning Automata
A New Nonlinear Reinforcement Scheme for Stochastic Learning Automatainfopapers
 

More from infopapers (20)

Deliver Dynamic and Interactive Web Content in J2EE Applications
Deliver Dynamic and Interactive Web Content in J2EE ApplicationsDeliver Dynamic and Interactive Web Content in J2EE Applications
Deliver Dynamic and Interactive Web Content in J2EE Applications
 
Building a Web-bridge for JADE agents
Building a Web-bridge for JADE agentsBuilding a Web-bridge for JADE agents
Building a Web-bridge for JADE agents
 
An Executable Actor Model in Abstract State Machine Language
An Executable Actor Model in Abstract State Machine LanguageAn Executable Actor Model in Abstract State Machine Language
An Executable Actor Model in Abstract State Machine Language
 
Generating JADE agents from SDL specifications
Generating JADE agents from SDL specificationsGenerating JADE agents from SDL specifications
Generating JADE agents from SDL specifications
 
A general frame for building optimal multiple SVM kernels
A general frame for building optimal multiple SVM kernelsA general frame for building optimal multiple SVM kernels
A general frame for building optimal multiple SVM kernels
 
Optimization of Complex SVM Kernels Using a Hybrid Algorithm Based on Wasp Be...
Optimization of Complex SVM Kernels Using a Hybrid Algorithm Based on Wasp Be...Optimization of Complex SVM Kernels Using a Hybrid Algorithm Based on Wasp Be...
Optimization of Complex SVM Kernels Using a Hybrid Algorithm Based on Wasp Be...
 
An evolutionary method for constructing complex SVM kernels
An evolutionary method for constructing complex SVM kernelsAn evolutionary method for constructing complex SVM kernels
An evolutionary method for constructing complex SVM kernels
 
Evaluation of a hybrid method for constructing multiple SVM kernels
Evaluation of a hybrid method for constructing multiple SVM kernelsEvaluation of a hybrid method for constructing multiple SVM kernels
Evaluation of a hybrid method for constructing multiple SVM kernels
 
Interoperability issues in accessing databases through Web Services
Interoperability issues in accessing databases through Web ServicesInteroperability issues in accessing databases through Web Services
Interoperability issues in accessing databases through Web Services
 
Using Ontology in Electronic Evaluation for Personalization of eLearning Systems
Using Ontology in Electronic Evaluation for Personalization of eLearning SystemsUsing Ontology in Electronic Evaluation for Personalization of eLearning Systems
Using Ontology in Electronic Evaluation for Personalization of eLearning Systems
 
An AsmL model for an Intelligent Vehicle Control System
An AsmL model for an Intelligent Vehicle Control SystemAn AsmL model for an Intelligent Vehicle Control System
An AsmL model for an Intelligent Vehicle Control System
 
Using genetic algorithms and simulation as decision support in marketing stra...
Using genetic algorithms and simulation as decision support in marketing stra...Using genetic algorithms and simulation as decision support in marketing stra...
Using genetic algorithms and simulation as decision support in marketing stra...
 
Models for a Multi-Agent System Based on Wasp-Like Behaviour for Distributed ...
Models for a Multi-Agent System Based on Wasp-Like Behaviour for Distributed ...Models for a Multi-Agent System Based on Wasp-Like Behaviour for Distributed ...
Models for a Multi-Agent System Based on Wasp-Like Behaviour for Distributed ...
 
Intelligent agents in ontology-based applications
Intelligent agents in ontology-based applicationsIntelligent agents in ontology-based applications
Intelligent agents in ontology-based applications
 
A new co-mutation genetic operator
A new co-mutation genetic operatorA new co-mutation genetic operator
A new co-mutation genetic operator
 
Generic Reinforcement Schemes and Their Optimization
Generic Reinforcement Schemes and Their OptimizationGeneric Reinforcement Schemes and Their Optimization
Generic Reinforcement Schemes and Their Optimization
 
An executable model for an Intelligent Vehicle Control System
An executable model for an Intelligent Vehicle Control SystemAn executable model for an Intelligent Vehicle Control System
An executable model for an Intelligent Vehicle Control System
 
A new Evolutionary Reinforcement Scheme for Stochastic Learning Automata
A new Evolutionary Reinforcement Scheme for Stochastic Learning AutomataA new Evolutionary Reinforcement Scheme for Stochastic Learning Automata
A new Evolutionary Reinforcement Scheme for Stochastic Learning Automata
 
Optimizing a New Nonlinear Reinforcement Scheme with Breeder genetic algorithm
Optimizing a New Nonlinear Reinforcement Scheme with Breeder genetic algorithmOptimizing a New Nonlinear Reinforcement Scheme with Breeder genetic algorithm
Optimizing a New Nonlinear Reinforcement Scheme with Breeder genetic algorithm
 
A New Nonlinear Reinforcement Scheme for Stochastic Learning Automata
A New Nonlinear Reinforcement Scheme for Stochastic Learning AutomataA New Nonlinear Reinforcement Scheme for Stochastic Learning Automata
A New Nonlinear Reinforcement Scheme for Stochastic Learning Automata
 

Recently uploaded

BREEDING FOR RESISTANCE TO BIOTIC STRESS.pptx
BREEDING FOR RESISTANCE TO BIOTIC STRESS.pptxBREEDING FOR RESISTANCE TO BIOTIC STRESS.pptx
BREEDING FOR RESISTANCE TO BIOTIC STRESS.pptxPABOLU TEJASREE
 
‏‏VIRUS - 123455555555555555555555555555555555555555
‏‏VIRUS -  123455555555555555555555555555555555555555‏‏VIRUS -  123455555555555555555555555555555555555555
‏‏VIRUS - 123455555555555555555555555555555555555555kikilily0909
 
Call Girls in Munirka Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Munirka Delhi 💯Call Us 🔝8264348440🔝Call Girls in Munirka Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Munirka Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
Speech, hearing, noise, intelligibility.pptx
Speech, hearing, noise, intelligibility.pptxSpeech, hearing, noise, intelligibility.pptx
Speech, hearing, noise, intelligibility.pptxpriyankatabhane
 
zoogeography of pakistan.pptx fauna of Pakistan
zoogeography of pakistan.pptx fauna of Pakistanzoogeography of pakistan.pptx fauna of Pakistan
zoogeography of pakistan.pptx fauna of Pakistanzohaibmir069
 
Solution chemistry, Moral and Normal solutions
Solution chemistry, Moral and Normal solutionsSolution chemistry, Moral and Normal solutions
Solution chemistry, Moral and Normal solutionsHajira Mahmood
 
TOPIC 8 Temperature and Heat.pdf physics
TOPIC 8 Temperature and Heat.pdf physicsTOPIC 8 Temperature and Heat.pdf physics
TOPIC 8 Temperature and Heat.pdf physicsssuserddc89b
 
(9818099198) Call Girls In Noida Sector 14 (NOIDA ESCORTS)
(9818099198) Call Girls In Noida Sector 14 (NOIDA ESCORTS)(9818099198) Call Girls In Noida Sector 14 (NOIDA ESCORTS)
(9818099198) Call Girls In Noida Sector 14 (NOIDA ESCORTS)riyaescorts54
 
Scheme-of-Work-Science-Stage-4 cambridge science.docx
Scheme-of-Work-Science-Stage-4 cambridge science.docxScheme-of-Work-Science-Stage-4 cambridge science.docx
Scheme-of-Work-Science-Stage-4 cambridge science.docxyaramohamed343013
 
Pests of castor_Binomics_Identification_Dr.UPR.pdf
Pests of castor_Binomics_Identification_Dr.UPR.pdfPests of castor_Binomics_Identification_Dr.UPR.pdf
Pests of castor_Binomics_Identification_Dr.UPR.pdfPirithiRaju
 
Behavioral Disorder: Schizophrenia & it's Case Study.pdf
Behavioral Disorder: Schizophrenia & it's Case Study.pdfBehavioral Disorder: Schizophrenia & it's Case Study.pdf
Behavioral Disorder: Schizophrenia & it's Case Study.pdfSELF-EXPLANATORY
 
Pests of jatropha_Bionomics_identification_Dr.UPR.pdf
Pests of jatropha_Bionomics_identification_Dr.UPR.pdfPests of jatropha_Bionomics_identification_Dr.UPR.pdf
Pests of jatropha_Bionomics_identification_Dr.UPR.pdfPirithiRaju
 
Pests of safflower_Binomics_Identification_Dr.UPR.pdf
Pests of safflower_Binomics_Identification_Dr.UPR.pdfPests of safflower_Binomics_Identification_Dr.UPR.pdf
Pests of safflower_Binomics_Identification_Dr.UPR.pdfPirithiRaju
 
Call Girls in Mayapuri Delhi 💯Call Us 🔝9953322196🔝 💯Escort.
Call Girls in Mayapuri Delhi 💯Call Us 🔝9953322196🔝 💯Escort.Call Girls in Mayapuri Delhi 💯Call Us 🔝9953322196🔝 💯Escort.
Call Girls in Mayapuri Delhi 💯Call Us 🔝9953322196🔝 💯Escort.aasikanpl
 
Vision and reflection on Mining Software Repositories research in 2024
Vision and reflection on Mining Software Repositories research in 2024Vision and reflection on Mining Software Repositories research in 2024
Vision and reflection on Mining Software Repositories research in 2024AyushiRastogi48
 
SOLUBLE PATTERN RECOGNITION RECEPTORS.pptx
SOLUBLE PATTERN RECOGNITION RECEPTORS.pptxSOLUBLE PATTERN RECOGNITION RECEPTORS.pptx
SOLUBLE PATTERN RECOGNITION RECEPTORS.pptxkessiyaTpeter
 
LIGHT-PHENOMENA-BY-CABUALDIONALDOPANOGANCADIENTE-CONDEZA (1).pptx
LIGHT-PHENOMENA-BY-CABUALDIONALDOPANOGANCADIENTE-CONDEZA (1).pptxLIGHT-PHENOMENA-BY-CABUALDIONALDOPANOGANCADIENTE-CONDEZA (1).pptx
LIGHT-PHENOMENA-BY-CABUALDIONALDOPANOGANCADIENTE-CONDEZA (1).pptxmalonesandreagweneth
 
Analytical Profile of Coleus Forskohlii | Forskolin .pptx
Analytical Profile of Coleus Forskohlii | Forskolin .pptxAnalytical Profile of Coleus Forskohlii | Forskolin .pptx
Analytical Profile of Coleus Forskohlii | Forskolin .pptxSwapnil Therkar
 

Recently uploaded (20)

BREEDING FOR RESISTANCE TO BIOTIC STRESS.pptx
BREEDING FOR RESISTANCE TO BIOTIC STRESS.pptxBREEDING FOR RESISTANCE TO BIOTIC STRESS.pptx
BREEDING FOR RESISTANCE TO BIOTIC STRESS.pptx
 
‏‏VIRUS - 123455555555555555555555555555555555555555
‏‏VIRUS -  123455555555555555555555555555555555555555‏‏VIRUS -  123455555555555555555555555555555555555555
‏‏VIRUS - 123455555555555555555555555555555555555555
 
Call Girls in Munirka Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Munirka Delhi 💯Call Us 🔝8264348440🔝Call Girls in Munirka Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Munirka Delhi 💯Call Us 🔝8264348440🔝
 
Speech, hearing, noise, intelligibility.pptx
Speech, hearing, noise, intelligibility.pptxSpeech, hearing, noise, intelligibility.pptx
Speech, hearing, noise, intelligibility.pptx
 
zoogeography of pakistan.pptx fauna of Pakistan
zoogeography of pakistan.pptx fauna of Pakistanzoogeography of pakistan.pptx fauna of Pakistan
zoogeography of pakistan.pptx fauna of Pakistan
 
Solution chemistry, Moral and Normal solutions
Solution chemistry, Moral and Normal solutionsSolution chemistry, Moral and Normal solutions
Solution chemistry, Moral and Normal solutions
 
TOPIC 8 Temperature and Heat.pdf physics
TOPIC 8 Temperature and Heat.pdf physicsTOPIC 8 Temperature and Heat.pdf physics
TOPIC 8 Temperature and Heat.pdf physics
 
(9818099198) Call Girls In Noida Sector 14 (NOIDA ESCORTS)
(9818099198) Call Girls In Noida Sector 14 (NOIDA ESCORTS)(9818099198) Call Girls In Noida Sector 14 (NOIDA ESCORTS)
(9818099198) Call Girls In Noida Sector 14 (NOIDA ESCORTS)
 
Volatile Oils Pharmacognosy And Phytochemistry -I
Volatile Oils Pharmacognosy And Phytochemistry -IVolatile Oils Pharmacognosy And Phytochemistry -I
Volatile Oils Pharmacognosy And Phytochemistry -I
 
Scheme-of-Work-Science-Stage-4 cambridge science.docx
Scheme-of-Work-Science-Stage-4 cambridge science.docxScheme-of-Work-Science-Stage-4 cambridge science.docx
Scheme-of-Work-Science-Stage-4 cambridge science.docx
 
Pests of castor_Binomics_Identification_Dr.UPR.pdf
Pests of castor_Binomics_Identification_Dr.UPR.pdfPests of castor_Binomics_Identification_Dr.UPR.pdf
Pests of castor_Binomics_Identification_Dr.UPR.pdf
 
Hot Sexy call girls in Moti Nagar,🔝 9953056974 🔝 escort Service
Hot Sexy call girls in  Moti Nagar,🔝 9953056974 🔝 escort ServiceHot Sexy call girls in  Moti Nagar,🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Moti Nagar,🔝 9953056974 🔝 escort Service
 
Behavioral Disorder: Schizophrenia & it's Case Study.pdf
Behavioral Disorder: Schizophrenia & it's Case Study.pdfBehavioral Disorder: Schizophrenia & it's Case Study.pdf
Behavioral Disorder: Schizophrenia & it's Case Study.pdf
 
Pests of jatropha_Bionomics_identification_Dr.UPR.pdf
Pests of jatropha_Bionomics_identification_Dr.UPR.pdfPests of jatropha_Bionomics_identification_Dr.UPR.pdf
Pests of jatropha_Bionomics_identification_Dr.UPR.pdf
 
Pests of safflower_Binomics_Identification_Dr.UPR.pdf
Pests of safflower_Binomics_Identification_Dr.UPR.pdfPests of safflower_Binomics_Identification_Dr.UPR.pdf
Pests of safflower_Binomics_Identification_Dr.UPR.pdf
 
Call Girls in Mayapuri Delhi 💯Call Us 🔝9953322196🔝 💯Escort.
Call Girls in Mayapuri Delhi 💯Call Us 🔝9953322196🔝 💯Escort.Call Girls in Mayapuri Delhi 💯Call Us 🔝9953322196🔝 💯Escort.
Call Girls in Mayapuri Delhi 💯Call Us 🔝9953322196🔝 💯Escort.
 
Vision and reflection on Mining Software Repositories research in 2024
Vision and reflection on Mining Software Repositories research in 2024Vision and reflection on Mining Software Repositories research in 2024
Vision and reflection on Mining Software Repositories research in 2024
 
SOLUBLE PATTERN RECOGNITION RECEPTORS.pptx
SOLUBLE PATTERN RECOGNITION RECEPTORS.pptxSOLUBLE PATTERN RECOGNITION RECEPTORS.pptx
SOLUBLE PATTERN RECOGNITION RECEPTORS.pptx
 
LIGHT-PHENOMENA-BY-CABUALDIONALDOPANOGANCADIENTE-CONDEZA (1).pptx
LIGHT-PHENOMENA-BY-CABUALDIONALDOPANOGANCADIENTE-CONDEZA (1).pptxLIGHT-PHENOMENA-BY-CABUALDIONALDOPANOGANCADIENTE-CONDEZA (1).pptx
LIGHT-PHENOMENA-BY-CABUALDIONALDOPANOGANCADIENTE-CONDEZA (1).pptx
 
Analytical Profile of Coleus Forskohlii | Forskolin .pptx
Analytical Profile of Coleus Forskohlii | Forskolin .pptxAnalytical Profile of Coleus Forskohlii | Forskolin .pptx
Analytical Profile of Coleus Forskohlii | Forskolin .pptx
 

A New Model Checking Tool

  • 1. Proceedings of the European Computing Conference 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→2AP) where S is a finite set of states, Rel⊆S×S is a transition relation, and P:S→2AP 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. ISBN: 978-960-474-297-4 358
  • 2. Proceedings of the European Computing Conference Details about formal definitions for syntax and semantics of a CTL model checker can be found in paper [4]. A. Syntax definition of a CTL model checker [4] A CTL has the following syntax given in BNF (Backus-Naur Form): f :: ⏉|⏊|p|(¬ f1)| f1∧f2| f1∨f2| f1→ f2| AX f1| EX f1| AG f1| EG f1| AF f1| EF f1| A[f1Uf2] | E[f1Uf2] where ∀p∈AP. B. Semantics definition of a CTL model checker is detailed in [4] Let M=(S, Rel, P:S→2AP) be a Kripke model for CTL. Given a state s in S, in [2] is defined if a CTL formula f holds in state s. This is denoted by (M,s) ⊨ f. The satisfaction relation ⊨ is defined by structural induction on fourteen CTL formulas [4]. The model checker takes as input the model and the formula and then verifies if the formula is satisfied by the model. The query can be expressed as: „(M, s) ⊨ f”? where M will be the model analyzed, s will be a state from the model, and f will be the verified formula, which is satisfied or not by the model M. The base idea of the verification algorithm is to split the CTL formula f into valid sub-formulas, and using a structural induction will be created a parser tree labeled with these sub-formulas. Depending on the meaning of connectors and the truth value of each sub-formula, will be deducted the satisfaction of formula from each state using the parser tree created. 3 Implementation of a model checker in ANTLR The flexibility of algebraic methodology shows us how the CTL model checkers for various temporal logics can be generated from the algebraic specification. In paper [2] we showed in detail how this algebraic approach can be used to the specification of a CTL model checker. The CTL language is defined as a Σ – language [2]. The operator scheme Σctl is defined as a triple 〈Sctl,Octl,σctl〉 where sets Sctl={F} are representations of the formula f, Octl = {⊤, ⊥, ¬, ∧, ∨, →, AX, EX, AU, EU, EF, AF, EG, AG} is the set of operators, and the σctl:Octl→Sctl ∗×Sctl is a function which defines the signature of the operators [2]. The CTL model checker can be defined as the Σctl - language given in the form Lctl=〈Semctl, Synctl, Lctl:Semctl→Synctl〉 where Synctl is the word algebra of the operator scheme Σctl generated by the operations from Octl and a finite set of variables, representing atomic propositions, denoted by AP. Semctl represents CTL semantic algebra defined over the set of CTL formulas which are satisfied by the CTL model M. Lctl is a mapping which associates the set of satisfied formulas from Semctl to CTL expressions from Sinctl which satisfy these formulas. From a formal point of view, implementation of a CTL model checker will be equated with implementation of an algebraic compiler. The definition of sigma algebras, sigma languages and also the definition of sigma heterogenic homomorphism can be found in detail in papers [3], [7]. In paper [2] it is mentioned that an algebraic compiler can be defined using Σ – algebras and Σ– heterogenic homomorphism as C:Ls→Lt, where Ls is the source language and Lt is the target language. The source language Ls is CTL, and the target language Lt is a language which describes the set of nodes from the model M where the formula f is satisfied. The algebraic compiler C translates formula f of the CTL model to set of nodes S' over which formula f is satisfied. That is, C(f)=S' where S'={s∈S| (M,s) ⊨ f}. The implementation of the algebraic compiler C is made in two steps. First, we need a syntactic parser to verify the syntactic correctness of a formula f. Then, we should deal with the semantics of the CTL language (Semctl), respectively with the implementation of the operators from set Octl. Writing a translator for certain language is difficult to be achieved requiring time and a considerable effort. Currently there are specialized tools which generate most of necessary code beginning from a specification grammar of the source language. For implementation of the algebraic compiler we choose the ANTLR (Another Tool for Language Recognition). ANTLR [5] is a compiler generator which takes as input a grammar - an exact description of the source language, and generates a recognizer for the language defined by the grammar. ANTLR support the EBNF (Extended BNF) notation, useful for specification of operations that requires the use of recursion. In order to translate a formula f of a CTL model to the set of nodes S' over which formula f is satisfied, is necessary the attachment of actions to grammatical constructions within specification grammar of CTL. The actions are written in target language of the generated parser (in our case, Java). These actions are incorporated in source code of the parser and are ISBN: 978-960-474-297-4 359
  • 3. Proceedings of the European Computing Conference activated whenever the parser recognizes a valid syntactic construction in the translated CTL formula. In case of the algebraic compiler C, the actions define the semantics of the CTL model checker, i.e., the implementation of the Octl operators. The model checker generated by ANTLR from our specification grammar of CTL, takes as input the model M (where are defined the sets S, Rel, P) and formula f, and provides as output the set S'={s∈S| (M,s) ⊨ f} – the set of states where the formula f is satisfied. Given a CTL formula t, dctl(t) denotes the set of states in which the formula t holds. Each operation octl from algebra Semctl is associated with the expression d(octl(t)) representing the set of states from the algebra Synsets in which the formula octl(t) is satisfied [2]. In case of the AG operator we are using the following notation: d(AG(t)) = d(Allglobal(t)). For the formal specification of the AG operator given in figure 1, the corresponding action included in the ANTLR grammar of CTL language is detailed in figure 2. Z:=∅; Z':= dctl(t); while (Z≠ Z') do Z:=Z'; Z':=Z'∩{s∈S| succ(s)⊆ Z'}; endwhile dctl(Allglobal(t)) :=Z'; Fig 1. Formal definition of the set expression dctl(AG(t)) //Ctlformula→”ag” formula ctlFormula returns [HashSet set] : 'ag' f=formula { HashSet rez = new HashSet(); // Z:=∅ ; HashSet rez1 = new HashSet($f.set); // Z':= dctl(t); while (!rez.equals(rez1)) // while Z≠Z' do { rez.clear(); rez.addAll(rez1); //Z:=Z' HashSet tmp = new HashSet(); boolean include; for (int i=0; i<MAX_STARI; i++) { include = true; for (int j=0; j<MAX_STARI; j++) if (rel[i][j]==1) //∃ succ(s), s∈S if(!(rez1.contains(new Integer(j)))) include = false; if (include) tmp.add(new Integer(i)); //succ(s)⊆ Z' } // end for rez1.retainAll(tmp); //Z':=Z'∩ {s∈S| succ(s)⊆ Z'}; }// end while trace("ctlFormula",6); printSet(" ag " + $f.text,rez1); $set = rez1; // dctl(Allglobal(t)) :=Z'; } … Fig 2. Implementation of the AG formula in ANTLR For verification of formula f=ag(not((Btn and Err))) we can use the ANTLR debugging facility [5] to visualize the abstract syntactic tree AST, presented in figure 4. In figure 3 is represented the algebraic compiler implementation process, based on our specification grammar of CTL language. Fig 3. Algebraic compiler implementation Fig 4. AST tree for ag(not((Btn and Err))) formula in ANTLRWorks ISBN: 978-960-474-297-4 360
  • 4. Proceedings of the European Computing Conference 4 Publishing the CTL model checker as a Web service Web Services, as a distributed application technology, simplifies interoperability between heterogeneous distributed systems. Clients can access Web services regardless of the platform or operating system upon which the service or the client is implemented. In addition to interoperability, Web service clients can use standardized approaches to access services through firewalls. Such access extends the capabilities of clients. The transport protocol used by Web Services enables clients to operate with systems through firewalls [6]. In order to make available our implementation of algebraic compiler as a reusable component of a CTL model checking tool, we published it as a Web service. The architecture of the Web service implementation is represented in figure 5. The Web service will receive from a client the XML representation of a CTL model M and a CTL formula f. The original form of the CTL model M is passed then to the algebraic compiler C generated by ANTLR using our CTL extended grammar. The compiler will return as result C(f) ={s∈S| (M,s) ⊨ f}, the set of nodes in which the formula is satisfied. Obviously, the formula f may contain syntactical errors. In order to notify the client about these possible errors, we must override the default behavior of the ANTLR error-handling. We install our error-handling in lexer: @lexer::members { @Override public void reportError(RecognitionException re) { throw new RuntimeException ("Lexical error!nn" + Position: " + re.line + ":" + re.charPositionInLine + " bad character: '" + (char)re.c + "'"); }} and also in parser: @members { @Override public void reportError(RecognitionException re) { throw new RuntimeException("Syntactical error!"); } …} and finally instruct ANTLR to throw the error, allowing the Web service to send it to the client: @rulecatch { catch (RecognitionException err) { throw err; }} Fig 5. The architecture of the CTL model checker Web Service 5 The C# client The model checking tool is based on a C# GUI client who allows interactive graphical development of the CTL models. Fig 6. CTL Designer - the C# client in action All facilities are accessible through a right-click contextual menu: adding nodes, labeling nodes, deleting nodes, adding arcs, display nodes numbers, etc. The model is sent as a XML document to the Web service, together with the formula to be ISBN: 978-960-474-297-4 361
  • 5. Proceedings of the European Computing Conference verified. The response from server is displayed in a separate window, as we will see in the following section. 6 CTL Model for Login Page Controller In this section we consider as testing example a CTL model presented in [1], and we use our tool to verify a CTL formula. Our model refers to a login page with user name and password. The model will check if logging is allowed or not depending on input data. The Kripke model has five states and the propositional variables are from the set AP = {Usr, Psw, Btn, Err, not_Usr, not_Psw, not_Btn, not_Err}. Usr represents the fill in the user name, Psw corresponds to fill in the password, Btn is the push button event for Sing-in or Sign-out page and Err point out an error to login. The Kripke model is shown in figure 7: Fig 7. The CTL structure of “Login Page Controller” The formal definition of the Kripke structure for the Login Page Controller is given by: M = (S, Rel, P), where S={s0,s1,s2,s3,s4}, Rel={(s0,s1), (s1,s0), (s1,s2), (s2,s1), (s2,s3), (s2,s4), (s3,s0), (s3,s3), (s3,s4), (s4,s0)}, AP={Usr, Psw, Btn, Err, not_Usr, not_Psw, not_Btn, not_Err }, P assigns state s0 in M with not UserName, not Password, not Button pushed and not Error, that is set {not_Usr, not_Psw, not_Btn, not_Err}. P assigns state s1 in M with {Usr, not_Psw, not_Btn, not_Err}, the state s2 in M with {Usr, Psw, not_Btn, not_Err}, the state s3 in M with {Usr, Psw, Btn, not_Err}, the state s4 in M with {not_Usr, not_Psw, not_Btn, Err}. For the model presented in figure 7 an important task is to verify formula ag (not (Btn and Err)) that means to see if there exists a node which did not have in the same time the push sign-in button and have the error. The interpretation and verification of this formula presupposes these: We have the atomic proposition Btn in state {s3} and the atomic proposition Err in state {s4}. The (Btn and Err) is empty sets because any state from model does not contain both atomic propositions. Hence not (Btn and Err) formula is true in all states {s0,…,s4} and also the ag (not (Btn and Err)) is a formula satisfied by the proposed model. Verification of the formula with our CTL model checking tool allows us to conclude that formula is satisfied in all states of the Kripke model presented in figure 7. The states of model are numbered from 0 to 4. This information is available selecting Details from the contextual menu of the CTL Designer. Fig 8. Invoking the algebraic compiler (Web service) from the CTL Designer (client) 7 Conclusions In this article we built a CTL model checking tool, based on robust technologies (Java, .NET) and well-known standards (XML, SOAP, HTTP). As a great facility we mention the capability of interactive graphical specification of the CTL model, using the client tool (CTL Designer). The CTL algebraic compiler, implemented as a Web service and based on Java code generated by ISBN: 978-960-474-297-4 362
  • 6. Proceedings of the European Computing Conference ANTLR using an original CTL grammar, provides error-handling for eventual lexical/syntax errors in formula to be translated. References: [1] L. F. Cacovean, Using CTL Model Checker for Verification of Domain Application Systems, Proceedings of the 11th WSEAS International Conference on EC, Iaşi, Romania, 2010, pp. 262-267. [2] L. Cacovean, F. Stoica, Algebraic Specification Implementation for CTL Model Checker Using ANTLR Tools, 2008 WSEAS International Conferences, Computers and Simulation in Modern Science - Volume II, Bucharest, Romania, 2008, pp. 45-50 [3] P.J. Higgins. Algebras with scheme of operators. Mathematische Nachrichten, No.27, 1963/64, pp. 115–132. [4] M. Huth, M. Ryan, Logic in Computer Science: Modelling and Reasoning about Systems, Cambridge University Press, 2000. [5] Terence Parr , The Definitive ANTLR Reference, Building Domain-Specific Languages, version: 2007 [6] F. Stoica, L. F. Cacovean, Interoperability Issues in Accessing Databases through Web Services, Proceedings of the 11th WSEAS International Conference on EVOLUTIONARY COMPUTING (EC '10), , 2010, pp. 279-284 [7] E. Van Wyk, Specification Languages in Algebraic Compilers, Theoretical Computer Science, 231(3), 2003, pp. 351—385. ISBN: 978-960-474-297-4 363