Top Banner
Interface-based Design of Embedded Systems Thomas A. Henzinger University of California, Berkeley
35

Interface-based Design of Embedded Systems Thomas A. Henzinger University of California, Berkeley.

Dec 19, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Interface-based Design of Embedded Systems Thomas A. Henzinger University of California, Berkeley.

Interface-based Design of Embedded

Systems

Thomas A. Henzinger University of California, Berkeley

Page 2: Interface-based Design of Embedded Systems Thomas A. Henzinger University of California, Berkeley.

Interface-based Design

Page 3: Interface-based Design of Embedded Systems Thomas A. Henzinger University of California, Berkeley.

Interface-based Design

Page 4: Interface-based Design of Embedded Systems Thomas A. Henzinger University of California, Berkeley.

Interface-based Design

Page 5: Interface-based Design of Embedded Systems Thomas A. Henzinger University of California, Berkeley.

Interface-based Design

Page 6: Interface-based Design of Embedded Systems Thomas A. Henzinger University of California, Berkeley.

Compositional Component Models

If A||B is defined and A a and B b , then a||b is defined and A||B a||b.

enable independent component verification

Compositional Interface Models

If a||b is defined and A a and B b , then A||B is defined and A||B a||b.

enable independent interface implementation

Page 7: Interface-based Design of Embedded Systems Thomas A. Henzinger University of California, Berkeley.

x Nat y Nat\{0} z = xy

A Component Model

x Nat y Nat\{0} z Nat

An Interface Model

-constrains the environment -example: type declaration

-(mis)behaves in every environment -examples: circuit; executable code

Page 8: Interface-based Design of Embedded Systems Thomas A. Henzinger University of California, Berkeley.

x,y. z. ( x Nat y Nat\{0} z = xy )

The Component Model

input-universal (adversarial environment)

x,y. z. ( x Nat y Nat\{0} z Nat )

The Interface Model

input-existential (helpful environment)

Page 9: Interface-based Design of Embedded Systems Thomas A. Henzinger University of California, Berkeley.

The Interface Model

x Nat

y Nat\{0}

z Nat

Prescriptive:

“How can the component be put together with other components?”

Input assumption

Output guarantee

Page 10: Interface-based Design of Embedded Systems Thomas A. Henzinger University of California, Berkeley.

x

y

z

x=0 y=0 true

Propagation of Environment Constraints

Page 11: Interface-based Design of Embedded Systems Thomas A. Henzinger University of California, Berkeley.

x

y

z

x=0 y=0 true

Propagation of Environment Constraints

Page 12: Interface-based Design of Embedded Systems Thomas A. Henzinger University of California, Berkeley.

x

y

z

x=0 y=0 true

y = 0

x,z. ( true x=z ( x=0 y=0 ))

Propagation of Environment Constraints

Page 13: Interface-based Design of Embedded Systems Thomas A. Henzinger University of California, Berkeley.

y z

truey = 0

The resulting interface.

Propagation of Environment Constraints

Page 14: Interface-based Design of Embedded Systems Thomas A. Henzinger University of California, Berkeley.

y z

truey = 0

Illegal connection.

Propagation of Environment Constraints

Page 15: Interface-based Design of Embedded Systems Thomas A. Henzinger University of California, Berkeley.

Stateless interface models (traditional “types”): value constraints

Stateful interface models (“behavioral types”): temporal ordering constraints, real-time constraints, etc.

open_file?

close_file?

get_block?

get_blockclose_fileopen_file

put_block!

put_block

Page 16: Interface-based Design of Embedded Systems Thomas A. Henzinger University of California, Berkeley.

a!

b!

a?

b?

a

b

Page 17: Interface-based Design of Embedded Systems Thomas A. Henzinger University of California, Berkeley.

a!

b!

a??

Page 18: Interface-based Design of Embedded Systems Thomas A. Henzinger University of California, Berkeley.

a!

b!

a?

A Component Model: I/O Automata

This is an illegal component, because it is not prepared to accept input b.

[Lynch, also Lamport, Alur/H]

Page 19: Interface-based Design of Embedded Systems Thomas A. Henzinger University of California, Berkeley.

a!

b!

a?

a

Another Component Model: CSP

Composition may lead to deadlocks, and requires verification if this is undesirable.

[Hoare, also Milner, Harel]

Page 20: Interface-based Design of Embedded Systems Thomas A. Henzinger University of California, Berkeley.

a!

b!

a?

An Interface Model: Interface Automata

These interfaces are incompatible, because the receiver expects the environment to provide input b.

[de Alfaro/H, also Dill]

Page 21: Interface-based Design of Embedded Systems Thomas A. Henzinger University of California, Berkeley.

Component Models

-composition || is conjunction/product -abstraction is covariant

Interface Models

-composition || is game-theoretic -implementation is contravariant

Page 22: Interface-based Design of Embedded Systems Thomas A. Henzinger University of California, Berkeley.

2

2

4042msg

?send

!send

!

nack?

fail!

ok! ack?

acksend

msg failok

ack?

Page 23: Interface-based Design of Embedded Systems Thomas A. Henzinger University of California, Berkeley.

2

2

4042msg

?send

!send

!

fail!

ok! ack?

send

msg failok

msg!

ok?

msg ok fail

ack?

ack

Page 24: Interface-based Design of Embedded Systems Thomas A. Henzinger University of California, Berkeley.

2

4042msg send

!send

!

fail!

ok ack?

acksend

Incompatible product state, but environment can prevent this state.

ack?

Page 25: Interface-based Design of Embedded Systems Thomas A. Henzinger University of California, Berkeley.

2

4042msg send

!send

!

fail!

ok ack?

send

The Composite Interface.

ack?

ack

Page 26: Interface-based Design of Embedded Systems Thomas A. Henzinger University of California, Berkeley.

44send

!

send

The Composite Interface.

ack?

ack

send!

Page 27: Interface-based Design of Embedded Systems Thomas A. Henzinger University of California, Berkeley.

Computing the Composite Interface

1. Construct product automaton.

2. Mark deadlock states as incompatible.

3. Until no more incompatible states can be added: mark state q as incompatible if the environment cannot prevent an incompatible state to be entered from q.

4. If the initial state is incompatible, then the two interfaces are incompatible. Otherwise, the composite interface is the product automaton without the incompatible states.

This computes the states from which the environment has a strategy to avoid deadlock. The propagated environment constraint is that it will apply such a strategy.

Page 28: Interface-based Design of Embedded Systems Thomas A. Henzinger University of California, Berkeley.

x Odd y = 2xx Nat y

y = 2xy

Component Abstraction

Abstraction is implication (simulation; trace containment).

x Nat

Page 29: Interface-based Design of Embedded Systems Thomas A. Henzinger University of California, Berkeley.

x Odd

Interface Implementation

Implementation is I/O contravariant.

x Nat

x Natx Even

Page 30: Interface-based Design of Embedded Systems Thomas A. Henzinger University of California, Berkeley.

x Nat

Interface Implementation

Implementation must obey output guarantee.

x Nat

x Oddx Nat

XX

Page 31: Interface-based Design of Embedded Systems Thomas A. Henzinger University of California, Berkeley.

x Nat

Interface Implementation

Implementation must accept all permissible inputs.

x Even

x Natx Nat

X X

Page 32: Interface-based Design of Embedded Systems Thomas A. Henzinger University of California, Berkeley.

2

2

4042msg? send

!send!

fail!

ok! ack?

acksend

msg failok

ack?

Page 33: Interface-based Design of Embedded Systems Thomas A. Henzinger University of California, Berkeley.

2

2

4042msg? send

!send!

fail!

ok! ack?

acksend

msg failok

1

1

6061msg? send

!send!

fail!

ok! ack?

acksend

msg failok

28send! once

?

2

2

fail!

ok!ack?

once

ack?

ack?

Page 34: Interface-based Design of Embedded Systems Thomas A. Henzinger University of California, Berkeley.

Alternating Simulation

Q q

iff

1. for all inputs i, if q –i?-> q’ , then there exists Q’ such that Q –i?-> Q’ and Q’ q’ ,

and

2. for all outputs o, if Q –o!-> Q’ , then there exists q’ such that q –o!-> q’ and Q’ q’ .If there is a helpful environment at q, then there is a helpful environment at Q [Alur/H/Kupferman/Vardi].

Page 35: Interface-based Design of Embedded Systems Thomas A. Henzinger University of California, Berkeley.

Algorithms & Tools

-interface compatibility (reachability game) can be checked in linear time

-interface implementation (alternating simulation) can be checked in quadratic time

We are currently implementing this in JBuilder [Chakrabarti/de Alfaro/H/Jurdzinski/Mang].