An introduction to model checking
|
|
- Luke Phelps
- 5 years ago
- Views:
Transcription
1 An introduction to model checking Slide 1 University of Albert Edmonton July 3rd, 2002 Guy Trembly Dépt d informtique UQAM Outline Wht re forml specifiction nd verifiction methods? Slide 2 Wht is model checking? How cn the behvior of rective system be specified? How cn temporl properties be specified? How cn model checking be done? Why nd how cn model checking be done in prllel? 1
2 1 Wht re forml methods? [Forml methods re] mthemticlly bsed techniques used to describe the properties of computing systems They [re used to] specify, develop, nd verify systems in systemtic nd rigorous mnner [] [Wing90] Key elements of forml method: Slide 3 Forml lnguge for writing specifictions Rules to check the qulity of the specifictions Strtegies nd rules to refine nd verify the specifictions Foundtion on which everything rests = Forml specifictions Whtisformlspecifiction lnguge? Forml lnguge ) well-defined syntx nd semntics: Syntx = EBNF, syntx digrms, etc Semntics = lgebrs, utomts nd trnsition systems, reltions nd predictes, etc Slide 4 Specifiction lng ) describes the externl behvior of softwre component by describing its key properties in n bstrct wy (without unneeded implementtion detils) without sying how it is going to be implemented (non-lgorithmic) 2
3 Thus, progrmming lnguge is not specifiction lnguge becuse it is lgorithmic it is not bstrct (rrys, pointers, etc) A specifiction provides non-lgorithmic description ) Describes the wht? insted of the how? Slide 5 An exmple (in Spec): FUNCTION squre_root{ precision: rel SUCH THAT precision > 00 } MESSAGE root( x: rel SUCH THAT x >= 00 ) REPLY( r: rel ) WHERE r >= 00 & lmost_equl( rˆ2, x ) CONCEPT lmost_equl( r1 r2: rel ) VALUE( b: boolen ) WHERE b <=> bs(r1 - r2) <= precision END Wht re the mjor benefits of forml specifictions nd forml methods? Hving to better understnd the specificnd by compeling the nlyst to be bstrct yet precise bout the properties of the system cn be more rewrding thn hving the specifiction itself [Wing90] Specifictions re more explicit, precise, with less mbiguity Formliztion effort ) help identify errors, mbiguities, nd problems erly Slide 6 Provide better foundtion for implementtion work Allows for use of tools (mnipultion, nlysis, simultion) Bsis for developing tests Provide bsis for doing forml verifiction 3
4 Why re there mny specif lng nd methods? Mny different styles of specifictions: Abstrct modeling for mchines nd objects (VDM, Z, Spec, etc); Algebric specifiction for ADT (Lrch, ACT ONE, etc); Behviorl specifiction for rective systems (CCS, CSP, LOTOS, ACP, etc) Sfety nd liveness properties (modl nd temporl logics) Slide 7 Similr to progrmming lnguges: Diverse ppliction domins Vrious styles nd prdigms Vrying expressive power nd nlyzbility 2 Specifying rective nd concurrent systems A system is sid to be rective when it mintins constnt interction with its environment when its behvior is event-driven Slide 8 A system is sid to be concurrent when its behvior is determined by the interction of multiple tsks (processes) tht cooperte nd exchnge informtion 4
5 Modeling the behvior of rective systems The behvior of rective system cn be described by specifying the ctions tht it cn (nd cnnot) perform A computtion of rective system is generlly infinite ) use of lbeled trnsition systems (utomt) Slide 9 A smll exmple: Lotos specifiction nd its grphicl description process P[, b, c]: noexit := ; c; ; P[, b, c] P[, b, c] b [] b; ; c; P[, b, c] endproc c; ; P[, b, c] c ; P[, b, c] ; c; P[, b, c] c; P[, b, c] c Modeling concurrent systems Concurrent behvior cn be expressed by interleving semntics: Concurrent (unordered) ctions cn occur in ny order ) ny possible interleving is llowed Synchronized ctions = ctions performed synchronously by two (or more) gents ) only one ction visible Slide 10 ; b; d; STOP [b] d; b; c; STOP ; b; d; STOP d; b; c; STOP d b; d; STOP b; c; STOP b b d; STOP c; STOP d c STOP STOP Possible set of visible runs = fdbdc, dbcd, dbdc, dbcdg 5
6 Specifying properties of the behvior Automt = form of opertionl description describes how to generte the possible sequences of ctions But such description does not mke explicit the properties stisfied by the behvior Sfety properties: nothing bd will ever hppen Liveness: something good will eventully hppen Slide 11 Different pproches to the specifiction of properties: Modl logic: locl properties of current stte Temporl logic: properties of runs Liner-time logic Brnching-time logic Liner-time logic Liner-time property = property long single pth of execution ) A stte stisfies liner-time logic property if ll complete pths tht strt from this stte stisfy the property Exmple: M1 M2 Slide 12 muffin coin coin cookies muffin coin cookies These two mchines hve the sme set of (complete) pths: { coin;muffin, coin;cookies } ) they will stisfy the sme liner-time properties but do they relly hve the sme behvior? 6
7 Modl logic Modl logic = expresses (locl) properties of the current stte Possibility (my): hi =itispossibletodoction nd then rech stte tht stisfies Necessity (must): [] = whenever ction is done, the resulting stte stisfies Slide 13 Two typicl idioms: hitt =itispossibletodo []ff = cnnot be done Exmples on P = c; ; P[, b, c] c P[, b, c] b ; c; P[, b, c] c ; P[, b, c] c; P[, b, c] P j= hitt Slide 14 (Liveness) P cn do s its first move P j= [][b]ff (Sfety) In its strting stte, P cnnot do n followed by b P j= [,b]hcitt ^ [,]h; ditt (Liveness) If the 1st ction is not b, then the 2nd is c nd if the 1st is not n, the 2nd is n or d 7
8 Modl logic ) Mchines M1 nd M2 cn now be distinguished: M1 M2 coin coin coin muffin cookies muffin cookies Slide 15 M1 M2 j== [coin]hmuffinitt j= [coin]hmuffinitt Temporl (brnching-time) logic Temporl logic = Expresses properties of the runs (the pths) ) Describes qulittively the occurence of events in time CTL = Computtion Tree Logic: Slide 16 s j= AG = holds on ll possible sttes rechble from stte s = Alwys() s j= EF: = froms, there exists pth where eventully holds = Eventully() 8
9 AG p EF p Slide 17 EG p AF p Exmples on P = c; ; P[, b, c] c P[, b, c] b ; c; P[, b, c] c ; P[, b, c] c; P[, b, c] Slide 18 P j= AG([b][c]ff) (Sfety) For ny run, it is never possible to do b followed by c s j= AG(EF hitt) (Wek liveness) Along every pth strting from s, eventully, n ction will be possible 9
10 Mu-clculus Modl mu-clculus = A temporl logic with explicit fixpoint opertors Syntx: ::= tt j ff j X j 1 ^ 2 j 1 _ 2 j [L] jhli j X: j X: Slide 19 Alwys nd Eventully using fixpoint opertors: Alwys() = X: ^ [,]X Eventully() = X: _ h,ix 3 Model checking Model checking = A technique tht relies on building finite model of system nd checking tht desired property holds in tht model [ClrkeEtAl96] Model checking = An utomtic technique for verifying properties of finite stte systems Slide 20 Generl pproch: 1 Construct M = model (of the behvior of the system) 2 Specify = property expected of the system (expressed in modl/temporl logic) 3 Check tht M stisfies If not, produce counter-exmples 10
11 Implementtion requires explortion of the stte spce ) Importnt requirement for M = must be finite Slide 21 Advntges/disdvntges of model checking (+/-): + Verifiction is completely utomtic + Cn produce counter-exmples tht represent subtle errors - Stte explosion problem Primry pplictions (so fr) = hrdwre nd protocol verifiction: IEEE Futurebus+ cche coherence protocol [McMilln93] ( number of previously undetected errors were found) ISDN/ISUP telecommuniction protocol [Holzmnn92] (122 errors found) Slide 22 HDLC chnnel controller [DePlmGl96] (uncovered mjor bug) Active structurl control system in civil engineering [ElseidyEtAl96] (uncovered mjor bug tht could hve worsen effect of vibrtion) 11
12 4 Implementtion of model checking 41 Globl vs locl model checking Globl model checking: Given finite model, M, nd formul,, determine the set of sttes in M tht stisfy Locl model checking: Given finite model, M,formul,, nd stte s in M, determine whether s stisfies Slide 23 Chrcteristics of globl vs locl model checking: Solution to globl problem ) solution to locl one Solution to globl problem ) explortion of the whole stte spce Solution to locl ) demnd-driven explortion of stte spce 42 How to compute fixpoints Solving model checking problem ) need to find solutions to recursive equtions Let h,i nd [,] denote the uses of the modlities with rbitrry ctions Recll tht: Slide 24 AG = Alwys() EF = Eventully() Alwys nd Eventully cn be defined recursively: Alwys() = ^ [,]Alwys() Eventully() = _ h,ieventully() 12
13 Definition: x is fixpoint of f iff f (x) =x Fct: A solution to recursive eqution is lwys fixpoint of n pproprite function Exmple: x =2 x Associted function: (x) =2 x Slide 25 Solution: 0 is solution since (0) = 0 Exmple: x = x Associted function: (x) =x Solution: Any n is solution since (n) =n Exmple: recursive definition of list of integers Eqution: l =1: l Associted function: (l) =1: l Solution: Let ones =[1; 1; 1; 1; :::] be n infinite list of 1s Then (ones) =ones Slide
14 Fct: The lest solution of functionl cn be obtined s the limit of sequence of pproximtions (where? is the lest element of the domin): Exmple: Let (l) =1: l Let 0 (l) =? 1G n=0 n (?) Slide 27 Let i+1 (l) = ( i (l))=1 : i (l) 0 (?) =? 1 (?) = 1:? 2 (?) = 1: 1:? ::: i+1 (?) = 1: 1: ::: :? 43 Globl model-checking for mu-clculus = Determine set of sttes stisfying property Compute denottionl semntics (set of sttes) [tt ]V = P [ff ]V = fg Slide 28 [X ]V = V(X) [ 1 ^ 2 ]V = [ 1 ]V \ [ 2 ]V [ 1 _ 2 ]V = [ 1 ]V [ [ 2 ]V [[L] ]V = fp j8 2 L; p 0 2P:: p! p 0 ) p 0 2 [ ]Vg [hli ]V = fp j9 2 L; p 0 2P:: p! p 0 ^ p 0 2 [ ]Vg [X: ]V = fix ;V where ;V (x) =[ ]V[x7!X] 14
15 fix ;V = 1[ n=0 n ;V (fg) Where 0 (x) =x i+1 (x) = ( i (x)) Slide 29 Termintion property: Since the model (number of sttes) is finite, fixpoint will be reched fter finite number of itertions 44 Locl model-checking for mu-clculus = Determine whether stte stisfies property Compute xiomtic semntics (inference rules) = Set of (inductive) rules tht specify if process p stisfies formul Slide 30 p j= tt p j== ff p j= ^ iff p j= nd p j= p j= _ iff p j= or p j= p j= [L] iff 8 2 L; p 0 2P:: p! p 0 ) p 0 j= p j= hli iff 9 2 L; p 0 2P:: p! p 0 ^ p 0 j= p j= X: iff ::: 15
16 5 Prllel model checking 51 The stte explosion problem Modeling of concurrency by interleving ) Totl number of sttes my grow exponentilly with the number of concurrently executing components Exmple: Slide lines Lotos specifiction with 10 smll processes ) sttes trnsitions Globl model checking nd exhustive explortion of the stte spce ) keep stte spce in memory to void multiple explortion of sme stte ) lot of spce required to store the grph (LTS) Possible solutions to stte explosion problem Symbolic model checking Slide 32 Exploit vrious kinds of informtion to reduce the number of sttes/trnsitions (s long s the key properties re preserved) Use prllel mchine with multiple nodes to provide more memory 16
17 52 Trget mchine nd environment Trget prllel mchine = EARTH (CAPSL, Univ of Delwre, Newrk, DE) Fine-grin multi-threded prllelism = multiple levels of prllelism (threds vs fibers) Irregulr dynmic prllelism = dt flow style scheduling Slide 33 Off-the-shelf computer = EARTH-RTS (Pthreds nd sockets) Erthquke = 16-processors Beowulf cluster (University of Delwre) Progrmming lnguge = Threded-C CADP toolbox (INRIA, Grenoble, Frnce): Trnsltor from Lotos to LTS + numerous other tools: Simultion Equivlence checking Model checking for regulr lterntion-free mu-clculus Slide 34 LTS provides n implicit representtion of the grph (trnsition function) Gol = construct n explicit representtion (stte grph) 17
18 53 Distributing the grph Generl strtegy for distributing the grph Trverse the grph by evluting the trnsition function Use dispersion function h to distribute the sttes on the vrious processors Slide 35 Hndle trnsition t = (s1, e, s2) on processor h(s2) Never send trnsition more thn once by keeping trck of the sttes tht hve been visited Pseudo-code: // Initiliztion phse in process 0 s0 = strt_stte(); visited = {s0}; FOREACH trnsition t = (s0, e, s1) going out of s0 DO SEND t TO processor h(s1); END Slide 36 } // Processing phse (on ll processors) WHILE not terminted (?!) DO RECEIVE trnsition t0 = (s0, e0, s1) from rbitrry process; IF!(s1 IN visited) THEN visited = visited U {s1}; FOREACH trnsition t = (s1, e, s2) going out of s1 DO SEND t TO process h(s2); END END END 18
19 54 Detecting termintion Key problem = Detecting when ll trnsitions hve been processed Currently implemented solution = Distributed detection termintion bsed on the number of messges sent/received 55 Next step = perform model checking Slide 37 Currently: Only distribution of trnsitions hs been implemented (grdute course project) Still need to dd processing ssocited with model checking itself Globl model checking ) multiple explortion of the grph (fixpoint computtion) Locl model checking ) demnd-driven explortion 6 Conclusion Model checking is n interesting pproch to forml verifiction becuse it is utomtic Mjor difficulty = need to hndle lrge stte spce Slide 38 On-going nd future work: Short-term = see how prllel nd distributed execution cn help with stte explosion problem Long-term = pply model checking to -clculus ) hndle mobile processes (dynmic nd non-finite stte spce ;( 19
Today. Search Problems. Uninformed Search Methods. Depth-First Search Breadth-First Search Uniform-Cost Search
Uninformed Serch [These slides were creted by Dn Klein nd Pieter Abbeel for CS188 Intro to AI t UC Berkeley. All CS188 mterils re vilble t http://i.berkeley.edu.] Tody Serch Problems Uninformed Serch Methods
More informationTopic: Software Model Checking via Counter-Example Guided Abstraction Refinement. Having a BLAST with SLAM. Combining Strengths. SLAM Overview SLAM
Hving BLAST with SLAM Topic: Softwre Model Checking vi Counter-Exmple Guided Abstrction Refinement There re esily two dozen SLAM/BLAST/MAGIC ppers; I will skim. # # Theorem Proving Combining Strengths
More informationCSEP 573 Artificial Intelligence Winter 2016
CSEP 573 Artificil Intelligence Winter 2016 Luke Zettlemoyer Problem Spces nd Serch slides from Dn Klein, Sturt Russell, Andrew Moore, Dn Weld, Pieter Abbeel, Ali Frhdi Outline Agents tht Pln Ahed Serch
More informationCSCI 446: Artificial Intelligence
CSCI 446: Artificil Intelligence Serch Instructor: Michele Vn Dyne [These slides were creted by Dn Klein nd Pieter Abbeel for CS188 Intro to AI t UC Berkeley. All CS188 mterils re vilble t http://i.berkeley.edu.]
More informationA Formalism for Functionality Preserving System Level Transformations
A Formlism for Functionlity Preserving System Level Trnsformtions Smr Abdi Dniel Gjski Center for Embedded Computer Systems UC Irvine Center for Embedded Computer Systems UC Irvine Irvine, CA 92697 Irvine,
More informationCS321 Languages and Compiler Design I. Winter 2012 Lecture 5
CS321 Lnguges nd Compiler Design I Winter 2012 Lecture 5 1 FINITE AUTOMATA A non-deterministic finite utomton (NFA) consists of: An input lphet Σ, e.g. Σ =,. A set of sttes S, e.g. S = {1, 3, 5, 7, 11,
More informationA New Learning Algorithm for the MAXQ Hierarchical Reinforcement Learning Method
A New Lerning Algorithm for the MAXQ Hierrchicl Reinforcement Lerning Method Frzneh Mirzzdeh 1, Bbk Behsz 2, nd Hmid Beigy 1 1 Deprtment of Computer Engineering, Shrif University of Technology, Tehrn,
More informationData Flow on a Queue Machine. Bruno R. Preiss. Copyright (c) 1987 by Bruno R. Preiss, P.Eng. All rights reserved.
Dt Flow on Queue Mchine Bruno R. Preiss 2 Outline Genesis of dt-flow rchitectures Sttic vs. dynmic dt-flow rchitectures Pseudo-sttic dt-flow execution model Some dt-flow mchines Simple queue mchine Prioritized
More informationCS 221: Artificial Intelligence Fall 2011
CS 221: Artificil Intelligence Fll 2011 Lecture 2: Serch (Slides from Dn Klein, with help from Sturt Russell, Andrew Moore, Teg Grenger, Peter Norvig) Problem types! Fully observble, deterministic! single-belief-stte
More informationDr. D.M. Akbar Hussain
Dr. D.M. Akr Hussin Lexicl Anlysis. Bsic Ide: Red the source code nd generte tokens, it is similr wht humns will do to red in; just tking on the input nd reking it down in pieces. Ech token is sequence
More informationCS412/413. Introduction to Compilers Tim Teitelbaum. Lecture 4: Lexical Analyzers 28 Jan 08
CS412/413 Introduction to Compilers Tim Teitelum Lecture 4: Lexicl Anlyzers 28 Jn 08 Outline DFA stte minimiztion Lexicl nlyzers Automting lexicl nlysis Jlex lexicl nlyzer genertor CS 412/413 Spring 2008
More informationIn the last lecture, we discussed how valid tokens may be specified by regular expressions.
LECTURE 5 Scnning SYNTAX ANALYSIS We know from our previous lectures tht the process of verifying the syntx of the progrm is performed in two stges: Scnning: Identifying nd verifying tokens in progrm.
More informationSynchronizability of Conversations Among Web Services
1 Synchronizbility of Converstions Among Web Services Xing Fu, Tevfik Bultn, Jinwen Su Abstrct We present frmework for nlyzing interctions mong web services tht communicte with synchronous messges. We
More informationHomework. Context Free Languages III. Languages. Plan for today. Context Free Languages. CFLs and Regular Languages. Homework #5 (due 10/22)
Homework Context Free Lnguges III Prse Trees nd Homework #5 (due 10/22) From textbook 6.4,b 6.5b 6.9b,c 6.13 6.22 Pln for tody Context Free Lnguges Next clss of lnguges in our quest! Lnguges Recll. Wht
More informationFig.25: the Role of LEX
The Lnguge for Specifying Lexicl Anlyzer We shll now study how to uild lexicl nlyzer from specifiction of tokens in the form of list of regulr expressions The discussion centers round the design of n existing
More informationDefinition of Regular Expression
Definition of Regulr Expression After the definition of the string nd lnguges, we re redy to descrie regulr expressions, the nottion we shll use to define the clss of lnguges known s regulr sets. Recll
More informationRegular Expression Matching with Multi-Strings and Intervals. Philip Bille Mikkel Thorup
Regulr Expression Mtching with Multi-Strings nd Intervls Philip Bille Mikkel Thorup Outline Definition Applictions Previous work Two new problems: Multi-strings nd chrcter clss intervls Algorithms Thompson
More informationUnit #9 : Definite Integral Properties, Fundamental Theorem of Calculus
Unit #9 : Definite Integrl Properties, Fundmentl Theorem of Clculus Gols: Identify properties of definite integrls Define odd nd even functions, nd reltionship to integrl vlues Introduce the Fundmentl
More informationComplete Coverage Path Planning of Mobile Robot Based on Dynamic Programming Algorithm Peng Zhou, Zhong-min Wang, Zhen-nan Li, Yang Li
2nd Interntionl Conference on Electronic & Mechnicl Engineering nd Informtion Technology (EMEIT-212) Complete Coverge Pth Plnning of Mobile Robot Bsed on Dynmic Progrmming Algorithm Peng Zhou, Zhong-min
More informationMidterm 2 Sample solution
Nme: Instructions Midterm 2 Smple solution CMSC 430 Introduction to Compilers Fll 2012 November 28, 2012 This exm contins 9 pges, including this one. Mke sure you hve ll the pges. Write your nme on the
More informationTheory of Computation CSE 105
$ $ $ Theory of Computtion CSE 105 Regulr Lnguges Study Guide nd Homework I Homework I: Solutions to the following problems should be turned in clss on July 1, 1999. Instructions: Write your nswers clerly
More informationTool Vendor Perspectives SysML Thus Far
Frontiers 2008 Pnel Georgi Tec, 05-13-08 Tool Vendor Perspectives SysML Thus Fr Hns-Peter Hoffmnn, Ph.D Chief Systems Methodologist Telelogic, Systems & Softwre Modeling Business Unit Peter.Hoffmnn@telelogic.com
More informationWhat are suffix trees?
Suffix Trees 1 Wht re suffix trees? Allow lgorithm designers to store very lrge mount of informtion out strings while still keeping within liner spce Allow users to serch for new strings in the originl
More informationSolving Problems by Searching. CS 486/686: Introduction to Artificial Intelligence Winter 2016
Solving Prolems y Serching CS 486/686: Introduction to Artificil Intelligence Winter 2016 1 Introduction Serch ws one of the first topics studied in AI - Newell nd Simon (1961) Generl Prolem Solver Centrl
More information2014 Haskell January Test Regular Expressions and Finite Automata
0 Hskell Jnury Test Regulr Expressions nd Finite Automt This test comprises four prts nd the mximum mrk is 5. Prts I, II nd III re worth 3 of the 5 mrks vilble. The 0 Hskell Progrmming Prize will be wrded
More informationFrom Dependencies to Evaluation Strategies
From Dependencies to Evlution Strtegies Possile strtegies: 1 let the user define the evlution order 2 utomtic strtegy sed on the dependencies: use locl dependencies to determine which ttriutes to compute
More informationChapter 2 Sensitivity Analysis: Differential Calculus of Models
Chpter 2 Sensitivity Anlysis: Differentil Clculus of Models Abstrct Models in remote sensing nd in science nd engineering, in generl re, essentilly, functions of discrete model input prmeters, nd/or functionls
More informationCSE 401 Midterm Exam 11/5/10 Sample Solution
Question 1. egulr expressions (20 points) In the Ad Progrmming lnguge n integer constnt contins one or more digits, but it my lso contin embedded underscores. Any underscores must be preceded nd followed
More informationCS201 Discussion 10 DRAWTREE + TRIES
CS201 Discussion 10 DRAWTREE + TRIES DrwTree First instinct: recursion As very generic structure, we could tckle this problem s follows: drw(): Find the root drw(root) drw(root): Write the line for the
More informationData sharing in OpenMP
Dt shring in OpenMP Polo Burgio polo.burgio@unimore.it Outline Expressing prllelism Understnding prllel threds Memory Dt mngement Dt cluses Synchroniztion Brriers, locks, criticl sections Work prtitioning
More informationOutline. Bio-inspired. Computing. Conclusions References. Living cells Membranes: structure and function Transport
Outline Bio-inspired Living cells Membrnes: structure nd function Trnsport Computing Bsics Exmples Some results Some vrints Conclusions References Spiking Neurons P systems Living Cells Digrm of typicl
More informationAI Adjacent Fields. This slide deck courtesy of Dan Klein at UC Berkeley
AI Adjcent Fields Philosophy: Logic, methods of resoning Mind s physicl system Foundtions of lerning, lnguge, rtionlity Mthemtics Forml representtion nd proof Algorithms, computtion, (un)decidility, (in)trctility
More informationCS 432 Fall Mike Lam, Professor a (bc)* Regular Expressions and Finite Automata
CS 432 Fll 2017 Mike Lm, Professor (c)* Regulr Expressions nd Finite Automt Compiltion Current focus "Bck end" Source code Tokens Syntx tree Mchine code chr dt[20]; int min() { flot x = 42.0; return 7;
More informationScanner Termination. Multi Character Lookahead. to its physical end. Most parsers require an end of file token. Lex and Jlex automatically create an
Scnner Termintion A scnner reds input chrcters nd prtitions them into tokens. Wht hppens when the end of the input file is reched? It my be useful to crete n Eof pseudo-chrcter when this occurs. In Jv,
More informationCMSC 331 First Midterm Exam
0 00/ 1 20/ 2 05/ 3 15/ 4 15/ 5 15/ 6 20/ 7 30/ 8 30/ 150/ 331 First Midterm Exm 7 October 2003 CMC 331 First Midterm Exm Nme: mple Answers tudent ID#: You will hve seventy-five (75) minutes to complete
More informationΕΠΛ323 - Θεωρία και Πρακτική Μεταγλωττιστών
ΕΠΛ323 - Θωρία και Πρακτική Μταγλωττιστών Lecture 3 Lexicl Anlysis Elis Athnsopoulos elisthn@cs.ucy.c.cy Recognition of Tokens if expressions nd reltionl opertors if è if then è then else è else relop
More informationA REINFORCEMENT LEARNING APPROACH TO SCHEDULING DUAL-ARMED CLUSTER TOOLS WITH TIME VARIATIONS
A REINFORCEMENT LEARNING APPROACH TO SCHEDULING DUAL-ARMED CLUSTER TOOLS WITH TIME VARIATIONS Ji-Eun Roh (), Te-Eog Lee (b) (),(b) Deprtment of Industril nd Systems Engineering, Kore Advnced Institute
More informationINTRODUCTION TO SIMPLICIAL COMPLEXES
INTRODUCTION TO SIMPLICIAL COMPLEXES CASEY KELLEHER AND ALESSANDRA PANTANO 0.1. Introduction. In this ctivity set we re going to introduce notion from Algebric Topology clled simplicil homology. The min
More informationLexical Analysis: Constructing a Scanner from Regular Expressions
Lexicl Anlysis: Constructing Scnner from Regulr Expressions Gol Show how to construct FA to recognize ny RE This Lecture Convert RE to n nondeterministic finite utomton (NFA) Use Thompson s construction
More informationAssignment 4. Due 09/18/17
Assignment 4. ue 09/18/17 1. ). Write regulr expressions tht define the strings recognized by the following finite utomt: b d b b b c c b) Write FA tht recognizes the tokens defined by the following regulr
More informationCPSC 213. Polymorphism. Introduction to Computer Systems. Readings for Next Two Lectures. Back to Procedure Calls
Redings for Next Two Lectures Text CPSC 213 Switch Sttements, Understnding Pointers - 2nd ed: 3.6.7, 3.10-1st ed: 3.6.6, 3.11 Introduction to Computer Systems Unit 1f Dynmic Control Flow Polymorphism nd
More informationLecture 10 Evolutionary Computation: Evolution strategies and genetic programming
Lecture 10 Evolutionry Computtion: Evolution strtegies nd genetic progrmming Evolution strtegies Genetic progrmming Summry Negnevitsky, Person Eduction, 2011 1 Evolution Strtegies Another pproch to simulting
More information9 Graph Cutting Procedures
9 Grph Cutting Procedures Lst clss we begn looking t how to embed rbitrry metrics into distributions of trees, nd proved the following theorem due to Brtl (1996): Theorem 9.1 (Brtl (1996)) Given metric
More informationAllocator Basics. Dynamic Memory Allocation in the Heap (malloc and free) Allocator Goals: malloc/free. Internal Fragmentation
Alloctor Bsics Dynmic Memory Alloction in the Hep (mlloc nd free) Pges too corse-grined for llocting individul objects. Insted: flexible-sized, word-ligned blocks. Allocted block (4 words) Free block (3
More informationFinite Automata. Lecture 4 Sections Robb T. Koether. Hampden-Sydney College. Wed, Jan 21, 2015
Finite Automt Lecture 4 Sections 3.6-3.7 Ro T. Koether Hmpden-Sydney College Wed, Jn 21, 2015 Ro T. Koether (Hmpden-Sydney College) Finite Automt Wed, Jn 21, 2015 1 / 23 1 Nondeterministic Finite Automt
More informationLING/C SC/PSYC 438/538. Lecture 21 Sandiway Fong
LING/C SC/PSYC 438/538 Lecture 21 Sndiwy Fong Tody's Topics Homework 8 Review Optionl Homework 9 (mke up on Homework 7) Homework 8 Review Question1: write Prolog regulr grmmr for the following lnguge:
More informationSolving Problems by Searching. CS 486/686: Introduction to Artificial Intelligence
Solving Prolems y Serching CS 486/686: Introduction to Artificil Intelligence 1 Introduction Serch ws one of the first topics studied in AI - Newell nd Simon (1961) Generl Prolem Solver Centrl component
More informationParallel Square and Cube Computations
Prllel Squre nd Cube Computtions Albert A. Liddicot nd Michel J. Flynn Computer Systems Lbortory, Deprtment of Electricl Engineering Stnford University Gtes Building 5 Serr Mll, Stnford, CA 945, USA liddicot@stnford.edu
More informationCS143 Handout 07 Summer 2011 June 24 th, 2011 Written Set 1: Lexical Analysis
CS143 Hndout 07 Summer 2011 June 24 th, 2011 Written Set 1: Lexicl Anlysis In this first written ssignment, you'll get the chnce to ply round with the vrious constructions tht come up when doing lexicl
More informationLanguages. L((a (b)(c))*) = { ε,a,bc,aa,abc,bca,... } εw = wε = w. εabba = abbaε = abba. (a (b)(c)) *
Pln for Tody nd Beginning Next week Interpreter nd Compiler Structure, or Softwre Architecture Overview of Progrmming Assignments The MeggyJv compiler we will e uilding. Regulr Expressions Finite Stte
More informationacronyms possibly used in this test: CFG :acontext free grammar CFSM :acharacteristic finite state machine DFA :adeterministic finite automata
EE573 Fll 2002, Exm open book, if question seems mbiguous, sk me to clrify the question. If my nswer doesn t stisfy you, plese stte your ssumptions. cronyms possibly used in this test: CFG :context free
More informationTopic 2: Lexing and Flexing
Topic 2: Lexing nd Flexing COS 320 Compiling Techniques Princeton University Spring 2016 Lennrt Beringer 1 2 The Compiler Lexicl Anlysis Gol: rek strem of ASCII chrcters (source/input) into sequence of
More informationTO REGULAR EXPRESSIONS
Suject :- Computer Science Course Nme :- Theory Of Computtion DA TO REGULAR EXPRESSIONS Report Sumitted y:- Ajy Singh Meen 07000505 jysmeen@cse.iit.c.in BASIC DEINITIONS DA:- A finite stte mchine where
More informationLexical Analysis. Amitabha Sanyal. (www.cse.iitb.ac.in/ as) Department of Computer Science and Engineering, Indian Institute of Technology, Bombay
Lexicl Anlysis Amith Snyl (www.cse.iit.c.in/ s) Deprtment of Computer Science nd Engineering, Indin Institute of Technology, Bomy Septemer 27 College of Engineering, Pune Lexicl Anlysis: 2/6 Recp The input
More informationDynamic Programming. Andreas Klappenecker. [partially based on slides by Prof. Welch] Monday, September 24, 2012
Dynmic Progrmming Andres Klppenecker [prtilly bsed on slides by Prof. Welch] 1 Dynmic Progrmming Optiml substructure An optiml solution to the problem contins within it optiml solutions to subproblems.
More informationIntegration. September 28, 2017
Integrtion September 8, 7 Introduction We hve lerned in previous chpter on how to do the differentition. It is conventionl in mthemtics tht we re supposed to lern bout the integrtion s well. As you my
More informationSOME EXAMPLES OF SUBDIVISION OF SMALL CATEGORIES
SOME EXAMPLES OF SUBDIVISION OF SMALL CATEGORIES MARCELLO DELGADO Abstrct. The purpose of this pper is to build up the bsic conceptul frmework nd underlying motivtions tht will llow us to understnd ctegoricl
More informationLecture T4: Pattern Matching
Introduction to Theoreticl CS Lecture T4: Pttern Mtching Two fundmentl questions. Wht cn computer do? How fst cn it do it? Generl pproch. Don t tlk bout specific mchines or problems. Consider miniml bstrct
More information1 Quad-Edge Construction Operators
CS48: Computer Grphics Hndout # Geometric Modeling Originl Hndout #5 Stnford University Tuesdy, 8 December 99 Originl Lecture #5: 9 November 99 Topics: Mnipultions with Qud-Edge Dt Structures Scribe: Mike
More information10.5 Graphing Quadratic Functions
0.5 Grphing Qudrtic Functions Now tht we cn solve qudrtic equtions, we wnt to lern how to grph the function ssocited with the qudrtic eqution. We cll this the qudrtic function. Grphs of Qudrtic Functions
More informationBefore We Begin. Introduction to Spatial Domain Filtering. Introduction to Digital Image Processing. Overview (1): Administrative Details (1):
Overview (): Before We Begin Administrtive detils Review some questions to consider Winter 2006 Imge Enhncement in the Sptil Domin: Bsics of Sptil Filtering, Smoothing Sptil Filters, Order Sttistics Filters
More informationCMPSC 470: Compiler Construction
CMPSC 47: Compiler Construction Plese complete the following: Midterm (Type A) Nme Instruction: Mke sure you hve ll pges including this cover nd lnk pge t the end. Answer ech question in the spce provided.
More informationCOMP 423 lecture 11 Jan. 28, 2008
COMP 423 lecture 11 Jn. 28, 2008 Up to now, we hve looked t how some symols in n lphet occur more frequently thn others nd how we cn sve its y using code such tht the codewords for more frequently occuring
More informationAn Efficient Divide and Conquer Algorithm for Exact Hazard Free Logic Minimization
An Efficient Divide nd Conquer Algorithm for Exct Hzrd Free Logic Minimiztion J.W.J.M. Rutten, M.R.C.M. Berkelr, C.A.J. vn Eijk, M.A.J. Kolsteren Eindhoven University of Technology Informtion nd Communiction
More informationMA1008. Calculus and Linear Algebra for Engineers. Course Notes for Section B. Stephen Wills. Department of Mathematics. University College Cork
MA1008 Clculus nd Liner Algebr for Engineers Course Notes for Section B Stephen Wills Deprtment of Mthemtics University College Cork s.wills@ucc.ie http://euclid.ucc.ie/pges/stff/wills/teching/m1008/ma1008.html
More informationDistributed Systems Principles and Paradigms
Distriuted Systems Principles nd Prdigms Chpter 11 (version April 7, 2008) Mrten vn Steen Vrije Universiteit Amsterdm, Fculty of Science Dept. Mthemtics nd Computer Science Room R4.20. Tel: (020) 598 7784
More informationCSCI 3130: Formal Languages and Automata Theory Lecture 12 The Chinese University of Hong Kong, Fall 2011
CSCI 3130: Forml Lnguges nd utomt Theory Lecture 12 The Chinese University of Hong Kong, Fll 2011 ndrej Bogdnov In progrmming lnguges, uilding prse trees is significnt tsk ecuse prse trees tell us the
More informationCS311H: Discrete Mathematics. Graph Theory IV. A Non-planar Graph. Regions of a Planar Graph. Euler s Formula. Instructor: Işıl Dillig
CS311H: Discrete Mthemtics Grph Theory IV Instructor: Işıl Dillig Instructor: Işıl Dillig, CS311H: Discrete Mthemtics Grph Theory IV 1/25 A Non-plnr Grph Regions of Plnr Grph The plnr representtion of
More informationLecture Overview. Knowledge-based systems in Bioinformatics, 1MB602. Procedural abstraction. The sum procedure. Integration as a procedure
Lecture Overview Knowledge-bsed systems in Bioinformtics, MB6 Scheme lecture Procedurl bstrction Higher order procedures Procedures s rguments Procedures s returned vlues Locl vribles Dt bstrction Compound
More informationa(e, x) = x. Diagrammatically, this is encoded as the following commutative diagrams / X
4. Mon, Sept. 30 Lst time, we defined the quotient topology coming from continuous surjection q : X! Y. Recll tht q is quotient mp (nd Y hs the quotient topology) if V Y is open precisely when q (V ) X
More informationECE 468/573 Midterm 1 September 28, 2012
ECE 468/573 Midterm 1 September 28, 2012 Nme:! Purdue emil:! Plese sign the following: I ffirm tht the nswers given on this test re mine nd mine lone. I did not receive help from ny person or mteril (other
More informationCOMBINATORIAL PATTERN MATCHING
COMBINATORIAL PATTERN MATCHING Genomic Repets Exmple of repets: ATGGTCTAGGTCCTAGTGGTC Motivtion to find them: Genomic rerrngements re often ssocited with repets Trce evolutionry secrets Mny tumors re chrcterized
More informationP(r)dr = probability of generating a random number in the interval dr near r. For this probability idea to make sense we must have
Rndom Numers nd Monte Crlo Methods Rndom Numer Methods The integrtion methods discussed so fr ll re sed upon mking polynomil pproximtions to the integrnd. Another clss of numericl methods relies upon using
More informationMa/CS 6b Class 1: Graph Recap
M/CS 6 Clss 1: Grph Recp By Adm Sheffer Course Detils Adm Sheffer. Office hour: Tuesdys 4pm. dmsh@cltech.edu TA: Victor Kstkin. Office hour: Tuesdys 7pm. 1:00 Mondy, Wednesdy, nd Fridy. http://www.mth.cltech.edu/~2014-15/2term/m006/
More informationLR Parsing, Part 2. Constructing Parse Tables. Need to Automatically Construct LR Parse Tables: Action and GOTO Table
TDDD55 Compilers nd Interpreters TDDB44 Compiler Construction LR Prsing, Prt 2 Constructing Prse Tles Prse tle construction Grmmr conflict hndling Ctegories of LR Grmmrs nd Prsers Peter Fritzson, Christoph
More informationFig.1. Let a source of monochromatic light be incident on a slit of finite width a, as shown in Fig. 1.
Answer on Question #5692, Physics, Optics Stte slient fetures of single slit Frunhofer diffrction pttern. The slit is verticl nd illuminted by point source. Also, obtin n expression for intensity distribution
More informationFunctor (1A) Young Won Lim 10/5/17
Copyright (c) 2016-2017 Young W. Lim. Permission is grnted to copy, distribute nd/or modify this document under the terms of the GNU Free Documenttion License, Version 1.2 or ny lter version published
More informationQubit allocation for quantum circuit compilers
Quit lloction for quntum circuit compilers Nov. 10, 2017 JIQ 2017 Mrcos Yukio Sirichi Sylvin Collnge Vinícius Fernndes dos Sntos Fernndo Mgno Quintão Pereir Compilers for quntum computing The first genertion
More informationSection 3.1: Sequences and Series
Section.: Sequences d Series Sequences Let s strt out with the definition of sequence: sequence: ordered list of numbers, often with definite pttern Recll tht in set, order doesn t mtter so this is one
More informationOn components with explicit protocols satisfying a notion of correctness by construction
On components with explicit protocols stisfying notion of correctness by construction Andrés Frís nd Mrio Südholt Déprtement Informtique École des Mines de Nntes 4, rue Alfred Kstler BP 20722 F-44307 Nntes
More informationFunctor (1A) Young Won Lim 8/2/17
Copyright (c) 2016-2017 Young W. Lim. Permission is grnted to copy, distribute nd/or modify this document under the terms of the GNU Free Documenttion License, Version 1.2 or ny lter version published
More informationVirtual Machine I: Stack Arithmetic
Virtul Mchine I: Stck Arithmetic Building Modern Computer From First Principles www.nnd2tetris.org Elements of Computing Systems, Nisn & Schocken, MIT Press, www.nnd2tetris.org, Chpter 7: Virtul Mchine
More informationCSCI 104. Rafael Ferreira da Silva. Slides adapted from: Mark Redekopp and David Kempe
CSCI 0 fel Ferreir d Silv rfsilv@isi.edu Slides dpted from: Mrk edekopp nd Dvid Kempe LOG STUCTUED MEGE TEES Series Summtion eview Let n = + + + + k $ = #%& #. Wht is n? n = k+ - Wht is log () + log ()
More informationVisual IoT/Robotics Programming Language in -Calculus
2017 IEEE 13th Interntionl Symposium on Autonomous Decentrlized Systems Visul IoT/Robotics Progrmming Lnguge in -Clculus Gennro De Luc nd Yinong Chen School of Computing, Informtics nd Decision Systems
More informationComputer-Aided Multiscale Modelling for Chemical Process Engineering
17 th Europen Symposium on Computer Aided Process Engineesing ESCAPE17 V. Plesu nd P.S. Agchi (Editors) 2007 Elsevier B.V. All rights reserved. 1 Computer-Aided Multiscle Modelling for Chemicl Process
More informationSome Thoughts on Grad School. Undergraduate Compilers Review and Intro to MJC. Structure of a Typical Compiler. Lexing and Parsing
Undergrdute Compilers Review nd Intro to MJC Announcements Miling list is in full swing Tody Some thoughts on grd school Finish prsing Semntic nlysis Visitor pttern for bstrct syntx trees Some Thoughts
More informationCSCE 531, Spring 2017, Midterm Exam Answer Key
CCE 531, pring 2017, Midterm Exm Answer Key 1. (15 points) Using the method descried in the ook or in clss, convert the following regulr expression into n equivlent (nondeterministic) finite utomton: (
More informationMany analog implementations of CPG exist, typically using operational amplifier or
FPGA Implementtion of Centrl Pttern Genertor By Jmes J Lin Introuction: Mny nlog implementtions of CPG exist, typiclly using opertionl mplifier or trnsistor level circuits. These types of circuits hve
More informationModel Checking of Qualitative Sensitivity Preferences to Minimize Credential Disclosure
Model Checking of Qulittive Sensitivity Preferences to Minimize Credentil Disclosure Zchry J. Oster, Gnesh Rm Snthnm, Smik Bsu, nd Vsnt Honvr Deprtment of Computer Science, Iow Stte University, Ames, Iow
More informationCS 430 Spring Mike Lam, Professor. Parsing
CS 430 Spring 2015 Mike Lm, Professor Prsing Syntx Anlysis We cn now formlly descrie lnguge's syntx Using regulr expressions nd BNF grmmrs How does tht help us? Syntx Anlysis We cn now formlly descrie
More informationSmall Business Networking
Why network is n essentil productivity tool for ny smll business Effective technology is essentil for smll businesses looking to increse the productivity of their people nd business. Introducing technology
More informationEfficient Regular Expression Grouping Algorithm Based on Label Propagation Xi Chena, Shuqiao Chenb and Ming Maoc
4th Ntionl Conference on Electricl, Electronics nd Computer Engineering (NCEECE 2015) Efficient Regulr Expression Grouping Algorithm Bsed on Lbel Propgtion Xi Chen, Shuqio Chenb nd Ming Moc Ntionl Digitl
More informationUnion-Find Problem. Using Arrays And Chains. A Set As A Tree. Result Of A Find Operation
Union-Find Problem Given set {,,, n} of n elements. Initilly ech element is in different set. ƒ {}, {},, {n} An intermixed sequence of union nd find opertions is performed. A union opertion combines two
More informationStained Glass Design. Teaching Goals:
Stined Glss Design Time required 45-90 minutes Teching Gols: 1. Students pply grphic methods to design vrious shpes on the plne.. Students pply geometric trnsformtions of grphs of functions in order to
More informationSmall Business Networking
Why network is n essentil productivity tool for ny smll business Effective technology is essentil for smll businesses looking to increse the productivity of their people nd business. Introducing technology
More information2 Computing all Intersections of a Set of Segments Line Segment Intersection
15-451/651: Design & Anlysis of Algorithms Novemer 14, 2016 Lecture #21 Sweep-Line nd Segment Intersection lst chnged: Novemer 8, 2017 1 Preliminries The sweep-line prdigm is very powerful lgorithmic design
More informationMATH 25 CLASS 5 NOTES, SEP
MATH 25 CLASS 5 NOTES, SEP 30 2011 Contents 1. A brief diversion: reltively prime numbers 1 2. Lest common multiples 3 3. Finding ll solutions to x + by = c 4 Quick links to definitions/theorems Euclid
More informationCoversheet. Publication metadata
Coversheet This is the ccepted mnuscript (post-print version) of the rticle. Contentwise, the ccepted mnuscript version is identicl to the finl published version, but there my be differences in typogrphy
More informationSmall Business Networking
Why network is n essentil productivity tool for ny smll business Effective technology is essentil for smll businesses looking to increse the productivity of their people nd business. Introducing technology
More informationA Model-Based Transformation Method to Design PLC-Based Control of Discrete Automated Manufacturing Systems
A Model-Bsed Trnsformtion Method to Design PLC-Bsed Control of Discrete Automted Mnufcturing Systems Yssine Qmsne, Mhmoud El Hmloui, Abdelouhed Tjer nd Alexndre Philippot LGECoS, ENSA, Cdi Ayyd University,
More information