Verification Options. To Store Or Not To Store? Inside the UPPAAL tool. Inactive (passive) Clock Reduction. Global Reduction
|
|
- Charles Jacobs
- 5 years ago
- Views:
Transcription
1 Inside the UPPAAL tool Data Structures DBM s (Difference Bounds Matrices) Canonical and Minimal Constraints Algorithms Reachability analysis Liveness checking Termination Verification Otions Verification Otions Diagnostic Trace Breadth-First Deth-First Local Reduction Active-Clock Reduction Global Reduction Re-Use State-Sace Over-Aroximation Under-Aroximation 1 2 Inactive (assive) Clock Reduction x is only active in location S1 Global Reduction (When to store symbolic state) x:=0 S Definition x is inactive at S if on all ath from S, x is always reset before being tested However, list useful for efficiency x:=0 x<5 x>3 3 No Cycles: list not needed for termination 4 Global Reduction [RTSS97] (When to store symbolic state) To Store Or Not To Store? [RTSS97,CAV03] Cycles: Only symbolic states involving loo-entry oints need to be saved on list 117 states total 81 states entryoint 9 states Time OH less than 10% (need to re-exlore some states) 5 6
2 Reuse of State Sace Reuse of State Sace ro2 A[] ro1 ro2 A[] ro1 ro1 A[] ro2 A[] ro3 A[] ro4 A[] ro5 A[] ron Search in existing list before continuing search Which order to search? Hashtable ro1 A[] ro2 A[] ro3 A[] ro4 A[] ro5 A[] ron Search in existing list before continuing search Which order to search? 7 8 Reuse of State Sace Reuse of State Sace ro2 A[] ro1 ro2 A[] ro1 Hashtable ro1 A[] ro2 A[] ro3 A[] ro4 A[] ro5 A[] ron Swaed to secondary memory Search in existing list before continuing search Which order to search? 9 ro1 Hashtable generation order A[] ro2 A[] ro3 A[] ro4 A[] ro5 REVERSE CREATION ORDER A[] ron Swaed to secondary memory Search in existing list before continuing search Which order to search? 10 Under-aroximation Bitstate Hashing (Holzman,SPIN) Under-aroximation Bitstate Hashing m,u Final m,u Final 1 0 = Bitarray n,z n,z 1 0 UPPAAL 8 Mbits Hashfunction F Init n,z Init n,z
3 Bit-state Hashing Under Aroximation (good for finding Bugs quickly, debugging) INITIAL := := Ø; Ø; := :={(n0,z0)} REPEAT --ick ick (n,z) (n,z) in in --ififfor for some some Z Z Z (n,z ) (n,z ) in in then then STOP STOP -else -else/exlore/ add add { (m,u) (m,u)::(n,z) (n,z) => => (m,u) (m,u)} to to ; Add Add (n,z) (n,z) to to UNTIL = Ø or or Final Final is is in in (F(n,Z)) = 1 (F(n,Z)) := 1 Possitive answer is safe (you can trust) You can trust your tool if it tells: a state is reachable (it means Reachable!) Negative answer is Inconclusive You should not trust your tool if it tells: a state is non-reachable Some of the branch may be terminated by conflict (the same hashing value of two states) Over-aroximation Convex Hull y Over-Aroximation (good for safety roerty-checking) Possitive answer is Inconclusive a state is reachable means Nothing (you should not trust your tool when it says so) Some of the transitions may be enabled by Enlarged zones Negative answer is safe a state is not reachable means Non-reachable (you can trust your tool when it says so) x Convex Hull OUTLINE A Brief Introduction Motivation what are the roblems to solve CTL, LTL and basic model-checking algorithms Timed Systems Timed automata and verification roblems UPPAAL tutorial (1): data stuctures & algorithms UPPAAL tutorial (2): inut languages TIMES: From models to code guaranteeing timing constraints Further toics/recent Work Systems with buffers/queues [CAV 2006] Lecture 7 UPPAAL tutorial (2) The UPPAAL inut languages: timed automata & TCTL in UPPAAL 17 18
4 Timed Automata + Invariants [Henzinger,Sifakis et al, 1992] Networks of Timed Automata n x<=5 Clocks: x, y m1 Location Invariants x<=5 & y>3 a x := 0 Transitions: ( n, x=24, y=31415 ) e(32) e(11) ( n, x=24, y=31415 ) ( n, x=35, y=42415 ) x>=2 i==3 x := 0 i:=i+4 y<=4 m2 m y<=10 g4 g1 g2 g3 Location invariants are used to force an automata to rogress (ie leave the location) before the invariant becomes false Two-way synchronization on comlementary actions Closed Systems! UPPAAL modeling language Networks of Timed Automata with Invariants + urgent action channels, + broadcast channels, + urgent and committed locations, + data-variables (with bounded domains), + arrays of data-variables, + constants, + guards and assignments over data-variables and arrays, + temlates with local clocks, data-variables, and constants + C subset Declarations in UPPAAL The syntax used for declarations in UPPAAL is similar to the syntax used in the C rogramming language Clocks: Syntax: clock x1,, xn ; Examle: clock x, y; Declares two clocks: x and y Declarations in UPPAAL (cont) Data variables Syntax: Declarations in UPPAAL (cont) Actions (or channels): Syntax: int n1, ; int[l,u] n1, ; int n1[m], ; Examle; int a, b; int[0,1] a, b[5]; Integer with default domain Integer with domain from l to u Integer array w elements n1[0] to n1[m-1] chan a, ; urgent chan b, ; Examle: chan a, b[2]; urgent chan c; Ordinary channels Urgent actions (described later) 23 24
5 Declarations UPPAAL (const) Declarations in UPPAAL Constants Syntax: const int c1 = n1; Examle: const int[0,1] YES = 1; const bool NO = false; Constants Bounded integers Channels Clocks Arrays Temlates Processes Systems x : = n Timed Automata in UPPAAL Clock Assignments Location Invariants n Variable Assignments x<=5 i : = Exr x>=5, y>3 Exr :: = i i[ Exr] n Exr Exr + Exr x := 0 Exr Exr m Exr * Exr y<=10 g4 Exr / Exr g1 g2 ( g? Exr : Exr) g3 d inv :: = x < n x <= n inv, inv clock natural number and g :: = gc gd g, g gc :: = x n x y + n gd :: = Exr o Exr { <, <=, ==, >=, > } o { <, <=, ==, >=, >,! = } Clock guards Data guards 27 x : = n Timed Automata in UPPAAL Clock Assignments Location Invariants n Variable Assignments x<=5 i : = Exr x>=5, y>3 Exr :: = i i[ Exr] n Exr Exr + Exr x := 0 Exr Exr m Exr * Exr y<=10 g4 Exr / Exr g1 g2 ( g? Exr : Exr) g3 d inv :: = x < n x <= n inv, inv clock natural number and Actions: :: = g c a gdname g, g of action or c :: = x n x y + n Clock guards one or zero er edge d :: = Exr o Exr Data guards { <, <=, ==, >=, > } { <, <=, ==, >=, >,! = } 28 g g g o Temlates in UPPAAL Urgent Channels: Examle 1 Temlates may be arameterised: int v; const min; const max int[0,n] e; const id Temlates are instantiated to form rocesses: = A(i,1,5); Q:= A(j,0,4); Train1:=Train(el, 1); Train2:=Train(el, 2); Q: s1 s2 Suose the two edges in automata P and Q should be taken as soon as ossible Ie as soon as both automata are ready (simultaneously in locations and s1) How to model with invariants if either one may reach or s1 first? 29 30
6 Urgent Channels: Examle 1 Urgent Channels Q: s1 s2 Suose the two edges in automata P and Q should be taken as soon as ossible Ie as soon as both automata are ready (simultaneously in locations and s1) How to model with invariants if either one may reach or s1 first? Solution: declare action a as urgent urgent chan hurry; Informal Semantics: There will be no delay if transition with urgent action can be taken Restrictions: No clock guard allowed on transitions with urgent actions Invariants and data-variable guards are allowed Urgent Channel: Examle 2 Urgent Channel: Examle 2 i==5 Assume i is a data variable We want P to take the transition from to as soon as i==5 i==5 go? Assume i is a data variable We want P to take the transition from to as soon as i==5 Solution: P can be forced to take transition if we add another automaton: s1 go! where go is an urgent channel, and we add go? to transition in automaton P Broadcast Synchronisation Urgent Location broadcast chan a, b, c[2]; Click Urgent in State Editor If a is a broadcast channel: = Emmision of broadcast = Recetion of broadcast A set of edges in different rocesses can synchronize if one is emitting and the others are receiving on the same bc channel A rocess can always emit Receivers must synchronize if they can No blocking Informal Semantics: No delay in urgent location Note: the use of urgent locations reduces the number of clocks in a model, and thus the comlexity of the analysis 35 36
7 Urgent Location: Examle Urgent Location: Examle Assume that we model a simle media M: a M that receives ackages on channel a and immediately sends them on channel b P models the media using clock x b x:=0 x 0 x==0 b! l3 Assume that we model a simle media M: a M that receives ackages on channel a and immediately sends them on channel b P models the media using clock x Q models the media using urgent location P and Q have the same behavior b x:=0 x 0 x==0 b! l3 Q: urgent b! l Committed Location Committed Location: Examle 1 Click Committed i State Editor Informal Semantics: No delay in committed location Next transition must involve automata in committed location Note: the use of committed locations reduces the number of interleaving in state sace exloration (and also the number of clocks in a model), and thus allows for more sace and time efficient analysis i==0 b! i:=1 P : i==0 n urgent b! i:=1 Assume: we want to model a rocess (P) simultaneously sending message a and b to two receiving rocesses (when i==0) P sends a two times at the same time instant, but in location n other automata, eg Q may interfear Q: k1 i==0 k Committed Location: Examle 1 i==0 b! i:=1 Assume: we want to model a rocess P : (P) simultaneously sending message (a) to two receiving rocesses (when i==0 i==0) P sends a two times at the same n time instant, but in location n other committed automata, eg Q may interfear: b! i:=1 Q: i==0 b! k1 k2 Solution: mark location n committed in automata P (instead of urgent ) Committed Locations (examle: atomic sequence in a network) x:=x+1; y:=y+1 41 If the sequence becomes too long, you can slit it 42
8 Committed Locations (examle: atomic sequence in a network) Committed Locations (examle: atomic sequence in a network) Semantics: the time sent on C-location should be zero! Semantics: the time sent on C-location should be zero! C x:=x+1 y:=y+1 C x:=x+1 y:=y Committed Locations (examle: atomic sequence in a network) Committed Locations (examle: atomic sequence in a network) Semantics: the time sent on C-location should be zero! x:=x+1 x:=x+1 C C y:=y+1 y:=y+1 Now, only the committed (red) transition can be taken! Committed Locations Committed Location: Examle 2 A trick of modeling (eg to model multi-way synchronization using handshaking) More imortantly, it is a simle and efficient mechanism for state-sace reduction! In fact, it is a simle form of artial order reduction It is used to avoid intermediate states, interleavings: Committed states are not stored in the assed list Interleavings of any state with a committed location will not be exlored Assume: we want to ass the value of integer k from automaton P to variable j in Q The value of k can is assed using a global integer variable t Location n is committed to ensure that no other automat can assign t before the assignment j:=t Q: t:=k n committed j:=t 47 48
9 More Exressions New oerators (not clocks): Logical: && (logical and), (logical or),! (logical negation), Bitwise: ^ (xor), & (bitwise and), (bitwise or), Bit shift: << (left), >> (right) Numerical: % (modulo), <? (min), >? (max) Comound Assignments: +=, -=, *=, /=, ^=, <<=, >>= Prefix or Postfix: ++ (increment), -- (decrement) More on Tyes Multi dimensional arrays eg int b[2][3]; Array initialiser: eg int b[2][3] := { {1,2,3}, {4,5,6} }; Arrays of channels, clocks, constants eg chan a[3]; clockc[3]; const k[3] { 1, 2, 3 }; Broadcast channels eg broadcast chan a; Extensions Advanced Features Select statement Models non-deterministic choise x : int[0,42] Tyes Record tyes Tye declarations Meta variables: not stored with state meta int x; Forall / Exists Exressions forall (x:int[0,42]) exr true if exr is true for all values in [0,42] of x exists (x:int[0,4]) exr true if exr is true for some values in [0,42] of x Examle: forall (x:int[0,4])array[x]; Priorities on channels chan a,b,c,d[2],e[2]; chan riority a,d[0] < default < b,e Priorities on rocesses system A < B,C < D; Functions C-like functions with return values TCTL Quantifiers in UPPAAL E A G F - exists a ath ( E in UPPAAL) - for all aths ( A in UPPAAL) - all states in a ath ( [] in UPPAAL) - some state in a ath ( <> in UPPAAL) UPPAAL secification language You may write the following queries in UPPAAL: A[], A<>, E<>, E[] and --> q 53 AG AF EF EG and q are local roerties 54
10 Local Proerties A[], A<>, E<>, E[], --> where is a local roerty E<> Reachable E<> it is ossible to reach a state in which is satisfied data guard automaton location clock guard ::= al gd gc and or not imly ( ) rocess/ name is true in (at least) one reachable state A[] Invariantly A[] holds invariantly A<> Inevitable A<> will inevitable become true, the automaton is guaranteed to eventually reach a state in which is true is true in all reachable states is true in some state of all aths E[ ] Potentially Always E[] is otentially always true --> q lead to q --> q if becomes true, q will inevitably become true same as A[]( imly A<> q ) q q There exists a ath in which is true in all states In all aths, if becomes true, q will inevitably become true 59 60
Modeling and Analysis of Networked Embedded Systems using UPPAAL. Ezio Bartocci
Modeling and Analysis of Networked Embedded Systems using UPPAAL Ezio Bartocci Overview Timed Automata in UPPAAL UPPAAL modeling language Declara5ons in UPPAAL Templates in UPPAAL Urgent Channels Broadcast
More informationUPPAAL tutorial. UPPAAL modeling language. Timed Automata in UPPAAL. Networks of Timed Automata. Declarations in UPPAAL. x y + n Clock guards
UPPAAL tutorial What s iside UPPAAL The UPPAAL iut lauaes (i.e. TA ad TTL i UPPAAL) 1 x : = Timed Automata i UPPAAL lock Assimets Locatio Ivariats Variable Assimets x=5, y>3 Exr :: = i
More informationUPPAAL. Verification Engine, Options & Patterns. Alexandre David
UPPAAL Verification Engine, Options & Patterns Alexandre David 1.2.05 Outline UPPAAL Modelling Language Specification Language UPPAAL Verification Engine Symbolic exploration algorithm Zones & DBMs Verification
More informationTemporal Logic and Timed Automata
Information Systems Analysis Temporal Logic and Timed Automata (5) UPPAAL timed automata Paweł Głuchowski, Wrocław University of Technology version 2.3 Contents of the lecture Tools for automatic verification
More informationIntro to UPPAAL. Gerd Behrmann Kim Larsen. BRICS & Aalborg University. Intro to UPPAAL p.1/23
Intro to UPPAAL p.1/23 Intro to UPPAAL Gerd Behrmann Kim Larsen BRICS & Aalborg University Intro to UPPAAL p.2/23 Plan of the Lecture 1. UPPAAL Architecture 2. UPPAAL Features 3. Train Gate Example 4.
More informationAn Introduction to UPPAAL. Purandar Bhaduri Dept. of CSE IIT Guwahati
An Introduction to UPPAAL Purandar Bhaduri Dept. of CSE IIT Guwahati Email: pbhaduri@iitg.ernet.in OUTLINE Introduction Timed Automata UPPAAL Example: Train Gate Example: Task Scheduling Introduction UPPAAL:
More informationCOMP 763. Eugene Syriani. Ph.D. Student in the Modelling, Simulation and Design Lab School of Computer Science. McGill University
Eugene Syriani Ph.D. Student in the Modelling, Simulation and Design Lab School of Computer Science McGill University 1 OVERVIEW In the context In Theory: Timed Automata The language: Definitions and Semantics
More informationThe UPPAAL Model Checker. Julián Proenza Systems, Robotics and Vision Group. UIB. SPAIN
The UPPAAL Model Checker Julián Proenza Systems, Robotics and Vision Group. UIB. SPAIN The aim of this presentation Introduce the basic concepts of model checking from a practical perspective Describe
More informationOverview of Timed Automata and UPPAAL
Overview of Timed Automata and UPPAAL Table of Contents Timed Automata Introduction Example The Query Language UPPAAL Introduction Example Editor Simulator Verifier Conclusions 2 Introduction to Timed
More informationA Tutorial on Uppaal
A Tutorial on Uppaal Updated 25th October 2005 Gerd Behrmann, Alexandre David, and Kim G. Larsen Department of Computer Science, Aalborg University, Denmark {behrmann,adavid,kgl}@cs.auc.dk. Abstract. This
More informationFurther Topics in Modelling & Verification
Further Topics in Modelling & Verification Thursday Oct 09, 2014 Philipp Rümmer Uppsala University Philipp.Ruemmer@it.uu.se 1/34 Recap: Timed automata (TA) 2/34 Recap: Properties 3/34 Questions about TA
More informationwant turn==me wait req2==0
Uppaal2k: Small Tutorial Λ 16 October 2002 1 Introduction This document is intended to be used by new comers to Uppaal and verification. Students or engineers with little background in formal methods should
More informationplant OUTLINE The Same Goal: Reliable Controllers Who is Who in Real Time Systems
OUTLINE Introduction Lecture 1: Motivation, examples, problems to solve Modeling and Verication of Timed Systems Lecture 2: Timed automata, and timed automata in UAAL Lecture 3: Symbolic verification:
More informationLecture 8: Orthogonal Range Searching
CPS234 Comutational Geometry Setember 22nd, 2005 Lecture 8: Orthogonal Range Searching Lecturer: Pankaj K. Agarwal Scribe: Mason F. Matthews 8.1 Range Searching The general roblem of range searching is
More informationComputer Lab 1: Model Checking and Logic Synthesis using Spin (lab)
Computer Lab 1: Model Checking and Logic Synthesis using Spin (lab) Richard M. Murray Nok Wongpiromsarn Ufuk Topcu Calornia Institute of Technology AFRL, 25 April 2012 Outline Spin model checker: modeling
More information4/6/2011. Model Checking. Encoding test specifications. Model Checking. Encoding test specifications. Model Checking CS 4271
Mel Checking LTL Property System Mel Mel Checking CS 4271 Mel Checking OR Abhik Roychoudhury http://www.comp.nus.edu.sg/~abhik Yes No, with Counter-example trace 2 Recap: Mel Checking for mel-based testing
More informationThe Spin Model Checker : Part I/II
The Spin Model Checker : Part I/II Moonzoo Kim CS Dept. KAIST Korea Advanced Institute of Science and Technology Motivation: Tragic Accidents Caused by SW Bugs 2 Cost of Software Errors June 2002 Software
More informationThe SPIN Model Checker
The SPIN Model Checker Metodi di Verifica del Software Andrea Corradini Lezione 1 2013 Slides liberamente adattate da Logic Model Checking, per gentile concessione di Gerard J. Holzmann http://spinroot.com/spin/doc/course/
More informationSubmission. Verifying Properties Using Sequential ATPG
Verifying Proerties Using Sequential ATPG Jacob A. Abraham and Vivekananda M. Vedula Comuter Engineering Research Center The University of Texas at Austin Austin, TX 78712 jaa, vivek @cerc.utexas.edu Daniel
More informationMore on Verification and Model Checking
More on Verification and Model Checking Wednesday Oct 07, 2015 Philipp Rümmer Uppsala University Philipp.Ruemmer@it.uu.se 1/60 Course fair! 2/60 Exam st October 21, 8:00 13:00 If you want to participate,
More informationFachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn. 2.3 Timed Automata and Real-Time Statecharts
2.3 Timed Automata and Real-Time Statecharts Develop a BOOK RATING APP and win awesome prizes! The creators of the best submissions will be invited to an exclusive party in February
More informationUPPAAL Tutorial. UPPAAL Family
UPPAAL Tutorial Beyond UPPAAL Alexandre David Paul Pettersson RTSS 05 Classic : real-time verification Cora: real-time scheduling Tron: online real-time testing Tiga: timed game Times: schedulability analysis
More informationUsing Standard AADL for COMPASS
Using Standard AADL for COMPASS (noll@cs.rwth-aachen.de) AADL Standards Meeting Aachen, Germany; July 5 8, 06 Overview Introduction SLIM Language Udates COMPASS Develoment Roadma Fault Injections Parametric
More informationEditor. Analyser XML. Scheduler. generator. Code Generator Code. Scheduler. Analyser. Simulator. Controller Synthesizer.
TIMES - A Tool for Modelling and Implementation of Embedded Systems Tobias Amnell, Elena Fersman, Leonid Mokrushin, Paul Pettersson, and Wang Yi? Uppsala University, Sweden Abstract. Times is a new modelling,
More informationTimed Automata: Semantics, Algorithms and Tools
Timed Automata: Semantics, Algorithms and Tools Johan Bengtsson and Wang Yi Uppsala University Email: {johanb,yi}@it.uu.se Abstract. This chapter is to provide a tutorial and pointers to results and related
More informationA Test Case Generation Algorithm for Real-Time Systems
A Test Case Generation Algorithm for Real-Time Systems Anders Hessel and Paul Pettersson Department of Information Technology Uppsala University, P.O. Box 337 SE-751 05 Uppsala, Sweden {hessel,paupet}@it.uu.se
More informationLecture 7: Objects (Chapter 15) CS 1110 Introduction to Computing Using Python
htt://www.cs.cornell.edu/courses/cs1110/2018s Lecture 7: Objects (Chater 15) CS 1110 Introduction to Comuting Using Python [E. Andersen, A. Bracy, D. Gries, L. Lee, S. Marschner, C. Van Loan, W. White]
More informationTruth Trees. Truth Tree Fundamentals
Truth Trees 1 True Tree Fundamentals 2 Testing Grous of Statements for Consistency 3 Testing Arguments in Proositional Logic 4 Proving Invalidity in Predicate Logic Answers to Selected Exercises Truth
More informationRange Searching. Data structure for a set of objects (points, rectangles, polygons) for efficient range queries.
Range Searching Data structure for a set of objects (oints, rectangles, olygons) for efficient range queries. Y Q Deends on tye of objects and queries. Consider basic data structures with broad alicability.
More informationDistributed Algorithms
Course Outline With grateful acknowledgement to Christos Karamanolis for much of the material Jeff Magee & Jeff Kramer Models of distributed comuting Synchronous message-assing distributed systems Algorithms
More informationDesign and Analysis of Distributed Interacting Systems
Design and Analysis of Distributed Interacting Systems Lecture 5 Linear Temporal Logic (cont.) Prof. Dr. Joel Greenyer May 2, 2013 (Last Time:) LTL Semantics (Informally) LTL Formulae are interpreted on
More informationEfficient Synthesis of Production Schedules by Optimization of Timed Automata
Efficient Synthesis of Production Schedules by Optimization of Timed Automata Inga Krause Institute of Automatic Control Engineering Technische Universität München inga.krause@mytum.de Joint Advanced Student
More informationReal Numbers and Algebraic Expressions
College Algebra - MAT 161 Page: 1 Coyright 2009 Killoran Real Numbers and Algebraic Exressions Idea #1 Infinity- a never ending rogression Is there an infinity of sand grains on the Outer Banks of North
More information1.5 Case Study. dynamic connectivity quick find quick union improvements applications
. Case Study dynamic connectivity quick find quick union imrovements alications Subtext of today s lecture (and this course) Stes to develoing a usable algorithm. Model the roblem. Find an algorithm to
More informationCMSC 425: Lecture 16 Motion Planning: Basic Concepts
: Lecture 16 Motion lanning: Basic Concets eading: Today s material comes from various sources, including AI Game rogramming Wisdom 2 by S. abin and lanning Algorithms by S. M. LaValle (Chats. 4 and 5).
More informationRandomized algorithms: Two examples and Yao s Minimax Principle
Randomized algorithms: Two examles and Yao s Minimax Princile Maximum Satisfiability Consider the roblem Maximum Satisfiability (MAX-SAT). Bring your knowledge u-to-date on the Satisfiability roblem. Maximum
More informationUPPAAL in a nutshell. Key words: Modeling real-time systems Dynamic modeling Modeling tools Uppaal. 1 Introduction
Int J STTT (1997) 1: 134 152 1997 Springer-Verlag UPPAAL in a nutshell Kim G. Larsen 1,PaulPettersson 2,WangYi 2 1 Department of Computer Science and Mathematics, Aalborg University, Denmark; E-mail: kgl@cs.auc.dk
More informationCopyright 2008 CS655 System Modeling and Analysis. Korea Advanced Institute of Science and Technology
The Spin Model Checker : Part I Copyright 2008 CS655 System Korea Advanced Institute of Science and Technology System Spec. In Promela Req. Spec. In LTL Overview of the Spin Architecture Spin Model pan.c
More informationModel checking and timed CTL
Chapter 6 Model checking and timed CTL Ah! What did I tell you? 88 miles per hour! The temporal displacement occurred at exactly 1:20am and *zero* seconds! [Dr Emmett Brown] 6.1 Timed CTL Page 86 Formal
More informationNuSMV Hands-on introduction
NuSMV Hands-on introduction F. Mallet fmallet@unice.fr Université Nice Sophia Antipolis NuSMV 1 was an extension of SMV NuSMV 2 SMV : first BDD-based symbolic model-checker [McMillan, 90] NuSMV 2 Combines
More informationLecture 3: Geometric Algorithms(Convex sets, Divide & Conquer Algo.)
Advanced Algorithms Fall 2015 Lecture 3: Geometric Algorithms(Convex sets, Divide & Conuer Algo.) Faculty: K.R. Chowdhary : Professor of CS Disclaimer: These notes have not been subjected to the usual
More informationFormal Specification and Verification
Formal Specification and Verification Introduction to Promela Bernhard Beckert Based on a lecture by Wolfgang Ahrendt and Reiner Hähnle at Chalmers University, Göteborg Formal Specification and Verification:
More informationEquality-Based Translation Validator for LLVM
Equality-Based Translation Validator for LLVM Michael Ste, Ross Tate, and Sorin Lerner University of California, San Diego {mste,rtate,lerner@cs.ucsd.edu Abstract. We udated our Peggy tool, reviously resented
More informationUML for Global Computing Lecture 3: Property-Driven Development
Contents UML for Global Comuting Lecture 3: Proerty-Driven Develoment Martin Wirsing LMU München in cooeration with Hubert Baumeister Lecture : Introducing UML for Mobility Lecture 2: Refining Mobility
More information22. Swaping: Policies
22. Swaing: Policies Oerating System: Three Easy Pieces 1 Beyond Physical Memory: Policies Memory ressure forces the OS to start aging out ages to make room for actively-used ages. Deciding which age to
More informationLecture 18. Today, we will discuss developing algorithms for a basic model for parallel computing the Parallel Random Access Machine (PRAM) model.
U.C. Berkeley CS273: Parallel and Distributed Theory Lecture 18 Professor Satish Rao Lecturer: Satish Rao Last revised Scribe so far: Satish Rao (following revious lecture notes quite closely. Lecture
More informationReal Time Model Checking
Real Time Model Checking using UPPAAL Kim G Larsen Collaborators @UPPsala Wang Yi Paul Pettersson John Håkansson Anders Hessel Pavel Krcal Leonid Mokrushin Shi Xiaochun @Elsewhere @AALborg Kim G Larsen
More informationReal Time Software PROBLEM SETTING. Real Time Systems. Real Time Systems. Who is Who in Timed Systems. Real Time Systems
Schedulability Analysis of Timed Systems with contributions from PROBLEM SETTING Tobias Amnell, Elena Fersma, John Håkansson, Pavel Kracal, Leonid Mokrushine, Christer Nordström, Paul Pettersson and Anders
More informationFormal modelling and verification in UPPAAL
Budapest University of Technology and Economics Department of Measurement and Information Systems Fault Tolerant Systems Research Group Critical Embedded Systems Formal modelling and verification in UPPAAL
More informationRecap: Consensus. CSE 486/586 Distributed Systems Mutual Exclusion. Why Mutual Exclusion? Why Mutual Exclusion? Mutexes. Mutual Exclusion C 1
Reca: Consensus Distributed Systems Mutual Exclusion Steve Ko Comuter Sciences and Engineering University at Buffalo On a synchronous system There s an algorithm that works. On an asynchronous system It
More informationPromela and SPIN. Mads Dam Dept. Microelectronics and Information Technology Royal Institute of Technology, KTH. Promela and SPIN
Promela and SPIN Mads Dam Dept. Microelectronics and Information Technology Royal Institute of Technology, KTH Promela and SPIN Promela (Protocol Meta Language): Language for modelling discrete, event-driven
More informationA Simple Tutorial on NuSMV
NuSMV-tutorial 1 A Simple Tutorial on NuSMV Chenyi Zhang March 28, 2007 For a comprehensive tutorial, please visit the site http://nusmv.irst.itc.it/ NuSMV-tutorial 2 Introduction History SMV is the first
More informationCyber Physical System Verification with SAL
Cyber Physical System Verification with July 22, 2013 Cyber Physical System Verification with Outline 1 2 3 4 5 Cyber Physical System Verification with Table of Contents 1 2 3 4 5 Cyber Physical System
More informationShuigeng Zhou. May 18, 2016 School of Computer Science Fudan University
Query Processing Shuigeng Zhou May 18, 2016 School of Comuter Science Fudan University Overview Outline Measures of Query Cost Selection Oeration Sorting Join Oeration Other Oerations Evaluation of Exressions
More informationMANY real-time applications need to store some data
Proceedings of the International Multiconference on Computer Science and Information Technology pp. 673 678 ISBN 978-83-60810-14-9 ISSN 1896-7094 Modeling Real-Time Database Concurrency Control Protocol
More informationWho. Winter Compiler Construction Generic compiler structure. Mailing list and forum. IC compiler. How
Winter 2007-2008 Comiler Construction 0368-3133 Mooly Sagiv and Roman Manevich School of Comuter Science Tel-Aviv University Who Roman Manevich Schreiber Oen-sace (basement) Tel: 640-5358 rumster@ost.tau.ac.il
More informationTo Store or Not To Store
To Store or Not To Store Radek Pelánek Masaryk University, Brno Gerd Behrmann, Kim G. Larsen Aalborg University To Store or Not To Store p.1/24 Reachability Problem Model: networks of timed automata with
More informationOverview. Discrete Event Systems - Verification of Finite Automata. What can finite automata be used for? What can finite automata be used for?
Computer Engineering and Networks Overview Discrete Event Systems - Verification of Finite Automata Lothar Thiele Introduction Binary Decision Diagrams Representation of Boolean Functions Comparing two
More informationCross products. p 2 p. p p1 p2. p 1. Line segments The convex combination of two distinct points p1 ( x1, such that for some real number with 0 1,
CHAPTER 33 Comutational Geometry Is the branch of comuter science that studies algorithms for solving geometric roblems. Has alications in many fields, including comuter grahics robotics, VLSI design comuter
More informationSoftware Engineering using Formal Methods
Software Engineering using Formal Methods Introduction to Promela Wolfgang Ahrendt 03 September 2015 SEFM: Promela /GU 150903 1 / 36 Towards Model Checking System Model Promela Program byte n = 0; active
More informationCompiler Construction
Compiler Construction Thomas Noll Software Modeling and Verification Group RWTH Aachen University https://moves.rwth-aachen.de/teaching/ss-16/cc/ Recap: Static Data Structures Outline of Lecture 18 Recap:
More informationLecture06: Pointers 4/1/2013
Lecture06: Pointers 4/1/2013 Slides modified from Yin Lou, Cornell CS2022: Introduction to C 1 Pointers A ointer is a variable that contains the (memory) address of another variable What is a memory address?
More informationThe Rest of the Course More DFA and Model Checking
The Rest of the Course More DFA and Model Checking Tuesday, Dec. 6: Guest Lecture Thursday, Dec. 8: Guest Lecture Final Exam Wednesday, Dec. 14 @ 10:30-12:30 Prof. Leon Osterweil CS 521-621 Fall Semester
More informationThe Arithmetic Operators. Unary Operators. Relational Operators. Examples of use of ++ and
The Arithmetic Operators The arithmetic operators refer to the standard mathematical operators: addition, subtraction, multiplication, division and modulus. Op. Use Description + x + y adds x and y x y
More informationThe Arithmetic Operators
The Arithmetic Operators The arithmetic operators refer to the standard mathematical operators: addition, subtraction, multiplication, division and modulus. Examples: Op. Use Description + x + y adds x
More informationSoftware Engineering using Formal Methods
Software Engineering using Formal Methods Introduction to Promela Wolfgang Ahrendt & Richard Bubel & Reiner Hähnle & Wojciech Mostowski 31 August 2011 SEFM: Promela /GU 110831 1 / 35 Towards Model Checking
More informationDistributed Systems (5DV147)
Distributed Systems (5DV147) Mutual Exclusion and Elections Fall 2013 1 Processes often need to coordinate their actions Which rocess gets to access a shared resource? Has the master crashed? Elect a new
More informationCS 1110 Final, December 7th, 2017
CS 1110 Final, December 7th, 2017 This 150-minute exam has 8 questions worth a total of 100 oints. Scan the whole test before starting. Budget your time wisely. Use the back of the ages if you need more
More informationDefinition. Pointers. Outline. Why pointers? Definition. Memory Organization Overview. by Ziad Kobti. Definition. Pointers enable programmers to:
Pointers by Ziad Kobti Deinition When you declare a variable o any tye, say: int = ; The system will automatically allocated the required memory sace in a seciic location (tained by the system) to store
More informationThe Spin Model Checker : Part I. Moonzoo Kim KAIST
The Spin Model Checker : Part I Moonzoo Kim KAIST Hierarchy of SW Coverage Criteria Complete Value Coverage CVC (SW) Model checking Complete Path Coverage CPC Concolic testing All-DU-Paths Coverage ADUP
More informationPointers and Memory Allocation p. 1. Brooklyn College. Michael Lampis. CISC 3130 Notes. Pointers and Memory Allocation
Pointers and Memory Allocation CISC 3130 Notes Michael Lamis mlamis@cs.ntua.gr Brooklyn College Pointers and Memory Allocation. 1 int x; Pointers x Pointers and Memory Allocation. 2 Pointers int x; int
More informationImproved BDD-based Discrete Analysis of Timed Systems
Improved BDD-based Discrete Analysis of Timed Systems Truong Khanh Nguyen 1, Jun Sun 2, Yang Liu 1, Jin Song Dong 1 and Yan Liu 1 1 School of Computing National University of Singapore 2 Information System
More informationI ACCEPT NO RESPONSIBILITY FOR ERRORS ON THIS SHEET. I assume that E = (V ).
1 I ACCEPT NO RESPONSIBILITY FOR ERRORS ON THIS SHEET. I assume that E = (V ). Data structures Sorting Binary heas are imlemented using a hea-ordered balanced binary tree. Binomial heas use a collection
More informationOMNI: An Efficient Overlay Multicast. Infrastructure for Real-time Applications
OMNI: An Efficient Overlay Multicast Infrastructure for Real-time Alications Suman Banerjee, Christoher Kommareddy, Koushik Kar, Bobby Bhattacharjee, Samir Khuller Abstract We consider an overlay architecture
More informationCS 1613 Lecture 24. Figure 1. Program p01.
Consider a rogram that is required to find all values larger than the average in a list of integers. The list is stored in a file. The rogram must read and store the list to fulfill its requirement. The
More informationBuilding Graphical Promela Models using UPPAAL GUI
Building Graphical Promela Models using UPPAAL GUI Master s Thesis Report by Vasu Hossaholal Lingegowda Software Systems Engineering Group: B2-201 under the guidance of Dr. Alexandre David Department of
More informationCS2 Algorithms and Data Structures Note 8
CS2 Algorithms and Data Structures Note 8 Heasort and Quicksort We will see two more sorting algorithms in this lecture. The first, heasort, is very nice theoretically. It sorts an array with n items in
More informationCASCH - a Scheduling Algorithm for "High Level"-Synthesis
CASCH a Scheduling Algorithm for "High Level"Synthesis P. Gutberlet H. Krämer W. Rosenstiel Comuter Science Research Center at the University of Karlsruhe (FZI) HaidundNeuStr. 1014, 7500 Karlsruhe, F.R.G.
More informationWriting Program in C Expressions and Control Structures (Selection Statements and Loops)
Writing Program in C Expressions and Control Structures (Selection Statements and Loops) Jan Faigl Department of Computer Science Faculty of Electrical Engineering Czech Technical University in Prague
More informationPart I Part 1 Expressions
Writing Program in C Expressions and Control Structures (Selection Statements and Loops) Jan Faigl Department of Computer Science Faculty of Electrical Engineering Czech Technical University in Prague
More informationTIMES A Tool for Modelling and Implementation of Embedded Systems
TIMES A Tool for Modelling and Implementation of Embedded Systems Tobias Amnell, Elena Fersman, Leonid Mokrushin, Paul Pettersson, and Wang Yi Uppsala University, Sweden. {tobiasa,elenaf,leom,paupet,yi}@docs.uu.se.
More informationPrivacy Preserving Moving KNN Queries
Privacy Preserving Moving KNN Queries arxiv:4.76v [cs.db] 4 Ar Tanzima Hashem Lars Kulik Rui Zhang National ICT Australia, Deartment of Comuter Science and Software Engineering University of Melbourne,
More informationExpressions. Arithmetic expressions. Logical expressions. Assignment expression. n Variables and constants linked with operators
Expressions 1 Expressions n Variables and constants linked with operators Arithmetic expressions n Uses arithmetic operators n Can evaluate to any value Logical expressions n Uses relational and logical
More informationarxiv: v2 [cs.cr] 25 Jul 2013
arxiv:1209.2376v2 [cs.cr] 25 Jul 2013 Two Way Concurrent Buffer System without Deadlock in Various Time Models Using Timed Automata Rohit Mishra, Md Zeeshan and Sanjay Singh February 10, 2018 Abstract
More informationCMSC 330: Organization of Programming Languages. OCaml Imperative Programming
CMSC 330: Organization of Programming Languages OCaml Imperative Programming CMSC330 Fall 2017 1 So Far, Only Functional Programming We haven t given you any way so far to change something in memory All
More informationAutomated Reasoning. Model Checking with SPIN (II)
Automated Reasoning Model Checking with SPIN (II) Alan Bundy page 1 Verifying Global Properties Assertions can be used to verify a property locally For example, place assert(memreturned) at the end of
More informationGO - OPERATORS. This tutorial will explain the arithmetic, relational, logical, bitwise, assignment and other operators one by one.
http://www.tutorialspoint.com/go/go_operators.htm GO - OPERATORS Copyright tutorialspoint.com An operator is a symbol that tells the compiler to perform specific mathematical or logical manipulations.
More informationNuSMV 2.2 Tutorial. Roberto Cavada, Alessandro Cimatti, Gavin Keighren, Emanuele Olivetti, Marco Pistore and Marco Roveri
NuSMV 2.2 Tutorial Roberto Cavada, Alessandro Cimatti, Gavin Keighren, Emanuele Olivetti, Marco Pistore and Marco Roveri IRST - Via Sommarive 18, 38055 Povo (Trento) Italy Email: nusmv@irst.itc.it Contents
More informationTesting, Debugging, and Verification
Testing, Debugging, and Verification Formal Specification, Part II Srinivas Pinisetty 23 November 2017 Introduction Today: Introduction to Dafny: An imperative language with integrated support for formal
More informationCOMP30172: Advanced Algorithms Notes and Exercises on Automata-based Verification
COMP30172: Advanced Algorithms Notes and Exercises on Automata-based Verification Howard Barringer Rm2.20: Kilburn Building Email: Howard.Barringer@manchester.ac.uk March 2010 ii Contents Preface v 1 Model
More informationTimed Automata From Theory to Implementation
Timed Automata From Theory to Implementation Patricia Bouyer LSV CNRS & ENS de Cachan France Chennai january 2003 Timed Automata From Theory to Implementation p.1 Roadmap Timed automata, decidability issues
More informationIntroduction to Programming (Java) 2/12
Introduction to Programming (Java) 2/12 Michal Krátký Department of Computer Science Technical University of Ostrava Introduction to Programming (Java) 2008/2009 c 2006 2008 Michal Krátký Introduction
More informationLecture 2: Symbolic Model Checking With SAT
Lecture 2: Symbolic Model Checking With SAT Edmund M. Clarke, Jr. School of Computer Science Carnegie Mellon University Pittsburgh, PA 15213 (Joint work over several years with: A. Biere, A. Cimatti, Y.
More informationNetwork Protocol Design and Evaluation
Network Protocol Design and Evaluation 05 - Validation, Part I Stefan Rührup Summer 2009 Overview In the last lectures: Specification of protocols and data/message formats In this chapter: Building a validation
More informationReal Time Model Checking
Real Time Model Checking using UPPAAL Kim G Larsen Collaborators @UPPsala Wang Yi Paul Pettersson John Håkansson Anders Hessel Pavel Krcal Leonid Mokrushin Shi Xiaochun @Elsewhere @AALborg Kim G Larsen
More informationAutomated Test Generation using Model-Checking: An Industrial Evaluation
Automated Test Generation using Model-Checking: An Industrial Evaluation Eduard P. Enoiu 1, Adnan Čaušević 1, Thomas J. Ostrand 3, Elaine J. Weyuker 1, Daniel Sundmark 12, and Paul Pettersson 1 1 Mälardalen
More informationCS2 Algorithms and Data Structures Note 8
CS2 Algorithms and Data Structures Note 8 Heasort and Quicksort We will see two more sorting algorithms in this lecture. The first, heasort, is very nice theoretically. It sorts an array with n items in
More informationOperators. Java operators are classified into three categories:
Operators Operators are symbols that perform arithmetic and logical operations on operands and provide a meaningful result. Operands are data values (variables or constants) which are involved in operations.
More informationApplications of Pointers (1A) Young Won Lim 4/24/18
(1A) Coyright (c) 2010-2018 Young W. Lim. Permission is granted to coy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version ublished
More informationLecture 3 SPIN and Promela
Lecture 3 SPIN and Promela 1 What is SPIN(Simple Promela INterpreter) A tool for analyzing mels of concurrent systems Mels described in Promela Language with concurrent processes Communication via shared
More information