UPPAAL 2012. 3. 8. Real-Time Systems Lab. Seolyoung, Jeong.

Slides:



Advertisements
Similar presentations
INTERVAL Next Previous 13/02/ Timed extensions to SDL Analysis requirements –Assumptions on moments and duration Semantics with controllable time.
Advertisements

Real-Time Systems, DTU, Feb 15, 2000 Paul Pettersson, BRICS, Aalborg, Denmark. Timed Automata and Timed Computation Tree Logic Paul Pettersson
UCb Symbolic Reachability and Beyound or how UPPAAL really works Kim Guldstrand Larsen
Automatic Verification Book: Chapter 6. What is verification? Traditionally, verification means proof of correctness automatic: model checking deductive:
Workflow Verification Project BY: Toomas Kütt Fraz Tabassam Jens Kaae Christensen.
Budapest University of Technology and EconomicsDagstuhl 2004 Department of Measurement and Information Systems 1 Towards Automated Formal Verification.
UPPAAL Introduction Chien-Liang Chen.
Hybrid Systems Presented by: Arnab De Anand S. An Intuitive Introduction to Hybrid Systems Discrete program with an analog environment. What does it mean?
CS 290C: Formal Models for Web Software Lecture 4: Implementing and Verifying Statecharts Specifications Using the Spin Model Checker Instructor: Tevfik.
Timed Automata.
Introduction to Uppaal ITV Multiprogramming & Real-Time Systems Anders P. Ravn Aalborg University May 2009.
UPPAAL Andreas Hadiyono Arrummaisha Adrifina Harya Iswara Aditya Wibowo Juwita Utami Putri.
ComS 512 Project John Altidor Michelle Ruse Jonathan Schroeder.
CSE 522 UPPAAL – A Model Checking Tool Computer Science & Engineering Department Arizona State University Tempe, AZ Dr. Yann-Hang Lee
ESE601: Hybrid Systems Some tools for verification Spring 2006.
1 Temporal Claims A temporal claim is defined in Promela by the syntax: never { … body … } never is a keyword, like proctype. The body is the same as for.
Hybrid Approach to Model-Checking of Timed Automata DAT4 Project Proposal Supervisor: Alexandre David.
The Spin Model Checker Promela Introduction Nguyen Tuan Duc Shogo Sawai.
1 Concurrency Specification. 2 Outline 4 Issues in concurrent systems 4 Programming language support for concurrency 4 Concurrency analysis - A specification.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
1 Temporal Logic u Classical logic:  Good for describing static conditions u Temporal logic:  Adds temporal operators  Describe how static conditions.
Model Checking. Used in studying behaviors of reactive systems Typically involves three steps: Create a finite state model (FSM) of the system design.
Chess Review November 21, 2005 Berkeley, CA Edited and presented by A Semantic Unit for Timed Automata Based Modeling Languages Kai Chen ISIS, Vanderbilt.
Timing analysis of an SDL subset in UPPAAL Anders Hessel Institution of Information Technology Department of Computer Systems Uppsala University M.Sc.
Today’s Lecture Process model –initial & always statements Assignments –Continuous & procedural assignments Timing Control System tasks.
ECE/CS 584: Hybrid Automaton Modeling Framework Executions, Reach set, Invariance Lecture 03 Sayan Mitra.
Cheng/Dillon-Software Engineering: Formal Methods Model Checking.
Timed UML State Machines Ognyana Hristova Tutor: Priv.-Doz. Dr. Thomas Noll June, 2007.
UPPAAL Ghaith Haddad. Introduction UPPAAL is a tool for modeling, validation and verification of real-time systems. Appropriate for systems that can be.
ECE 720T5 Winter 2014 Cyber-Physical Systems Rodolfo Pellizzoni.
Transformation of Timed Automata into Mixed Integer Linear Programs Sebastian Panek.
COMPUTER PROGRAMMING. Control Structures A program is usually not limited to a linear sequence of instructions. During its process it may repeat code.
Timed Use Case Maps Jameleddine Hassine Concordia University, Montreal, Canada URN Meeting, Ottawa, January 16-18, 2008.
Lecture51 Timed Automata II CS 5270 Lecture 5.
Learning Symbolic Interfaces of Software Components Zvonimir Rakamarić.
CSCI1600: Embedded and Real Time Software Lecture 11: Modeling IV: Concurrency Steven Reiss, Fall 2015.
Abstract Priority-based FRP (P-FRP) is a functional programming formalism for reactive systems that guarantees real-time response. Preempted tasks in P-FRP.
Quality Assurance in the Presence of Variability Kim Lauenroth, Andreas Metzger, Klaus Pohl Institute for Computer Science and Business Information Systems.
Software Systems Verification and Validation Laboratory Assignment 4 Model checking Assignment date: Lab 4 Delivery date: Lab 4, 5.
Winter 2007SEG2101 Chapter 121 Chapter 12 Verification and Validation.
/ PSWLAB Thread Modular Model Checking by Cormac Flanagan and Shaz Qadeer (published in Spin’03) Hong,Shin Thread Modular Model.
55:032 - Intro. to Digital DesignPage 1 VHDL and Processes Defining Sequential Circuit Behavior.
Model Checking Lecture 2. Model-Checking Problem I |= S System modelSystem property.
CS5270 Lecture 41 Timed Automata I CS 5270 Lecture 4.
Chapter # 2 Part 2 Programs And data
SS 2017 Software Verification Timed Automata
Formal verification in SPIN
TIOA-to-UPPAAL Translator & Front-End Integration
Timed Automata II CS 5270 Lecture Lecture5.
Graph Coverage for Specifications CS 4501 / 6501 Software Testing
Program Synthesis is a Game
Introduction to LUSTRE and LUKE
Concurrency Specification
On Using Linearly Priced Timed Automata for Flow Analysis
While loops The while loop executes the statement over and over as long as the boolean expression is true. The expression is evaluated first, so the statement.
Outline Altering flow of control Boolean expressions
Timed Automata Formal Systems Pallab Dasgupta Professor,
Model Checking for an Executable Subset of UML
CSCI1600: Embedded and Real Time Software
CSEP590 – Model Checking and Automated Verification
Java Programming Loops
4b Lexical analysis Finite Automata
Graph Coverage for Specifications CS 4501 / 6501 Software Testing
Chapter # 2 Part 2 Programs And data
CSCI1600: Embedded and Real Time Software
4b Lexical analysis Finite Automata
Java Programming Loops
Java Modeling Language (JML)
Verifying Dijktra’s algorithm in Jahob
Presentation transcript:

UPPAAL Real-Time Systems Lab. Seolyoung, Jeong

Contents  Introduction  Architecture  Design Model  Variable  Declaration  Verifier (Query)  Examples

Introduction  It serves as a modeling or design language to describe system behavior as networks of automata extended with clock and data variables.  It used to make a simulation of the system and check if there is an error in the system.

Different Software Development TraditionalModern

UPPAAL  UPPAAL is an integrated tool environment for modeling, simulation and verification of real time system modeled as network of timed automata.  The first prototype of UPPAAL named TAB, was developed at Uppsala University in 1993 by Wang Yi et al.  In 1995, Aalborg University was joined the development and then TAB was renamed UPPAAL with UPP standing for Uppsala and AAL for Aalborg.

UPPAAL Architecture

Design Model - Location  Add Location

Design Model - Edge  Add Edge

Design Model - Nail  Add Nail

Locations  The control nodes of an Uppaal process.  Initial Locations  The beginning of the process. Each template must have exactly one initial location. The initial location is marked by a double circle.  Urgent Locations  Urgent locations freeze time. This forces the actual process to always make a transition without any delay.  Committed Locations  Like urgent locations, committed locations freeze time. Furthermore, if any process is in a committed location, the next transition must involve an edge from one of the committed locations.

Edges  Line between two control nodes (locations)  Edges are annotated with selections, guards, synchronizations and updates.  Selections  Selections non-deterministically bind a given identifier to a value in a given range  Guards  Express condition at edge on the value of clocks and integer variable that must be satisfied for the transition to be taken.

Edges (cont’)  Synchronizations  Synchronization means that two processes change location in one simulation step. Synchronization is done with (or via) channels. To synchronize two processes, the synchronization labeled with the channel variable that has been declared before, followed by “!” for one of them and “?” for the other.  Updates  When executed, the update expression of the edge is evaluated. The side effect of this expression changes the state of the system.

Variable  Generally, there are 4 variable types in Uppaal  Integer  Bool  Clock  Channel New types in Uppaal Same types with C and C++

Variable (cont’)  Clock  Used to arrange schedule process in processor.  Declared with the keyword “clock”.  Channel  Used to synchronize two processes.  Declared with the keyword “chan”.  This is done by annotating edges in the model with synchronization labels.

Urgent Channel  When a channel is declared as an Urgent Channel, synchronization via that channel has priority over normal channels and the transition must be taken without delay.  Declared with the keyword urgent chan.  No clock guard allowed on transitions with urgent actions.  Invariants and data-variable guards are allowed.

Broadcast Channel  Broadcast channels allow 1-to-many synchronizations.  The intuition is that an edge with synchronization label e! emits a broadcast on the channel e and that any enabled edge with synchronization label e? will synchronize with the emitting process.

Declaration in Uppaal  The syntax used for declarations in Uppaal is similar to the syntax used in the C programming language.  Integer  int num1, num2; two integer variables “num1” and “num2” with default domain.  int[0,100] a; an integer variable “a” with the range 0 to 100.  int a[2][3]; a multidimensional integer array.  int[0,5] b=0; an integer variable with the range 0 to 5 initialized to 0.

Declaration in Uppaal (cont’)  Clock  clock x, y; two clocks x and y.  Channel  chan d; a channel.  urgent chan a, b, c; urgent channel.  Priority chan a,b,c,d; chan priority a,d < default < b,c; system A < B, C < D;

Verifier - Query in Uppaal  E - exists a path  A - for all paths  [] – all states in a path  <> - some states in a path  The following combination are supported:  A[ ], A<>, E<>, E[ ].

E<> p – “p Reachable”  E<> p – it is possible to reach a state in which p is satisfied.  p is true in (at least) one reachable state.

A[] p – “Invariantly p”  A[] p – p holds invariantly.  p is true in all reachable states.

A<> p – “Inevitable p”  A<> p – p will inevitable become true  The automaton is guaranteed to eventually reach a state in which p is true.  p is true in some state of all paths.

E[] p – “Potentially Always p”  E[] p – p is potentially always true.  There exists a path in which p is true in all states.

p --> q – “p lead to q”  p --> q – if p becomes true, q will inevitably become true. same as A[] (p imply A<> q)  In all paths, if p becomes true, q will inevitably become true.

Example 1) Mutex

Editor(Modeller)

Declarations

System declarations

Simulator

Verifier

Example 2) Time

Editor(Modeller)

Declarations

System declarations

Simulator

Verifier

Q&A