Upload
leonard-holland
View
212
Download
0
Embed Size (px)
Citation preview
January 12, 2000
S
E
E
S
C
O
A STWW - Programma
Reuse Contractsfor Embedded SystemsD2.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
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
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
S
E
E
S
C
O
A
5
Message Sequence Charts
primitive
Component Env Env
ALT
OPT
LOOP
filler
primitive
primitive
primitive
primitive
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
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
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
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.
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
S
E
E
S
C
O
A
11
Example: Composition MSC
Timing Annotations are Requirements
Request
Accept
Client Server
[0,3]
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
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
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