McGill University School of Computer Science COMP 763 Ph.D. Student in the Modelling, Simulation and Design Lab Eugene Syriani 1.

Slides:



Advertisements
Similar presentations
Variations of the Turing Machine
Advertisements

Sugar 2.0 Formal Specification Language D ana F isman 1,2 Cindy Eisner 1 1 IBM Haifa Research Laboratory 1 IBM Haifa Research Laboratory 2 Weizmann Institute.
1
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (Parallel Algorithms) Robin Pomplun.
Distributed Systems Architectures
Chapter 7 System Models.
Copyright © 2003 Pearson Education, Inc. Slide 1 Computer Systems Organization & Architecture Chapters 8-12 John D. Carpinelli.
Processes and Operating Systems
Copyright © 2011, Elsevier Inc. All rights reserved. Chapter 6 Author: Julia Richards and R. Scott Hawley.
Author: Julia Richards and R. Scott Hawley
Properties Use, share, or modify this drill on mathematic properties. There is too much material for a single class, so you’ll have to select for your.
UNITED NATIONS Shipment Details Report – January 2006.
By John E. Hopcroft, Rajeev Motwani and Jeffrey D. Ullman
Business Transaction Management Software for Application Coordination 1 Business Processes and Coordination. Introduction to the Business.
1 RA I Sub-Regional Training Seminar on CLIMAT&CLIMAT TEMP Reporting Casablanca, Morocco, 20 – 22 December 2005 Status of observing programmes in RA I.
Programming Language Concepts
1 Outline relationship among topics secrets LP with upper bounds by Simplex method basic feasible solution (BFS) by Simplex method for bounded variables.
1 Click here to End Presentation Software: Installation and Updates Internet Download CD release NACIS Updates.
CSCI 3130: Formal Languages and Automata Theory Tutorial 5
Tintu David Joy. Agenda Motivation Better Verification Through Symmetry-basic idea Structural Symmetry and Multiprocessor Systems Mur ϕ verification system.
1 Verification of Parameterized Systems Reducing Model Checking of the Few to the One. E. Allen Emerson, Richard J. Trefler and Thomas Wahl Junaid Surve.
Chapter 11: Models of Computation
Turing Machines.
PP Test Review Sections 6-1 to 6-6
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 31 Slide 1 Service-centric Software Engineering.
Bellwork Do the following problem on a ½ sheet of paper and turn in.
CS 6143 COMPUTER ARCHITECTURE II SPRING 2014 ACM Principles and Practice of Parallel Programming, PPoPP, 2006 Panel Presentations Parallel Processing is.
Exarte Bezoek aan de Mediacampus Bachelor in de grafische en digitale media April 2014.
Copyright © 2012, Elsevier Inc. All rights Reserved. 1 Chapter 7 Modeling Structure with Blocks.
1 RA III - Regional Training Seminar on CLIMAT&CLIMAT TEMP Reporting Buenos Aires, Argentina, 25 – 27 October 2006 Status of observing programmes in RA.
Basel-ICU-Journal Challenge18/20/ Basel-ICU-Journal Challenge8/20/2014.
1..
CONTROL VISION Set-up. Step 1 Step 2 Step 3 Step 5 Step 4.
1 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt Synthetic.
Artificial Intelligence
Chapter 2 Entity-Relationship Data Modeling: Tools and Techniques
Analyzing Genes and Genomes
1 Let’s Recapitulate. 2 Regular Languages DFAs NFAs Regular Expressions Regular Grammars.
Types of selection structures
Essential Cell Biology
Clock will move after 1 minute
PSSA Preparation.
Essential Cell Biology
Mani Srivastava UCLA - EE Department Room: 6731-H Boelter Hall Tel: WWW: Copyright 2003.
Immunobiology: The Immune System in Health & Disease Sixth Edition
Physics for Scientists & Engineers, 3rd Edition
Energy Generation in Mitochondria and Chlorplasts
1 Decidability continued…. 2 Theorem: For a recursively enumerable language it is undecidable to determine whether is finite Proof: We will reduce the.
1 Non Deterministic Automata. 2 Alphabet = Nondeterministic Finite Accepter (NFA)
Distributed Computing 5. Snapshot Shmuel Zaks ©
1 Logics & Preorders from logic to preorder – and back Kim Guldstrand Larsen Paul PetterssonMogens Nielsen
The Pumping Lemma for CFL’s
CS 267: Automated Verification Lecture 8: Automata Theoretic Model Checking Instructor: Tevfik Bultan.
UPPAAL Introduction Chien-Liang Chen.
Timed Automata.
UPPAAL Andreas Hadiyono Arrummaisha Adrifina Harya Iswara Aditya Wibowo Juwita Utami Putri.
CSE 522 UPPAAL – A Model Checking Tool Computer Science & Engineering Department Arizona State University Tempe, AZ Dr. Yann-Hang Lee
Hybrid Approach to Model-Checking of Timed Automata DAT4 Project Proposal Supervisor: Alexandre David.
Model Checking. Used in studying behaviors of reactive systems Typically involves three steps: Create a finite state model (FSM) of the system design.
Cheng/Dillon-Software Engineering: Formal Methods Model Checking.
UPPAAL Ghaith Haddad. Introduction UPPAAL is a tool for modeling, validation and verification of real-time systems. Appropriate for systems that can be.
Lecture51 Timed Automata II CS 5270 Lecture 5.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
CS5270 Lecture 41 Timed Automata I CS 5270 Lecture 4.
UPPAAL Real-Time Systems Lab. Seolyoung, Jeong.
Timed Automata II CS 5270 Lecture Lecture5.
Presentation transcript:

McGill University School of Computer Science COMP 763 Ph.D. Student in the Modelling, Simulation and Design Lab Eugene Syriani 1

COMP 763 OVERVIEW 2 In the context In Theory: Timed Automata – The language: Definitions and Semantics – Model Checking and Implementation In Practice: UPPAAL – Language Extensions – Simulation and Verification Case Study Conclusion on the tool and on the language

COMP 763 IN THE CONTEXT 3 Paul Petterson Uppsala Wang Yi Uppsala Kim G. Larsen Aalborg

COMP 763 IN THE CONTEXT First released in 1995 Power Tool: environment for modelling, simulation and verification of real-time systems Types of System: non-deterministic processes with finite control structure and real-valued clocks Typical Applications: real-time controllers and communication protocols, where time is critical 4

COMP 763 IN THE CONTEXT Efficient model-checker with on-the-fly searching technique Efficient verification with symbolic technique manipulation and solving of constraints Facilitate modelling and debugging with automatic generation of diagnostic traces explaining the satisfaction of a property Visual (graphical) tracing through the simulator The Technology 5

COMP 763 OVERVIEW In the context In Theory: Timed Automata – The language: Definitions and Semantics – Model Checking and Implementation In Practice: UPPAAL – Language Extensions – Simulation and Verification Case Study Conclusion on the tool and on the language 6

COMP 763 IN THEORY: TIMED AUTOMATA [1] Theory for modeling and verification of real time systems Other formalisms: – Timed Petri Nets [5] – Timed Process Algebras [6,7,8] – Real Time Logics [9,10] Model checkers built with timed automata: – UPPAAL – Kronos [11] 7 [1] R. Alur and D. L. Dill. A theory of timed automata. Journal of Theoretical Computer Science, 126(2):183–235, 1994.

COMP 763 IN THEORY: TIMED AUTOMATA Evolution 8 Büchi-accepting Real-valued variables: modelling clock Constraints on clock variables and resets Clock variables Local invariant conditions Accept when invariant is satisfied Infinite alphabet Initial and accepting states Accept execution if pass through accepting state infinitely many times typedef TimedSafetyAutomata TimedAutomata [2] W. Thomas. Automata on infinite objects, in Van Leeuwen, Handbook of Theoretical Computer Science, pp , Elsevier, 1990.

COMP 763 IN THEORY: TIMED AUTOMATA Variables model logical clocks in the system – Initialized to 0 – Increase synchronously at the same rate Taking transition (delay or action) – Necessary condition: clocks values satisfy guard on edge – Action: clocks may be reset to 0 Behaviour 9

COMP 763 IN THEORY: TIMED AUTOMATA A timed automaton is a tuple where: Formal Definition 10

COMP 763 IN THEORY: TIMED AUTOMATA Operational Semantics of a timed automaton is: Notation: Formal Semantics 11

COMP 763 OVERVIEW In the context In Theory: Timed Automata – The language: Definitions and Semantics – Model Checking and Implementation In Practice: UPPAAL – Language Extensions – Simulation and Verification Case Study Conclusion on the tool and on the language 12

COMP 763 IN THEORY: TIMED AUTOMATA Reachability analysis: – Safety: something bad never happens – Liveness: something good will eventually happen loop detection Model Checking 13

COMP 763 IN THEORY: TIMED AUTOMATA The state space of a timed model can be represented by a zone graph (efficient region graph) A zone is the maximal set of clock assignment solution of clock constraints Zone graphs can be infinite: widening operation Zone graphs can be normalized to a canonical representation Model Checking 14

COMP 763 IN THEORY: TIMED AUTOMATA Zones can be efficiently represented in memory as Difference Bound Matrices (DBM) [3] DBM store clock constraints in canonical form Model Checking and Implementations 15 [3] J. Bengtsson and W. Yi. Timed Automata: Semantics, Algorithms and Tools. In Lecture Notes on Concurrency and Petri Nets. W. Reisig and G. Rozenberg (eds.), LNCS 3098, Springer-Verlag, 2004.

COMP 763 IN THEORY: TIMED AUTOMATA DBM will represent any clock constraint of a zone as: Model Checking and Implementations 16

COMP 763 IN THEORY: TIMED AUTOMATA Model Checking and Implementations 17

COMP 763 IN THEORY: TIMED AUTOMATA Operations on DBMs: Model Checking and Implementations 18

COMP 763 OVERVIEW In the context In Theory: Timed Automata – The language: Definitions and Semantics – Model Checking and Implementation In Practice: UPPAAL – Language Extensions – Simulation and Verification Case Study Conclusion on the tool and on the language 19

COMP 763 IN PRACTICE: UPPAAL UPPAAL, The Tool [4,5] 20 [4] G. Behrmannet al. Uppaal Implementation Secrets. In Proceedings of the 7th International Symposium on Formal Techniques in Real-Time and Fault Tolerant Systems, [5] G. Behrmann, A. David, and K. G. Larsen. A Tutorial on Uppaal. In proceedings of the 4th International School on Formal Methods for the Design of Computer, Communication, and Software Systems. LNCS 3185.

COMP 763 IN PRACTICE: UPPAAL Typed variables: – Integer – Clock – Channel – Constant – Scalar (set) – Array – Meta-variable – Record variable: structure Language Extensions 21

COMP 763 IN PRACTICE: UPPAAL Functions (typed and untyped) For/While/Do loops, If-Else statements Operators – All C operators: comparison, mathematical, assignment – Wrapper operators: min, max, and, or, not, imply – Quantifier: forall, exists Language Extensions: A C syntax 22

COMP 763 IN PRACTICE: UPPAAL Template: extended time automaton – Locations (extended) – Edges (extended) – Declarations – Parameters Language Extensions 23

COMP 763 IN PRACTICE: UPPAAL Urgent – Atomic: freeze time Committed – Urgent + Highest priority Location 24 Invariant Initial

COMP 763 IN PRACTICE: UPPAAL Synchronization – Over channel with the same name Selection – Non-deterministic binding of variable over a range Edge 25 Guard – Edge is enabled iff its guard is true Update – Assignment – State of the system changed only on transition execution

COMP 763 IN PRACTICE: UPPAAL Edge labelled ch! (emitter) synchronizes with edge labelled ch? (receiver) Binary: pair of channels chosen non-deterministically Broadcast: emitter channel synchs with all receiver channels. Not blocking Urgent: no delay, no time constraint Synchronization 26

COMP 763 IN PRACTICE: UPPAAL Global and local declarations – Variables, functions and types Automata templates – Parameterizable extended timed automata Behavioural classes System definition – System model: concurrent processes, channels and local and global variables System Description 27

COMP 763 IN PRACTICE: UPPAAL Concurrent processes synchronize via channels (ch! and ch?) CCS parallel composition: – Action interleaving – Hand-shake synchronization Computationally extremely expensive (product automaton): on-the-fly verification Synchronization revisited 28

COMP 763 IN PRACTICE: UPPAAL Parameterized templates Operations on processes (re-use) Priorities – Channels – Processes Graphical and textual syntax for automata More… More language extensions 29

COMP 763 OVERVIEW In the context In Theory: Timed Automata – The language: Definitions and Semantics – Model Checking and Implementation In Practice: UPPAAL – Language Extensions – Simulation and Verification Small Case Study Conclusion on the tool and on the language 30

COMP 763 IN PRACTICE: UPPAAL A model checker verifies whether a model respects a requirement UPPAAL uses a simplified version of CTL [5] (temporal first-order logic) State formulae Path formulae: reachability, safety, liveness Verification 31 [5] E. M. Clarke, E. A. Emerson, and A. P. Sistla. Automatic verification of finite-state concurrent systems using temporal logic specifications. ACM Trans. on Programming Languages and Systems, 8(2):244–263, April, 1986.

COMP 763 IN PRACTICE: UPPAAL State formula – Complex boolean expression, similar to guards but disjunction is allowed – deadlock: no action transition going out of a state or of its delay successors Verification 32

COMP 763 IN PRACTICE: UPPAAL Reachability property – Sanity check: something will possibly happen Does not mean it will ! – Verification 33

COMP 763 IN PRACTICE: UPPAAL Safety property – Invariantly check: something bad will never happen – – (the last state is infinite or a leaf) Verification 34

COMP 763 IN PRACTICE: UPPAAL Liveness property – something will eventually happen – Verification 35

COMP 763 OVERVIEW In the context In Theory: Timed Automata – The language: Definitions and Semantics – Model Checking and Implementation In Practice: UPPAAL – Language Extensions – Simulation and Verification Case Study Conclusion on the tool and on the language 36

COMP 763 CASE STUDY 37

COMP 763 CASE STUDY 38 Close to DEVS assignment Automaton (statechart-like) version More analysis than with Petri-Nets

COMP 763 CASE STUDY 1.Graphical Model Edition 2.Graphical Simulation with recording of dynamic behaviour 3.Interface for Requirement Specification 4.Model-Checking of safety and liveness a.Graphical trace debugging Usage 39

COMP 763 OVERVIEW In the context In Theory: Timed Automata – The language: Definitions and Semantics – Model Checking and Implementation In Practice: UPPAAL – Language Extensions – Simulation and Verification Case Study Conclusion on the tool and on the language 40

COMP 763 CONCLUSION ON THE TOOL UPPAAL simulator is a process algebra tool – Process behaviour defined by a timed automaton – Allow process synchronization UPPAAL verifier is a model checker – Models can be queried for safety and liveness properties UPPAAL is an editor for real-time models – Visual traces for debugging 41

COMP 763 CONCLUSION ON THE TOOL Cost-UPPAAL – Minimal cost reachability analysis Distributed-UPPAAL – Run on multi-processors and clusters T-UPPAAL – Test case generator for black box conformance testing World-wide used – Sweden, Denmark, Belgium, England, Germany, USA 42

COMP 763 CONCLUSION ON THE LANGUAGE Template composite state in Statechart but more scalable with system description System group of orthogonal components with synchronisation possibility Process-Oriented ¿Kiltera? Processes and channels Super-process? process composition Inheritance? 43

COMP 763 MORE REFERENCES 6.B. Berthomieu and M. Diaz. Modeling and verification of timed dependent systems using timed petri nets. IEEE Transactions on Software Engineering, 17(3):259–273, G. M. Reed and A. W. Roscoe. A timed model for communicating sequential processes. Theoretical Computer Science, 58(1-3):249–261, W. Yi. CCS + time = an interleaving model for real time systems. In Proceedings, 18 th Intl Colloquium on Automata, Languages and Programming, LNCS, 510. Springer-Verlag, X. Nicollin and J. Sifakis. The algebra of timed processes, ATP: Theory and application. Journal of Information and Computation, 114(1):131–178, Z. Chaochen. Duration calculus, a logical approach to real-time systems. LNCS, 1548:1–7, R. Alur and T. A. Henzinger. A really temporal logic. Journal of the ACM, 41(1):181–204, S. Yovine. Kronos: a verification tool for real-time systems. Journal on Software Tools for Technology Transfer, 1, October UPPAAL website: UPPAALs help manual 44