Communications System Modeling

Communications Systems are extremely complex and standards can only be defined for them if the problem is decomposed into manageable portions. The starting point for this decomposition has to be a model of what a communications service does. We can view a simple communications service as a 'black box', as in figure #fn61#1389>. In OSI terminology, outside the black box there are 'service users' (usually two) and inside there is a 'service provider'. In this case, the service offered is very simple; user A may 'request' that data be transferred and the provider may 'indicate' to user B that data has arrived. This is about the simplest service that can be offered - it is roughly that offered by the letter post. As we shall see, opinions as to what is the most appropriate service for a black box to offer vary widely.

Figure: Communication as a Black Box

In chapter 2 the RPC model was discussed. In that model, messages are paired so as to carry parameter values into and out of the remote procedure. Such a service could be built by adding some information to the data transferred (probably a sequence number) to allow replies to be matched correctly to the corresponding requests. We would then have built a new black box outside the original one. The black box analysis can be taken in the other direction. Our original black box may be able to transfer messages of arbitrary length. However, real systems often impose limits on message length. If we look inside our black box, we will see another black box corresponding to such a 'real' system. Our black box builds on the inner black box service (by fragmenting messages into suitable sized chunks and re-assembling them on the other side) in order to provide the service we require. This gives us the basic decomposition of a communications system. It consists of a series of nested black boxes each of which adds something to enhance the service offered by the black box it contains. The first task for the designers of communications system standards is to decompose the problem into a set of black boxes and make a broad allocation of functions to each. Next, they can make the definitions of the services offered by the black boxes precise. Essentially, an object oriented approach is followed. The designers are specifying what the objects (the black boxes) do not how they do it. Languages do exist for formally specifying the interface to and the behavior of communications services, however, most often, reliance is placed upon a sort of formalized English. We have looked at more formal languages in the previous chapter.