Protocol Converter Synthesis
Using Timed Petri Nets
Kevin Camera
EE249 Fall 2000
10/24/2000
Motivation
Evolution of heterogeneous, distributed
networks
Protocol converters act as mediators
between otherwise incompatible protocols
This work improves on previous
converter modeling and synthesis
methodologies
Services and Protocols
Layer N services provide functions for
layer N+1 via service access points
User-based functional specification
Protocol entities (PE) exchange protocol
data units (PDU) via lower and upper
SAPs
Low-level behavioral specification
Converter Design Approaches
Top-down:
service-level
conversion
Easy to implement,
tends to be “passive”
Bottom-up:
protocol-level
conversion
Very powerful, very
complex
Converter Properties
Safety
Liveness
Free from deadlock or livelock, and is
complete
Performs the required functionality
Timeliness
Satisfies the timing of both protocols
Design Criteria
Modeling formalism
Design approach
CFSM, TPN, etc.
Service level, protocol level, or hybrid
Design methodology
Analytic: trial-and-error iterations
Synthetic: systematic, safe generation
Design Criteria (con’t)
Information transfer issues
Direct: no buffers, messages transmitted
immediately to each protocol
Indirect: messages stored in non-FIFO
buffer, re-ordered, and transmitted
Synchronization issues
Mapping of messages (traces) to ensure
compatbility
Design Criteria (con’t)
Timeliness
Dynamicity
Internal timing and protocol requirements
Data loss and recovery
Self-induced, active communication
Concurrency
Complexity
Timed Petri Net Model
Standard Petri net with predicated and
timed transitions
New notations
Input/Output actions marked with +/Parallel composition: PN1 || PN2
Trace “schuffling”: t1 t2
Complement of a trace: ~t
Example: Alternating Bit
Example: Poll-End
Synthesis Technique
Greatest common service definition
Trace generation and collection
Trace synchronization
Synthesis of Petri Net model
Greatest Common Service
Start with both
service descriptions
I/O operations are
service primitives
Map equivalent
primitives into a
service interface
converter (SIC)
Remove primitives
not mapped in SIC
GCSD P{upper _ N ,upper _ M } ( S N || SIC || S M )
Example: GCSD
?
Trace Generation
Interested in traces of each separate
network which contribute to the GCSD
Can be found with following analysis:
Let TN be set of traces at {lower,upper}_N
Find N’, a pruning with contributions to S’N
Find us_N, composition of lower services
and communication channel
TN = N’ || us_N
Example: Trace Generation
TABP =
{ACCEPT –DATA(bit) (+ACK(~bit) –DATA(bit))* +ACK(bit),
+DATA(bit) (-ACK(~bit) +DATA(bit))* DELIVER -ACK(bit),
+DATA(bit) DELIVER (-ACK(~bit) +DATA(bit))* -ACK(bit),
+DATA(bit) (+DATA(bit))* DELIVER -ACK(bit),
+DATA(bit) DELIVER (+DATA(bit))* -ACK(bit)}
TPE =
{SEND +poll (-data SEND) (-data SEND)* -end,
+poll SEND (-data SEND) (-data SEND)* -end,
(+poll)*,
-poll (+data RECEIVE) (+data RECEIVE)* +end,
(-poll)*}
Trace Synchronization
For trace sets TN and TM found above:
Prune the protocol components TRN, TRM
Take complements to get TCN
Schuffle the complements (TCN TCM)
14 rules for ordering data, confirmation,
ack, and nack messages safely
(N+m,N-c) (M-m) = (N+m,M-m,N-c)
Example: Trace Synchronization
TCABP = {lower_ABP} ~TCABP =
{-DATA(bit) (+ACK(~bit) -DATA(bit))* +ACK(bit),
+DATA(bit) (-ACK(~bit) +DATA(bit))* -ACK(bit),
-DATA(bit) (-DATA(bit))* +ACK(bit)}
TCPE = {lower_ABP} ~TCABP =
{-poll (+data SEND) (+data SEND)* +end,
(-poll)*,
+poll (-data SEND) (-data SEND)* -end,
(+poll)*}
TC = TCABP TCPE
Result (after PN synthesis)
Summary
Hybrid approach
Timed Petri net model
Starts with service specification, but performs
all synthesis on protocols
Can incorporate timing in specification
Models concurrency and comes with well-known
analysis algorithms
Resulting converter is safe and functional
© Copyright 2026 Paperzz