Introduction to Process Modeling and Verification Using    mCRL2 by Ph.D Student Eindhoven University of Technology (TU/e) The Netherlands Muhammad Atif (atif@tue.nl) Department of Mathematics and Computer Science
Introduction to Process Algebra Processes and their types. (Sequential, Recursive and Parallel) Introduction to mCRL2. Purpose of Tool Modeling the system (declaring actions, processes) Introduction of Data types Introduction to Tool-set available in mCRL2. State space and its usage Model Checking Demonstration with an example. Outlines
Process Algebra Def: Sequential Process:  The actions of process are in a sequence like: Buffer=receive.send. or Buffer=receive.(send+error). Here “ receive”, “send”  and  “error” are actions.
Recursive Process Buffer = receive.send.Buffer or Buffer = receive.(send+error).Buffer Parallel Process My_Process= a.b || c.d. Here the actions of parallel process will be performed in an interleaved fashion.
Introduction to mCRL2 http://www.mcrl2.org Micro Common Representation Language. It is used to model the behavior of systems. For example the model of a simple buffer in mCRL2 will be: act  receive,send,error; proc  Buffer=receive.send; init Buffer;
Process with Data Types proc   Buffer = sum n:Nat.receive(n).send(n).Buffer; init   Buffer;
Tool-set in mCRL2 For Process Linearization mcrl22lps  [switches]  source  target For Labeled Transition System (LTS) lps2lts   [switches]  source target To view LTS ltsgraph   source List of other tools is available on  http://www.mcrl2.org . We will use few more in demo.
State-space and its Application A set of all states and transitions Used to identify unwanted states like deadlock and unwanted sequence of actions like “send” cannot occur before “receive”. We formally write every requirement in form of  mu-calculus formula and evaluate state-space w.r.t that.
Example of state-space Let’s consider a simple clock is in parallel to a simple buffer Clock= tick1.tick2 Buffer=receive.(send+error).
Demo and Q & A

Presentation mcrl2

  • 1.
    Introduction to ProcessModeling and Verification Using mCRL2 by Ph.D Student Eindhoven University of Technology (TU/e) The Netherlands Muhammad Atif (atif@tue.nl) Department of Mathematics and Computer Science
  • 2.
    Introduction to ProcessAlgebra Processes and their types. (Sequential, Recursive and Parallel) Introduction to mCRL2. Purpose of Tool Modeling the system (declaring actions, processes) Introduction of Data types Introduction to Tool-set available in mCRL2. State space and its usage Model Checking Demonstration with an example. Outlines
  • 3.
    Process Algebra Def:Sequential Process: The actions of process are in a sequence like: Buffer=receive.send. or Buffer=receive.(send+error). Here “ receive”, “send” and “error” are actions.
  • 4.
    Recursive Process Buffer= receive.send.Buffer or Buffer = receive.(send+error).Buffer Parallel Process My_Process= a.b || c.d. Here the actions of parallel process will be performed in an interleaved fashion.
  • 5.
    Introduction to mCRL2http://www.mcrl2.org Micro Common Representation Language. It is used to model the behavior of systems. For example the model of a simple buffer in mCRL2 will be: act receive,send,error; proc Buffer=receive.send; init Buffer;
  • 6.
    Process with DataTypes proc Buffer = sum n:Nat.receive(n).send(n).Buffer; init Buffer;
  • 7.
    Tool-set in mCRL2For Process Linearization mcrl22lps [switches] source target For Labeled Transition System (LTS) lps2lts [switches] source target To view LTS ltsgraph source List of other tools is available on http://www.mcrl2.org . We will use few more in demo.
  • 8.
    State-space and itsApplication A set of all states and transitions Used to identify unwanted states like deadlock and unwanted sequence of actions like “send” cannot occur before “receive”. We formally write every requirement in form of mu-calculus formula and evaluate state-space w.r.t that.
  • 9.
    Example of state-spaceLet’s consider a simple clock is in parallel to a simple buffer Clock= tick1.tick2 Buffer=receive.(send+error).
  • 10.