Formal Verification of fFSM Model Sachoun Park, Gihwon Kwon Department of Computer Science Kyonggi University, Korea IWFST, Shanghai, China, 2005.11.08.

Slides:



Advertisements
Similar presentations
Embedded System, A Brief Introduction
Advertisements

Auto-Generation of Test Cases for Infinite States Reactive Systems Based on Symbolic Execution and Formula Rewriting Donghuo Chen School of Computer Science.
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.
PROTOCOL VERIFICATION & PROTOCOL VALIDATION. Protocol Verification Communication Protocols should be checked for correctness, robustness and performance,
Temporal Logic and the NuSMV Model Checker CS 680 Formal Methods Jeremy Johnson.
UPPAAL Introduction Chien-Liang Chen.
Timed Automata.
Network Protocols Dr. Eng Amr T. Abdel-Hamid NETW 703 Winter 2006 Finite State Machines (FSMs)
Software system modeling
卜磊 Transition System. Part I: Introduction  Chapter 0: Preliminaries  Chapter 1: Language and Computation Part II: Models  Chapter.
SYMBOLIC MODEL CHECKING: STATES AND BEYOND J.R. Burch E.M. Clarke K.L. McMillan D. L. Dill L. J. Hwang Presented by Rehana Begam.
CS 267: Automated Verification Lecture 7: SMV Symbolic Model Checker, Partitioned Transition Systems, Counter-example Generation in Symbolic Model Checking.
1 Concurrency Specification. 2 Outline 4 Issues in concurrent systems 4 Programming language support for concurrency 4 Concurrency analysis - A specification.
Anna Philippou Department of Computer Science University of Cyprus Joint work with Mauricio Toro Department of Comp. Sc. EAFIT University Christina Kassara.
Automatic Verification of Component-Based Real-Time CORBA Applications Gabor Madl Sherif Abdelwahed
1 Model Checking, Abstraction- Refinement, and Their Implementation Based on slides by: Orna Grumberg Presented by: Yael Meller June 2008.
Discrete Abstractions of Hybrid Systems Rajeev Alur, Thomas A. Henzinger, Gerardo Lafferriere and George J. Pappas.
Hardware and Petri nets: application to asynchronous circuit design Jordi CortadellaUniversitat Politècnica de Catalunya, Spain Michael KishinevskyIntel.
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.
CSC 402 Requirements Engineering 1 Requirements Techniques, cont. Formal requirements analysis techniques include: – DFD (covered) – ERD (covered) – Finite.
FunState – An Internal Design Representation for Codesign A model that enables representations of different types of system components. Mixture of functional.
EECE Hybrid and Embedded Systems: Computation T. John Koo, Ph.D. Institute for Software Integrated Systems Department of Electrical Engineering and.
Software Engineering, COMP201 Slide 1 Protocol Engineering Protocol Specification using CFSM model Lecture 30.
Models of Computation for Embedded System Design Alvise Bonivento.
Heterochronous Dataflow in Ptolemy II Brian K. Vogel EE249 Project Presentation, Dec. 4, 1999.
Modeling State-Dependent Objects Using Colored Petri Nets
Requirements Techniques, cont. Brief review Formal Requirements Techniques –Finite State Machines –Petri Nets.
The Rare Glitch Project: Verification Tools for Embedded Systems Carnegie Mellon University Pittsburgh, PA Ed Clarke, David Garlan, Bruce Krogh, Reid Simmons,
Embedded Systems Laboratory Department of Computer and Information Science Linköping University Sweden Formal Verification and Model Checking Traian Pop.
Department of Electrical Engineering and Computer Sciences University of California at Berkeley System-Level Types for Component-Based Design Edward A.
Verifying Distributed Real-time Properties of Embedded Systems via Graph Transformations and Model Checking Gabor Madl
Chess Review May 11, 2005 Berkeley, CA Formal Semantics of Metamodeling Frameworks Ethan Jackson ISIS, Vanderbilt University Semantic Anchoring Infrastructure.
EECE Hybrid and Embedded Systems: Computation T. John Koo, Ph.D. Institute for Software Integrated Systems Department of Electrical Engineering and.
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.
Department of Electrical Engineering and Computer Sciences University of California at Berkeley The Ptolemy II Framework for Visual Languages Xiaojun Liu.
Lecture 6 Template Semantics CS6133 Fall 2011 Software Specification and Verification.
02/06/05 “Investigating a Finite–State Machine Notation for Discrete–Event Systems” Nikolay Stoimenov.
Formal Methods 1. Software Engineering and Formal Methods  Every software engineering methodology is based on a recommended development process  proceeding.
Cheng/Dillon-Software Engineering: Formal Methods Model Checking.
Introduction to Software Testing Chapter 9.4 Model-Based Grammars Paul Ammann & Jeff Offutt
1 Introduction to SMV and Model Checking Mostly by: Ken McMillan Cadence Berkeley Labs Small parts by: Brandon Eames ISIS/Vanderbilt.
CS6133 Software Specification and Verification
Reactive systems – general
CS5270 Lecture 41 Timed Automata I CS 5270 Lecture 4.
2/19/20031 Introduction to SMV. 2/19/20032 Useful Links CMU Model checking homepage SMV windows version
A Framework on Synchronization Verification in System-Level Design Thanyapat Sakunkonchak Satoshi Komatsu Masahiro Fujita Fujita Laboratory University.
Xiaosong Lu Togashi Laboratory Department of Computer Science Shizuoka University April 1999 Specification and Verification of Hierarchical Reactive Systems.
- 1 -  P. Marwedel, Univ. Dortmund, Informatik 12, 05/06 Universität Dortmund Validation - Formal verification -
1 Copyright  2001 Pao-Ann Hsiung SW HW Module Outline l Introduction l Unified HW/SW Representations l HW/SW Partitioning Techniques l Integrated HW/SW.
Verification & Validation By: Amir Masoud Gharehbaghi
HACNet Simulation-based Validation of Security Protocols Vinay Venkataraghavan Advisors: S.Nair, P.-M. Seidel HACNet Lab Computer Science and Engineering.
Model Checking for Simple Java Programs Taehoon Lee, Gihwon Kwon Department of Computer Science Kyonggi University, Korea IWFST, Shanghai, China,
Process Algebra (2IF45) Abstraction Parallel composition (short intro) Suzana Andova.
SystemC Semantics by Actors and Reduction Techniques in Model Checking Marjan Sirjani Formal Methods Lab, ECE Dept. University of Tehran, Iran MoCC 2008.
Compositional Verification for System-on-Chip Designs SRC Student Symposium Paper 16.5 Nishant Sinha Edmund Clarke Carnegie Mellon University.
CS5270 Lecture 41 Timed Automata I CS 5270 Lecture 4.
Complexity of Compositional Model Checking of Computation Tree Logic on Simple Structures Krishnendu Chatterjee Pallab Dasgupta P.P. Chakrabarti IWDC 2004,
Formal methods: Lecture
What is the SMV (Symbolic Model Verifier) System ?
CPE555A: Real-Time Embedded Systems
CIS 842: Specification and Verification of Reactive Systems
SS 2018 Software Verification ML, state machines
ECE-C662 Introduction to Behavioral Synthesis Knapp Text Ch
Introduction to SMV 2/19/2003.
Software system modeling
Presentation transcript:

Formal Verification of fFSM Model Sachoun Park, Gihwon Kwon Department of Computer Science Kyonggi University, Korea IWFST, Shanghai, China,

2 Formal Verification Minimization (e.g. bisimulation) Property specification State space: - Kripke structure - LTS (Lab.Trans.Syst.) - Marking graphs Modeling languages: - Communicating FSMs - Process algebra - Petri nets Generation init(state):= 0; next(state):= case state=0: {2,3}; state=1: 1; 1 : state; esac; Verification: - Model checking - Equivalence checking - ?? Logical results with counter-example

3 fFSM Model Hierarchy Concurrency Internal Event Variable State A2B C D A1 E F f1 f2 B1 B2 B3 snd rcv D1 rcv snd fFSM Dataflow wormhole (super-block with different domain inside) System-level Specification in PeaCE Event generators Display Backplane: Discrete Event

4 Flattened Model pFSM = (I, IT, O, M, , V), I = {coin, ready, stop, time}, O = {tilt, game_over, game_on, …} V = {randn, remain} M = {m 1, m 2, m 3, m 4 }  (m 1 ) = {m 3, m 4 },  (m 2 ) = ,  (m 3 ) = ,  (m 4 ) =   m 1 = (S 1, s 0 1, L 1, T 1 )  S 1 = {GameOff, GameOn},  L 1 = {(GameOff,  ), (GameOn,  )}  T 1 = {(GameOff, coin==1,  game_on=1, timeset=1000 , GameOn), …} m1m1 m2m2 m3m3 m4m4

5 fFSM Semantics {GameOff, TimeInit, Ready, Rand}, {coin},  {GameOn, TimeInit, Ready, Rand}, {timeset},  {GameOn, Wait, Ready, Rand}, ,  {game_on:=1}{remain:=1000} {GameOff, TimeInit, Ready, Rand}, {coin},  {GameOn, Wait, Ready, Rand}, ,  {game_on:=1, remain:=1000} Micro Step: Macro Step: Macro step Environmental change Micro steps Environmental change stable

6 Desired Properties No unused components  EF component 1  …  EF component n  Components: states, events No unreachable guards  EF (s i  EX s j ), guard(t) = g, source(t) = s i, target(t) = s j No unambiguous transitions (ambiguous transition)  AG  ((t 1  t 2 )  (t 2  t 3 )  (t 1  t 3 )), where {t 1, t 2, t 3 } is a set of outgoing transitions from the same state. No deadlocks   EFAG deadlock, where deadlock is  (t 1  …  t n ) No divergent behavior (circular transition)  AG (  stable  A[  stable U stable]) Race condition violation  AG(  stable  uadate  AX A[  uadate U stable])

7 Stepper: Simulation & Verification Tool F2V Model Checker SMV Translator SMV Model checke r Graph Generator *.xml fFSM simulator *.smv Model Result CTL Property Formal fFSM Verifier (F2V) Explicit model checker Properties to be checked Reachability Race condition Ambiguous transitions Circular transitions

8 Discussion Topics How to avoid the state explosion problem ?  State explosion problem occurs due to variables  How to abstract them away ? How to integrated heterogeneous models ?  fFSM models the control flow of a system  SDF models the data flow of a system  How to integate them ? 1. data transfer 3. result(flag) transfer Display Event source “flag ” Backplane “ a” fFSM XY a/out flag B “out” A SDF C 2. execution A SPDF C B Event source Backplane domain node_name: foo script: “stop foo ”script:“run foo ” XY a FSM reset Asynchronous Interaction Synchronous Interaction