Soundness of the Quasi-Synchronous Abstraction...Soundness of the Quasi-Synchronous Abstraction...

Preview:

Citation preview

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

switch

Distributed Embedded SystemsDistributed 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 SystemGenerate pitch and roll guidance commands

switch

Distributed Embedded SystemsDistributed 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 SystemGenerate pitch and roll guidance commands

switch

Distributed Embedded SystemsDistributed 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 SystemGenerate pitch and roll guidance commands

switch

Distributed Embedded SystemsDistributed 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 SystemGenerate pitch and roll guidance commands

switch

Distributed Embedded SystemsDistributed 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 SystemGenerate pitch and roll guidance commands

The two modules must share their state to avoid control glitch

switch

Distributed Embedded SystemsDistributed 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 SystemGenerate pitch and roll guidance commands

Run embedded application...

The two modules must share their state to avoid control glitch

switch

Distributed Embedded SystemsDistributed 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 SystemGenerate pitch and roll guidance commands

Run embedded application......on distributed architectures

The two modules must share their state to avoid control glitch

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 CD

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

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 CD

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

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 CD

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

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 CD

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

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 CD

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

OverviewVERIMAGUNITE MIXTE DE RECHERCHE

Centre Equation2 avenue de Vignate38610 GIERESTel. +33 4 76 63 48 48Fax +33 4 76 63 48 50

Universite Joseph FourierCentre National de la Recherche Scientifique Institut National Polytechnique de Grenoble

4

Industrial practices observed at Airbus

[Caspi 2000]

OverviewVERIMAGUNITE MIXTE DE RECHERCHE

Centre Equation2 avenue de Vignate38610 GIERESTel. +33 4 76 63 48 48Fax +33 4 76 63 48 50

Universite Joseph FourierCentre 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]

ACSD'06

OverviewVERIMAGUNITE MIXTE DE RECHERCHE

Centre Equation2 avenue de Vignate38610 GIERESTel. +33 4 76 63 48 48Fax +33 4 76 63 48 50

Universite Joseph FourierCentre National de la Recherche Scientifique Institut National Polytechnique de Grenoble

Verification Verifying safety critical applications running on quasi-periodic architectures

Quasi-Synchronous Abstraction

Verimag'08DASC'14

Memocode'14Memocode'15

Air Force'15

4

Industrial practices observed at Airbus

[Caspi 2000]

ACSD'06

OverviewVERIMAGUNITE MIXTE DE RECHERCHE

Centre Equation2 avenue de Vignate38610 GIERESTel. +33 4 76 63 48 48Fax +33 4 76 63 48 50

Universite Joseph FourierCentre National de la Recherche Scientifique Institut National Polytechnique de Grenoble

Verification Verifying safety critical applications running on quasi-periodic architectures

Quasi-Synchronous Abstraction

Verimag'08DASC'14

Memocode'14Memocode'15

Air Force'15

4

Contributions

Abstraction is not sound in general

Give exact conditions of application

Industrial practices observed at Airbus

[Caspi 2000]

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

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

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

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

Abstracting Real Time

6

Abstracting Real TimeAbstracting execution time

6

Abstracting Real TimeAbstracting execution time

τexec

τsend

6

Abstracting Real TimeAbstracting execution time

τexec

τsend

τ = τexec + τsend

6

Abstracting Real TimeAbstracting execution time

6

7

Abstracting Real TimeAbstracting execution time

Abstracting communication

7

Abstracting Real TimeAbstracting execution time

Abstracting communication

7

Abstracting Real TimeAbstracting execution time

Abstracting communication

7

Abstracting Real TimeAbstracting execution time

Abstracting communicationProblems: • Lots of possible interleavings • Too general

7

Abstracting Real TimeAbstracting execution time

Abstracting communicationProblems: • Lots of possible interleavings • Too general

Can we do better using real-time assumptions?

7

Abstracting Real TimeAbstracting execution time

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

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

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

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

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

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

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

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?

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

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

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

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

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

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

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

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

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

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

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

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.

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

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

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.

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

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

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

0

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

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-cyclecycle

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-cyclecycle

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-cyclecycle

can be allowed at the cost of additional timing constraints

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-cyclecycle

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

A

B

C

D

E

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

A

B

C

DE

Communications

Recovering Soundness

12

A

B

C

D

E

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

A

B

C

DE

Communications

q = 3: # p = 2: #

Recovering Soundness

12

A

B

C

D

E

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

A

B

C

DE

Communications

q = 3: # p = 2: #

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

Recovering Soundness

12

A

B

C

D

E

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

A

B

C

DE

Communications

q = 3: # p = 2: #

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

Recovering Soundness

12

A

B

C

D

E

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

A

B

C

DE

Communications

q = 3: # p = 2: #

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

τmin

Recovering Soundness

12

A

B

C

D

E

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

A

B

C

DE

Communications

q = 3: # p = 2: #

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

τmin

1

Recovering Soundness

12

A

B

C

D

E

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

A

B

C

DE

Communications

q = 3: # p = 2: #

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

τmin

τmin

1

Recovering Soundness

12

A

B

C

D

E

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

A

B

C

DE

Communications

q = 3: # p = 2: #

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

τmin

1

τmin

1

Recovering Soundness

12

A

B

C

D

E

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

A

B

C

DE

Communications

q = 3: # p = 2: #

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

⇒ ε = (

τmax

τmin

1

τmin

1

Recovering Soundness

12

A

B

C

D

E

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

A

B

C

DE

Communications

q = 3: # p = 2: #

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

⇒ ε = (

τmax0

τmin

1

τmin

1

Recovering Soundness

12

A

B

C

D

E

⇒ ε = (

τmax

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

A

B

C

DE

Communications

q = 3: # p = 2: #

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

⇒ ε = (

τmax0

τmin

1

τmin

1

Recovering Soundness

12

A

B

C

D

E

⇒ ε = (

τmax

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

A

B

C

DE

Communications

q = 3: # p = 2: #

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

0

⇒ ε = (

τmax0

τmin

1

τmin

1

Recovering Soundness

12

A

B

C

D

E

⇒ ε = (

τmax

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

A

B

C

DE

Communications

q = 3: # p = 2: #

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

τmax

⇒ ε = (

0

⇒ ε = (

τmax0

τmin

1

τmin

1

Recovering Soundness

12

A

B

C

D

E

0

⇒ ε = (

τmax

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

A

B

C

DE

Communications

q = 3: # p = 2: #

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

τmax

⇒ ε = (

0

⇒ ε = (

τmax0

τmin

1

τmin

1

Recovering Soundness

12

A

B

C

D

E

0

⇒ ε = (

τmax

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

A

B

C

DE

Communications

q = 3: # p = 2: #

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

τmax

⇒ ε = (

We built a cycle of positive weight!

0

⇒ ε = (

τmax0

τmin

1

τmin

1

Recovering Soundness

12

Proof: On the other hand, by contraposition,

Recovering Soundness

13

Proof: On the other hand, by contraposition,

PC/u-cycle

Recovering Soundness

13

Proof: On the other hand, by contraposition,

PC/u-cycle

cycle

cycle

Recovering Soundness

13

Proof: On the other hand, by contraposition,

PC/u-cycle

cycle

cycle balanced

balanced

Recovering Soundness

13

Proof: On the other hand, by contraposition,

PC/u-cycle

cycle

cycle balanced

balanced

Recovering Soundness

13

+1 =⇒ τmax = 0

Proof: On the other hand, by contraposition,

PC/u-cycle

cycle

cycle balanced

balanced

Condition

1.

Recovering Soundness

13

+1 =⇒ τmax = 0

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

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

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

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

A B C D

A

B

C

DE

F

A

B

C

DE

A

B

C

DE

A

B

C

DE

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

A B C D

A

B

C

DE

F

A

B

C

DE

A

B

C

DE

A

B

C

DE

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

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.

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. coucou2Tmin + τmin ≥ Tmax + τmax

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. coucou2Tmin + τmin ≥ Tmax + τmax

Worst-case scenario

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. coucou2Tmin + τmin ≥ Tmax + τmax

τmin

Worst-case scenario

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. coucou2Tmin + τmin ≥ Tmax + τmax

Tmax

τmax

τmin

Worst-case scenario

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. coucou2Tmin + τmin ≥ Tmax + τmax

Tmax

τmax

τmin

Worst-case scenario

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. coucou2Tmin + τmin ≥ Tmax + τmax

Tmax

τmax

τmin

Tmin Tmin

Worst-case scenario

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.

Recommended