B Specification Example
|
|
- Aron Stokes
- 5 years ago
- Views:
Transcription
1 B Specification Example Peter H. Schmitt Universität Karlsruhe P. Schmitt: Formal Specification and Verification of Software p.1
2 Task: Lift Controller 1. In every lift cabin there is a series of push buttons, one for each floor. Once pressed they light up and register a request to move to the indicated floor. Illumination stops when the destination floor is reached. P. Schmitt: Formal Specification and Verification of Software p.2
3 Task: Lift Controller (Contd.) 2. On every floor there are two push-buttons, one for downward and one for upward request. Exceptions are the first and last floor, where only one button for the only possible direction exists. Once pressed the buttons stay lit till a lift cabin stops and moves on into the desired direction. The control algorithm should minimize the waiting time for both, up and down, request. P. Schmitt: Formal Specification and Verification of Software p.3
4 Task: Lift Controller (Contd.) 3. When no further request are to be served the lift remains at its last stop, doors closed. 4. Every request on every floor must eventually be served. All floors are served with equal priority. 5. All floors requested within a lift cabin must eventually be reached. Open request will be served following the order of their appearance. 6. There is an emergency switch in every lift. Activation of this switch will be forwarded to the maintenance service. The lift will be considered out of order. There is a mechanism in every lift to undo the emergency state. P. Schmitt: Formal Specification and Verification of Software p.4
5 The Lift Machine MACHINE Lift SETS LIFT; DIRECTIONS = {up, dn} CONSTANTS ground, top PROPERTIES ground NAT top NAT ground < ltop DEFINITIONS FLOOR = ground... top VARIABLES moving, floor, dir, in, out INVARIANTS moving LIFT floor LIFT FLOOR dir LIFT DIRECTIONS in FLOOR DIRECTIONS out LIFT FLOOR (ground dn) in (top up) in moving (out floor) = INITIALIZATION in, out, moving =,, in ran(moving (floor dir)) =, floor, dir = LIFT {ground}, LIFT {up} P. Schmitt: Formal Specification and Verification of Software p.5
6 Lift Machine: Operations (Part 1) MACHINE Lift (continued) OPERATIONS Request Floor(l, f ) = PRE l LIFT f FLOOR (l moving floor(l) f ) THEN out := out {l f } END; Request Lift(f, d) = PRE f FLOOR d DIRECTIONS (f, d) (ground, dn) (f, d) (top, up) (f, d) ran(moving (floor dir)) THEN in := in {f d} END; P. Schmitt: Formal Specification and Verification of Software p.6
7 Definitions for the Lift Machine MACHINE Lift (continued) DEFINITIONS attracted up(l) = (dom(in) out[{l}]) ((floor(l) + 1)... top) ; attracted dn(l) = (dom(in) out[{l}]) (ground... (floor(l) 1)) ; can continue up(l) = (l floor(l)) out (floor(l) dir(l) in attracted up(l); can continue dn(l) = (l floor(l)) out (floor(l) dir(l) in attracted dn(l); P. Schmitt: Formal Specification and Verification of Software p.7
8 Lift Machine: Operations (Part 2) MACHINE Lift OPERATIONS (continued) Continue up(l) = PRE l moving dir(l) = up can continue up(l) THEN floor(l) := floor(l) + 1 END; Continue up(l) = analog Stop up(l) = PRE l moving dir(l) = up can continue up(l) THEN moving := moving {l} out := out {l floor(l)} in := in {floor(l) dir(l)} END; Stop dn(l) = analog P. Schmitt: Formal Specification and Verification of Software p.8
9 Lift Machine: Operations (Part 3) MACHINE Lift OPERATIONS (continued) Depart up(l) = PRE l LIFT moving dir(l) = up attracted up(l) THEN moving := moving {l} floor(l) := floor(l) + 1 END; Depart dn(l) = analog Change up to dn(l) = PRE l LIFT moving dir(l) = up attracted up(l) attracted dn(l) THEN in := in {floor(l) dn} dir(l) := dn Change dn to up(l) = analog P. Schmitt: Formal Specification and Verification of Software p.9
10 Syntax of formulas in B Syntactic Definition Category Formula F F F F F Variable F (Predicate) [Variable := Expression]F Expression = Expression Expression Set Expressions Variable [Variable := Expression]E Expression, Expression choice(set) Set Variables Variable Variable, Variable Sets Set Set (Set) {Variable F } BIG P. Schmitt: Formal Specification and Verification of Software p.10
11 Definitional Extensions Symbol Definition X Y x (x X x Y ) proper subset X Y X Y X = Y subset X Y X, Y ordered pair X Y {a a X Y Y } union X Y {a a X Y Y } intersection X Y (X Y ) relation dom(r) {a a X b (b Y (a b) r)} domain of a relation r X Y ran(r) {a a X b (b Y (b a) r)} range of a relation r X Y X Y {r r X Y a, b, c partial function (a b r a c r b = c) X Y {r r X Y dom(r) = X (total) function Z r {a, b (a, b) R a Z } Restriction of the domain Z r {a, b (a, b) R a Z } Anti-restriction of the domain r s {a, b, c (a.b) r (a, c) s} direct product of relations P. Schmitt: Formal Specification and Verification of Software p.11
12 The Meaning of Invariants moving (out floor) = x, y ((x, y) floor x moving (x, y) out) P. Schmitt: Formal Specification and Verification of Software p.12
13 The Meaning of Invariants moving (out floor) = x, y ((x, y) floor x moving (x, y) out) If lift a stops at floor f, requests to move to floor a will be ignored. P. Schmitt: Formal Specification and Verification of Software p.12
14 The Meaning of Invariants moving (out floor) = x, y ((x, y) floor x moving (x, y) out) If lift a stops at floor f, requests to move to floor a will be ignored. in ran(moving (floor dir)) = a, f, d (a moving (a, f) floor (a, d) dir (f, d) in) P. Schmitt: Formal Specification and Verification of Software p.12
15 The Meaning of Invariants moving (out floor) = x, y ((x, y) floor x moving (x, y) out) If lift a stops at floor f, requests to move to floor a will be ignored. in ran(moving (floor dir)) = a, f, d (a moving (a, f) floor (a, d) dir (f, d) in) If a lift stops at floor f ready to move in direction d then request from floor f to move in direction d will be ignored. P. Schmitt: Formal Specification and Verification of Software p.12
16 A Definition of Distance Comparision d e dist(f, d, g, e) f > g up up 2 (top ground) f + g + 2 dn 2 top f g + 1 dn up f + g ground dn f g f = g up up 0 dn 2 top f g + 1 dn up f + g ground dn 0 f = g up up g f dn 2 top f g + 1 dn up f + g ground dn 2 (top ground) g + f + 2 P. Schmitt: Formal Specification and Verification of Software p.13
17 Proof Obligation for Change up to dn I l LIFT moving dir(l) = up attracted up(l) attracted dn(l) (g, e) ((g, e) in {floor(l) dn} dist(floor(l), dn, g, e) < dist(floor(l), dir(l), g, e)) P. Schmitt: Formal Specification and Verification of Software p.14
18 Abstraction for Change_up_to_dn Change up to dn(l) = PRE l LIFT moving dir(l) = up attracted up(l) attracted dn(l) THEN Decrease Distances(l) END P. Schmitt: Formal Specification and Verification of Software p.15
19 Definition of Decrease_Distances(l) Decrease Distances(l) = PRE l LIFT THEN moving, floor, dir, lin, out : I in in 0 out out 0 (g, e) ((g, e) in dist(floor(l), dir(l), g, e) < dist(floor 0 (l), dir 0 (l), g, e) END P. Schmitt: Formal Specification and Verification of Software p.16
20 Example: Machine 1 MACHINE Little Example 1 VARIABLES y INVARIANT y (NAT 1 ) INITIALIZATION y := OPERATIONS enter(n) = PRE n NAT 1 THEN y := y {n} END; m maximum = PRE y THEN m := max(y) END; END P. Schmitt: Formal Specification and Verification of Software p.17
21 Example: Machine 2 MACHINE Little Example 2 VARIABLES z INVARIANT z NAT INITIALIZATION z := 0 OPERATIONS enter(n) = PRE n NAT 1 THEN z := max{z, n} END; m maximum = PRE z 0 THEN m := z END; END P. Schmitt: Formal Specification and Verification of Software p.18
Part II. Hoare Logic and Program Verification. Why specify programs? Specification and Verification. Code Verification. Why verify programs?
Part II. Hoare Logic and Program Verification Part II. Hoare Logic and Program Verification Dilian Gurov Props: Models: Specs: Method: Tool: safety of data manipulation source code logic assertions Hoare
More informationCSC 501 Semantics of Programming Languages
CSC 501 Semantics of Programming Languages Subtitle: An Introduction to Formal Methods. Instructor: Dr. Lutz Hamel Email: hamel@cs.uri.edu Office: Tyler, Rm 251 Books There are no required books in this
More informationFormal specification in Event-B
2IW80 Software specification and architecture Formal specification in Event-B Alexander Serebrenik, Ulyana Tikhonova Outline Introduction into formal specification Mathematical notation of Event-B Event-B
More information1. Draw the state graphs for the finite automata which accept sets of strings composed of zeros and ones which:
P R O B L E M S Finite Autom ata. Draw the state graphs for the finite automata which accept sets of strings composed of zeros and ones which: a) Are a multiple of three in length. b) End with the string
More informationTowards a basis for human-computer dialogue. Bengt Nordström Chalmers, Göteborg
Towards a basis for human-computer dialogue Bengt Nordström Chalmers, Göteborg Goal We want to model dialogue systems in which a human interacts with a computer to build an object. From Wikipedia: A dialog
More informationCSC Discrete Math I, Spring Sets
CSC 125 - Discrete Math I, Spring 2017 Sets Sets A set is well-defined, unordered collection of objects The objects in a set are called the elements, or members, of the set A set is said to contain its
More informationUnit 3: Multiplication and Division Reference Guide pages x 7 = 392 factors: 56, 7 product 392
Lesson 1: Multiplying Integers and Decimals, part 1 factor: any two or more numbers multiplied to form a product 56 x 7 = 392 factors: 56, 7 product 392 Integers: all positive and negative whole numbers
More informationFormal Methods in Software Engineering. Lecture 07
Formal Methods in Software Engineering Lecture 07 What is Temporal Logic? Objective: We describe temporal aspects of formal methods to model and specify concurrent systems and verify their correctness
More informationNegations in Refinement Type Systems
Negations in Refinement Type Systems T. Tsukada (U. Tokyo) 14th March 2016 Shonan, JAPAN This Talk About refinement intersection type systems that refute judgements of other type systems. Background Refinement
More informationDenotational Semantics. Domain Theory
Denotational Semantics and Domain Theory 1 / 51 Outline Denotational Semantics Basic Domain Theory Introduction and history Primitive and lifted domains Sum and product domains Function domains Meaning
More informationAn Annotated Language
Hoare Logic An Annotated Language State and Semantics Expressions are interpreted as functions from states to the corresponding domain of interpretation Operators have the obvious interpretation Free of
More informationDischarching Event-B Proof Obligations
Discharching Event-B Proof Obligations Studienarbeit am Institut für Theoretische Informatik Prof. Dr. rer. nat. Peter H. Schmitt Fakultät für Informatik Universität Karlsruhe (TH) von cand. inform. Christopher
More informationProving Properties on Programs From the Coq Tutorial at ITP 2015
Proving Properties on Programs From the Coq Tutorial at ITP 2015 Reynald Affeldt August 29, 2015 Hoare logic is a proof system to verify imperative programs. It consists of a language of Hoare triples
More informationRefinement Types as Proof Irrelevance. William Lovas with Frank Pfenning
Refinement Types as Proof Irrelevance William Lovas with Frank Pfenning Overview Refinement types sharpen existing type systems without complicating their metatheory Subset interpretation soundly and completely
More informationSMV Project. Arun Autuchirayll, Manjulata Chivukula, Bhargava Konidena. April 28, 2009
SMV Project Arun Autuchirayll, Manjulata Chivukula, Bhargava Konidena April 28, 2009 Indiana University - Department of Computer Science P515 Specification and Verification For: Dr. Steven Johnson Table
More informationVerifying Java Programs Verifying Java Programs with KeY
Verifying Java Programs Verifying Java Programs with KeY Wolfgang Schreiner Wolfgang.Schreiner@risc.jku.at Research Institute for Symbolic Computation (RISC) Johannes Kepler University, Linz, Austria http://www.risc.jku.at
More informationLimits at Infinity
Limits at Infinity 9-6-08 In this section, I ll discuss the it of a function f() as goes to and. We ll see that this is related to horizontal asyptotes of a graph. It s natural to discuss vertical asymptotes
More information12/30/2013 S. NALINI,AP/CSE
12/30/2013 S. NALINI,AP/CSE 1 UNIT I ITERATIVE AND RECURSIVE ALGORITHMS Iterative Algorithms: Measures of Progress and Loop Invariants-Paradigm Shift: Sequence of Actions versus Sequence of Assertions-
More informationAn Elevator Controller
An Elevator Controller Alessandro Artale Faculty of Computer Science Free Univeristy of Bolzano artale@inf.unibz.it 1 Introduction The NuSMV program (at the end of this document) describes the skeleton
More informationProving the Correctness of Distributed Algorithms using TLA
Proving the Correctness of Distributed Algorithms using TLA Khushboo Kanjani, khush@cs.tamu.edu, Texas A & M University 11 May 2007 Abstract This work is a summary of the Temporal Logic of Actions(TLA)
More informationSOFTWARE ENGINEERING DESIGN I
2 SOFTWARE ENGINEERING DESIGN I 3. Schemas and Theories The aim of this course is to learn how to write formal specifications of computer systems, using classical logic. The key descriptional technique
More informationCounting multiplicity over infinite alphabets
Counting multiplicity over infinite alphabets Amal Dev Manuel and R. Ramanujam The Institute of Mathematical Sciences, Chennai, India {amal,jam}@imsc.res.in Summary Motivation for infinite data. We need
More informationGoals: Define the syntax of a simple imperative language Define a semantics using natural deduction 1
Natural Semantics Goals: Define the syntax of a simple imperative language Define a semantics using natural deduction 1 1 Natural deduction is an instance of first-order logic; that is, it is the formal
More informationOn the reflection and the coreflection of categories over a base in discrete fibrations
On the reflection and the coreflection of categories over a base in discrete fibrations Claudio Pisani Various aspects of two dual formulas We begin by illustrating the formulas in the two-valued context.
More informationVerifying Java Programs Verifying Java Programs with KeY
Verifying Java Programs Verifying Java Programs with KeY Wolfgang Schreiner Wolfgang.Schreiner@risc.jku.at Research Institute for Symbolic Computation (RISC) Johannes Kepler University, Linz, Austria http://www.risc.jku.at
More informationSection 13. Basis for a Topology
13. Basis for a Topology 1 Section 13. Basis for a Topology Note. In this section, we consider a basis for a topology on a set which is, in a sense, analogous to the basis for a vector space. Whereas a
More informationVerifiable Hierarchical Protocols with Network Invariants on Parametric Systems
Verifiable Hierarchical Protocols with Network Invariants on Parametric Systems Opeoluwa Matthews, Jesse Bingham, Daniel Sorin http://people.duke.edu/~om26/ FMCAD 2016 - Mountain View, CA Problem Statement
More informationRuntime Checking for Program Verification Systems
Runtime Checking for Program Verification Systems Karen Zee, Viktor Kuncak, and Martin Rinard MIT CSAIL Tuesday, March 13, 2007 Workshop on Runtime Verification 1 Background Jahob program verification
More informationCSCI.6962/4962 Software Verification Fundamental Proof Methods in Computer Science (Arkoudas and Musser) Chapter p. 1/27
CSCI.6962/4962 Software Verification Fundamental Proof Methods in Computer Science (Arkoudas and Musser) Chapter 2.1-2.7 p. 1/27 CSCI.6962/4962 Software Verification Fundamental Proof Methods in Computer
More informationCompiler Design. Fall Data-Flow Analysis. Sample Exercises and Solutions. Prof. Pedro C. Diniz
Compiler Design Fall 2015 Data-Flow Analysis Sample Exercises and Solutions Prof. Pedro C. Diniz USC / Information Sciences Institute 4676 Admiralty Way, Suite 1001 Marina del Rey, California 90292 pedro@isi.edu
More informationMatching and Planarity
Matching and Planarity Po-Shen Loh June 010 1 Warm-up 1. (Bondy 1.5.9.) There are n points in the plane such that every pair of points has distance 1. Show that there are at most n (unordered) pairs of
More informationFormal Certification of Arithmetic Filters for Geometric Predicates
Introduction Formalization Implementation Conclusion Formal Certification of Arithmetic Filters for Geometric Predicates Guillaume Melquiond Sylvain Pion Arénaire, LIP ENS Lyon Geometrica, INRIA Sophia-Antipolis
More informationTheorem proving. PVS theorem prover. Hoare style verification PVS. More on embeddings. What if. Abhik Roychoudhury CS 6214
Theorem proving PVS theorem prover Abhik Roychoudhury National University of Singapore Both specification and implementation can be formalized in a suitable logic. Proof rules for proving statements in
More informationSoftware Engineering: A Practitioner s s Approach, 6/e Roger Pressman. Chapter 28 Formal Methods
Software Engineering: A Practitioner s s Approach, 6/e Roger Pressman Chapter 28 Formal Methods 1 Problems with Conventional Specification contradictions ambiguities vagueness incompleteness mixed levels
More informationA First-Order Logic with First-Class Types
A First-Order Logic with First-Class Types joint work with Peter H. Schmitt and Mattias Ulbrich Institute for Theoretical Computer Science The 8th KeY Symposium, Speyer, 2009 Java Card DL modal logic based
More informationFormale Entwicklung objektorientierter Software
Formale Entwicklung objektorientierter Software Praktikum im Wintersemester 2008/2009 Prof. P. H. Schmitt Christian Engel, Benjamin Weiß Institut für Theoretische Informatik Universität Karlsruhe 5. November
More informationSugar 2.0 An Introduction
Sugar 2.0 An Introduction Cindy Eisner 1 Dana Fisman 1,2 1 IBM Haifa Research Laboratory 2 Weizmann Institute of Science, Rehovot, Israel {eisner,danaf}@il.ibm.com 1 Introduction Sugar is a language for
More informationSemantical Characterization of unbounded-nondeterministic ASMs
Semantical Characterization of unbounded-nondeterministic ASMs Berlin, 26/27 Feb 2007 Andreas Glausch Humboldt-Universität zu Berlin Department of Computer Science Abstract State Machines (ASMs) state
More informationFormal Verification. Lecture 10
Formal Verification Lecture 10 Formal Verification Formal verification relies on Descriptions of the properties or requirements of interest Descriptions of systems to be analyzed, and rely on underlying
More informationDiscrete Mathematics Lecture 4. Harper Langston New York University
Discrete Mathematics Lecture 4 Harper Langston New York University Sequences Sequence is a set of (usually infinite number of) ordered elements: a 1, a 2,, a n, Each individual element a k is called a
More informationContents. Chapter 1 SPECIFYING SYNTAX 1
Contents Chapter 1 SPECIFYING SYNTAX 1 1.1 GRAMMARS AND BNF 2 Context-Free Grammars 4 Context-Sensitive Grammars 8 Exercises 8 1.2 THE PROGRAMMING LANGUAGE WREN 10 Ambiguity 12 Context Constraints in Wren
More informationOverview of Digital Design with Verilog HDL 1
Overview of Digital Design with Verilog HDL 1 1.1 Evolution of Computer-Aided Digital Design Digital circuit design has evolved rapidly over the last 25 years. The earliest digital circuits were designed
More information5 Exercise Formal Specification winter term 2010/11
5 Exercise Formal Specification winter term 2010/11 Dipl.-Wirt.-Inf. Ulrich Wolffgang Department of Information Systems, University of Münster January 12, 2011 Agenda Exercise 12 Exercise 13 Next exercise
More informationDiscuss Proven technologies that addresses
Robotics and Machine Vision for assembly -Auto Teach, Vision guidance, Color & 3D Mar 5-12 2007 Agenda Discuss Proven technologies that addresses o Quick Tool Bring up o Using Non-touch Vision based Auto
More informationVerifying Java Programs with KeY
Verifying Java Programs with KeY Wolfgang Schreiner Wolfgang.Schreiner@risc.jku.at Research Institute for Symbolic Computation (RISC) Johannes Kepler University, Linz, Austria http://www.risc.jku.at Wolfgang
More informationOWL a glimpse. OWL a glimpse (2) requirements for ontology languages. requirements for ontology languages
OWL a glimpse OWL Web Ontology Language describes classes, properties and relations among conceptual objects lecture 7: owl - introduction of#27# ece#720,#winter# 12# 2# of#27# OWL a glimpse (2) requirements
More informationNetwork Verification Using Atomic Predicates (S. S. Lam) 3/28/2017 1
Network Verification Using Atomic Predicates 1 Difficulty in Managing Large Networks Complexity of network protocols o unexpected protocol interactions o links may be physical or virtual (e.g., point to
More informationObject Ownership in Program Verification
Object Ownership in Program Verification Werner Dietl 1 and Peter Müller 2 1 University of Washington wmdietl@cs.washington.edu 2 ETH Zurich peter.mueller@inf.ethz.ch Abstract. Dealing with aliasing is
More informationPart III Chapter 15: Subtyping
Part III Chapter 15: Subtyping Subsumption Subtype relation Properties of subtyping and typing Subtyping and other features Intersection and union types Subtyping Motivation With the usual typing rule
More informationSets and set operations
CS 44 Discrete Mathematics for CS Lecture Sets and set operations Milos Hauskrecht milos@cs.pitt.edu 5329 Sennott Square Course administration Homework 3: Due today Homework 4: Due next week on Friday,
More informationSummary of Course Coverage
CS-227, Discrete Structures I Spring 2006 Semester Summary of Course Coverage 1) Propositional Calculus a) Negation (logical NOT) b) Conjunction (logical AND) c) Disjunction (logical inclusive-or) d) Inequalities
More information2.1 Sets 2.2 Set Operations
CSC2510 Theoretical Foundations of Computer Science 2.1 Sets 2.2 Set Operations Introduction to Set Theory A set is a structure, representing an unordered collection (group, plurality) of zero or more
More informationSemantic Subtyping with an SMT Solver
Semantic Subtyping with an SMT Solver Cătălin Hrițcu, Saarland University, Saarbrücken, Germany Joint work with Andy Gordon, Gavin Bierman, and Dave Langworthy (all from Microsoft) Refinement Types + Type-test
More informationFormal languages and computation models
Formal languages and computation models Guy Perrier Bibliography John E. Hopcroft, Rajeev Motwani, Jeffrey D. Ullman - Introduction to Automata Theory, Languages, and Computation - Addison Wesley, 2006.
More information3.4 Deduction and Evaluation: Tools Conditional-Equational Logic
3.4 Deduction and Evaluation: Tools 3.4.1 Conditional-Equational Logic The general definition of a formal specification from above was based on the existence of a precisely defined semantics for the syntax
More informationTopic Formal Methods. ICS 121 Lecture Notes. What are Formal Methods? What are Formal Methods? Formal Specification in Software Development
Lecture Notes What are? 1 Formal Method (FM) = specification language + formal reasoning Body of techniques supported by precise mathematics powerful analysis tools Rigorous effective mechanisms for system
More informationSardar Vallabhbhai Patel Institute of Technology (SVIT), Vasad M.C.A. Department COSMOS LECTURE SERIES ( ) (ODD) Code Optimization
Sardar Vallabhbhai Patel Institute of Technology (SVIT), Vasad M.C.A. Department COSMOS LECTURE SERIES (2018-19) (ODD) Code Optimization Prof. Jonita Roman Date: 30/06/2018 Time: 9:45 to 10:45 Venue: MCA
More informationYork University CSE 2001 Unit 4.0 Context Free Grammars and Parsers and Context Sensitive Grammars Instructor: Jeff Edmonds
York University CSE 2001 Unit 4.0 Context Free Grammars and Parsers and Context Sensitive Grammars Instructor: Jeff Edmonds Don t cheat by looking at these answers prematurely. 1. Consider the following
More informationRelations. Power set Cartesian product Relation Function
Relations Relations By the end of this part of the course the student should understand and be able to use the concepts of relations and functions in a Z specification. The concepts introduced are: Power
More informationUniverses. Universes for Data. Peter Morris. University of Nottingham. November 12, 2009
for Data Peter Morris University of Nottingham November 12, 2009 Introduction Outline 1 Introduction What is DTP? Data Types in DTP Schemas for Inductive Families 2 of Data Inductive Types Inductive Families
More informationA Short Introduction to First-Order Theorem Proving with KeY
1 What is KeY? 1.1 Software Verification Karlsruher Institut für Technologie Institut für Theoretische Informatik Prof. Dr. Peter H. Schmitt Mattias Ulbrich A Short Introduction to First-Order Theorem
More informationCS6100: Topics in Design and Analysis of Algorithms
CS6100: Topics in Design and Analysis of Algorithms Guarding and Triangulating Polygons John Augustine CS6100 (Even 2012): Guarding and Triangulating Polygons The Art Gallery Problem A simple polygon is
More informationSoftwaretechnik. Lecture 03: Types and Type Soundness. Peter Thiemann. University of Freiburg, Germany SS 2008
Softwaretechnik Lecture 03: Types and Type Soundness Peter Thiemann University of Freiburg, Germany SS 2008 Peter Thiemann (Univ. Freiburg) Softwaretechnik SWT 1 / 35 Table of Contents Types and Type correctness
More informationSoftware development using B method. Julien Cervelle LACL - UPEC
Software development using B method Julien Cervelle LACL - UPEC Outline Introduction B abstract machine First order logic of set theory Substitutions Proof obligations Refinement Introduction B method
More informationChapter 1 INTRODUCTION TO COMPUTER AND PROGRAMMING
Chapter 1 INTRODUCTION TO COMPUTER AND PROGRAMMING Computer programming BTI 10202 Compiled by SIA CHEE KIONG DEPARTMENT OF MATERIAL AND DESIGN ENGINEERING FACULTY OF MECHANICAL AND MANUFACTURING ENGINEERING
More informationOverview of the KeY System
22c181: Formal Methods in Software Engineering The University of Iowa Spring 2008 Overview of the KeY System Copyright 2007-8 Reiner Hähnle and Cesare Tinelli. Notes originally developed by Reiner Hähnle
More informationWork Toward Verification of a Geometric Construction The Regular Pentagon
Work Toward Verification of a Geometric Construction The Regular Pentagon Ed Ladenburger August 9, 007 Given: Steps for the geometric construction of a regular pentagon:. Construct a circle this circle,
More informationBlock-wise abstract interpretation by combining abstract domains with SMT
Block-wise abstract interpretation by combining abstract domains with SMT Jiahong Jiang, Liqian Chen, Xueguang Wu, Ji Wang National University of Defense Technology, China 01/16/2017 VMCAI 2017 Overview
More informationRecognizing regular tree languages with static information
Recognizing regular tree languages with static information Alain Frisch (ENS Paris) PLAN-X 2004 p.1/22 Motivation Efficient compilation of patterns in XDuce/CDuce/... E.g.: type A = [ A* ] type B =
More informationB.6 Types and Overloading
266 appendix b: alloy language reference B.6 Types and Overloading Alloy s type system was designed with a different aim from that of a programming language. There is no notion in a modeling language of
More informationFlexiMotion. Owner s Manual
FlexiMotion Owner s Manual Table of Contents Base Setup.................................................................... 2 Electric Components Setup....................................................
More informationModel Checking with Automata An Overview
Model Checking with Automata An Overview Vanessa D Carson Control and Dynamical Systems, Caltech Doyle Group Presentation, 05/02/2008 VC 1 Contents Motivation Overview Software Verification Techniques
More informationThe STRIPS Subset of PDDL for the Learning Track of IPC-08
The STRIPS Subset of PDDL for the Learning Track of IPC-08 Alan Fern School of Electrical Engineering and Computer Science Oregon State University April 9, 2008 This document defines two subsets of PDDL
More informationProgram verification. Generalities about software Verification Model Checking. September 20, 2016
Program verification Generalities about software Verification Model Checking Laure Gonnord David Monniaux September 20, 2016 1 / 43 The teaching staff Laure Gonnord, associate professor, LIP laboratory,
More informationQ Body of techniques supported by. R precise mathematics. R powerful analysis tools. Q Rigorous, effective mechanisms for system.
Introduction to Formal Methods 1 Introduction to Formal Methods 2 Formal Specification Requirements specification R notational statement of system services Software specification R formal abstract depiction
More informationAlloy: A Lightweight Object Modelling Notation
Alloy: A Lightweight Object Modelling Notation Daniel Jackson, ACM Transactions on Software Engineering, 2002 Presented By: Steven Stewart, 2012-January-23 1 Alloy: 2002 to present Software is built on
More informationA Michael Jackson presentation. CSE503: Software Engineering. The following slides are from his keynote at ICSE 1995
A Michael Jackson presentation CSE503: Software Engineering The following slides are from his keynote at ICSE 1995 David Notkin University of Washington Computer Science & Engineering Spring 2006 1 2 3
More informationTowards A Formal Theory of On Chip Communications in the ACL2 Logic
(c) Julien Schmaltz, ACL2 2006, San José August 15-16 p. 1/37 Towards A Formal Theory of On Chip Communications in the ACL2 Logic Julien Schmaltz Saarland University - Computer Science Department Saarbrücken,
More informationCHAPTER 3 FUZZY RELATION and COMPOSITION
CHAPTER 3 FUZZY RELATION and COMPOSITION Crisp relation! Definition (Product set) Let A and B be two non-empty sets, the prod uct set or Cartesian product A B is defined as follows, A B = {(a, b) a A,
More informationLecture 11: Alpha (contd)
High-Performance Embedded Systems-on-a-Chip Lecture 11: Alpha (contd) Sanjay Rajopadhye Computer Science, Colorado State University High-Performance Embedded Systems-on-a-Chip p1/14 Outline Other Transformations:
More informationSEQUENCES, MATHEMATICAL INDUCTION, AND RECURSION
CHAPTER 5 SEQUENCES, MATHEMATICAL INDUCTION, AND RECURSION Alessandro Artale UniBZ - http://www.inf.unibz.it/ artale/ SECTION 5.5 Application: Correctness of Algorithms Copyright Cengage Learning. All
More informationCloud Service SLA Declaration
Cloud Service SLA Declaration Basic level of support for Cloud services (SLA 1) Table of Content: 1. Definitions 2. General terms 3. Level of service warranty service functioning 4. Provider`s liability
More informationSection 6.3: Further Rules for Counting Sets
Section 6.3: Further Rules for Counting Sets Often when we are considering the probability of an event, that event is itself a union of other events. For example, suppose there is a horse race with three
More informationCS 1200 Discrete Math Math Preliminaries. A.R. Hurson 323 CS Building, Missouri S&T
CS 1200 Discrete Math A.R. Hurson 323 CS Building, Missouri S&T hurson@mst.edu 1 Course Objective: Mathematical way of thinking in order to solve problems 2 Variable: holder. A variable is simply a place
More informationFinding Deadlocks of Event-B Models by Constraint Solving
B 2011 June 21st, 2011, Limerick, Ireland Finding Deadlocks of Event-B Models by Constraint Solving Stefan Hallerstede, Michael Leuschel Institut für Informatik, Universität Düsseldorf Universitätsstr.
More informationCSE 105 THEORY OF COMPUTATION
CSE 105 THEORY OF COMPUTATION Spring 2017 http://cseweb.ucsd.edu/classes/sp17/cse105-ab/ Today's learning goals Sipser Ch 1.2, 1.3 Design NFA recognizing a given language Convert an NFA (with or without
More informationThe Isar Proof Language in 2016
The Isar Proof Language in 2016 Makarius Wenzel sketis.net August 2016 = Isabelle λ β Isar α Introduction History of Isar 1999: first usable version primary notion of proof document (not proof script )
More informationPhil 320 Chapter 1: Sets, Functions and Enumerability I. Sets Informally: a set is a collection of objects. The objects are called members or
Phil 320 Chapter 1: Sets, Functions and Enumerability I. Sets Informally: a set is a collection of objects. The objects are called members or elements of the set. a) Use capital letters to stand for sets
More informationSlides for Faculty Oxford University Press All rights reserved.
Oxford University Press 2013 Slides for Faculty Assistance Preliminaries Author: Vivek Kulkarni vivek_kulkarni@yahoo.com Outline Following topics are covered in the slides: Basic concepts, namely, symbols,
More informationFrom OCL to Propositional and First-order Logic: Part I
22c181: Formal Methods in Software Engineering The University of Iowa Spring 2008 From OCL to Propositional and First-order Logic: Part I Copyright 2007-8 Reiner Hähnle and Cesare Tinelli. Notes originally
More informationLectures 20, 21: Axiomatic Semantics
Lectures 20, 21: Axiomatic Semantics Polyvios Pratikakis Computer Science Department, University of Crete Type Systems and Static Analysis Based on slides by George Necula Pratikakis (CSD) Axiomatic Semantics
More informationCS Bootcamp Boolean Logic Autumn 2015 A B A B T T T T F F F T F F F F T T T T F T F T T F F F
1 Logical Operations 1.1 And The and operator is a binary operator, denoted as, &,, or sometimes by just concatenating symbols, is true only if both parameters are true. A B A B F T F F F F The expression
More informationInvariant Measures. The Smooth Approach
Invariant Measures Mathieu Desbrun & Peter Schröder 1 The Smooth Approach On this show lots of derivatives tedious expressions in coordinates For what? only to discover that there are invariant measures
More informationFrom OCL to Typed First-order Logic
22c181: Formal Methods in Software Engineering The University of Iowa Spring 2008 From OCL to Typed First-order Logic Copyright 2007-8 Reiner Hähnle and Cesare Tinelli. Notes originally developed by Reiner
More informationSet and Set Operations
Set and Set Operations Introduction A set is a collection of objects. The objects in a set are called elements of the set. A well defined set is a set in which we know for sure if an element belongs to
More informationIntroduction to Automata Theory. BİL405 - Automata Theory and Formal Languages 1
Introduction to Automata Theory BİL405 - Automata Theory and Formal Languages 1 Automata, Computability and Complexity Automata, Computability and Complexity are linked by the question: What are the fundamental
More informationFMSE: Lecture 1. The Specification Language Z: Introduction
FMSE: Lecture 1 The Specification Language Z: Introduction 1 FMSE: Lecture 1 2 Goals of Lecture 1 At the end of this lecture you should be able to: write down schemas for simple specification problems
More informationProgramming Languages Third Edition
Programming Languages Third Edition Chapter 12 Formal Semantics Objectives Become familiar with a sample small language for the purpose of semantic specification Understand operational semantics Understand
More informationFrom Types to Sets in Isabelle/HOL
From Types to Sets in Isabelle/HOL Extented Abstract Ondřej Kunčar 1 and Andrei Popescu 1,2 1 Fakultät für Informatik, Technische Universität München, Germany 2 Institute of Mathematics Simion Stoilow
More informationSemantic Interconnection Models & Inscape. Unit Interconnection Model. Example Uses of Unit IM
Architecture and Design Intent Semantic Interconnection Models & Inscape Dewayne E Perry ENS 623A Office Hours: T/Th 11:00-12:00 perry @ ece.utexas.edu www.ece.utexas.edu/~perry/education/382v-s06/ Lecture
More information