Soundness of the Quasi-Synchronous Abstraction Guillaume Baudart - - PowerPoint PPT Presentation

soundness of the quasi synchronous abstraction
SMART_READER_LITE
LIVE PREVIEW

Soundness of the Quasi-Synchronous Abstraction Guillaume Baudart - - PowerPoint PPT Presentation

Soundness of the Quasi-Synchronous Abstraction Guillaume Baudart Timothy Bourke Marc Pouzet cole normale suprieure, INRIA Paris, UPMC FMCAD16 Mountain View, 06-10-2016 Distributed Embedded Systems Distributed controllers for critical


slide-1
SLIDE 1

Soundness of the Quasi-Synchronous Abstraction

Guillaume Baudart Timothy Bourke Marc Pouzet

École normale supérieure, INRIA Paris, UPMC

FMCAD’16 Mountain View, 06-10-2016

slide-2
SLIDE 2

switch

Distributed Embedded Systems

Distributed controllers for critical embedded systems

2

Actuators Sensors Sensors Transfer Switch

Example from [Miller et al. 2015]

FGS FGS

cmd1 cmd2 sensor1 sensor2 cmd

Example: Flight Control System
 Generate pitch and roll guidance commands

slide-3
SLIDE 3

switch

Distributed Embedded Systems

Distributed controllers for critical embedded systems

2

Actuators Sensors Sensors Transfer Switch

Example from [Miller et al. 2015]

FGS FGS

cmd1 cmd2 sensor1 sensor2 cmd

Two redundant Flight Guidance Systems
 Only one active side (pilot side) Example: Flight Control System
 Generate pitch and roll guidance commands

slide-4
SLIDE 4

switch

Distributed Embedded Systems

Distributed controllers for critical embedded systems

2

Actuators Sensors Sensors Transfer Switch

Example from [Miller et al. 2015]

FGS FGS

cmd1 cmd2 sensor1 sensor2 cmd

Two redundant Flight Guidance Systems
 Only one active side (pilot side) Crew can switch from one to the other Example: Flight Control System
 Generate pitch and roll guidance commands

slide-5
SLIDE 5

switch

Distributed Embedded Systems

Distributed controllers for critical embedded systems

2

Actuators Sensors Sensors Transfer Switch

Example from [Miller et al. 2015]

FGS FGS

cmd1 cmd2 sensor1 sensor2 cmd

Two redundant Flight Guidance Systems
 Only one active side (pilot side) Crew can switch from one to the other Example: Flight Control System
 Generate pitch and roll guidance commands

slide-6
SLIDE 6

switch

Distributed Embedded Systems

Distributed controllers for critical embedded systems

2

Actuators Sensors Sensors Transfer Switch

Example from [Miller et al. 2015]

FGS FGS

cmd1 cmd2 sensor1 sensor2 cmd

Two redundant Flight Guidance Systems
 Only one active side (pilot side) Crew can switch from one to the other Example: Flight Control System
 Generate pitch and roll guidance commands The two modules must share their state to avoid control glitch

slide-7
SLIDE 7

switch

Distributed Embedded Systems

Distributed controllers for critical embedded systems

2

Actuators Sensors Sensors Transfer Switch

Example from [Miller et al. 2015]

FGS FGS

cmd1 cmd2 sensor1 sensor2 cmd

Two redundant Flight Guidance Systems
 Only one active side (pilot side) Crew can switch from one to the other Example: Flight Control System
 Generate pitch and roll guidance commands Run embedded application... The two modules must share their state to avoid control glitch

slide-8
SLIDE 8

switch

Distributed Embedded Systems

Distributed controllers for critical embedded systems

2

Actuators Sensors Sensors Transfer Switch

Example from [Miller et al. 2015]

FGS FGS

cmd1 cmd2 sensor1 sensor2 cmd

Two redundant Flight Guidance Systems
 Only one active side (pilot side) Crew can switch from one to the other Example: Flight Control System
 Generate pitch and roll guidance commands Run embedded application... ...on distributed architectures The two modules must share their state to avoid control glitch

slide-9
SLIDE 9

A B

  • For each process: known bounds for

the time between two activations.
 
 
 clock activations

  • Buffered communication without

message inversion or loss

  • Bounded communication delay

C D

0 ≤ τmin ≤ τ ≤ τmax 0 ≤ Tmin ≤ κi − κi−1 ≤ Tmax (κi)i∈N For each process, activations are triggered by a local clock Execution: infinite sequence of activations

Synchronous Real-Time Model

3

slide-10
SLIDE 10

A B

  • For each process: known bounds for

the time between two activations.
 
 
 clock activations

  • Buffered communication without

message inversion or loss

  • Bounded communication delay

C D

0 ≤ τmin ≤ τ ≤ τmax 0 ≤ Tmin ≤ κi − κi−1 ≤ Tmax (κi)i∈N For each process, activations are triggered by a local clock Execution: infinite sequence of activations

Synchronous Real-Time Model

3

slide-11
SLIDE 11

A B

  • For each process: known bounds for

the time between two activations.
 
 
 clock activations

  • Buffered communication without

message inversion or loss

  • Bounded communication delay

C D

0 ≤ τmin ≤ τ ≤ τmax 0 ≤ Tmin ≤ κi − κi−1 ≤ Tmax (κi)i∈N For each process, activations are triggered by a local clock Execution: infinite sequence of activations

Synchronous Real-Time Model

3

slide-12
SLIDE 12

A B

  • For each process: known bounds for

the time between two activations.
 
 
 clock activations

  • Buffered communication without

message inversion or loss

  • Bounded communication delay

C D

0 ≤ τmin ≤ τ ≤ τmax 0 ≤ Tmin ≤ κi − κi−1 ≤ Tmax (κi)i∈N For each process, activations are triggered by a local clock Execution: infinite sequence of activations

Synchronous Real-Time Model

3

slide-13
SLIDE 13

A B

  • For each process: known bounds for

the time between two activations.
 
 
 clock activations

  • Buffered communication without

message inversion or loss

  • Bounded communication delay

C D

0 ≤ τmin ≤ τ ≤ τmax 0 ≤ Tmin ≤ κi − κi−1 ≤ Tmax (κi)i∈N For each process, activations are triggered by a local clock Execution: infinite sequence of activations

Synchronous Real-Time Model

3

slide-14
SLIDE 14

Overview

VERIMAG

UNITE MIXTE DE RECHERCHE Centre Equation 2 avenue de Vignate 38610 GIERES
  • Tel. +33 4 76 63 48 48
Fax +33 4 76 63 48 50 Universite Joseph Fourier Centre National de la Recherche Scientifique Institut National Polytechnique de Grenoble

4

Industrial practices observed at Airbus

[Caspi 2000]

slide-15
SLIDE 15

Overview

VERIMAG

UNITE MIXTE DE RECHERCHE Centre Equation 2 avenue de Vignate 38610 GIERES
  • Tel. +33 4 76 63 48 48
Fax +33 4 76 63 48 50 Universite Joseph Fourier Centre National de la Recherche Scientifique Institut National Polytechnique de Grenoble

Verification

Verifying safety critical applications running on quasi-periodic architectures Quasi-Synchronous Abstraction

4

Industrial practices observed at Airbus

[Caspi 2000]

slide-16
SLIDE 16

ACSD'06

Overview

VERIMAG

UNITE MIXTE DE RECHERCHE Centre Equation 2 avenue de Vignate 38610 GIERES
  • Tel. +33 4 76 63 48 48
Fax +33 4 76 63 48 50 Universite Joseph Fourier Centre National de la Recherche Scientifique Institut National Polytechnique de Grenoble

Verification

Verifying safety critical applications running on quasi-periodic architectures Quasi-Synchronous Abstraction

Verimag'08 DASC'14 Memocode'14 Memocode'15 Air Force'15

4

Industrial practices observed at Airbus

[Caspi 2000]

slide-17
SLIDE 17

ACSD'06

Overview

VERIMAG

UNITE MIXTE DE RECHERCHE Centre Equation 2 avenue de Vignate 38610 GIERES
  • Tel. +33 4 76 63 48 48
Fax +33 4 76 63 48 50 Universite Joseph Fourier Centre National de la Recherche Scientifique Institut National Polytechnique de Grenoble

Verification

Verifying safety critical applications running on quasi-periodic architectures Quasi-Synchronous Abstraction

Verimag'08 DASC'14 Memocode'14 Memocode'15 Air Force'15

4

Contributions Abstraction is not sound in general Give exact conditions of application

Industrial practices observed at Airbus

[Caspi 2000]

slide-18
SLIDE 18

Discrete-time Model (DT)

A B

TA TB

0 < Tmin ≤ TA, TB ≤ Tmax 0 < τmin ≤ τA, τB ≤ τmax

τA τB

A B

A B

Scheduler

cA cB

A B

The Big Picture

Real-time Model (RT)

5

slide-19
SLIDE 19

Discrete-time Model (DT)

A B

TA TB

0 < Tmin ≤ TA, TB ≤ Tmax 0 < τmin ≤ τA, τB ≤ τmax

τA τB

A B

A B

Scheduler

cA cB

A B

The Big Picture

Real-time Model (RT)

5

slide-20
SLIDE 20

Discrete-time Model (DT)

A B

TA TB

0 < Tmin ≤ TA, TB ≤ Tmax 0 < τmin ≤ τA, τB ≤ τmax

τA τB

A B

A B

Scheduler

cA cB

A B

The Big Picture

Real-time Model (RT)

Soundness

DT | = ϕ. l, RT | = ϕ

5

slide-21
SLIDE 21

Discrete-time Model (DT)

A B

TA TB

0 < Tmin ≤ TA, TB ≤ Tmax 0 < τmin ≤ τA, τB ≤ τmax

τA τB

A B

A B

Scheduler

cA cB

A B

The Big Picture

Real-time Model (RT)

Soundness

DT | = ϕ. l, RT | = ϕ Why discretize?

Verification in a simpler discrete-time model Use discrete-time model checking tools (Lesar-Verimag, Kind2-UIowa)

[Halbwachs et al 1992] [Hagen, Tinelli 2008]

5

slide-22
SLIDE 22

Abstracting Real Time

6

slide-23
SLIDE 23

Abstracting Real Time

Abstracting execution time

6

slide-24
SLIDE 24

Abstracting Real Time

Abstracting execution time

τexec τsend

6

slide-25
SLIDE 25

Abstracting Real Time

Abstracting execution time

τexec τsend τ = τexec + τsend

6

slide-26
SLIDE 26

Abstracting Real Time

Abstracting execution time

6

slide-27
SLIDE 27

7

Abstracting Real Time

Abstracting execution time

slide-28
SLIDE 28

Abstracting communication

7

Abstracting Real Time

Abstracting execution time

slide-29
SLIDE 29

Abstracting communication

7

Abstracting Real Time

Abstracting execution time

slide-30
SLIDE 30

Abstracting communication

7

Abstracting Real Time

Abstracting execution time

slide-31
SLIDE 31

Abstracting communication Problems:

  • Lots of possible interleavings
  • T
  • o general

7

Abstracting Real Time

Abstracting execution time

slide-32
SLIDE 32

Abstracting communication Problems:

  • Lots of possible interleavings
  • T
  • o general

Can we do better using real-time assumptions?

7

Abstracting Real Time

Abstracting execution time

slide-33
SLIDE 33

The Quasi-Synchronous Abstraction

“It is not the case that a component process executes more than twice between two successive executions of another process.” Focus on 'almost' synchronous architectures with fast transmissions

8

slide-34
SLIDE 34

The Quasi-Synchronous Abstraction

Reduce the state-space in two ways:

“It is not the case that a component process executes more than twice between two successive executions of another process.” Focus on 'almost' synchronous architectures with fast transmissions

8

slide-35
SLIDE 35

The Quasi-Synchronous Abstraction

Reduce the state-space in two ways:

“It is not the case that a component process executes more than twice between two successive executions of another process.” Focus on 'almost' synchronous architectures with fast transmissions

  • 1. Transmissions as unit delays 


(one step of the logical clock)

8

slide-36
SLIDE 36

The Quasi-Synchronous Abstraction

Reduce the state-space in two ways:

“It is not the case that a component process executes more than twice between two successive executions of another process.” Focus on 'almost' synchronous architectures with fast transmissions

  • 1. Transmissions as unit delays 


(one step of the logical clock)

8

slide-37
SLIDE 37

The Quasi-Synchronous Abstraction

Reduce the state-space in two ways:

“It is not the case that a component process executes more than twice between two successive executions of another process.” Focus on 'almost' synchronous architectures with fast transmissions

  • 1. Transmissions as unit delays 


(one step of the logical clock)

8

slide-38
SLIDE 38

The Quasi-Synchronous Abstraction

Reduce the state-space in two ways:

“It is not the case that a component process executes more than twice between two successive executions of another process.” Focus on 'almost' synchronous architectures with fast transmissions

  • 1. Transmissions as unit delays 


(one step of the logical clock)

8

Replace transmission with precedence

slide-39
SLIDE 39

The Quasi-Synchronous Abstraction

Reduce the state-space in two ways:

“It is not the case that a component process executes more than twice between two successive executions of another process.” Focus on 'almost' synchronous architectures with fast transmissions

  • 1. Transmissions as unit delays 


(one step of the logical clock) A process is at most twice as fast as another

  • 2. Limit activations interleavings

8

Replace transmission with precedence

slide-40
SLIDE 40

The Quasi-Synchronous Abstraction

Reduce the state-space in two ways:

“It is not the case that a component process executes more than twice between two successive executions of another process.” Focus on 'almost' synchronous architectures with fast transmissions

  • 1. Transmissions as unit delays 


(one step of the logical clock) A process is at most twice as fast as another

  • 2. Limit activations interleavings

8

Replace transmission with precedence

Is this abstraction sound?

slide-41
SLIDE 41

Unitary Discretization

τmax τmax τmax

Theorem: A real-time model with more than two processes is, in general, not unitary discretizable. Always possible if transmissions are not instantaneous

9

Definition: A trace is unitary discretizable if there exist a discretization where transmission can be modeled as unit-delays

slide-42
SLIDE 42

Unitary Discretization

τmax τmax τmax

Theorem: A real-time model with more than two processes is, in general, not unitary discretizable. Always possible if transmissions are not instantaneous

9

Definition: A trace is unitary discretizable if there exist a discretization where transmission can be modeled as unit-delays

slide-43
SLIDE 43

Unitary Discretization

τmax τmax τmax

Theorem: A real-time model with more than two processes is, in general, not unitary discretizable. Always possible if transmissions are not instantaneous

9

Definition: A trace is unitary discretizable if there exist a discretization where transmission can be modeled as unit-delays

slide-44
SLIDE 44

Unitary Discretization

τmax τmax τmax

Theorem: A real-time model with more than two processes is, in general, not unitary discretizable. Always possible if transmissions are not instantaneous

9

Definition: A trace is unitary discretizable if there exist a discretization where transmission can be modeled as unit-delays

slide-45
SLIDE 45

Unitary Discretization

τmax τmax τmax

Theorem: A real-time model with more than two processes is, in general, not unitary discretizable. Always possible if transmissions are not instantaneous

9

Definition: A trace is unitary discretizable if there exist a discretization where transmission can be modeled as unit-delays

slide-46
SLIDE 46

Unitary Discretization

τmax τmax τmax

Theorem: A real-time model with more than two processes is, in general, not unitary discretizable. Always possible if transmissions are not instantaneous

9

Definition: A trace is unitary discretizable if there exist a discretization where transmission can be modeled as unit-delays

slide-47
SLIDE 47

Unitary Discretization

τmax τmax τmax

Theorem: A real-time model with more than two processes is, in general, not unitary discretizable. Always possible if transmissions are not instantaneous

9

Definition: A trace is unitary discretizable if there exist a discretization where transmission can be modeled as unit-delays

slide-48
SLIDE 48

Unitary Discretization

τmax τmax τmax

Theorem: A real-time model with more than two processes is, in general, not unitary discretizable. Always possible if transmissions are not instantaneous

9

Definition: A trace is unitary discretizable if there exist a discretization where transmission can be modeled as unit-delays

slide-49
SLIDE 49

Unitary Discretization

τmax τmax τmax

Theorem: A real-time model with more than two processes is, in general, not unitary discretizable. Always possible if transmissions are not instantaneous

9

Definition: A trace is unitary discretizable if there exist a discretization where transmission can be modeled as unit-delays

slide-50
SLIDE 50

Unitary Discretization

τmax τmax τmax

Theorem: A real-time model with more than two processes is, in general, not unitary discretizable. Always possible if transmissions are not instantaneous

9

Some traces are not captured by the discrete abstraction Definition: A trace is unitary discretizable if there exist a discretization where transmission can be modeled as unit-delays

slide-51
SLIDE 51

Trace Graph

10

x 1 − → y = ⇒ f(x) < f(y) x 0 − → y = ⇒ f(x) ≤ f(y) x y x y Gather all contraints on the unitary discretization f in a weighted graph After reception Before reception

slide-52
SLIDE 52

Trace Graph

10

x 1 − → y = ⇒ f(x) < f(y) x 0 − → y = ⇒ f(x) ≤ f(y) x y x y Gather all contraints on the unitary discretization f in a weighted graph After reception Before reception Lemma: A trace is unitary discretizable if and only if there is no cycle of positive weight in the associated trace graph. Definition: A real-time model is unitary discretizable if all possible traces are unitary discretizable.

slide-53
SLIDE 53

Trace Graph

10

x 1 − → y = ⇒ f(x) < f(y) x 0 − → y = ⇒ f(x) ≤ f(y) x y x y Gather all contraints on the unitary discretization f in a weighted graph After reception Before reception Lemma: A trace is unitary discretizable if and only if there is no cycle of positive weight in the associated trace graph.

τmax

τmax τmax

Definition: A real-time model is unitary discretizable if all possible traces are unitary discretizable.

slide-54
SLIDE 54

Trace Graph

10

x 1 − → y = ⇒ f(x) < f(y) x 0 − → y = ⇒ f(x) ≤ f(y) x y x y Gather all contraints on the unitary discretization f in a weighted graph After reception Before reception Lemma: A trace is unitary discretizable if and only if there is no cycle of positive weight in the associated trace graph.

τmax

τmax τmax

1

Definition: A real-time model is unitary discretizable if all possible traces are unitary discretizable.

slide-55
SLIDE 55

Trace Graph

10

x 1 − → y = ⇒ f(x) < f(y) x 0 − → y = ⇒ f(x) ≤ f(y) x y x y Gather all contraints on the unitary discretization f in a weighted graph After reception Before reception Lemma: A trace is unitary discretizable if and only if there is no cycle of positive weight in the associated trace graph.

τmax

τmax τmax

1

Definition: A real-time model is unitary discretizable if all possible traces are unitary discretizable.

slide-56
SLIDE 56

Trace Graph

10

x 1 − → y = ⇒ f(x) < f(y) x 0 − → y = ⇒ f(x) ≤ f(y) x y x y Gather all contraints on the unitary discretization f in a weighted graph After reception Before reception Lemma: A trace is unitary discretizable if and only if there is no cycle of positive weight in the associated trace graph.

τmax

τmax τmax

1

Definition: A real-time model is unitary discretizable if all possible traces are unitary discretizable.

slide-57
SLIDE 57

Recovering Soundness

11

A B D C A B C A B D C Forbidden topologies in the static communication graph

u-cycle balanced u-cycle cycle

slide-58
SLIDE 58

Recovering Soundness

11

A B D C A B C A B D C Forbidden topologies in the static communication graph

u-cycle balanced u-cycle cycle

slide-59
SLIDE 59

Recovering Soundness

11

A B D C A B C A B D C Forbidden topologies in the static communication graph

u-cycle balanced u-cycle cycle

can be allowed at the cost of additional timing constraints

slide-60
SLIDE 60

Recovering Soundness

11

A B D C A B C A B D C Forbidden topologies in the static communication graph

u-cycle balanced u-cycle cycle

can be allowed at the cost of additional timing constraints Theorem: A quasi-periodic architecture is unitary discretizable if and only if, in the communication graph


  • 1. All u-cycles are cycles of balanced u-cycle, or , and
  • 2. There is no balanced u-cycle, or , and
  • 3. There is no cycle in the communication graph, or

Lc: size of the longest elementary cycle τmin = τmax Tmin ≥ Lcτmax τmax = 0

slide-61
SLIDE 61

A B C D E

Proof: If there is a u-cycle, construction of a counter-example

A B C D E

Communications

Recovering Soundness

12

slide-62
SLIDE 62

A B C D E

Proof: If there is a u-cycle, construction of a counter-example

A B C D E

Communications q = 3: # p = 2: #

Recovering Soundness

12

slide-63
SLIDE 63

A B C D E

Proof: If there is a u-cycle, construction of a counter-example

A B C D E

Communications q = 3: # p = 2: #

q > p = ⇒ ε = (qτmax − pτmin)/q > 0

Recovering Soundness

12

slide-64
SLIDE 64

A B C D E

Proof: If there is a u-cycle, construction of a counter-example

A B C D E

Communications q = 3: # p = 2: #

q > p = ⇒ ε = (qτmax − pτmin)/q > 0

Recovering Soundness

12

slide-65
SLIDE 65

A B C D E

Proof: If there is a u-cycle, construction of a counter-example

A B C D E

Communications q = 3: # p = 2: #

q > p = ⇒ ε = (qτmax − pτmin)/q > 0

τmin

Recovering Soundness

12

slide-66
SLIDE 66

A B C D E

Proof: If there is a u-cycle, construction of a counter-example

A B C D E

Communications q = 3: # p = 2: #

q > p = ⇒ ε = (qτmax − pτmin)/q > 0

τmin

1

Recovering Soundness

12

slide-67
SLIDE 67

A B C D E

Proof: If there is a u-cycle, construction of a counter-example

A B C D E

Communications q = 3: # p = 2: #

q > p = ⇒ ε = (qτmax − pτmin)/q > 0

τmin τmin

1

Recovering Soundness

12

slide-68
SLIDE 68

A B C D E

Proof: If there is a u-cycle, construction of a counter-example

A B C D E

Communications q = 3: # p = 2: #

q > p = ⇒ ε = (qτmax − pτmin)/q > 0

τmin

1

τmin

1

Recovering Soundness

12

slide-69
SLIDE 69

A B C D E

Proof: If there is a u-cycle, construction of a counter-example

A B C D E

Communications q = 3: # p = 2: #

q > p = ⇒ ε = (qτmax − pτmin)/q > 0 ε

τmax τmin

1

τmin

1

Recovering Soundness

12

slide-70
SLIDE 70

A B C D E

Proof: If there is a u-cycle, construction of a counter-example

A B C D E

Communications q = 3: # p = 2: #

q > p = ⇒ ε = (qτmax − pτmin)/q > 0 ε

τmax τmin

1

τmin

1

Recovering Soundness

12

slide-71
SLIDE 71

A B C D E

ε

τmax

Proof: If there is a u-cycle, construction of a counter-example

A B C D E

Communications q = 3: # p = 2: #

q > p = ⇒ ε = (qτmax − pτmin)/q > 0 ε

τmax τmin

1

τmin

1

Recovering Soundness

12

slide-72
SLIDE 72

A B C D E

ε

τmax

Proof: If there is a u-cycle, construction of a counter-example

A B C D E

Communications q = 3: # p = 2: #

q > p = ⇒ ε = (qτmax − pτmin)/q > 0 ε

τmax τmin

1

τmin

1

Recovering Soundness

12

slide-73
SLIDE 73

A B C D E

ε

τmax

Proof: If there is a u-cycle, construction of a counter-example

A B C D E

Communications q = 3: # p = 2: #

q > p = ⇒ ε = (qτmax − pτmin)/q > 0

τmax

ε

ε

τmax τmin

1

τmin

1

Recovering Soundness

12

slide-74
SLIDE 74

A B C D E

ε

τmax

Proof: If there is a u-cycle, construction of a counter-example

A B C D E

Communications q = 3: # p = 2: #

q > p = ⇒ ε = (qτmax − pτmin)/q > 0

τmax

ε

ε

τmax τmin

1

τmin

1

Recovering Soundness

12

slide-75
SLIDE 75

A B C D E

ε

τmax

Proof: If there is a u-cycle, construction of a counter-example

A B C D E

Communications q = 3: # p = 2: #

q > p = ⇒ ε = (qτmax − pτmin)/q > 0

τmax

ε We built a cycle of positive weight!

ε

τmax τmin

1

τmin

1

Recovering Soundness

12

slide-76
SLIDE 76

Proof: On the other hand, by contraposition,

Recovering Soundness

13

slide-77
SLIDE 77

Proof: On the other hand, by contraposition, PC/u-cycle

Recovering Soundness

13

slide-78
SLIDE 78

Proof: On the other hand, by contraposition, PC/u-cycle cycle cycle

Recovering Soundness

13

slide-79
SLIDE 79

Proof: On the other hand, by contraposition, PC/u-cycle cycle cycle balanced balanced

Recovering Soundness

13

slide-80
SLIDE 80

Proof: On the other hand, by contraposition, PC/u-cycle cycle cycle balanced balanced

Recovering Soundness

13

+1 =

τmax = 0

slide-81
SLIDE 81

Proof: On the other hand, by contraposition, PC/u-cycle cycle cycle balanced balanced Condition 1.

Recovering Soundness

13

+1 =

τmax = 0

slide-82
SLIDE 82

Proof: On the other hand, by contraposition, PC/u-cycle cycle cycle balanced balanced

+1 =

τmin < τmax Condition 1.

Recovering Soundness

13

+1 =

τmax = 0

slide-83
SLIDE 83

Proof: On the other hand, by contraposition, PC/u-cycle cycle cycle balanced balanced

+1 =

τmin < τmax Condition 2. Condition 1.

Recovering Soundness

13

+1 =

τmax = 0

slide-84
SLIDE 84

Proof: On the other hand, by contraposition, PC/u-cycle cycle cycle balanced balanced

+1 =

Tmin ≥ Lcτmax

+1 =

τmin < τmax Condition 2. Condition 1.

Recovering Soundness

13

+1 =

τmax = 0

slide-85
SLIDE 85

Proof: On the other hand, by contraposition, PC/u-cycle cycle cycle balanced balanced Condition 3.

+1 =

Tmin ≥ Lcτmax

+1 =

τmin < τmax Condition 2. Condition 1.

Recovering Soundness

13

+1 =

τmax = 0

slide-86
SLIDE 86

A B C D

A B C D E F

A B C D E A B C D E A B C D E daisy chain: Tmin ≥ 2τmax star: Tmin ≥ 2τmax unidirectional ring: Tmin ≥ 5τmax bidirectional ring: τmax = 0 fully connected: τmax = 0

Topology Examples

14

Communications of the application

slide-87
SLIDE 87

A B C D

A B C D E F

A B C D E A B C D E A B C D E daisy chain: Tmin ≥ 2τmax star: Tmin ≥ 2τmax unidirectional ring: Tmin ≥ 5τmax bidirectional ring: τmax = 0 fully connected: τmax = 0

Require instantaneous communications

Topology Examples

14

Communications of the application

slide-88
SLIDE 88

Quasi-Synchronous Systems

15

“It is not the case that a component process executes more than twice between two successive executions of another process.” For any node:

  • 1. no more than 2 activations between 2 message receptions
  • 2. no more than 2 message receptions between two activations

Condition 1. Condition 2.

slide-89
SLIDE 89

Quasi-Synchronous Systems

16

“It is not the case that a component process executes more than twice between two successive executions of another process.” Theorem: A real-time model is quasi-synchronous if and only if,


  • 1. it is unitary discretizable
  • 2. coucou

2Tmin + τmin ≥ Tmax + τmax

slide-90
SLIDE 90

Quasi-Synchronous Systems

16

“It is not the case that a component process executes more than twice between two successive executions of another process.” Theorem: A real-time model is quasi-synchronous if and only if,


  • 1. it is unitary discretizable
  • 2. coucou

2Tmin + τmin ≥ Tmax + τmax Worst-case scenario

slide-91
SLIDE 91

Quasi-Synchronous Systems

16

“It is not the case that a component process executes more than twice between two successive executions of another process.” Theorem: A real-time model is quasi-synchronous if and only if,


  • 1. it is unitary discretizable
  • 2. coucou

2Tmin + τmin ≥ Tmax + τmax

τmin

Worst-case scenario

slide-92
SLIDE 92

Quasi-Synchronous Systems

16

“It is not the case that a component process executes more than twice between two successive executions of another process.” Theorem: A real-time model is quasi-synchronous if and only if,


  • 1. it is unitary discretizable
  • 2. coucou

2Tmin + τmin ≥ Tmax + τmax

Tmax τmax τmin

Worst-case scenario

slide-93
SLIDE 93

Quasi-Synchronous Systems

16

“It is not the case that a component process executes more than twice between two successive executions of another process.” Theorem: A real-time model is quasi-synchronous if and only if,


  • 1. it is unitary discretizable
  • 2. coucou

2Tmin + τmin ≥ Tmax + τmax

Tmax τmax τmin

Worst-case scenario

slide-94
SLIDE 94

Quasi-Synchronous Systems

16

“It is not the case that a component process executes more than twice between two successive executions of another process.” Theorem: A real-time model is quasi-synchronous if and only if,


  • 1. it is unitary discretizable
  • 2. coucou

2Tmin + τmin ≥ Tmax + τmax

Tmax τmax τmin Tmin Tmin

Worst-case scenario

slide-95
SLIDE 95

Conclusion

17

The quasi-synchronous abstraction:

  • 1. Model transmission as unit delays
  • 2. Constrain node activations interleavings

Contributions:

  • Condition 1 is not sound in general
  • Notion of unitary discretization
  • Necessary and sufficient conditions to recover soundness
  • Characterization of quasi-synchronous systems

Constrain both the communication graph and the real-time characteristics of the architecture to recover soundness of the quasi-synchronous abstraction.