Benjamin Gamble. What is Time?  Can mean many different things to a computer Dynamic Equation Variable System State 2.

Slides:



Advertisements
Similar presentations
1 Verification by Model Checking. 2 Part 1 : Motivation.
Advertisements

The Quest for Correctness Joseph Sifakis VERIMAG Laboratory 2nd Sogeti Testing Academy April 29th 2009.
Auto-Generation of Test Cases for Infinite States Reactive Systems Based on Symbolic Execution and Formula Rewriting Donghuo Chen School of Computer Science.
Introducing Formal Methods, Module 1, Version 1.1, Oct., Formal Specification and Analytical Verification L 5.
Vered Gafni – Formal Development of Real Time Systems 1 Statecharts Semantics.
Abstraction and Modular Reasoning for the Verification of Software Corina Pasareanu NASA Ames Research Center.
Temporal Logic and the NuSMV Model Checker CS 680 Formal Methods Jeremy Johnson.
CS6133 Software Specification and Verification
Hybrid System Verification Synchronous Workshop 2003 A New Verification Algorithm for Planar Differential Inclusions Gordon Pace University of Malta December.
Timed Automata.
Concurrency: introduction1 ©Magee/Kramer 2 nd Edition Concurrency State Models and Java Programs Jeff Magee and Jeff Kramer.
ECE 720T5 Fall 2012 Cyber-Physical Systems Rodolfo Pellizzoni.
Combining Symbolic Simulation and Interval Arithmetic for the Verification of AMS Designs Mohamed Zaki, Ghiath Al Sammane, Sofiene Tahar, Guy Bois FMCAD'07.
Run Time Monitoring of Reactive System Models Mikhail Auguston Naval Postgraduate School Mark Trakhtenbrot Holon Academic Institute of.
Software Reliability CIS 640 Adapted from the lecture notes by Doron Pelel (
1 Formal Methods in SE Qaisar Javaid Assistant Professor Lecture 05.
Automated creation of verification models for C-programs Yury Yusupov Saint-Petersburg State Polytechnic University The Second Spring Young Researchers.
PTIDES: Programming Temporally Integrated Distributed Embedded Systems Yang Zhao, EECS, UC Berkeley Edward A. Lee, EECS, UC Berkeley Jie Liu, Microsoft.
More on Dynamic Models - Page L14-1 Full 2002M.E. Fayad Lesson 14: More about Dynamic Models Object- Oriented Modeling & Applications.
An Introduction to Input/Output Automata Qihua Wang.
Model Checking. Used in studying behaviors of reactive systems Typically involves three steps: Create a finite state model (FSM) of the system design.
Lecture 4&5: Model Checking: A quick introduction Professor Aditya Ghose Director, Decision Systems Lab School of IT and Computer Science University of.
Temporal Logic of Actions (TLA) Leslie Lamport
Models of Computation for Embedded System Design Alvise Bonivento.
1 Ivan Lanese Computer Science Department University of Bologna Italy Concurrent and located synchronizations in π-calculus.
ESE601: Hybrid Systems Introduction to verification Spring 2006.
School of Computer ScienceG53FSP Formal Specification1 Dr. Rong Qu Introduction to Formal Specification
1 Formal Engineering of Reliable Software LASER 2004 school Tutorial, Lecture1 Natasha Sharygina Carnegie Mellon University.
272: Software Engineering Fall 2012 Instructor: Tevfik Bultan Lecture 4: SMT-based Bounded Model Checking of Concurrent Software.
02/06/05 “Investigating a Finite–State Machine Notation for Discrete–Event Systems” Nikolay Stoimenov.
Cheng/Dillon-Software Engineering: Formal Methods Model Checking.
ECE 720T5 Winter 2014 Cyber-Physical Systems Rodolfo Pellizzoni.
An Introduction to Programming and Object-Oriented Design Using Java By Jaime Niño and Fred Hosch Slides by Darwin Baines and Robert Burton.
Transformation of Timed Automata into Mixed Integer Linear Programs Sebastian Panek.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
What is a model Some notations –Independent variables: Time variable: t, n Space variable: x in one dimension (1D), (x,y) in 2D or (x,y,z) in 3D –State.
Object-Oriented Modeling Using UML CS 3331 Section 2.3 of Jia 2003.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
Formal Verification Lecture 9. Formal Verification Formal verification relies on Descriptions of the properties or requirements Descriptions of systems.
CS5270 Lecture 41 Timed Automata I CS 5270 Lecture 4.
1 Qualitative Reasoning of Distributed Object Design Nima Kaveh & Wolfgang Emmerich Software Systems Engineering Dept. Computer Science University College.
Programming Languages and Design Lecture 3 Semantic Specifications of Programming Languages Instructor: Li Ma Department of Computer Science Texas Southern.
Syntax and Semantics CIS 331 Syntax: the form or structure of the expressions, statements, and program units. Semantics: the meaning of the expressions,
1 CSEP590 – Model Checking and Automated Verification Lecture outline for August 6, 2003.
- 1 -  P. Marwedel, Univ. Dortmund, Informatik 12, 05/06 Universität Dortmund Validation - Formal verification -
Lecture 5 1 CSP tools for verification of Sec Prot Overview of the lecture The Casper interface Refinement checking and FDR Model checking Theorem proving.
Verification & Validation By: Amir Masoud Gharehbaghi
Introduction to discrete event systems
1 CSEP590 – Model Checking and Automated Verification Lecture outline for July 9, 2003.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
Model Checking Lecture 1. Model checking, narrowly interpreted: Decision procedures for checking if a given Kripke structure is a model for a given formula.
Software Systems Verification and Validation Laboratory Assignment 4 Model checking Assignment date: Lab 4 Delivery date: Lab 4, 5.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
From Natural Language to LTL: Difficulties Capturing Natural Language Specification in Formal Languages for Automatic Analysis Elsa L Gunter NJIT.
Presented by: Belgi Amir Seminar in Distributed Algorithms Designing correct concurrent algorithms Spring 2013.
Operational Semantics Mooly Sagiv Tel Aviv University Sunday Scrieber 8 Monday Schrieber.
Model Checking Lecture 1: Specification Tom Henzinger.
6/12/20161 a.a.2015/2016 Prof. Anna Labella Formal Methods in software development.
CS5270 Lecture 41 Timed Automata I CS 5270 Lecture 4.
State Modeling. Introduction A state model describes the sequences of operations that occur in response to external stimuli. As opposed to what the operations.
Graph Coverage for Specifications CS 4501 / 6501 Software Testing
Program Synthesis is a Game
Autonomous Cyber-Physical Systems: Synchronous Components: II
Autonomous Cyber-Physical Systems: Dynamical Systems
CSEP590 – Model Checking and Automated Verification
Formal Methods in software development
Formal Methods in software development
Introduction to verification
Presentation transcript:

Benjamin Gamble

What is Time?  Can mean many different things to a computer Dynamic Equation Variable System State 2

Outline  History  Languages & Interpretations  Dimensions of the Time Modeling Problem Discrete vs. Dense Finite or Bounded Time Models Linear vs. Branching Determinism vs. Nondeterminism Time Advancement Problem Concurrency & Composition  Analysis & Verification Issues 3

History of Time in Computing  First implemented in computer hardware  Then adapted for software and computational complexity  Parallel processing mandated a further investigation in timing issues  Modern day real time systems 4

Outline  History  Languages & Interpretations  Dimensions of the Time Modeling Problem Discrete vs. Dense Finite or Bounded Time Models Linear vs. Branching Determinism vs. Nondeterminism Time Advancement Problem Concurrency & Composition  Analysis & Verification Issues 5

Choosing the Right Language 6

Two Main Classes of Languages  Operational Well suited to describe the evolution of a system starting at some initial state Based on the key concept of state and transition Modeled as evolving from a state to the next one when a certain event occurs 7

Operational Example  A safe When the correct security code is entered, the safe opens If the safe remains open for 3 minutes, it automatically closes 8

Two Main Classes of Languages  Descriptive Better suited for describing the properties that the system must satisfy Logic based formalisms Algebra based formalisms 9

Descriptive Example  A safe The safe is open if and only if the correct security code has been entered no more than 3 minutes ago 10

Outline  History  Languages & Interpretations  Dimensions of the Time Modeling Problem Discrete vs. Dense Finite or Bounded Time Models Linear vs. Branching Determinism vs. Nondeterminism Time Advancement Problem Concurrency & Composition  Analysis & Verification Issues 11

Discrete vs. Dense Time Domains  Discrete time means that there is a set of isolated points  Dense time means that for every 2 points there is always a third point in between 12

Continuous vs. Non-Continuous Time Models 13

Continuous vs. Non-Continuous Time Models 14

Finite or Bounded Time Models  Many system models assume that the behaviors may proceed indefinitely into the future and maybe even the past  This models time as an unbounded set  Some system behaviors happen within a time window  This will require a bounded time model 15

Bounded Time Model Example  Braking a car We know that it requires, at most, a few seconds Testing an anti-lock braking system may include a time window of 0-60 seconds as a temporal domain 16

Hybrid Systems  What is a hybrid system? Uses both discrete and dense time modeling  When this may be used: Square wave form Continuous sampled at certain points Discrete steps with continuous variables 17

Linear vs. Branching Time Models  Linear – interpreted over linear sequences of states 18

Linear vs. Branching Time Models  Branching – interpreted over trees of states 19

Determinism vs. Nondeterminism  Deterministic Whenever the future state of the system is uniquely determined by its current state and input values Ex. A light switch ○ Pressing the switch (input) while the light is in state ‘off’ yields the unique possible state of light ‘on’ 20

Determinism vs. Nondeterminism  Nondeterministic Systems that can evolve to different future states from the same present state and the same input by making arbitrary ‘choices’ Ex. A resource arbiter ○ Responds to 2 requests happening at the same time by ‘choosing’ arbitrarily to whom to grant the resource first 21

Implicit vs. Explicit Time Reference  Explicit Time Reference Using math such as calculus to specify system behavior and its properties  Implicit Time Reference Refers to a ‘current time’ and orders events with respect to it 22

Time Advancement Problem  This problem arises when the model of a timed system exhibits behaviors that do not progress past some instant Ex. Pushing a button ○ Actual duration to push a button can be ignored and can be represented abstractly as a zero time event ○ If these types of events are allowed then there could possibly be an infinite number of such transitions in a zero time interval 23

Solutions to the Time Advancement Problem  Priori The syntax or the semantics of the formal notation is restricted beforehand, in order to guarantee that the model of any system described with it will be exempt from time advancement problems 24

Solutions to the Time Advancement Problem  Posteriori Deals with time advancement issues after the system specification has been built It is then analyzed against a formal definition of time advancement in order to check that all of its actual behaviors do not incur into the time advancement problem 25

Concurrency & Composition  Composition also known as modularization  Problems arise when analyzing synchronous subsystems  A classification of dealing with the composition of concurrent units can be spilt in two ways Synchronous vs. Asynchronous 26

Synchronous vs. Asynchronous  Synchronous Occur at the same time or at instants of time that are related Naturally paired with a discrete time domain  Asynchronous Each activity can progress at a speed unrelated to others There is no need to know in which state each unit is at every instant 27

Outline  History  Languages & Interpretations  Dimensions of the Time Modeling Problem Discrete vs. Dense Finite or Bounded Time Models Linear vs. Branching Determinism vs. Nondeterminism Time Advancement Problem Concurrency & Composition  Analysis & Verification Issues 28

Expressiveness  The possibility of characterizing extensive classes of properties  A language is more expressive if it can be finely tuned into a set of behaviors that satisfy certain properties  For each language there exists properties that can only be expressed by them 29

Decidability & Complexity  Decidability There is a trade-off between expressiveness and decidability  Complexity is used for decidable models Used to determine the effort required by an algorithm to decide whether a property holds Measured in the amount of memory or time required as a function of the input 30

Analysis & Verification Techniques  Exhaustive Enumeration Automated Exploration of graphs  Syntactic Transformations Address the verification problem by logical deductions Specification and requirements are in descriptive form 31

Outline  History  Languages & Interpretations  Dimensions of the Time Modeling Problem Discrete vs. Dense Finite or Bounded Time Models Linear vs. Branching Determinism vs. Nondeterminism Time Advancement Problem Concurrency & Composition  Analysis & Verification Issues 32

Questions? 33