Sunteți pe pagina 1din 126

Outline

System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

Software Systems Verification and Validation


Lecture 10 - Model checking
Lect. dr. Andreea Vescan
Babes-Bolyai University
Cluj-Napoca

2015-2016

Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

System verification
System verification
Software verification techniques
Catching software bugs
Formal methods
Model checking
Model checking approach
Strengths and Weaknesses
Transition system
Transition system
Intuitive behavior
Example
Linear-Time Properties
Linear-Time Properties
Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

System verification
Software verification techniques
Catching software bugs
Formal methods

System verification
Information and Communication Technology (ICT)

Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

System verification
Software verification techniques
Catching software bugs
Formal methods

System verification
Information and Communication Technology (ICT)
Correct ICT systems

Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

System verification
Software verification techniques
Catching software bugs
Formal methods

System verification
Information and Communication Technology (ICT)
Correct ICT systems
It is all about money.

Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

System verification
Software verification techniques
Catching software bugs
Formal methods

System verification
Information and Communication Technology (ICT)
Correct ICT systems
It is all about money.
It is all about safety.

Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

System verification
Software verification techniques
Catching software bugs
Formal methods

System verification
Information and Communication Technology (ICT)
Correct ICT systems
It is all about money.
It is all about safety.

The reliability of the ICT systems is a key issue in the system


design process [KB08].

Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

System verification
Software verification techniques
Catching software bugs
Formal methods

System verification
Information and Communication Technology (ICT)
Correct ICT systems
It is all about money.
It is all about safety.

The reliability of the ICT systems is a key issue in the system


design process [KB08].
System verification techniques

Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

System verification
Software verification techniques
Catching software bugs
Formal methods

Schematic view of an posteriori system verification


system
specification
Design
Process

properties

product or
prototype
bug (s) found
Verification
no bugs found

Figure: Schematic view of an posteriori system verification


Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

System verification
Software verification techniques
Catching software bugs
Formal methods

Software verification techniques


Non-formal verification techniques (used in practice): peer
reviewing (SSVV Lecture 01) and testing (SSVV Lecture 2-3).
Peer review (static technique)
Software testing (Dynamic technique)

Formal verification techniques.


Formal methods
Model-based simulation
Model checking( SSVV Lecture 10- today)
Model-based testing
Theorem proving (SSVV Lecture 06 and 07)
Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

System verification
Software verification techniques
Catching software bugs
Formal methods

Catching software bugs: the sooner, the better [KB08]


Analysis

Conceptual
Design

Programming

Unit Testing System


Testing

50%

40%

introduced
errors (in %)

detected
errors (in %)

Operation

cost of correction
per error
(In 1,000 us $)

12.5

10

30%

7.5

20%

10%

2.5

0%
Time (non-linear)

Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

System verification
Software verification techniques
Catching software bugs
Formal methods

Formal methods
More time and effort spend on verification than on
construction - in software/hardware design of complex
systems.

Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

System verification
Software verification techniques
Catching software bugs
Formal methods

Formal methods
More time and effort spend on verification than on
construction - in software/hardware design of complex
systems.
The role of formal methods:

Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

System verification
Software verification techniques
Catching software bugs
Formal methods

Formal methods
More time and effort spend on verification than on
construction - in software/hardware design of complex
systems.
The role of formal methods:
To establish system correctness with mathematical rigor.

Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

System verification
Software verification techniques
Catching software bugs
Formal methods

Formal methods
More time and effort spend on verification than on
construction - in software/hardware design of complex
systems.
The role of formal methods:
To establish system correctness with mathematical rigor.
To facilitate the early detection of defects.

Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

System verification
Software verification techniques
Catching software bugs
Formal methods

Formal methods
More time and effort spend on verification than on
construction - in software/hardware design of complex
systems.
The role of formal methods:
To establish system correctness with mathematical rigor.
To facilitate the early detection of defects.

Brands of verification technique:

Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

System verification
Software verification techniques
Catching software bugs
Formal methods

Formal methods
More time and effort spend on verification than on
construction - in software/hardware design of complex
systems.
The role of formal methods:
To establish system correctness with mathematical rigor.
To facilitate the early detection of defects.

Brands of verification technique:

deductive methods - the correctness of system is determined by properties in a mathematical


theory, using tools as theorem provers and proof checkers

Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

System verification
Software verification techniques
Catching software bugs
Formal methods

Formal methods
More time and effort spend on verification than on
construction - in software/hardware design of complex
systems.
The role of formal methods:
To establish system correctness with mathematical rigor.
To facilitate the early detection of defects.

Brands of verification technique:

deductive methods - the correctness of system is determined by properties in a mathematical


theory, using tools as theorem provers and proof checkers
model-based techniques: model checking (exhaustive exploration), simulation (restrictive set of
scenarios in the model), model-based testings, etc

Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

System verification
Software verification techniques
Catching software bugs
Formal methods

Formal methods
More time and effort spend on verification than on
construction - in software/hardware design of complex
systems.
The role of formal methods:
To establish system correctness with mathematical rigor.
To facilitate the early detection of defects.

Brands of verification technique:

deductive methods - the correctness of system is determined by properties in a mathematical


theory, using tools as theorem provers and proof checkers
model-based techniques: model checking (exhaustive exploration), simulation (restrictive set of
scenarios in the model), model-based testings, etc

Any verification using model-based techniques is only as good


as the model of the system.
Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

Model checking approach


Strengths and Weaknesses

Model checking
System

Requirements

Formalizing

Modeling

property
specification

System
model

Model
Checking

Satisfied

Violated+
Counterexample

Simulation

Location
Error

Figure: Schematic view of the model checking approach [KB08]


Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

Model checking approach


Strengths and Weaknesses

Characteristics of Model Checking


Model checking is an automated technique that, given a
finite-state model of a system and a formal property,
systematically checks whether this property holds for (a given
state in) that model.

Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

Model checking approach


Strengths and Weaknesses

Characteristics of Model Checking


Model checking is an automated technique that, given a
finite-state model of a system and a formal property,
systematically checks whether this property holds for (a given
state in) that model.
The model checking process

Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

Model checking approach


Strengths and Weaknesses

Characteristics of Model Checking


Model checking is an automated technique that, given a
finite-state model of a system and a formal property,
systematically checks whether this property holds for (a given
state in) that model.
The model checking process
Modeling phase

Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

Model checking approach


Strengths and Weaknesses

Characteristics of Model Checking


Model checking is an automated technique that, given a
finite-state model of a system and a formal property,
systematically checks whether this property holds for (a given
state in) that model.
The model checking process
Modeling phase

Running phase

Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

Model checking approach


Strengths and Weaknesses

Characteristics of Model Checking


Model checking is an automated technique that, given a
finite-state model of a system and a formal property,
systematically checks whether this property holds for (a given
state in) that model.
The model checking process
Modeling phase

Running phase
Analysis phase

Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

Model checking approach


Strengths and Weaknesses

Characteristics of Model Checking


Model checking is an automated technique that, given a
finite-state model of a system and a formal property,
systematically checks whether this property holds for (a given
state in) that model.
The model checking process
Modeling phase
model the system under consideration
Running phase
Analysis phase

Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

Model checking approach


Strengths and Weaknesses

Characteristics of Model Checking


Model checking is an automated technique that, given a
finite-state model of a system and a formal property,
systematically checks whether this property holds for (a given
state in) that model.
The model checking process
Modeling phase
model the system under consideration
formalize the property to be checked.
Running phase
Analysis phase

Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

Model checking approach


Strengths and Weaknesses

Characteristics of Model Checking


Model checking is an automated technique that, given a
finite-state model of a system and a formal property,
systematically checks whether this property holds for (a given
state in) that model.
The model checking process
Modeling phase
model the system under consideration
formalize the property to be checked.
Running phase
Analysis phase
property satisfied?
Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

Model checking approach


Strengths and Weaknesses

Characteristics of Model Checking


Model checking is an automated technique that, given a
finite-state model of a system and a formal property,
systematically checks whether this property holds for (a given
state in) that model.
The model checking process
Modeling phase
model the system under consideration
formalize the property to be checked.
Running phase
Analysis phase
property satisfied?
property violated?
Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

Model checking approach


Strengths and Weaknesses

Strengths and Weaknesses of model checking [KB08]


Strengths

Weaknesses

Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

Model checking approach


Strengths and Weaknesses

Strengths and Weaknesses of model checking [KB08]


Weaknesses

Strengths
General verification approach

Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

Model checking approach


Strengths and Weaknesses

Strengths and Weaknesses of model checking [KB08]


Weaknesses

Strengths
General verification approach
Supports partial verification

Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

Model checking approach


Strengths and Weaknesses

Strengths and Weaknesses of model checking [KB08]


Weaknesses

Strengths
General verification approach
Supports partial verification
Provides diagnostic information

Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

Model checking approach


Strengths and Weaknesses

Strengths and Weaknesses of model checking [KB08]


Weaknesses

Strengths
General verification approach
Supports partial verification
Provides diagnostic information
Potential
push-buttontechnology

Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

Model checking approach


Strengths and Weaknesses

Strengths and Weaknesses of model checking [KB08]


Weaknesses

Strengths
General verification approach
Supports partial verification
Provides diagnostic information
Potential
push-buttontechnology
Increasing interest by industry

Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

Model checking approach


Strengths and Weaknesses

Strengths and Weaknesses of model checking [KB08]


Weaknesses

Strengths
General verification approach
Supports partial verification
Provides diagnostic information
Potential
push-buttontechnology
Increasing interest by industry
Easily integrated in existing
development cycles

Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

Model checking approach


Strengths and Weaknesses

Strengths and Weaknesses of model checking [KB08]


Weaknesses

Strengths
General verification approach
Supports partial verification

Appropriate to control-intensive
applications

Provides diagnostic information


Potential
push-buttontechnology
Increasing interest by industry
Easily integrated in existing
development cycles
Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

Model checking approach


Strengths and Weaknesses

Strengths and Weaknesses of model checking [KB08]


Weaknesses

Strengths
General verification approach
Supports partial verification
Provides diagnostic information

Appropriate to control-intensive
applications
Its applicability is subject to
decidability issues

Potential
push-buttontechnology
Increasing interest by industry
Easily integrated in existing
development cycles
Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

Model checking approach


Strengths and Weaknesses

Strengths and Weaknesses of model checking [KB08]


Weaknesses

Strengths
General verification approach
Supports partial verification

Appropriate to control-intensive
applications

Provides diagnostic information

Its applicability is subject to


decidability issues

Potential
push-buttontechnology

It verifies a system model

Increasing interest by industry


Easily integrated in existing
development cycles
Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

Model checking approach


Strengths and Weaknesses

Strengths and Weaknesses of model checking [KB08]


Weaknesses

Strengths
General verification approach
Supports partial verification

Appropriate to control-intensive
applications

Provides diagnostic information

Its applicability is subject to


decidability issues

Potential
push-buttontechnology

It verifies a system model

Increasing interest by industry

Checks only stated requirements

Easily integrated in existing


development cycles
Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

Model checking approach


Strengths and Weaknesses

Strengths and Weaknesses of model checking [KB08]


Weaknesses

Strengths
General verification approach
Supports partial verification

Appropriate to control-intensive
applications

Provides diagnostic information

Its applicability is subject to


decidability issues

Potential
push-buttontechnology

It verifies a system model

Increasing interest by industry


Easily integrated in existing
development cycles
Lect. dr. Andreea Vescan

Checks only stated requirements

Suffers from the state-space explosion


problem
Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

Model checking approach


Strengths and Weaknesses

Strengths and Weaknesses of model checking [KB08]


Weaknesses

Strengths
General verification approach
Supports partial verification

Appropriate to control-intensive
applications

Provides diagnostic information

Its applicability is subject to


decidability issues

Potential
push-buttontechnology

It verifies a system model

Increasing interest by industry


Easily integrated in existing
development cycles
Lect. dr. Andreea Vescan

Checks only stated requirements

Suffers from the state-space explosion


problem
Requires some expertise
Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

Transition system
Intuitive behavior
Example

Transition system
Transition systems - used in computer science as models to
describe the behavior of the systems.

Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

Transition system
Intuitive behavior
Example

Transition system
Transition systems - used in computer science as models to
describe the behavior of the systems.
Transition systems - directed graphs:

Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

Transition system
Intuitive behavior
Example

Transition system
Transition systems - used in computer science as models to
describe the behavior of the systems.
Transition systems - directed graphs:
Nodes - represent states;

Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

Transition system
Intuitive behavior
Example

Transition system
Transition systems - used in computer science as models to
describe the behavior of the systems.
Transition systems - directed graphs:
Nodes - represent states;
Edges - model transitions, i. e. state changes.

Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

Transition system
Intuitive behavior
Example

Transition system
Transition systems - used in computer science as models to
describe the behavior of the systems.
Transition systems - directed graphs:
Nodes - represent states;
Edges - model transitions, i. e. state changes.

A Transition System (TS) is tuple (S, Act, , I, Ap, L),


where

Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

Transition system
Intuitive behavior
Example

Transition system
Transition systems - used in computer science as models to
describe the behavior of the systems.
Transition systems - directed graphs:
Nodes - represent states;
Edges - model transitions, i. e. state changes.

A Transition System (TS) is tuple (S, Act, , I, Ap, L),


where
S is a set of states,

Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

Transition system
Intuitive behavior
Example

Transition system
Transition systems - used in computer science as models to
describe the behavior of the systems.
Transition systems - directed graphs:
Nodes - represent states;
Edges - model transitions, i. e. state changes.

A Transition System (TS) is tuple (S, Act, , I, Ap, L),


where
S is a set of states,
Act is a set of actions,

Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

Transition system
Intuitive behavior
Example

Transition system
Transition systems - used in computer science as models to
describe the behavior of the systems.
Transition systems - directed graphs:
Nodes - represent states;
Edges - model transitions, i. e. state changes.

A Transition System (TS) is tuple (S, Act, , I, Ap, L),


where
S is a set of states,
Act is a set of actions,
S Act S is a transition relation,

Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

Transition system
Intuitive behavior
Example

Transition system
Transition systems - used in computer science as models to
describe the behavior of the systems.
Transition systems - directed graphs:
Nodes - represent states;
Edges - model transitions, i. e. state changes.

A Transition System (TS) is tuple (S, Act, , I, Ap, L),


where
S is a set of states,
Act is a set of actions,
S Act S is a transition relation,
I S is a set of initial states,

Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

Transition system
Intuitive behavior
Example

Transition system
Transition systems - used in computer science as models to
describe the behavior of the systems.
Transition systems - directed graphs:
Nodes - represent states;
Edges - model transitions, i. e. state changes.

A Transition System (TS) is tuple (S, Act, , I, Ap, L),


where
S is a set of states,
Act is a set of actions,
S Act S is a transition relation,
I S is a set of initial states,
AP is a set of atomic propositions, and

Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

Transition system
Intuitive behavior
Example

Transition system
Transition systems - used in computer science as models to
describe the behavior of the systems.
Transition systems - directed graphs:
Nodes - represent states;
Edges - model transitions, i. e. state changes.

A Transition System (TS) is tuple (S, Act, , I, Ap, L),


where
S is a set of states,
Act is a set of actions,
S Act S is a transition relation,
I S is a set of initial states,
AP is a set of atomic propositions, and
L : S 2AP is a labeling function.

Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

Transition system
Intuitive behavior
Example

Transition system
Transition systems - used in computer science as models to
describe the behavior of the systems.
Transition systems - directed graphs:
Nodes - represent states;
Edges - model transitions, i. e. state changes.

A Transition System (TS) is tuple (S, Act, , I, Ap, L),


where
S is a set of states,
Act is a set of actions,
S Act S is a transition relation,
I S is a set of initial states,
AP is a set of atomic propositions, and
L : S 2AP is a labeling function.

TS is called finite if S, Act and AP are finite.


Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

Transition system
Intuitive behavior
Example

Transition system - remarks


Intuitive behavior of a transition system

Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

Transition system
Intuitive behavior
Example

Transition system - remarks


Intuitive behavior of a transition system
Initial state s0 I

Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

Transition system
Intuitive behavior
Example

Transition system - remarks


Intuitive behavior of a transition system
Initial state s0 I
Using the transition relation the system evolves

Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

Transition system
Intuitive behavior
Example

Transition system - remarks


Intuitive behavior of a transition system
Initial state s0 I
Using the transition relation the system evolves

Current state s, a transition s s is selected


nondeterministically

Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

Transition system
Intuitive behavior
Example

Transition system - remarks


Intuitive behavior of a transition system
Initial state s0 I
Using the transition relation the system evolves

Current state s, a transition s s is selected


nondeterministically
The selection procedure is repeated and finishes once a state is
encountered that has no outgoing transitions.

Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

Transition system
Intuitive behavior
Example

Transition system - remarks


Intuitive behavior of a transition system
Initial state s0 I
Using the transition relation the system evolves

Current state s, a transition s s is selected


nondeterministically
The selection procedure is repeated and finishes once a state is
encountered that has no outgoing transitions.
The labeling function L relates a set L(s) 2AP at atomic
propositions to any state s.

Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

Transition system
Intuitive behavior
Example

Transition system - remarks


Intuitive behavior of a transition system
Initial state s0 I
Using the transition relation the system evolves

Current state s, a transition s s is selected


nondeterministically
The selection procedure is repeated and finishes once a state is
encountered that has no outgoing transitions.
The labeling function L relates a set L(s) 2AP at atomic
propositions to any state s. L(s) intuitively stands for exactly those
atomic propositions a AP which are satisfied by state s.

Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

Transition system
Intuitive behavior
Example

Transition system - remarks


Intuitive behavior of a transition system
Initial state s0 I
Using the transition relation the system evolves

Current state s, a transition s s is selected


nondeterministically
The selection procedure is repeated and finishes once a state is
encountered that has no outgoing transitions.
The labeling function L relates a set L(s) 2AP at atomic
propositions to any state s. L(s) intuitively stands for exactly those
atomic propositions a AP which are satisfied by state s.
Given that is a propositional logic formula, then s satisfies the
formula if the evaluation induced by L(s) makes the formula
true,
Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

Transition system
Intuitive behavior
Example

Beverage Vending Machine

Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

Transition system
Intuitive behavior
Example

Beverage Vending Machine


S = {pay , select, soda, beer }, I = {pay }
Act = {insert coin, get soda, get bear , }
insert coin

select,
Example transitions: pay
get beer
beer pay
Atomic propositions depends on the
properties under consideration. A simple
choice - to let the state names act as
atomic propositions, i. e. L(s) = {s}.
The vending machine only delivers a
drink after providing a coin,
AP = {paid, drink},
L(pay ) = , L(soda) = L(beer ) =
Lect. dr. Andreea Vescan

pay
get_beer

get_soda

soda

insert_coin

tau

select

tau

Software Systems Verification and Validation

beer

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

Linear-Time Properties

Linear-Time Properties

Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

Linear-Time Properties

Linear-Time Properties

Deadlock

Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

Linear-Time Properties

Linear-Time Properties

Deadlock
Safety properties = nothing bad should happen.

Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

Linear-Time Properties

Linear-Time Properties

Deadlock
Safety properties = nothing bad should happen.
The number of inserted coins is always at least the number of
dispensed drinks.

Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

Linear-Time Properties

Linear-Time Properties

Deadlock
Safety properties = nothing bad should happen.
The number of inserted coins is always at least the number of
dispensed drinks.

Liveness properties = something good will happen in the


future.

Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

Temporal Logic

Temporal Logic
Propositional temporal logics [KB08], [Fre10]- extensions of
propositional logic by temporal modalities.

Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

Temporal Logic

Temporal Logic
Propositional temporal logics [KB08], [Fre10]- extensions of
propositional logic by temporal modalities.
The elementary temporal modalities that are present in most
temporal logics include the operators

Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

Temporal Logic

Temporal Logic
Propositional temporal logics [KB08], [Fre10]- extensions of
propositional logic by temporal modalities.
The elementary temporal modalities that are present in most
temporal logics include the operators
eventually (eventually in the future) -

Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

Temporal Logic

Temporal Logic
Propositional temporal logics [KB08], [Fre10]- extensions of
propositional logic by temporal modalities.
The elementary temporal modalities that are present in most
temporal logics include the operators
eventually (eventually in the future) -
always (now and forever in the future - 

Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

Temporal Logic

Temporal Logic
Propositional temporal logics [KB08], [Fre10]- extensions of
propositional logic by temporal modalities.
The elementary temporal modalities that are present in most
temporal logics include the operators
eventually (eventually in the future) -
always (now and forever in the future - 

The nature of time in temporal logics can be either linear or


branching.

Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

Temporal Logic

Temporal Logic
Propositional temporal logics [KB08], [Fre10]- extensions of
propositional logic by temporal modalities.
The elementary temporal modalities that are present in most
temporal logics include the operators
eventually (eventually in the future) -
always (now and forever in the future - 

The nature of time in temporal logics can be either linear or


branching.
The adjective temporal

Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

Temporal Logic

Temporal Logic
Propositional temporal logics [KB08], [Fre10]- extensions of
propositional logic by temporal modalities.
The elementary temporal modalities that are present in most
temporal logics include the operators
eventually (eventually in the future) -
always (now and forever in the future - 

The nature of time in temporal logics can be either linear or


branching.
The adjective temporal
specification of the relative order of events;

Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

Temporal Logic

Temporal Logic
Propositional temporal logics [KB08], [Fre10]- extensions of
propositional logic by temporal modalities.
The elementary temporal modalities that are present in most
temporal logics include the operators
eventually (eventually in the future) -
always (now and forever in the future - 

The nature of time in temporal logics can be either linear or


branching.
The adjective temporal
specification of the relative order of events;
does not support any means to refer to the precise timing of
events.
Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

Syntax of LTL
LTL temporal modalities
Intuitive meaning of temporal modalities
LTL semaphore example

Linear-Time Logic
Construction of LTL formulae in LTL - ingredients:

Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

Syntax of LTL
LTL temporal modalities
Intuitive meaning of temporal modalities
LTL semaphore example

Linear-Time Logic
Construction of LTL formulae in LTL - ingredients:
atomic propositions a AP, (stands for the state label a in a
transition system)

Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

Syntax of LTL
LTL temporal modalities
Intuitive meaning of temporal modalities
LTL semaphore example

Linear-Time Logic
Construction of LTL formulae in LTL - ingredients:
atomic propositions a AP, (stands for the state label a in a
transition system)
boolean connectors like conjunction and negation ,

Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

Syntax of LTL
LTL temporal modalities
Intuitive meaning of temporal modalities
LTL semaphore example

Linear-Time Logic
Construction of LTL formulae in LTL - ingredients:
atomic propositions a AP, (stands for the state label a in a
transition system)
boolean connectors like conjunction and negation
S ,
basic temporal modalities next and until .

Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

Syntax of LTL
LTL temporal modalities
Intuitive meaning of temporal modalities
LTL semaphore example

Linear-Time Logic
Construction of LTL formulae in LTL - ingredients:
atomic propositions a AP, (stands for the state label a in a
transition system)
boolean connectors like conjunction and negation
S ,
basic temporal modalities next and until .

LTL formulae over the set AP of atomic proposition are


formed according to the following grammar:

Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

Syntax of LTL
LTL temporal modalities
Intuitive meaning of temporal modalities
LTL semaphore example

Linear-Time Logic
Construction of LTL formulae in LTL - ingredients:
atomic propositions a AP, (stands for the state label a in a
transition system)
boolean connectors like conjunction and negation
S ,
basic temporal modalities next and until .

LTL formulae over the set AP of atomic proposition are


formed according to the following S
grammar:
::= true|a|1 2 || |1 2 , where a AP.

Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

Syntax of LTL
LTL temporal modalities
Intuitive meaning of temporal modalities
LTL semaphore example

LTL temporal modalities


The until operator allows to derive the temporal modalities
(eventually, sometimes in the future) and  (always,
from now on forever) as follows:

Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

Syntax of LTL
LTL temporal modalities
Intuitive meaning of temporal modalities
LTL semaphore example

LTL temporal modalities


The until operator allows to derive the temporal modalities
(eventually, sometimes in the future) and  (always,
from now on forever) as follows:
= true

Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

Syntax of LTL
LTL temporal modalities
Intuitive meaning of temporal modalities
LTL semaphore example

LTL temporal modalities


The until operator allows to derive the temporal modalities
(eventually, sometimes in the future) and  (always,
from now on forever) as follows:
S
= true .
 = .

Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

Syntax of LTL
LTL temporal modalities
Intuitive meaning of temporal modalities
LTL semaphore example

LTL temporal modalities


The until operator allows to derive the temporal modalities
(eventually, sometimes in the future) and  (always,
from now on forever) as follows:
S
= true .
 = .

By combining the temporal modalities and , new temporal


modalities are obtained:

Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

Syntax of LTL
LTL temporal modalities
Intuitive meaning of temporal modalities
LTL semaphore example

LTL temporal modalities


The until operator allows to derive the temporal modalities
(eventually, sometimes in the future) and  (always,
from now on forever) as follows:
S
= true .
 = .

By combining the temporal modalities and , new temporal


modalities are obtained:
 - infinitely often .

Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

Syntax of LTL
LTL temporal modalities
Intuitive meaning of temporal modalities
LTL semaphore example

LTL temporal modalities


The until operator allows to derive the temporal modalities
(eventually, sometimes in the future) and  (always,
from now on forever) as follows:
S
= true .
 = .

By combining the temporal modalities and , new temporal


modalities are obtained:
 - infinitely often .

 - eventually forever .
Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

Syntax of LTL
LTL temporal modalities
Intuitive meaning of temporal modalities
LTL semaphore example

LTL temporal modalities


The until operator allows to derive the temporal modalities
(eventually, sometimes in the future) and  (always,
from now on forever) as follows:
S
= true .
 = .

By combining the temporal modalities and , new temporal


modalities are obtained:
 - infinitely often .
at any moment j there is a moment i i j at which an a state
is visited
 - eventually forever .
Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

Syntax of LTL
LTL temporal modalities
Intuitive meaning of temporal modalities
LTL semaphore example

LTL temporal modalities


The until operator allows to derive the temporal modalities
(eventually, sometimes in the future) and  (always,
from now on forever) as follows:
S
= true .
 = .

By combining the temporal modalities and , new temporal


modalities are obtained:
 - infinitely often .
at any moment j there is a moment i i j at which an a state
is visited
 - eventually forever .
from some moment j on, only a-states are visited.
Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

Syntax of LTL
LTL temporal modalities
Intuitive meaning of temporal modalities
LTL semaphore example

Intuitive semantics of temporal modalities


arbitrary

atomic
proposition a

arbitrary

arbitrary

arbitrary

...

next step

arbitrary

arbitrary

arbitrary

arbitrary

...
until

arbitrary

...
eventually

arbitrary

...
always

...

Figure: Intuitive semantics of temporal modalities


Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

Syntax of LTL
LTL temporal modalities
Intuitive meaning of temporal modalities
LTL semaphore example

Semaphore example

Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

Syntax of LTL
LTL temporal modalities
Intuitive meaning of temporal modalities
LTL semaphore example

Semaphore example
((A = green B = green))

B
A

Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

Syntax of LTL
LTL temporal modalities
Intuitive meaning of temporal modalities
LTL semaphore example

Semaphore example
((A = green B = green))
A and B can not be
simultaneously green.

(A = yellow A = red)

B
A

Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

Syntax of LTL
LTL temporal modalities
Intuitive meaning of temporal modalities
LTL semaphore example

Semaphore example
((A = green B = green))
A and B can not be
simultaneously green.

(A = yellow A = red)


If A is yellow eventually will
become red.
B
A

Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

Syntax of LTL
LTL temporal modalities
Intuitive meaning of temporal modalities
LTL semaphore example

Semaphore example
((A = green B = green))
A and B can not be
simultaneously green.

(A = yellow A = red)


If A is yellow eventually will
become red.

(A = yellow (A = red))

B
A

Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

Syntax of LTL
LTL temporal modalities
Intuitive meaning of temporal modalities
LTL semaphore example

Semaphore example
((A = green B = green))
A and B can not be
simultaneously green.

(A = yellow A = red)


If A is yellow eventually will
become red.

(A = yellow (A = red))


If A is yellow then it will be
red into the next state.

Lect. dr. Andreea Vescan

B
A

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

Syntax of LTL
LTL temporal modalities
Intuitive meaning of temporal modalities
LTL semaphore example

Semaphore example
((A = green B = green))
A and B can not be
simultaneously green.

(A = yellow A = red)


If A is yellow eventually will
become red.

(A = yellow (A = red))


If A is yellow then it will be
red into the next state.

((B = green)

B
A

(A = red))

Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

Syntax of LTL
LTL temporal modalities
Intuitive meaning of temporal modalities
LTL semaphore example

Semaphore example
((A = green B = green))
A and B can not be
simultaneously green.

(A = yellow A = red)


If A is yellow eventually will
become red.

(A = yellow (A = red))


If A is yellow then it will be
red into the next state.

((B = green)

B
A

(A = red))

B will not be green until A


changes in red.Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

Syntax of CTL
CTL - state and path formulae
CTL semaphore example

CTL
Construction of CTL formulae:

Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

Syntax of CTL
CTL - state and path formulae
CTL semaphore example

CTL
Construction of CTL formulae:
as in LTL by the next-step and until operators,

Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

Syntax of CTL
CTL - state and path formulae
CTL semaphore example

CTL
Construction of CTL formulae:
as in LTL by the next-step and until operators,
must be not combined with boolean connectives

Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

Syntax of CTL
CTL - state and path formulae
CTL semaphore example

CTL
Construction of CTL formulae:
as in LTL by the next-step and until operators,
must be not combined with boolean connectives
no nesting of temporal modalities is allowed.

Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

Syntax of CTL
CTL - state and path formulae
CTL semaphore example

CTL
Construction of CTL formulae:
as in LTL by the next-step and until operators,
must be not combined with boolean connectives
no nesting of temporal modalities is allowed.

CTL formulae over the set AP of atomic proposition are


formed according to the following grammar:

Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

Syntax of CTL
CTL - state and path formulae
CTL semaphore example

CTL
Construction of CTL formulae:
as in LTL by the next-step and until operators,
must be not combined with boolean connectives
no nesting of temporal modalities is allowed.

CTL formulae over the set AP of atomic proposition are


formed according to the following grammar:
::= true |a|1 2 |||, where a AP and is a
path formula.

Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

Syntax of CTL
CTL - state and path formulae
CTL semaphore example

CTL
Construction of CTL formulae:
as in LTL by the next-step and until operators,
must be not combined with boolean connectives
no nesting of temporal modalities is allowed.

CTL formulae over the set AP of atomic proposition are


formed according to the following grammar:
::= true |a|1 2 |||, where a AP and is a
path formula.
CTL path formulae are formed according to the following
grammar:
Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

Syntax of CTL
CTL - state and path formulae
CTL semaphore example

CTL
Construction of CTL formulae:
as in LTL by the next-step and until operators,
must be not combined with boolean connectives
no nesting of temporal modalities is allowed.

CTL formulae over the set AP of atomic proposition are


formed according to the following grammar:
::= true |a|1 2 |||, where a AP and is a
path formula.
CTL path formulae are formed according to the following
grammar:
S
::= |1 2 , where , 1 and2 are state fromulae.
Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

Syntax of CTL
CTL - state and path formulae
CTL semaphore example

CTL
CTL distinguishes between state formulae and path formulae:

Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

Syntax of CTL
CTL - state and path formulae
CTL semaphore example

CTL
CTL distinguishes between state formulae and path formulae:
State formulae express a property of a state.

Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

Syntax of CTL
CTL - state and path formulae
CTL semaphore example

CTL
CTL distinguishes between state formulae and path formulae:
State formulae express a property of a state.
Path formulae express a property of a path, i.e. an infinite
sequence of states.

Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

Syntax of CTL
CTL - state and path formulae
CTL semaphore example

CTL
CTL distinguishes between state formulae and path formulae:
State formulae express a property of a state.
Path formulae express a property of a path, i.e. an infinite
sequence of states.
S
Temporal PATH operators and

Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

Syntax of CTL
CTL - state and path formulae
CTL semaphore example

CTL
CTL distinguishes between state formulae and path formulae:
State formulae express a property of a state.
Path formulae express a property of a path, i.e. an infinite
sequence of states.
S
Temporal PATH operators and
holds for a path if holds in the next state of the path;

Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

Syntax of CTL
CTL - state and path formulae
CTL semaphore example

CTL
CTL distinguishes between state formulae and path formulae:
State formulae express a property of a state.
Path formulae express a property of a path, i.e. an infinite
sequence of states.
S
Temporal PATH operators and

S holds for a path if holds in the next state of the path;
holds for a path if there is some state along the path for
which holds, and holds in all states prior to that state.

Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

Syntax of CTL
CTL - state and path formulae
CTL semaphore example

CTL
CTL distinguishes between state formulae and path formulae:
State formulae express a property of a state.
Path formulae express a property of a path, i.e. an infinite
sequence of states.
S
Temporal PATH operators and

S holds for a path if holds in the next state of the path;
holds for a path if there is some state along the path for
which holds, and holds in all states prior to that state.
Path formulae state formulae by prefixing them with

Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

Syntax of CTL
CTL - state and path formulae
CTL semaphore example

CTL
CTL distinguishes between state formulae and path formulae:
State formulae express a property of a state.
Path formulae express a property of a path, i.e. an infinite
sequence of states.
S
Temporal PATH operators and

S holds for a path if holds in the next state of the path;
holds for a path if there is some state along the path for
which holds, and holds in all states prior to that state.
Path formulae state formulae by prefixing them with
path quantifier (pronounced for some path);

Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

Syntax of CTL
CTL - state and path formulae
CTL semaphore example

CTL
CTL distinguishes between state formulae and path formulae:
State formulae express a property of a state.
Path formulae express a property of a path, i.e. an infinite
sequence of states.
S
Temporal PATH operators and

S holds for a path if holds in the next state of the path;
holds for a path if there is some state along the path for
which holds, and holds in all states prior to that state.
Path formulae state formulae by prefixing them with
path quantifier (pronounced for some path);

Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

Syntax of CTL
CTL - state and path formulae
CTL semaphore example

CTL
CTL distinguishes between state formulae and path formulae:
State formulae express a property of a state.
Path formulae express a property of a path, i.e. an infinite
sequence of states.
S
Temporal PATH operators and

S holds for a path if holds in the next state of the path;
holds for a path if there is some state along the path for
which holds, and holds in all states prior to that state.
Path formulae state formulae by prefixing them with
path quantifier (pronounced for some path);
- holds in a state if there exists some path satisfying that
starts in that state.
path quantifier (pronounced for all paths.)
Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

Syntax of CTL
CTL - state and path formulae
CTL semaphore example

CTL
CTL distinguishes between state formulae and path formulae:
State formulae express a property of a state.
Path formulae express a property of a path, i.e. an infinite
sequence of states.
S
Temporal PATH operators and

S holds for a path if holds in the next state of the path;
holds for a path if there is some state along the path for
which holds, and holds in all states prior to that state.
Path formulae state formulae by prefixing them with
path quantifier (pronounced for some path);
- holds in a state if there exists some path satisfying that
starts in that state.
path quantifier (pronounced for all paths.)
Lect.
Validation
-holds
indr.a Andreea
state Vescan
if all pathsSoftware
thatSystems
start Verification
in that and
state
satisfy .

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

Syntax of CTL
CTL - state and path formulae
CTL semaphore example

Semaphore example

Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

Syntax of CTL
CTL - state and path formulae
CTL semaphore example

Semaphore example
(B = yellow (B =
red)).
B
A

Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

Syntax of CTL
CTL - state and path formulae
CTL semaphore example

Semaphore example
(B = yellow (B =
red)).
If B is yellow, it will become
(sometime in the future) red.

B
A

Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

Next lecture

Next lecture

CMM

Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

Questions

Questions

Thank You For Your Attention!

Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

Questions

Questions

Thank You For Your Attention!

Lect. dr. Andreea Vescan

Software Systems Verification and Validation

Outline
System verification
Model checking
Transition system
Linear-Time Properties
Temporal Logic
Linear-Time Logic
Computation Tree Logic
Next lecture
Questions
References

References I

Lect. dr. Andreea Vescan

Software Systems Verification and Validation

S-ar putea să vă placă și