Subject: SDL-News: Modeling message loss in SDL
From: Cris Fuhrman (christopher.fuhrman#etsmtl.ca)
Date: Wed May 28 2003 - 20:35:27 GMT
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.
---- Prof. Christopher FUHRMAN École de technologie supérieure Montréal, Québec, Canada H3C 1K3 +1 514 396 8638--End text from "Cris Fuhrman"
This archive was generated by hypermail 2a23 : Thu May 09 2013 - 16:05:49 GMT