modelling reactive system introduction
play

modelling reactive system Introduction mCRL2 (successor of )is a - PowerPoint PPT Presentation

Introducing mCRL2 language for modelling reactive system Introduction mCRL2 (successor of )is a specification language for describing concurrent discrete event systems. It is accompanied with a toolset for simulation,


  1. Introducing mCRL2 language for modelling reactive system

  2. Introduction • mCRL2 (successor of 𝜈𝐷𝑆𝑀 )is a specification language for describing concurrent discrete event systems. • It is accompanied with a toolset for simulation, analysis and visualization of behavior. • The behavioral part of the language is based on process algebra (Algebra of Communicating Processes) which is extended to include data and time. • The data part of the toolset is based on abstract equational data types. • The toolset has been founded by Jan Friso Groote and is currently developed at Eindhoven University of Technology. 2

  3. Philosophy • Like in every process algebra, a fundamental concept in mCRL2 is the process. • Processes can perform actions and can be composed to form new processes using algebraic operators. • A system usually consists of several processes (or components) in parallel. • A process can carry data as its parameters. The state of a process is a specific combination of parameter values. • Every process has a corresponding state space or Labelled Transition System (LTS) which contains all states that the process can reach, along with the possible transitions between those states. 3

  4. Specification • An mCRL2 specification is a plain-text file containing a model in the mCRL2 language. • The first step in the mCRL2 analysis process is to linearise this specification to obtain a Linear Process Specification (LPS). • This is an mCRL2 specification from which all parallelism has been removed. • All that remains is a series of condition – action – effect rules that specify how the system as a whole reacts to certain stimuli given its current state. 4

  5. Syntax • The mCRL2 specification format requires only that an init statement be present. • It might be the case that a specification file contains definitions for multiple processes; the init statement specifies which of these definitions (if any) is used. act a, b; proc P = a . P + b; init P; • This specification defines the process that can do any number of a actions, followed by a single b. After this, it terminates. 5

  6. Algebra • Actions in mCRL2 can be synchronized using the Synchronization operator a | b • Deadlock or inaction 𝜀 • Alternative composition p + q • Sequential composition p . q • Conditional operator or if-then-else construct 𝑑 → 𝑞 ◊ 𝑟 where c is a boolean expression • Parallel composition p || q yielding interleavings of the actions in p and q • communication operator 𝑏 0 | … |𝑏 𝑜 ⟼ 𝑑 , which means that every group of actions 𝑏 0 | … |𝑏 𝑜 within a multi-action is replaced by c. 6

  7. Data & Time • Summation 𝑞 𝑒:𝐸 used to quantify over a data domain D • At operator a@t indicating that multi-action a happens at time t • The mCRL2 language provides a number of built- in datatypes (e.g., boolean, natural, integer) with predefined standard arithmetic operations • And a datatype definition mechanism to declare custom types (called also sorts). 7

  8. Vending Machine act ins10, ins20, acc10, acc20, coin10, coin20, ret10, ret20 ; optA, optC, chg10, chg20, putA, putC, prod, readyA, readyC, out10, out20 ; proc User = ins10.( optA + ins10.( optC + chg20 ) + chg10 ).User + ins20.( optA.chg10 + optC + chg20 ).User ; Mach = acc10.( putA.prod + acc10.( putC.prod + ret20 ) + ret10 ).Mach + acc20.( putA.prod.ret10 + putC.prod + ret20 ).Mach ; init allow ( { coin10, coin20, readyA, readyC, out10, out20, prod }, comm ( { ins10|acc10 -> coin10, ins20|acc20 -> coin20, chg10|ret10 -> out10, chg20|ret20 -> out20, optA|putA -> readyA, optC|putC -> readyC }, User || Mach ) ) ; 8

  9. LTS Semantic • Behaviour can depend on the data that is exchanged. • The semantics of processes is defined using a structural operational semantics, which associates with every expression in the language a labelled transition system (LTS). • Each edge is labelled with an action, which in turn can have data parameters. • The information contained in vertices is represented by a process expression and a valuation of its data parameters, but is unobservable. 9

  10. LTS Graph 10

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend