Xiaosong Lu Togashi Laboratory Department of Computer Science Shizuoka University April 1999 Specification and Verification of Hierarchical Reactive Systems.

Slides:



Advertisements
Similar presentations
Model Checking Lecture 1.
Advertisements

Auto-Generation of Test Cases for Infinite States Reactive Systems Based on Symbolic Execution and Formula Rewriting Donghuo Chen School of Computer Science.
Efficient Reachability Analysis of Hierarchic Reactive Modules R. Alur, R.Grosu, M.McDougall University of Pennsylvania
CS 267: Automated Verification Lecture 2: Linear vs. Branching time. Temporal Logics: CTL, CTL*. CTL model checking algorithm. Counter-example generation.
Algorithmic Software Verification VII. Computation tree logic and bisimulations.
CS 267: Automated Verification Lecture 8: Automata Theoretic Model Checking Instructor: Tevfik Bultan.
ECOE 560 Design Methodologies and Tools for Software/Hardware Systems Spring 2004 Serdar Taşıran.
An Introduction to the Model Verifier verds Wenhui Zhang September 15 th, 2010.
ECE Synthesis & Verification - L271 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems Model Checking basics.
François Fages MPRI Bio-info 2006 Formal Biology of the Cell Modeling, Computing and Reasoning with Constraints François Fages, Constraints Group, INRIA.
Automated Refinement Checking of Concurrent Systems Sudipta Kundu, Sorin Lerner, Rajesh Gupta Department of Computer Science and Engineering, University.
UPPAAL Introduction Chien-Liang Chen.
Verification of Hybrid Systems An Assessment of Current Techniques Holly Bowen.
卜磊 Transition System. Part I: Introduction  Chapter 0: Preliminaries  Chapter 1: Language and Computation Part II: Models  Chapter.
Digitaalsüsteemide verifitseerimise kursus1 Formal verification: Property checking Property checking.
Anna Philippou Department of Computer Science University of Cyprus Joint work with Mauricio Toro Department of Comp. Sc. EAFIT University Christina Kassara.
Software Reliability CIS 640 Adapted from the lecture notes by Doron Pelel (
Course Summary. © Katz, 2003 Formal Specifications of Complex Systems-- Real-time 2 Topics (1) Families of specification methods, evaluation criteria.
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.
© Betty HC Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license. Acknowledge: S.
FunState – An Internal Design Representation for Codesign A model that enables representations of different types of system components. Mixture of functional.
Temporal Logic and Model Checking. Reactive Systems We often classify systems into two types: Transformational: functions from inputs available at the.
Models of Computation for Embedded System Design Alvise Bonivento.
ECE Synthesis & Verification - L211 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems Verification Equivalence checking.
Course Summary. © Katz, 2007 Formal Specifications of Complex Systems-- Real-time 2 Topics (1) Families of specification methods, evaluation criteria.
Review of the automata-theoretic approach to model-checking.
1 Ivan Lanese Computer Science Department University of Bologna Italy Concurrent and located synchronizations in π-calculus.
Embedded Systems Laboratory Department of Computer and Information Science Linköping University Sweden Formal Verification and Model Checking Traian Pop.
University of Toronto Department of Computer Science © Steve Easterbrook. This presentation is available free for non-commercial use with attribution.
Witness and Counterexample Li Tan Oct. 15, 2002.
System Design Research Laboratory Specification-based Testing with Linear Temporal Logic Li Tan Oleg Sokolsky Insup Lee University of Pennsylvania.
1 Formal Engineering of Reliable Software LASER 2004 school Tutorial, Lecture1 Natasha Sharygina Carnegie Mellon University.
Real-Time System Requirements & Design Specs Shaw - Chapters 3 & 4 Homework #2: 3.3.1, 3.4.1, Add Error states to Fig 4.1 Lecture 4/17.
Lecture 6 Template Semantics CS6133 Fall 2011 Software Specification and Verification.
Verification technique on SA applications using Incremental Model Checking 컴퓨터학과 신영주.
Cheng/Dillon-Software Engineering: Formal Methods Model Checking.
Compositional IS Development Framework Application Domain Application Domain Pre-existing components, legacy systems Extended for CD (ontologies) OAD Methods.
Model-based Methods for Web Service Verification.
Introduction to Formal Methods Based on Jeannette M. Wing. A Specifier's Introduction to Formal Methods. IEEE Computer, 23(9):8-24, September,
Institute e-Austria in Timisoara 1 Author: prep. eng. Calin Jebelean Verification of Communication Protocols using SDL ( )
Copyright 2001, Matt Dwyer, John Hatcliff, and Radu Iosif. The syllabus and all lectures for this course are copyrighted materials and may not be used.
Yang Liu, Jun Sun and Jin Song Dong School of Computing National University of Singapore.
10/19/2015COSC , Lecture 171 Real-Time Systems, COSC , Lecture 17 Stefan Andrei.
CS6133 Software Specification and Verification
Automatic Verification of Finite-State Concurrent Systems Using Temporal Logic Specifications 1.
PAT: Getting started.
On Reducing the Global State Graph for Verification of Distributed Computations Vijay K. Garg, Arindam Chakraborty Parallel and Distributed Systems Laboratory.
Formal Verification Lecture 9. Formal Verification Formal verification relies on Descriptions of the properties or requirements Descriptions of systems.
Advanced Topics in Software Engineering Marjan Sirjani Tehran University Faculty of Engineering ECE Department Tehran,
The basics of the programming process The development of programming languages to improve software development Programming languages that the average user.
Modular Refinement of Hierarchic Reactive Machines Rajeev Alur Radu Grosu University of Pennsylvania
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
CSCI1600: Embedded and Real Time Software Lecture 11: Modeling IV: Concurrency Steven Reiss, Fall 2015.
1 CSEP590 – Model Checking and Automated Verification Lecture outline for July 9, 2003.
Duminda WijesekeraSWSE 623: Introduction1 Introduction to Formal and Semi- formal Methods Based on A Specifier's Introduction to Formal Methods (J. Wing)
Model Checking Lecture 1. Model checking, narrowly interpreted: Decision procedures for checking if a given Kripke structure is a model for a given formula.
IS 2620: Developing Secure Systems Formal Verification/Methods Lecture 9 March 15, 2012.
Model Checking Lecture 2. Model-Checking Problem I |= S System modelSystem property.
Complexity of Compositional Model Checking of Computation Tree Logic on Simple Structures Krishnendu Chatterjee Pallab Dasgupta P.P. Chakrabarti IWDC 2004,
Introduction to Formal Methods
CIS 842: Specification and Verification of Reactive Systems
Formal Verification/Methods
IS 2935: Developing Secure Systems
Formal Methods in software development
Formal Methods in software development
Computer Security: Art and Science, 2nd Edition
Formal Methods in software development
Presentation transcript:

Xiaosong Lu Togashi Laboratory Department of Computer Science Shizuoka University April 1999 Specification and Verification of Hierarchical Reactive Systems

* Research Background and Objective * System Properties and Requirements * Formal Specifications * Soundness and Completeness * Synthesis of Formal Specifications * Compositional Verification * Reflection Introduction

* Statecharts (Modechart, RSML) *Visual Formalism *State Hierarchy and broadcast communication * SDL: Communicating finite-state machines * Petri Net: Event-driven, one-level concurrency * CCS, CSP: algebraic nature, recursion, nested concurrency, naming, channel communication... Related Work

* A New Methodology for Reactive Systems *System requirements: Declarative language *Formal specifications: Hierarchical state machines * A Flexible Development Environment *Stepwise Refinement *Reflection * Automatic Synthesis and Verification * Support of Modularity and Reusability Research Objective

System Requirements Synthesis System Formal Specifications Compiler Programs Requirement Acquisition VerifierSimulator Present system Reflection System System Overview

* SPS = * P: all atomic propositions * L: partition of P * D ⊆ L×L: partial order relation * L 0: topmost level propositions Hierarchical System Properties

SPS of a Radio/Tape Player On Radio, Tape Stereo Am, Fm Play, Pause P Lo D L

* ρ = * id: name * a: input symbol * f in : pre-condition * o: output symbol * f out : post-condition * Power on : ¬ On ⇒ On : * Function Requirement Power

* A Requirement Module of the Player * RM = System Requirement Module RM1 ¬ On Power ¬ On ⇒ On, Power TF : Temporal logic formulae BNameγ0 ΣΟ On ⇒ ¬ On Power

Other Requirement Modules RM2Radio RT Radio ⇒ Tape, RT TF : Temporal logic formulae On RT Tape ⇒ Radio RM3 Stereo S Stereo ⇒ ¬ Stereo, S TF : Temporal logic formulae On S ¬ Stereo ⇒ Stereo Radio/Tape Stereo

Other Requirement Modules RM4 Play Pause ¬ Play ⇒ Play (TF : Temporal logic formulae) PL,PA Stop Tape Play ∧¬ Pause ⇒ Pause, Play ∧ Pause ⇒ ¬ Pause Play ⇒ ¬ Play ∧¬ Pause PA RM5Am,Fm AF Am ⇒ Fm, Fm ⇒ Am (TF : Temporal logic formulae) Radio Tape Radio

* R = * System Requirement of the Player System Requirement RM1 - Power RM2 - Radio/Tape RM3 - Stereo RM5 - Radio RM4 - Tape RM0 >

* TM = * A State Transition Module of the Player State Transition Module Power ¬ On On Power Q Σ → q0q0

* M = * TM: state transition modules * 》 : partial order relation of state transition modules *TM 0 ⊆ TM: initial state transition modules Formal Specification

Formal Specification of the Player ¬ On On Power Radio Tape RT Stereo ¬ Stereo S S ¬ Play ∧¬ Pause PL Play ∧¬ Pause Play ∧ Pause PA Stop PA Am Fm AF TM0 》

Sub-states, Sub-transition, Default ¬ On On Power Radio Tape RT Stereo ¬ Stereo S S ¬ Play ∧¬ Pause PL Play ∧¬ Pause Play ∧ Pause PA Stop PA Am Fm AF TM0 》 Substates(Tape) Default(On) Sub-transition(Radio)

Global Behavior of the Player ¬ On Stereo On Radio Am Power RT Tape ¬ Play ∧¬ Pause On Stereo PL Play ∧¬ Pause On Tape Stereo ¬ On Power

Global Transition System Power ¬ On Power AF RT On, Tape ¬ Play, ¬ Pause On, Tape ¬ Play, ¬ Pause PL Stop PA On, Tape Play,Pause On, Tape Play,Pause On, Tape Play, ¬ Pause On, Tape Play, ¬ Pause PA On, Radio Am On, Radio Am On, Radio Fm On, Radio Fm AF RT Power Stereo ¬ Stereo S S

* Transition ├ Function Requirement * Transition Module ├ Requirement Module * Formal Specification ├ System Requirement Soundness

* M is Complete w.r.t. R * M is sound w.r.t. R * ∀ sound M’ w.r.t. R, * ∃ homomorphism ξ: M’→M * Standard System of R * sound * complete * unique Completeness

* Synthesis System * * Theorem on Synthesis: *The derived system is standard. Synthesis of Formal Specification system requirement module system requirement module State transition module State transition module System Requirement System Requirement Formal Specification Formal Specification

* Verification of Linear-time Properties * reachability analysis * liveness, fairness and safeness verification * trace analysis * Verification with Branching-time Logic * TCTL * partial model checker * further discussion Compositional Verification

* Bottom-up Algorithm * Time Complexity: O(|T| ・ log s |M|) Reachability Analysis Power Radio/Tape Stereo Radio Tape 1. Analyze local reachability [Play, Pause] 2. Find upper module, analyze [Tape] 3. Until initial module reached [On]

* Liveness: every state is in a circle *local liveness *upper state liveness * Fairness: strongly connected *initial module local fairness *all states reachable * Safeness: absence of deadlock *deadlock detection Liveness, Fairness, Safeness A A D D C C B B A A D D C C B B A A D D C C B B

* Syntax * p, a, o are TCTL formulae * ¬ f 1, f 1 ∧ f 2, AXf 1, EXf 1, A[f 1 Uf 2 ], E[f 1 Uf 2 ] are TCTL formula * f \ P, f \ A, f \ O are TCTL formulae * Trace-based Semantics Branching-time Logic: TCTL

* Partial verification * hierarchical structure based * sequential portion of formal specification * any level specification * Partial Model Checker * obtain list of all subformulas of f to be verified * label states with formulas on the hierarchical structure * backwards search for EX and EU Partial Model Checker

* Compositional Verification with Proof * Compositional Minimization * Symbolic Model Checking Further Discussion on Verification

* Transition Addition/Deletion/Modification * State Addition/Deletion * Nonexecutable Function Detection Reflection System Requirement System Requirement Formal Specification Formal Specification

* A Methodology for Specification and Verification of Reactive Systems * Future Work * Real-time, Predicate logic * Extensions on compositional verification * An integrated support environment Conclusion