modelling and verification
play

Modelling and Verification Lecture 1 Lecturer: Luca Aceto - PowerPoint PPT Presentation

Organization of the Course Introduction Formal Models for Reactive Systems Introduction to CCS Modelling and Verification Lecture 1 Lecturer: Luca Aceto luca@ru.is or luca.aceto@gmail.com Lecture 1 Modelling and Verification Organization


  1. Organization of the Course Introduction Formal Models for Reactive Systems Introduction to CCS Modelling and Verification Lecture 1 Lecturer: Luca Aceto luca@ru.is or luca.aceto@gmail.com Lecture 1 Modelling and Verification

  2. Organization of the Course Overview Introduction Lectures and Tutorials/Exercise Sessions Formal Models for Reactive Systems Exam and Literature Introduction to CCS Focus of the Course Study of mathematical models for the formal description and analysis of programs. Study of formal languages for the specification of program behaviour. Particular focus on parallel and reactive systems. Verification tools and implementation techniques underlying them. Lecture 1 Modelling and Verification

  3. Organization of the Course Overview Introduction Lectures and Tutorials/Exercise Sessions Formal Models for Reactive Systems Exam and Literature Introduction to CCS Overview of my part of the Course Transition systems and CCS. Strong and weak bisimilarity, bisimulation games. Hennessy-Milner logic and bisimulation. Tarski’s fixed-point theorem. Hennessy-Milner logic with recursively defined formulae. Timed automata and their semantics (Luca Tesei). Binary decision diagrams and their use in verification (possibly). Two mini projects. Lecture 1 Modelling and Verification

  4. Organization of the Course Overview Introduction Lectures and Tutorials/Exercise Sessions Formal Models for Reactive Systems Exam and Literature Introduction to CCS Mini Projects Putting the theory and tools into practice! Two Possibilities (to be taken with a pinch of salt) Verification of a communication protocol in CWB. Verification of an algorithm for mutual exclusion in UPPAAL. (Luca Tesi) Lecture 1 Modelling and Verification

  5. Organization of the Course Overview Introduction Lectures and Tutorials/Exercise Sessions Formal Models for Reactive Systems Exam and Literature Introduction to CCS Lectures There will be lectures for about 7–8 weeks. Ask/answer questions. Be active! Take your own notes. Slides will be available before each lecture. Read the recommended literature as soon as possible after the lecture. Lecture 1 Modelling and Verification

  6. Organization of the Course Overview Introduction Lectures and Tutorials/Exercise Sessions Formal Models for Reactive Systems Exam and Literature Introduction to CCS Exercise Sessions Three hours per week. When? Tuesday afternoons 15:00–18:00 Peer learning. Work in groups of 2 or 3 people. Print out the exercise list, bring literature and your notes. Be responsible for your own learning! Post and answer questions on the course blog. Post solutions to selected exercises and provide comments on the course blog. (5% of the mark for the course!) Lecture 1 Modelling and Verification

  7. Organization of the Course Overview Introduction Lectures and Tutorials/Exercise Sessions Formal Models for Reactive Systems Exam and Literature Introduction to CCS Exam and Literature Exam = Celebration! Take me home, country roads. . . Literature Reactive Systems: Modelling, Specification and Verification (Cambridge University Press, July 2007) by Anna Ingolfsdottir, Kim G. Larsen, Jiri Srba and myself. Best Reader Competition with award! Lecture 1 Modelling and Verification

  8. Organization of the Course Overview Introduction Lectures and Tutorials/Exercise Sessions Formal Models for Reactive Systems Exam and Literature Introduction to CCS Hints Check regularly the course web-page. Offer feedback to the lecturer. Attend, and actively participate in, the exercise sessions. Take your own notes. “I hear and I forget. I see and I remember. I do and I understand.” (Confucius, 551 BC–479 BC) Lecture 1 Modelling and Verification

  9. Organization of the Course Aims of the Course Introduction Reactive Systems Formal Models for Reactive Systems Why Do We Need a Theory? Introduction to CCS Aims of the Course Present a general theory of reactive systems and its applications. The theory supports: Design. Specification. Verification (possibly automatic and compositional). Aims 1 Give the students practice in modelling parallel systems in a formal framework. 2 Give the students skills in analyzing behaviours of reactive systems. 3 Introduce algorithms and tools based on the modelling formalisms. Lecture 1 Modelling and Verification

  10. Organization of the Course Aims of the Course Introduction Reactive Systems Formal Models for Reactive Systems Why Do We Need a Theory? Introduction to CCS Aims of the Course Present a general theory of reactive systems and its applications. The theory supports: Design. Specification. Verification (possibly automatic and compositional). Aims 1 Give the students practice in modelling parallel systems in a formal framework. 2 Give the students skills in analyzing behaviours of reactive systems. 3 Introduce algorithms and tools based on the modelling formalisms. Lecture 1 Modelling and Verification

  11. Organization of the Course Aims of the Course Introduction Reactive Systems Formal Models for Reactive Systems Why Do We Need a Theory? Introduction to CCS Aims of the Course Present a general theory of reactive systems and its applications. The theory supports: Design. Specification. Verification (possibly automatic and compositional). Aims 1 Give the students practice in modelling parallel systems in a formal framework. 2 Give the students skills in analyzing behaviours of reactive systems. 3 Introduce algorithms and tools based on the modelling formalisms. Lecture 1 Modelling and Verification

  12. Organization of the Course Aims of the Course Introduction Reactive Systems Formal Models for Reactive Systems Why Do We Need a Theory? Introduction to CCS Aims of the Course Present a general theory of reactive systems and its applications. The theory supports: Design. Specification. Verification (possibly automatic and compositional). Aims 1 Give the students practice in modelling parallel systems in a formal framework. 2 Give the students skills in analyzing behaviours of reactive systems. 3 Introduce algorithms and tools based on the modelling formalisms. Lecture 1 Modelling and Verification

  13. Organization of the Course Aims of the Course Introduction Reactive Systems Formal Models for Reactive Systems Why Do We Need a Theory? Introduction to CCS Classical View Characterization of a Classical Program Program transforms an input into an output. Denotational semantics: a meaning of a program is a partial function states ֒ → states Nontermination is bad! In case of termination, the result is unique. Is this all we need? Lecture 1 Modelling and Verification

  14. Organization of the Course Aims of the Course Introduction Reactive Systems Formal Models for Reactive Systems Why Do We Need a Theory? Introduction to CCS Classical View Characterization of a Classical Program Program transforms an input into an output. Denotational semantics: a meaning of a program is a partial function states ֒ → states Nontermination is bad! In case of termination, the result is unique. Is this all we need? Lecture 1 Modelling and Verification

  15. Organization of the Course Aims of the Course Introduction Reactive Systems Formal Models for Reactive Systems Why Do We Need a Theory? Introduction to CCS Reactive systems What about: Operating systems? Communication protocols? Control programs? Mobile phones? Vending machines? Lecture 1 Modelling and Verification

  16. Organization of the Course Aims of the Course Introduction Reactive Systems Formal Models for Reactive Systems Why Do We Need a Theory? Introduction to CCS Reactive systems Characterization of a Reactive System Reactive System = system that computes by reacting to stimuli from its environment. Key Issues: communication and interaction parallelism Nontermination is good! The result (if any) does not have to be unique. Lecture 1 Modelling and Verification

  17. Organization of the Course Aims of the Course Introduction Reactive Systems Formal Models for Reactive Systems Why Do We Need a Theory? Introduction to CCS Reactive systems Characterization of a Reactive System Reactive System = system that computes by reacting to stimuli from its environment. Key Issues: communication and interaction parallelism Nontermination is good! The result (if any) does not have to be unique. Lecture 1 Modelling and Verification

  18. Organization of the Course Aims of the Course Introduction Reactive Systems Formal Models for Reactive Systems Why Do We Need a Theory? Introduction to CCS Analysis of Reactive Systems Questions How can we develop (design) a system that ”works”? How do we analyze (verify) such a system? Fact of Life Even short parallel programs may be hard to analyze. Lecture 1 Modelling and Verification

  19. Organization of the Course Aims of the Course Introduction Reactive Systems Formal Models for Reactive Systems Why Do We Need a Theory? Introduction to CCS The Need for a Theory Conclusion We need formal/systematic methods (tools), otherwise ... Intel’s Pentium-II bug in floating-point division unit Ariane-5 crash due to a conversion of 64-bit real to 16-bit integer Mars Pathfinder ... Lecture 1 Modelling and Verification

Recommend


More recommend