notes on specifying systems in est
play

Notes on specifying systems in EST Robert Meolic, Tatjana Kapus - PowerPoint PPT Presentation

Robert Meolic, Tatjana Kapus: Notes on specifying systems in EST 1 Notes on specifying systems in EST Robert Meolic, Tatjana Kapus Faculty of EE & CS University of Maribor Proceedings of the Fifteenth International Electrotechnical and


  1. Robert Meolic, Tatjana Kapus: Notes on specifying systems in EST 1 Notes on specifying systems in EST Robert Meolic, Tatjana Kapus Faculty of EE & CS University of Maribor Proceedings of the Fifteenth International Electrotechnical and volume B Computer Science Conference (ERK 2006), Portoroˇ z, Slovenia pages 23-26

  2. Robert Meolic, Tatjana Kapus: Notes on specifying systems in EST 2 1 Outline ☞ formal verification : prove the correctness of system behaviour, ☞ usage: software, hardware, communication protocols, etc., ☞ requires: formal specification of system behaviour, ☞ requires: formal specification of correct behaviour, ☞ requires: methods and algorithms (e.g. model checking). In our paper we discuss the formalism for specification of system behaviour used in verification tool EST . The formalism is based on well-known calculus CCS. Proceedings of the Fifteenth International Electrotechnical and volume B Computer Science Conference (ERK 2006), Portoroˇ z, Slovenia pages 23-26

  3. Robert Meolic, Tatjana Kapus: Notes on specifying systems in EST 3 2 Introduction EST is a tool for formal verification of systems. A system to be verified should be specified in a CCS-like syntax. Before verification, specifications are transformed into LTSs. The EST specifications use operators which can be classified into two groups: ➳ standard CCS operators and ➳ additional operators which are introduced to shorten specifications and to facilitate traslations from other formalisms. Proceedings of the Fifteenth International Electrotechnical and volume B Computer Science Conference (ERK 2006), Portoroˇ z, Slovenia pages 23-26

  4. Robert Meolic, Tatjana Kapus: Notes on specifying systems in EST 4 3 Labelled transition system An LTS M is a quadruple ( S , A τ , δ, s 0 ) : • S is a non-empty set of states; ?zeton • A τ is a set of actions contain- ing unobservable action τ ; ?zeton • δ ⊆ S × A τ × S is the transi- τ tion relation; !caj !kava • s 0 is the initial state. Proceedings of the Fifteenth International Electrotechnical and volume B Computer Science Conference (ERK 2006), Portoroˇ z, Slovenia pages 23-26

  5. Robert Meolic, Tatjana Kapus: Notes on specifying systems in EST 5 4 Example 1: Peterson’s algorithm PROCESS P1 PROCESS P2 while (true) { while (true) { <noncriticial section> <noncriticial section> b1=true; b2=true; k=2; k=1; while (b2==true && k==2) while (b1==true && k==1) { { wait; wait; } } <criticial section> <criticial section> b1=false; b2=false; } } Proceedings of the Fifteenth International Electrotechnical and volume B Computer Science Conference (ERK 2006), Portoroˇ z, Slovenia pages 23-26

  6. Robert Meolic, Tatjana Kapus: Notes on specifying systems in EST 6 5 Example 1: Model with LTSs P0 !b1wt P1 !kw2 !b1wf P2 ?kr2 ?b2rt ?b2rf ?kr1 P3 P6 !enter1 !exit1 P5 P4 Figure 1: An LTS representing process P1 in Peterson’s algorithm Proceedings of the Fifteenth International Electrotechnical and volume B Computer Science Conference (ERK 2006), Portoroˇ z, Slovenia pages 23-26

  7. Robert Meolic, Tatjana Kapus: Notes on specifying systems in EST 7 6 Calculus of Communicating Systems CCS is a process calculus. Due to the nice laws valid for its operators it is also classified as process algebra. Each CCS expression defines a process (also called an agent). CCS operators supported by EST are: • Prefix ( . ), • Summation ( + ), • Composition ( | ), • Restriction ( \ ), and • Relabelling ( [ ] ). Proceedings of the Fifteenth International Electrotechnical and volume B Computer Science Conference (ERK 2006), Portoroˇ z, Slovenia pages 23-26

  8. Robert Meolic, Tatjana Kapus: Notes on specifying systems in EST 8 7 Operator Prefix Operator Prefix is defined with the following rule: Prefix a a. M → M Process a. M can execute action a and afterwards behave as process M . This means that the initial state of the LTS representing process a. M should have an a -transition to the initial state of the LTS representing process M . Proceedings of the Fifteenth International Electrotechnical and volume B Computer Science Conference (ERK 2006), Portoroˇ z, Slovenia pages 23-26

  9. Robert Meolic, Tatjana Kapus: Notes on specifying systems in EST 9 8 Operator Summation Operator Summation is defined with the following two rules: a M 1 → M ′ 1 Sum1 a ( M 1 + M 2 ) → M ′ 1 a M 2 → M ′ 2 Sum2 a ( M 1 + M 2 ) → M ′ 2 If any process participating in the summation can execute action a , then the sum can also execute action a . This means that the initial state of the LTS representing process M 1 + M 2 should have exactly those transitions which are present in the initial states of the LTSs representing processes M 1 and M 2 . Proceedings of the Fifteenth International Electrotechnical and volume B Computer Science Conference (ERK 2006), Portoroˇ z, Slovenia pages 23-26

  10. Robert Meolic, Tatjana Kapus: Notes on specifying systems in EST 10 9 Operator Composition Operator Composition is defined as follows: a M 1 → M ′ 1 Com1 a ( M 1 |M 2 ) → ( M ′ 1 |M 2 ) a M 2 → M ′ 2 Com2 a ( M 1 |M 2 ) → ( M 1 |M ′ 2 ) ¯ a a Com3 M 1 → M ′ 1 M 2 → M ′ 2 ( a � = τ ) τ ( M 1 |M 2 ) → ( M ′ 1 |M ′ 2 ) Composition is used to model synchronous communication between two processes. Proceedings of the Fifteenth International Electrotechnical and volume B Computer Science Conference (ERK 2006), Portoroˇ z, Slovenia pages 23-26

  11. Robert Meolic, Tatjana Kapus: Notes on specifying systems in EST 11 10 Operator Restriction In EST, operator Restriction is defined as follows: a M → M ′ a � = ˆ ( b � = τ, a = τ ∨ ˆ b ) Res a ( M\ ˆ → ( M ′ \ ˆ b ) b ) Process M\ ˆ b behaves like process M but it cannot execute action with name ˆ b . This means that states in the LTS representing process M\ ˆ b have exactly those transitions which are present in the LTS reperesenting process M and are labelled with an action whose action name is not equal to ˆ b . Proceedings of the Fifteenth International Electrotechnical and volume B Computer Science Conference (ERK 2006), Portoroˇ z, Slovenia pages 23-26

  12. Robert Meolic, Tatjana Kapus: Notes on specifying systems in EST 12 11 Operator Relabelling Operator Relabelling is defined as follows: a M → M ′ Rel f ( a ) M [ f ] → M ′ [ f ] Here, f is a relabelling function such that f (¯ a ) = f ( a ) and f ( τ ) = τ . In EST, a relabelling function is given as a pair of action names. LTS representing process M [ f ] is obtained from LTS representing process M by changing all transition labels according to the relabelling function f . Proceedings of the Fifteenth International Electrotechnical and volume B Computer Science Conference (ERK 2006), Portoroˇ z, Slovenia pages 23-26

  13. Robert Meolic, Tatjana Kapus: Notes on specifying systems in EST 13 12 Algebraic laws for CCS operators Two specifications are equivalent only if the processes they define are strongly equivalent [Mil89]. The following basic laws for defined operators are consistent with this presumption: • M 1 + M 2 = M 2 + M 1 • ( M 1 + M 2 ) + M 3 = M 1 + ( M 2 + M 3 ) • M 1 |M 2 = M 2 |M 1 • ( M 1 |M 2 ) |M 3 = M 1 | ( M 2 |M 3 ) a \ ˆ b = M\ ˆ • M\ ˆ b \ ˆ a Proceedings of the Fifteenth International Electrotechnical and volume B Computer Science Conference (ERK 2006), Portoroˇ z, Slovenia pages 23-26

  14. Robert Meolic, Tatjana Kapus: Notes on specifying systems in EST 14 13 More on algebraic laws Composition is distributive over Summation: M 1 | ( M 2 + M 3 ) = ( M 1 |M 2 ) + ( M 1 |M 3 ) The opposite is not true. Also, Prefix is distributive neither over Summation nor over Composition: • M 1 + ( M 2 |M 3 ) � = ( M 1 + M 2 ) | ( M 1 + M 3 ) • a. ( M 1 + M 2 ) � = a. M 1 + a. M 2 • a. ( M 1 |M 2 ) � = a. M 1 | a. M 2 Proceedings of the Fifteenth International Electrotechnical and volume B Computer Science Conference (ERK 2006), Portoroˇ z, Slovenia pages 23-26

  15. Robert Meolic, Tatjana Kapus: Notes on specifying systems in EST 15 14 Example 2: Dining philosophers Figure 2: Dining philosophers (from Wikipedia) Proceedings of the Fifteenth International Electrotechnical and volume B Computer Science Conference (ERK 2006), Portoroˇ z, Slovenia pages 23-26

  16. Robert Meolic, Tatjana Kapus: Notes on specifying systems in EST 16 15 Example 2: EST specification (1) PHILO = PHILO FORK !think. !think ?take !takeleft. ?drop !takeright. !eat. !dropright !dropleft. !takeleft !dropright. PHILO !takeright !dropleft FORK = ?take. ?drop. FORK !eat Proceedings of the Fifteenth International Electrotechnical and volume B Computer Science Conference (ERK 2006), Portoroˇ z, Slovenia pages 23-26

  17. Robert Meolic, Tatjana Kapus: Notes on specifying systems in EST 17 16 Example 2: EST specification (2) DINNER = ( PHILO [think1/think] [take2/takeleft] [take1/takeright] [eat1/eat] [drop2/dropleft] [drop1/dropright] | FORK [take1/take] [drop1/drop] | PHILO [think2/think] [take1/takeleft] [take2/takeright] [eat2/eat] [drop1/dropleft] [drop2/dropright] | FORK [take2/take] [drop2/drop] )\take1\drop1\take2\drop2 Proceedings of the Fifteenth International Electrotechnical and volume B Computer Science Conference (ERK 2006), Portoroˇ z, Slovenia pages 23-26

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