RE: SDL-News: Modeling message loss in SDL


Subject: RE: SDL-News: Modeling message loss in SDL
From: VINCENT Daniel FTRD/DTL/LAN (daniel.vincent#rd.francetelecom.com)
Date: Mon Jun 02 2003 - 06:57:47 GMT


Hi Chris,
 
The european research project INTERVAL (ended June 2002, http://www-interval.imag.fr) tried to deal with such problems.
A prototype was built on top of the ObjectGeode 4.2 tool, that had the following features for SDL validation:
- unreliable channels (a loss percentage given as a parameter for each channel)
- delaying channels (with time intervals) preserving the sending of each signal : (note that if you use yourself an intermediate process to delay the signals, the sender of each signal will be changed)
- possibility to preserve or not the order of sending
- and some other features (clocks and clock guards ...)
 
This ObjectGeode prototype is still usable, but it is up to Telelogic to distribute it.
 
Daniel VINCENT
France Telecom R&D
-----Message d'origine-----
De : Cris Fuhrman [mailto:christopher.fuhrman#etsmtl.ca]
Envoyé : mercredi 28 mai 2003 22:35
À : sdlnews#sdl-forum.org
Objet : SDL-news: Modeling message loss in SDL

Hello,
 
I am a PROMELA/SPIN user who is systematically converting his knowledge of validation to the domain of SDL so please bear with me. Apparently SDL has no mechanism for inherently modeling errors in communication channels. This is obviously important in protocol validation, especially when a protocol is based on a service that cannot guarantee delivery (such as UDP) and uses timeouts, resends, sequence numbers, etc. to tolerate message loss, message duplication, reordering, etc.
 
Since channels are always perfect in SDL, I started trying to model the network medium (between two communicating blocks) as a block in SDL with a process (this is how I would proceed in PROMELA). This block has an I/O channel to each of the communicating entities. The network block merely repeats the messages from sender to receiver. However, I would like to have this block and its process occasionally "lose", "duplicate", "reorder" messages to simulate the behavior of a real network.
 
In SDL, is there a way to specify the behavior of a process that simply repeats a signal from one route to another? That is, whatever is received on route A is repeated on route B, without having to go into the details of the signal name and its possible parameters? I have seen the use of a CHOICE proposed in Laurent Doldi's book SDL Illustrated as a way to have an abstraction of a set of signals. This approach is surely better than treating each message, but it is still not completely generic and requires defining types for each message. One cannot easily reuse the "network medium" block for other applications without redefining the CHOICE and the types.
 
By the way, I have Laurent's book now for only two days and I love it. It is very well organized and the examples are very useful. I can recommend it for anyone who is interested in using SDL to model and/or implement communication protocols. If you find that the (in)famous Daemon Game example comes up short for showing you how to use SDL for telecoms, I think you will appreciate this book. I can attest that finding practical SDL information is difficult, and this source is very practical.
 
Cris
 

----
Prof. Christopher FUHRMAN
École de technologie supérieure
Montréal, Québec, Canada H3C 1K3
+1 514 396 8638

Hi Chris,
 
The european research project INTERVAL (ended June 2002, http://www-interval.imag.fr) tried to deal with such problems.
A prototype was built on top of the ObjectGeode 4.2 tool, that had the following features for SDL validation:
- unreliable channels (a loss percentage given as a parameter for each channel)
- delaying channels (with time intervals) preserving the sending of each signal : (note that if you use yourself an intermediate process to delay the signals, the sender of each signal will be changed)
- possibility to preserve or not the order of sending
- and some other features (clocks and clock guards ...)
 
This ObjectGeode prototype is still usable, but it is up to Telelogic to distribute it.
 
Daniel VINCENT
France Telecom R&D
-----Message d'origine-----
De : Cris Fuhrman [mailto:christopher.fuhrman#etsmtl.ca]
Envoyé : mercredi 28 mai 2003 22:35
À : sdlnews#sdl-forum.org
Objet : SDL-News: Modeling message loss in SDL

Hello,

 

I am a PROMELA/SPIN user who is systematically converting his knowledge of validation to the domain of SDL so please bear with me. Apparently SDL has no mechanism for inherently modeling errors in communication channels. This is obviously important in protocol validation, especially when a protocol is based on a service that cannot guarantee delivery (such as UDP) and uses timeouts, resends, sequence numbers, etc. to tolerate message loss, message duplication, reordering, etc.

 

Since channels are always perfect in SDL, I started trying to model the network medium (between two communicating blocks) as a block in SDL with a process (this is how I would proceed in PROMELA). This block has an I/O channel to each of the communicating entities. The network block merely repeats the messages from sender to receiver. However, I would like to have this block and its process occasionally &##8220;lose&##8221;, &##8220;duplicate&##8221;, &##8220;reorder&##8221; messages to simulate the behavior of a real network.

 

In SDL, is there a way to specify the behavior of a process that simply repeats a signal from one route to another? That is, whatever is received on route A is repeated on route B, without having to go into the details of the signal name and its possible parameters? I have seen the use of a CHOICE proposed in Laurent Doldi&##8217;s book SDL Illustrated as a way to have an abstraction of a set of signals. This approach is surely better than treating each message, but it is still not completely generic and requires defining types for each message. One cannot easily reuse the &##8220;network medium&##8221; block for other applications without redefining the CHOICE and the types.

 

By the way, I have Laurent&##8217;s book now for only two days and I love it. It is very well organized and the examples are very useful. I can recommend it for anyone who is interested in using SDL to model and/or implement communication protocols. If you find that the (in)famous Daemon Game example comes up short for showing you how to use SDL for telecoms, I think you will appreciate this book. I can attest that finding practical SDL information is difficult, and this source is very practical.

 

Cris

 

----

Prof. Christopher FUHRMAN

École de technologie supérieure

Montréal, Québec, Canada H3C 1K3

+1 514 396 8638

http://www.ele.etsmtl.ca/profs/cfuhrman

 

 

--End text from "VINCENT Daniel FTRD/DTL/LAN" to sdlnews --- For extra SDL Forum Society benefits join at



This archive was generated by hypermail 2a23 : Thu May 09 2013 - 16:05:49 GMT