Modelling, Specification and Verification of Reactive Systems - - PowerPoint PPT Presentation

modelling specification and verification of reactive
SMART_READER_LITE
LIVE PREVIEW

Modelling, Specification and Verification of Reactive Systems - - PowerPoint PPT Presentation

Organization of the Course Introduction Formal Models for Reactive Systems Modelling, Specification and Verification of Reactive Systems Introduction to the Course Lecturer: Luca Aceto Email: luca@ru.is or luca.aceto@gmail.com Course web


slide-1
SLIDE 1

Organization of the Course Introduction Formal Models for Reactive Systems

Modelling, Specification and Verification of Reactive Systems

Introduction to the Course Lecturer: Luca Aceto Email: luca@ru.is or luca.aceto@gmail.com Course web page: http://www.ru.is/faculty/luca/IMTCOURSE/

Introduction to the Course Reactive Systems: Mod., Spec. and Ver.

slide-2
SLIDE 2

Organization of the Course Introduction Formal Models for Reactive Systems Overview Lectures and Tutorials/Exercise Sessions Exam and Literature

Focus of the Course

Study of mathematical models for the formal description and analysis of programs. Study of formal languages for the specification of program behaviour. Particular focus on parallel and reactive systems. Verification tools and their use in the analysis of system designs.

Introduction to the Course Reactive Systems: Mod., Spec. and Ver.

slide-3
SLIDE 3

Organization of the Course Introduction Formal Models for Reactive Systems Overview Lectures and Tutorials/Exercise Sessions Exam and Literature

Tentative Overview

Transition systems and CCS. Strong and weak bisimilarity, bisimulation games. Hennessy-Milner logic and bisimulation. Tarski’s fixed-point theorem (possibly). Hennessy-Milner logic with recursively defined formulae. Timed automata and their semantics. One group project. More advanced topics may be covered depending on how the course develops.

Introduction to the Course Reactive Systems: Mod., Spec. and Ver.

slide-4
SLIDE 4

Organization of the Course Introduction Formal Models for Reactive Systems Overview Lectures and Tutorials/Exercise Sessions Exam and Literature

Group Project

Putting the theory and tools into practice! Two possibilities (to be taken with a pinch of salt) Modelling of a solitaire game in CWB. Solving Rush Hour games using UPPAAL. The project counts for 40% of the final mark for the course.

Introduction to the Course Reactive Systems: Mod., Spec. and Ver.

slide-5
SLIDE 5

Organization of the Course Introduction Formal Models for Reactive Systems Overview Lectures and Tutorials/Exercise Sessions Exam and Literature

Lectures

There will be lectures for three weeks. Ask/answer questions. Be active! Slides will be available before each lecture.

Introduction to the Course Reactive Systems: Mod., Spec. and Ver.

slide-6
SLIDE 6

Organization of the Course Introduction Formal Models for Reactive Systems Overview Lectures and Tutorials/Exercise Sessions Exam and Literature

Exercises

I will regularly post exercise sheets. Suggestion: Work on the exercises in groups of two-three people. I will post solutions to (selected) exercises for each exercise sheet.

Introduction to the Course Reactive Systems: Mod., Spec. and Ver.

slide-7
SLIDE 7

Organization of the Course Introduction Formal Models for Reactive Systems Overview Lectures and Tutorials/Exercise Sessions Exam and Literature

Exam and Literature

Individual Oral Exam = Celebration! The oral exam counts for 60% of the final mark. Literature Reactive Systems: Modelling, Specification and Verification (Cambridge University Press, July 2007) by Anna Ingolfsdottir, Kim G. Larsen, Jiri Srba and myself. Best Reader Competition with award!

Introduction to the Course Reactive Systems: Mod., Spec. and Ver.

slide-8
SLIDE 8

Organization of the Course Introduction Formal Models for Reactive Systems Overview Lectures and Tutorials/Exercise Sessions Exam and Literature

Hints (Summary)

Check regularly the course web-page. Be an active participant! Work on the exercises. Take your own notes. “I hear and I forget. I see and I remember. I do and I understand.” (Confucius, 551 BC–479 BC)

Introduction to the Course Reactive Systems: Mod., Spec. and Ver.

slide-9
SLIDE 9

Organization of the Course Introduction Formal Models for Reactive Systems Aims of the Course Reactive Systems Why Do We Need a Theory?

Aims of the Course

Present a general theory of reactive systems and its applications. The theory supports: Design. Specification. Verification (possibly automatic and compositional). Aims

1 Give the students practice in modelling parallel systems in a

formal framework.

2 Give the students skills in analyzing behaviours of reactive

systems.

3 Introduce algorithms and tools based on the modelling

formalisms.

Introduction to the Course Reactive Systems: Mod., Spec. and Ver.

slide-10
SLIDE 10

Organization of the Course Introduction Formal Models for Reactive Systems Aims of the Course Reactive Systems Why Do We Need a Theory?

Aims of the Course

Present a general theory of reactive systems and its applications. The theory supports: Design. Specification. Verification (possibly automatic and compositional). Aims

1 Give the students practice in modelling parallel systems in a

formal framework.

2 Give the students skills in analyzing behaviours of reactive

systems.

3 Introduce algorithms and tools based on the modelling

formalisms.

Introduction to the Course Reactive Systems: Mod., Spec. and Ver.

slide-11
SLIDE 11

Organization of the Course Introduction Formal Models for Reactive Systems Aims of the Course Reactive Systems Why Do We Need a Theory?

Aims of the Course

Present a general theory of reactive systems and its applications. The theory supports: Design. Specification. Verification (possibly automatic and compositional). Aims

1 Give the students practice in modelling parallel systems in a

formal framework.

2 Give the students skills in analyzing behaviours of reactive

systems.

3 Introduce algorithms and tools based on the modelling

formalisms.

Introduction to the Course Reactive Systems: Mod., Spec. and Ver.

slide-12
SLIDE 12

Organization of the Course Introduction Formal Models for Reactive Systems Aims of the Course Reactive Systems Why Do We Need a Theory?

Aims of the Course

Present a general theory of reactive systems and its applications. The theory supports: Design. Specification. Verification (possibly automatic and compositional). Aims

1 Give the students practice in modelling parallel systems in a

formal framework.

2 Give the students skills in analyzing behaviours of reactive

systems.

3 Introduce algorithms and tools based on the modelling

formalisms.

Introduction to the Course Reactive Systems: Mod., Spec. and Ver.

slide-13
SLIDE 13

Organization of the Course Introduction Formal Models for Reactive Systems Aims of the Course Reactive Systems Why Do We Need a Theory?

Classic View

Characterization of a “Classic” Program A program transforms an input into an output. Denotational semantics: the meaning of a program is a partial function states ֒ → states Nontermination is bad! In case of termination, the result is unique. Is this all we need?

Introduction to the Course Reactive Systems: Mod., Spec. and Ver.

slide-14
SLIDE 14

Organization of the Course Introduction Formal Models for Reactive Systems Aims of the Course Reactive Systems Why Do We Need a Theory?

Classic View

Characterization of a “Classic” Program A program transforms an input into an output. Denotational semantics: the meaning of a program is a partial function states ֒ → states Nontermination is bad! In case of termination, the result is unique. Is this all we need?

Introduction to the Course Reactive Systems: Mod., Spec. and Ver.

slide-15
SLIDE 15

Organization of the Course Introduction Formal Models for Reactive Systems Aims of the Course Reactive Systems Why Do We Need a Theory?

Reactive systems

What about: Operating systems? Communication protocols? Control programs? Mobile phones? Vending machines?

Introduction to the Course Reactive Systems: Mod., Spec. and Ver.

slide-16
SLIDE 16

Organization of the Course Introduction Formal Models for Reactive Systems Aims of the Course Reactive Systems Why Do We Need a Theory?

Reactive systems

Characterization of a Reactive System Reactive System = system that computes by reacting to stimuli from its environment. Key Issues: communication and interaction parallelism Nontermination is good! The result (if any) does not have to be unique.

Introduction to the Course Reactive Systems: Mod., Spec. and Ver.

slide-17
SLIDE 17

Organization of the Course Introduction Formal Models for Reactive Systems Aims of the Course Reactive Systems Why Do We Need a Theory?

Reactive systems

Characterization of a Reactive System Reactive System = system that computes by reacting to stimuli from its environment. Key Issues: communication and interaction parallelism Nontermination is good! The result (if any) does not have to be unique.

Introduction to the Course Reactive Systems: Mod., Spec. and Ver.

slide-18
SLIDE 18

Organization of the Course Introduction Formal Models for Reactive Systems Aims of the Course Reactive Systems Why Do We Need a Theory?

Analysis of Reactive Systems

Questions How can we develop (design) a system that ”works”? How do we analyze (verify) such a system? Fact of Life Even short parallel programs may be hard to analyze.

Introduction to the Course Reactive Systems: Mod., Spec. and Ver.

slide-19
SLIDE 19

Organization of the Course Introduction Formal Models for Reactive Systems Aims of the Course Reactive Systems Why Do We Need a Theory?

The Need for Theory

Conclusion We need formal/systematic methods (tools), otherwise ... Intel’s Pentium-II bug in floating-point division unit Ariane-5 crash due to a conversion of 64-bit real to 16-bit integer Mars Pathfinder ...

Introduction to the Course Reactive Systems: Mod., Spec. and Ver.

slide-20
SLIDE 20

Organization of the Course Introduction Formal Models for Reactive Systems Aims of the Course Reactive Systems Why Do We Need a Theory?

Classic vs. Reactive Computing

Classic Reactive/Parallel interaction no yes nontermination undesirable

  • ften desirable

unique result yes no semantics states ֒ → states ?

Introduction to the Course Reactive Systems: Mod., Spec. and Ver.

slide-21
SLIDE 21

Organization of the Course Introduction Formal Models for Reactive Systems Motivation Labelled Transition Systems Notation

How to Model Reactive Systems

Question What is the most basic view of a reactive system (process)?

Introduction to the Course Reactive Systems: Mod., Spec. and Ver.

slide-22
SLIDE 22

Organization of the Course Introduction Formal Models for Reactive Systems Motivation Labelled Transition Systems Notation

How to Model Reactive Systems

Question What is the most basic view of a reactive system (process)? Answer A process performs an action and becomes another process.

Introduction to the Course Reactive Systems: Mod., Spec. and Ver.

slide-23
SLIDE 23

Organization of the Course Introduction Formal Models for Reactive Systems Motivation Labelled Transition Systems Notation

Labelled Transition Systems

Definition A labelled transition system (LTS) is a triple (Proc, Act, {

a

− →| a ∈ Act}) where Proc is a set of states (or processes), Act is a set of labels (or actions), and

a

− → ⊆ Proc × Proc is a binary relation on states called the transition relation, for each a ∈ Act. We will use the infix notation s

a

− → s′ meaning that (s, s′) ∈

a

− →. Sometimes we distinguish an initial (or start) state.

Introduction to the Course Reactive Systems: Mod., Spec. and Ver.

slide-24
SLIDE 24

Organization of the Course Introduction Formal Models for Reactive Systems Motivation Labelled Transition Systems Notation

Keyword: Interaction!

LTSes describe process behaviour, and explicitly focus on interaction. The Motto (after Tony Hoare and Robin Milner) Everything is (or can be viewed as) a process! Buffers, shared memory, Linda tuple spaces, senders, receivers, . . . are all agents/processes.

Introduction to the Course Reactive Systems: Mod., Spec. and Ver.

slide-25
SLIDE 25

Organization of the Course Introduction Formal Models for Reactive Systems Motivation Labelled Transition Systems Notation

Labelled Transition Systems – Notation

Let (Proc, Act, {

a

− →| a ∈ Act}) be an LTS. We extend

a

− → to the elements of Act∗. − →=

a∈Act a

− → − →∗ is the reflexive and transitive closure of − →. (Do you know what this means?) s

a

− → and s a − →. Reachable states.

Introduction to the Course Reactive Systems: Mod., Spec. and Ver.