14
January 12, 2000 S E E S C O A STWW - Programma Reuse Contracts for Embedded Systems D2.2.b Tom Toutenel

January 12, 2000 SEESCOASEESCOA STWW - Programma Reuse Contracts for Embedded Systems D2.2.b Tom Toutenel

Embed Size (px)

Citation preview

Page 1: January 12, 2000 SEESCOASEESCOA STWW - Programma Reuse Contracts for Embedded Systems D2.2.b Tom Toutenel

January 12, 2000

S

E

E

S

C

O

A STWW - Programma

Reuse Contractsfor Embedded SystemsD2.2.b

Tom Toutenel

Page 2: January 12, 2000 SEESCOASEESCOA STWW - Programma Reuse Contracts for Embedded Systems D2.2.b Tom Toutenel

S

E

E

S

C

O

A

2

Overview

Introduction

Component & Composition Documentation

Message Sequence Charts

Timed Message Sequence Charts

Static Verification

Synchronization Level & Quality of Service Level Conformance Checking

Example

Conclusions

Page 3: January 12, 2000 SEESCOASEESCOA STWW - Programma Reuse Contracts for Embedded Systems D2.2.b Tom Toutenel

S

E

E

S

C

O

A

3

Introduction

MSCs to Document Typical Use of Components

MSCs to Document Composition of Components

Static Verification

Glue Code GenerationAUTOMATA

Page 4: January 12, 2000 SEESCOASEESCOA STWW - Programma Reuse Contracts for Embedded Systems D2.2.b Tom Toutenel

S

E

E

S

C

O

A

4

LOOP

Comp1 Envi Envj

OPT

Subscribe

Set

Get

Notify

LOOP

R1

OPT

Subscribe

Set

Get

Notify

R2 R3

1

2 3

a b

a

LOOP

Comp2 Envi Envj

OPT

Subscribe

Set

Get

Notify

LOOP

Comp3 Envi Envj

OPT

Subscribe

Set

Get

Notify

Page 5: January 12, 2000 SEESCOASEESCOA STWW - Programma Reuse Contracts for Embedded Systems D2.2.b Tom Toutenel

S

E

E

S

C

O

A

5

Message Sequence Charts

primitive

Component Env Env

ALT

OPT

LOOP

filler

primitive

primitive

primitive

primitive

Page 6: January 12, 2000 SEESCOASEESCOA STWW - Programma Reuse Contracts for Embedded Systems D2.2.b Tom Toutenel

S

E

E

S

C

O

A

6

Message Sequence Charts (2)

Control Blocks

OPTional blocks, ALTernatives, LOOPs

Participants

Environment Participants: Placeholders for Cooperating Components

Messages

Primitive Terms, Mapped onto (Set of) API Calls

Chaining

Filler Blocks for Scenario Chaining

Page 7: January 12, 2000 SEESCOASEESCOA STWW - Programma Reuse Contracts for Embedded Systems D2.2.b Tom Toutenel

S

E

E

S

C

O

A

7

Timed MSCs: Timers & Intervals

Connect

Request

Accept

Accept

Client CamServer

T1.1

T3.1

[2,3]

[1,3]

[2,3] Disconnect

Page 8: January 12, 2000 SEESCOASEESCOA STWW - Programma Reuse Contracts for Embedded Systems D2.2.b Tom Toutenel

S

E

E

S

C

O

A

8

Timed MSCs (2)

Timers

To Express either Minimal or Maximal Delays between Consecutive Events in a Single Process

Delay Intervals

Message Delivery Delays

Processor’s Speed Constraints

Page 9: January 12, 2000 SEESCOASEESCOA STWW - Programma Reuse Contracts for Embedded Systems D2.2.b Tom Toutenel

S

E

E

S

C

O

A

9

Static Verification

Synchronization Level Transform Component & Composition MSCs

into Finite Automata

Calculate the Cross-Product

Check Resulting Automaton for Non-Empty Path

Quality of Service Level Transform Merged MSC into Temporal Constraint Graph

Check for Cycles with Negative Cost

No Negative Cycles Composition is Timing Constistent.

Page 10: January 12, 2000 SEESCOASEESCOA STWW - Programma Reuse Contracts for Embedded Systems D2.2.b Tom Toutenel

S

E

E

S

C

O

A

10

Example: Component MSCs

Timing Annotations are Contractual Promise

Request

Accept

Client ENV s

[2,3]

Request

Accept

ENV c Server

[4,5]

Client Server

Page 11: January 12, 2000 SEESCOASEESCOA STWW - Programma Reuse Contracts for Embedded Systems D2.2.b Tom Toutenel

S

E

E

S

C

O

A

11

Example: Composition MSC

Timing Annotations are Requirements

Request

Accept

Client Server

[0,3]

Page 12: January 12, 2000 SEESCOASEESCOA STWW - Programma Reuse Contracts for Embedded Systems D2.2.b Tom Toutenel

S

E

E

S

C

O

A

12

Temporal Constraint Graph

Request

Accept

Client Server

[4,5][2,3]

0∞

∞∞ 0

0

0

-23 5 -4

0

1

0

1

Page 13: January 12, 2000 SEESCOASEESCOA STWW - Programma Reuse Contracts for Embedded Systems D2.2.b Tom Toutenel

S

E

E

S

C

O

A

13

TGC: Negative Cycle

Request

Accept

Client Server

[4,5][2,3]

0∞

∞∞ 0

0

0

-23 5 -4

0

1

0

1

Page 14: January 12, 2000 SEESCOASEESCOA STWW - Programma Reuse Contracts for Embedded Systems D2.2.b Tom Toutenel

S

E

E

S

C

O

A

14

Conclusions

Summary:Timed MSCs to Document Components and

CompositionsStatic Conformance Checking Using Finite Automata

and Temporal Constraint Graphs

Future Research:Currently only Constants in Timing AnnotationTypical-Use Timing by Adding Test-Cases to

DocumentationOther QoS Aspects Code Generation Targeted at Component System