SlideShare a Scribd company logo
By
Kashif khan
Muhammad Yasir
Muhammad Ejaz khan
University of Camerino Italy
 Introduction to mCRL2
 LPS , LTS,PBES
 Operators
 Vending Machine
 Odd counter
 Login
 Car park
 Phone book
 Micro Common representation language 2
 Specification Language
 Used for modeling , verification and
validation
 Based on Algebra of communicating process
include data and time.
 Process perform actions, can carry data as
parameter
 Every process has LTS contain all states
 Stored in binary Format
 LTS constructed from LPS
 LPS, symbolic representation of LTS to
describe behavior of system explicitly
 LPS can be printed in Human Readable format
 LPS is speedy than LTS
 Statistical info Can be collected in LPSPP
 Generated from LPS
 It show the LPS as node link Diagram
(ltsgraph)
 LTSVIEW to reduce the complexity of
image(3D)
 DIAGRAPHICA reduce complexity to 2D
 LTSCONVERT smaller than Original LTS
 LTSCOMPARE check weather the two LTS are
behaviorally equal or not
 Parameterized Boolean Equation system
 Input needed for model checking, is a
formula expressing a desired property that
the system should not violate (or satisfy)
 Pbes stored in Binary format
 Pbespp stored in human readable format.
 BES genrated from PBES
 Sort
data type definition using keyword sort. Sorts are
non-empty, possibly infinite sets with data
elements.
sort D;
cons c, d : D;
 declares sort D in which all elements can be
denoted by either c or d.
Now for Boolean
sort B
cons true, false : B;
 The sum operator allows to formulate the choice
between a possibly infinite number of processes
in a very concise way.
 The process sum n: Nat . p(n) can be seen as a
shorthand for p(0) + p(1) + p(2) + .... The use of
the sum operator is often to indicate that some
value must be read, i.e., the process wants to
read either a 0 or a 1 or a 2,
sort Val = struct c2 | c5 | c10;
act coin: Val;
init sum v: Val . coin(v);
act num: Nat;
init sum v: Nat . num(2 * v);
 sort Val = struct c2 | c5 | c10;
 act
coffee;
coin, rej: Val;
 proc P = sum v: Val . coin(v) . (
(v != c10) -> rej(v) . P + (v == c10) ->
coffee . P ); init P;
 We can let data influence the course of events
by adding conditions to the process
c -> p <> q implies if c then do process p
else do process q
 act tick, reset;
proc
Clock(n: Nat) = (n < 99) -> tick . Clock(n + 1)
<> tick . Clock(0) + (n < 50) -> reset .
Clock(0);
init Clock(0);
 comm({a|b -> c}, p) .. multi-actions are
renamed to a single action... actions a and b
must communicate to c in process p.
 act a, b, c: Nat;
proc P = a(1) || b(1);
init comm({a|b->c}, P);
 Allow (allow(A, P))
removes all multi-actions from the transition
system that do not occur in A. Any states that
have become unreachable will also be
removed by mCRL2, as the resulting system
is smaller and bisimilar.
allow({c}; p) only multi-actions consisting
of a single c are allowed in p.
allow({c},comm({send|read- > c}, send||read))
 After inserting a coin of 10 cents, the user can
push the button for an apple. An apple will then
be put in the drawer of the machine.
act ins10, optA, acc10, putA, coin, ready ;
proc
User = ins10 . optA . User ;
Mach = acc10 . putA . Mach ;
init
allow(
{ coin, ready },
comm( { ins10|acc10 -> coin,
optA|putA -> ready }, User || Mach ) ) ;
sort
Value= struct even | odd;
act
r1,r2:Nat;
s1,s2,s3 : Value;
proc
P=sum n:Nat.(n<5)->r1(n).s1(if(n mod 2 == 0, even, odd)).P;
Q(n:Nat)=sum v:Value.s2(v).((v==even)->tau
+(v==odd)->r2(n)).Q(n=min(5,n+1));
init allow ({r1,r2},
comm ({s1|s2->s3},
P||Q(0)));
Filter
P
Counter
Q
r1 r2s1 s2
s3
◦ no deadlock?
[true*]<true>true
◦ an input (r1) is always followed by an output (s3)?
[true*.r1.(!s3)*]<(!s3)*.s3>true
 User first check the system if the system
working the user enter password and
username, if it is already in the database the
user login to the system if not available then
the user first go for signup and insert all the
data.
 [true*]<true>true
 password needed (1): [loginpage] < true* .
enterpassword > true (that is: the first
‘loginpage’ can be followed by
‘enterpassword’)
 password needed (2): [true* . loginpage] <
true* . enterpassword > true (that is: every
‘loginpage’ can be followed by
‘enterpassword’)
mCRL2 specication before linearisation:
act order, receive, keep, refund; return;
proc
Start = order .Ordered;
Ordered = receive. Received + refund .Start;
Received = return .Ordered + keep;
init Start;
sort State = struct start | ordered | received;
act order, receive, keep, refund, return;
proc P(s : State) =
(s =start) -> order . P(ordered)
+ (s =ordered) -> receive . P(received)
+ (s = ordered) ->refund . P(start)
+ (s =received) -> return . P(ordered)
+ (s = received) -> keep;
init P(start);
act
enter_car,
enter_cash,recive_recipt,car_park,open_gate,acc_cash,give_recipt,
entercar,cash,recipt,park,acc_gate;
proc
User = enter_car . enter_cash. recive_recipt . car_park . User;
Machine =acc_gate . acc_cash . give_recipt. open_gate . Machine;
init
allow(
{entercar,cash,recipt,park },
comm(
{enter_car|acc_gate -> entercar, enter_cash|acc_cash->cash,
recive_recipt|give_recipt->recipt, car_park|open_gate->park },
User || Machine
) ) ;
sort Name = struct n0 | n1 ;
PhoneNumber = struct p0 | p1 ;
PhoneBook = Name -> PhoneNumber;
map
book: Name -> PhoneNumber;
var n: Name;
eqn
book(n) = p0;
act
addPhone: Name # PhoneNumber;
delPhone: Name;
findPhone: Name;
proc
PhoneDir(b: PhoneBook) =
sum n: Name, p: PhoneNumber . (p != p0) -> addPhone(n, p) . PhoneDir(b[n->p])
+ sum n: Name . findPhone(n) . PhoneDir()
+ sum n: Name . delPhone(n) . PhoneDir(b[n->p0]);
init PhoneDir(book);
MCRL2

More Related Content

What's hot

MATLAB Programming - Loop Control Part 2
MATLAB Programming - Loop Control Part 2MATLAB Programming - Loop Control Part 2
MATLAB Programming - Loop Control Part 2
Shameer Ahmed Koya
 
STORAGE CLASSES
STORAGE CLASSESSTORAGE CLASSES
STORAGE CLASSES
sathish sak
 
Storage class
Storage classStorage class
Storage class
Kalaikumar Thangapandi
 
What is storage class
What is storage classWhat is storage class
What is storage classIsha Aggarwal
 
Loop c++
Loop c++Loop c++
Loop c++
Mood Mood
 
Storage class
Storage classStorage class
Storage class
Joy Forerver
 
storage class
storage classstorage class
storage classstudent
 
11 lec 11 storage class
11 lec 11 storage class11 lec 11 storage class
11 lec 11 storage classkapil078
 
Loops in c language
Loops in c languageLoops in c language
Loops in c language
tanmaymodi4
 
Closures
ClosuresClosures
Closures
prashanthbabu07
 
Matlab Script - Loop Control
Matlab Script - Loop ControlMatlab Script - Loop Control
Matlab Script - Loop Control
Shameer Ahmed Koya
 
C# Method overloading
C# Method overloadingC# Method overloading
C# Method overloading
Prem Kumar Badri
 
Data structure scope of variables
Data structure scope of variablesData structure scope of variables
Data structure scope of variablesSaurav Kumar
 
Storage classes
Storage classesStorage classes
Storage classes
Puneet Rajput
 
Effective java item 80 and 81
Effective java   item 80 and 81Effective java   item 80 and 81
Effective java item 80 and 81
Isaac Liao
 
Storage class in c
Storage class in cStorage class in c
Storage class in c
kash95
 
parallel programming in the PVM- task creation-Advanced system architecture
parallel programming in the PVM- task creation-Advanced system architectureparallel programming in the PVM- task creation-Advanced system architecture
parallel programming in the PVM- task creation-Advanced system architecture
RoslinJoseph
 

What's hot (20)

MATLAB Programming - Loop Control Part 2
MATLAB Programming - Loop Control Part 2MATLAB Programming - Loop Control Part 2
MATLAB Programming - Loop Control Part 2
 
STORAGE CLASSES
STORAGE CLASSESSTORAGE CLASSES
STORAGE CLASSES
 
Storage class
Storage classStorage class
Storage class
 
What is storage class
What is storage classWhat is storage class
What is storage class
 
Loop c++
Loop c++Loop c++
Loop c++
 
Storage class
Storage classStorage class
Storage class
 
storage class
storage classstorage class
storage class
 
11 lec 11 storage class
11 lec 11 storage class11 lec 11 storage class
11 lec 11 storage class
 
Loops in c language
Loops in c languageLoops in c language
Loops in c language
 
Closures
ClosuresClosures
Closures
 
Matlab Script - Loop Control
Matlab Script - Loop ControlMatlab Script - Loop Control
Matlab Script - Loop Control
 
C# Method overloading
C# Method overloadingC# Method overloading
C# Method overloading
 
Data structure scope of variables
Data structure scope of variablesData structure scope of variables
Data structure scope of variables
 
Storage classes
Storage classesStorage classes
Storage classes
 
Storage classes
Storage classesStorage classes
Storage classes
 
Effective java item 80 and 81
Effective java   item 80 and 81Effective java   item 80 and 81
Effective java item 80 and 81
 
Storage class in C Language
Storage class in C LanguageStorage class in C Language
Storage class in C Language
 
Storage class in c
Storage class in cStorage class in c
Storage class in c
 
parallel programming in the PVM- task creation-Advanced system architecture
parallel programming in the PVM- task creation-Advanced system architectureparallel programming in the PVM- task creation-Advanced system architecture
parallel programming in the PVM- task creation-Advanced system architecture
 
C++ Question
C++ QuestionC++ Question
C++ Question
 

Similar to MCRL2

Mcrl2 by kashif.namal@gmail.com, adnanskyousafzai@gmail.com
Mcrl2 by kashif.namal@gmail.com, adnanskyousafzai@gmail.comMcrl2 by kashif.namal@gmail.com, adnanskyousafzai@gmail.com
Mcrl2 by kashif.namal@gmail.com, adnanskyousafzai@gmail.com
kashif kashif
 
Formal Verification of Transactional Interaction Contract
Formal Verification of Transactional Interaction ContractFormal Verification of Transactional Interaction Contract
Formal Verification of Transactional Interaction ContractGera Shegalov
 
chapter1.ppt
chapter1.pptchapter1.ppt
chapter1.ppt
SankarTerli
 
Basic_analysis.ppt
Basic_analysis.pptBasic_analysis.ppt
Basic_analysis.ppt
SoumyaJ3
 
Job Queue in Golang
Job Queue in GolangJob Queue in Golang
Job Queue in Golang
Bo-Yi Wu
 
CPP Homework Help
CPP Homework HelpCPP Homework Help
CPP Homework Help
C++ Homework Help
 
chapter1.ppt
chapter1.pptchapter1.ppt
chapter1.ppt
ebinazer1
 
FDS- Basic Concepts.ppt
FDS- Basic Concepts.pptFDS- Basic Concepts.ppt
FDS- Basic Concepts.ppt
shanthishyam
 
The Ring programming language version 1.5.2 book - Part 74 of 181
The Ring programming language version 1.5.2 book - Part 74 of 181The Ring programming language version 1.5.2 book - Part 74 of 181
The Ring programming language version 1.5.2 book - Part 74 of 181
Mahmoud Samir Fayed
 
The Ring programming language version 1.3 book - Part 59 of 88
The Ring programming language version 1.3 book - Part 59 of 88The Ring programming language version 1.3 book - Part 59 of 88
The Ring programming language version 1.3 book - Part 59 of 88
Mahmoud Samir Fayed
 
Loops
LoopsLoops
The Ring programming language version 1.4 book - Part 21 of 30
The Ring programming language version 1.4 book - Part 21 of 30The Ring programming language version 1.4 book - Part 21 of 30
The Ring programming language version 1.4 book - Part 21 of 30
Mahmoud Samir Fayed
 
Compose Async with RxJS
Compose Async with RxJSCompose Async with RxJS
Compose Async with RxJS
Kyung Yeol Kim
 
DATA STRUCTURE USING C & C++
DATA STRUCTURE USING C & C++DATA STRUCTURE USING C & C++
DATA STRUCTURE USING C & C++
mustkeem khan
 
DSU C&C++ Practical File Diploma
DSU C&C++ Practical File DiplomaDSU C&C++ Practical File Diploma
DSU C&C++ Practical File Diploma
mustkeem khan
 
Operator overloading2
Operator overloading2Operator overloading2
Operator overloading2
zindadili
 

Similar to MCRL2 (20)

Mcrl2 by kashif.namal@gmail.com, adnanskyousafzai@gmail.com
Mcrl2 by kashif.namal@gmail.com, adnanskyousafzai@gmail.comMcrl2 by kashif.namal@gmail.com, adnanskyousafzai@gmail.com
Mcrl2 by kashif.namal@gmail.com, adnanskyousafzai@gmail.com
 
Formal Verification of Transactional Interaction Contract
Formal Verification of Transactional Interaction ContractFormal Verification of Transactional Interaction Contract
Formal Verification of Transactional Interaction Contract
 
OS_Ch7
OS_Ch7OS_Ch7
OS_Ch7
 
OSCh7
OSCh7OSCh7
OSCh7
 
chapter1.ppt
chapter1.pptchapter1.ppt
chapter1.ppt
 
chapter1.ppt
chapter1.pptchapter1.ppt
chapter1.ppt
 
Basic_analysis.ppt
Basic_analysis.pptBasic_analysis.ppt
Basic_analysis.ppt
 
Job Queue in Golang
Job Queue in GolangJob Queue in Golang
Job Queue in Golang
 
C lab-programs
C lab-programsC lab-programs
C lab-programs
 
CPP Homework Help
CPP Homework HelpCPP Homework Help
CPP Homework Help
 
chapter1.ppt
chapter1.pptchapter1.ppt
chapter1.ppt
 
FDS- Basic Concepts.ppt
FDS- Basic Concepts.pptFDS- Basic Concepts.ppt
FDS- Basic Concepts.ppt
 
The Ring programming language version 1.5.2 book - Part 74 of 181
The Ring programming language version 1.5.2 book - Part 74 of 181The Ring programming language version 1.5.2 book - Part 74 of 181
The Ring programming language version 1.5.2 book - Part 74 of 181
 
The Ring programming language version 1.3 book - Part 59 of 88
The Ring programming language version 1.3 book - Part 59 of 88The Ring programming language version 1.3 book - Part 59 of 88
The Ring programming language version 1.3 book - Part 59 of 88
 
Loops
LoopsLoops
Loops
 
The Ring programming language version 1.4 book - Part 21 of 30
The Ring programming language version 1.4 book - Part 21 of 30The Ring programming language version 1.4 book - Part 21 of 30
The Ring programming language version 1.4 book - Part 21 of 30
 
Compose Async with RxJS
Compose Async with RxJSCompose Async with RxJS
Compose Async with RxJS
 
DATA STRUCTURE USING C & C++
DATA STRUCTURE USING C & C++DATA STRUCTURE USING C & C++
DATA STRUCTURE USING C & C++
 
DSU C&C++ Practical File Diploma
DSU C&C++ Practical File DiplomaDSU C&C++ Practical File Diploma
DSU C&C++ Practical File Diploma
 
Operator overloading2
Operator overloading2Operator overloading2
Operator overloading2
 

Recently uploaded

Railway Signalling Principles Edition 3.pdf
Railway Signalling Principles Edition 3.pdfRailway Signalling Principles Edition 3.pdf
Railway Signalling Principles Edition 3.pdf
TeeVichai
 
WATER CRISIS and its solutions-pptx 1234
WATER CRISIS and its solutions-pptx 1234WATER CRISIS and its solutions-pptx 1234
WATER CRISIS and its solutions-pptx 1234
AafreenAbuthahir2
 
The Benefits and Techniques of Trenchless Pipe Repair.pdf
The Benefits and Techniques of Trenchless Pipe Repair.pdfThe Benefits and Techniques of Trenchless Pipe Repair.pdf
The Benefits and Techniques of Trenchless Pipe Repair.pdf
Pipe Restoration Solutions
 
road safety engineering r s e unit 3.pdf
road safety engineering  r s e unit 3.pdfroad safety engineering  r s e unit 3.pdf
road safety engineering r s e unit 3.pdf
VENKATESHvenky89705
 
English lab ppt no titlespecENG PPTt.pdf
English lab ppt no titlespecENG PPTt.pdfEnglish lab ppt no titlespecENG PPTt.pdf
English lab ppt no titlespecENG PPTt.pdf
BrazilAccount1
 
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdfTop 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Teleport Manpower Consultant
 
Water Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation and Control Monthly - May 2024.pdfWater Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation & Control
 
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Dr.Costas Sachpazis
 
block diagram and signal flow graph representation
block diagram and signal flow graph representationblock diagram and signal flow graph representation
block diagram and signal flow graph representation
Divya Somashekar
 
Final project report on grocery store management system..pdf
Final project report on grocery store management system..pdfFinal project report on grocery store management system..pdf
Final project report on grocery store management system..pdf
Kamal Acharya
 
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdfAKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
SamSarthak3
 
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
AJAYKUMARPUND1
 
Gen AI Study Jams _ For the GDSC Leads in India.pdf
Gen AI Study Jams _ For the GDSC Leads in India.pdfGen AI Study Jams _ For the GDSC Leads in India.pdf
Gen AI Study Jams _ For the GDSC Leads in India.pdf
gdsczhcet
 
ASME IX(9) 2007 Full Version .pdf
ASME IX(9)  2007 Full Version       .pdfASME IX(9)  2007 Full Version       .pdf
ASME IX(9) 2007 Full Version .pdf
AhmedHussein950959
 
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单专业办理
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单专业办理一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单专业办理
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单专业办理
zwunae
 
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
bakpo1
 
AP LAB PPT.pdf ap lab ppt no title specific
AP LAB PPT.pdf ap lab ppt no title specificAP LAB PPT.pdf ap lab ppt no title specific
AP LAB PPT.pdf ap lab ppt no title specific
BrazilAccount1
 
在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样
在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样
在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样
obonagu
 
weather web application report.pdf
weather web application report.pdfweather web application report.pdf
weather web application report.pdf
Pratik Pawar
 
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdfHybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
fxintegritypublishin
 

Recently uploaded (20)

Railway Signalling Principles Edition 3.pdf
Railway Signalling Principles Edition 3.pdfRailway Signalling Principles Edition 3.pdf
Railway Signalling Principles Edition 3.pdf
 
WATER CRISIS and its solutions-pptx 1234
WATER CRISIS and its solutions-pptx 1234WATER CRISIS and its solutions-pptx 1234
WATER CRISIS and its solutions-pptx 1234
 
The Benefits and Techniques of Trenchless Pipe Repair.pdf
The Benefits and Techniques of Trenchless Pipe Repair.pdfThe Benefits and Techniques of Trenchless Pipe Repair.pdf
The Benefits and Techniques of Trenchless Pipe Repair.pdf
 
road safety engineering r s e unit 3.pdf
road safety engineering  r s e unit 3.pdfroad safety engineering  r s e unit 3.pdf
road safety engineering r s e unit 3.pdf
 
English lab ppt no titlespecENG PPTt.pdf
English lab ppt no titlespecENG PPTt.pdfEnglish lab ppt no titlespecENG PPTt.pdf
English lab ppt no titlespecENG PPTt.pdf
 
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdfTop 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
 
Water Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation and Control Monthly - May 2024.pdfWater Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation and Control Monthly - May 2024.pdf
 
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
 
block diagram and signal flow graph representation
block diagram and signal flow graph representationblock diagram and signal flow graph representation
block diagram and signal flow graph representation
 
Final project report on grocery store management system..pdf
Final project report on grocery store management system..pdfFinal project report on grocery store management system..pdf
Final project report on grocery store management system..pdf
 
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdfAKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
 
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
 
Gen AI Study Jams _ For the GDSC Leads in India.pdf
Gen AI Study Jams _ For the GDSC Leads in India.pdfGen AI Study Jams _ For the GDSC Leads in India.pdf
Gen AI Study Jams _ For the GDSC Leads in India.pdf
 
ASME IX(9) 2007 Full Version .pdf
ASME IX(9)  2007 Full Version       .pdfASME IX(9)  2007 Full Version       .pdf
ASME IX(9) 2007 Full Version .pdf
 
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单专业办理
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单专业办理一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单专业办理
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单专业办理
 
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
 
AP LAB PPT.pdf ap lab ppt no title specific
AP LAB PPT.pdf ap lab ppt no title specificAP LAB PPT.pdf ap lab ppt no title specific
AP LAB PPT.pdf ap lab ppt no title specific
 
在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样
在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样
在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样
 
weather web application report.pdf
weather web application report.pdfweather web application report.pdf
weather web application report.pdf
 
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdfHybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
 

MCRL2

  • 1. By Kashif khan Muhammad Yasir Muhammad Ejaz khan University of Camerino Italy
  • 2.  Introduction to mCRL2  LPS , LTS,PBES  Operators  Vending Machine  Odd counter  Login  Car park  Phone book
  • 3.  Micro Common representation language 2  Specification Language  Used for modeling , verification and validation  Based on Algebra of communicating process include data and time.  Process perform actions, can carry data as parameter  Every process has LTS contain all states
  • 4.
  • 5.
  • 6.  Stored in binary Format  LTS constructed from LPS  LPS, symbolic representation of LTS to describe behavior of system explicitly  LPS can be printed in Human Readable format  LPS is speedy than LTS  Statistical info Can be collected in LPSPP
  • 7.  Generated from LPS  It show the LPS as node link Diagram (ltsgraph)  LTSVIEW to reduce the complexity of image(3D)  DIAGRAPHICA reduce complexity to 2D  LTSCONVERT smaller than Original LTS  LTSCOMPARE check weather the two LTS are behaviorally equal or not
  • 8.  Parameterized Boolean Equation system  Input needed for model checking, is a formula expressing a desired property that the system should not violate (or satisfy)  Pbes stored in Binary format  Pbespp stored in human readable format.  BES genrated from PBES
  • 9.  Sort data type definition using keyword sort. Sorts are non-empty, possibly infinite sets with data elements. sort D; cons c, d : D;  declares sort D in which all elements can be denoted by either c or d. Now for Boolean sort B cons true, false : B;
  • 10.  The sum operator allows to formulate the choice between a possibly infinite number of processes in a very concise way.  The process sum n: Nat . p(n) can be seen as a shorthand for p(0) + p(1) + p(2) + .... The use of the sum operator is often to indicate that some value must be read, i.e., the process wants to read either a 0 or a 1 or a 2, sort Val = struct c2 | c5 | c10; act coin: Val; init sum v: Val . coin(v); act num: Nat; init sum v: Nat . num(2 * v);
  • 11.  sort Val = struct c2 | c5 | c10;  act coffee; coin, rej: Val;  proc P = sum v: Val . coin(v) . ( (v != c10) -> rej(v) . P + (v == c10) -> coffee . P ); init P;
  • 12.  We can let data influence the course of events by adding conditions to the process c -> p <> q implies if c then do process p else do process q  act tick, reset; proc Clock(n: Nat) = (n < 99) -> tick . Clock(n + 1) <> tick . Clock(0) + (n < 50) -> reset . Clock(0); init Clock(0);
  • 13.  comm({a|b -> c}, p) .. multi-actions are renamed to a single action... actions a and b must communicate to c in process p.  act a, b, c: Nat; proc P = a(1) || b(1); init comm({a|b->c}, P);
  • 14.  Allow (allow(A, P)) removes all multi-actions from the transition system that do not occur in A. Any states that have become unreachable will also be removed by mCRL2, as the resulting system is smaller and bisimilar. allow({c}; p) only multi-actions consisting of a single c are allowed in p. allow({c},comm({send|read- > c}, send||read))
  • 15.  After inserting a coin of 10 cents, the user can push the button for an apple. An apple will then be put in the drawer of the machine. act ins10, optA, acc10, putA, coin, ready ; proc User = ins10 . optA . User ; Mach = acc10 . putA . Mach ; init allow( { coin, ready }, comm( { ins10|acc10 -> coin, optA|putA -> ready }, User || Mach ) ) ;
  • 16. sort Value= struct even | odd; act r1,r2:Nat; s1,s2,s3 : Value; proc P=sum n:Nat.(n<5)->r1(n).s1(if(n mod 2 == 0, even, odd)).P; Q(n:Nat)=sum v:Value.s2(v).((v==even)->tau +(v==odd)->r2(n)).Q(n=min(5,n+1)); init allow ({r1,r2}, comm ({s1|s2->s3}, P||Q(0))); Filter P Counter Q r1 r2s1 s2 s3
  • 17. ◦ no deadlock? [true*]<true>true ◦ an input (r1) is always followed by an output (s3)? [true*.r1.(!s3)*]<(!s3)*.s3>true
  • 18.  User first check the system if the system working the user enter password and username, if it is already in the database the user login to the system if not available then the user first go for signup and insert all the data.
  • 19.  [true*]<true>true  password needed (1): [loginpage] < true* . enterpassword > true (that is: the first ‘loginpage’ can be followed by ‘enterpassword’)  password needed (2): [true* . loginpage] < true* . enterpassword > true (that is: every ‘loginpage’ can be followed by ‘enterpassword’)
  • 20. mCRL2 specication before linearisation: act order, receive, keep, refund; return; proc Start = order .Ordered; Ordered = receive. Received + refund .Start; Received = return .Ordered + keep; init Start;
  • 21. sort State = struct start | ordered | received; act order, receive, keep, refund, return; proc P(s : State) = (s =start) -> order . P(ordered) + (s =ordered) -> receive . P(received) + (s = ordered) ->refund . P(start) + (s =received) -> return . P(ordered) + (s = received) -> keep; init P(start);
  • 22.
  • 23. act enter_car, enter_cash,recive_recipt,car_park,open_gate,acc_cash,give_recipt, entercar,cash,recipt,park,acc_gate; proc User = enter_car . enter_cash. recive_recipt . car_park . User; Machine =acc_gate . acc_cash . give_recipt. open_gate . Machine; init allow( {entercar,cash,recipt,park }, comm( {enter_car|acc_gate -> entercar, enter_cash|acc_cash->cash, recive_recipt|give_recipt->recipt, car_park|open_gate->park }, User || Machine ) ) ;
  • 24. sort Name = struct n0 | n1 ; PhoneNumber = struct p0 | p1 ; PhoneBook = Name -> PhoneNumber; map book: Name -> PhoneNumber; var n: Name; eqn book(n) = p0; act addPhone: Name # PhoneNumber; delPhone: Name; findPhone: Name; proc PhoneDir(b: PhoneBook) = sum n: Name, p: PhoneNumber . (p != p0) -> addPhone(n, p) . PhoneDir(b[n->p]) + sum n: Name . findPhone(n) . PhoneDir() + sum n: Name . delPhone(n) . PhoneDir(b[n->p0]); init PhoneDir(book);