An SDL description and implementation of the WirelessCabin System have been performed. The reference document for this work was the confidential annex G to D14. This document contains parameter specifications and protocol mapping for the Message Sequence Charts specified in D14. For each segment ie. 2G/3G, WLAN and Bluetooth, it lists all the necessary MSCs, important parameters and then shows the mappings of these parameters. In the end, the accounting related parameters list and mapping for each segments are also described.
Just to give an example, figure 1 depicts the MSC for a generic UMTS attach procedure:
Figure 1: 2G/3G attachment procedure
In the following figure 2 the complete WirelessCabin SDL model is shown: it is possible to see the three access domains, the SI-SP domain, the traffic generator and the WC_sig containing the definition of the signals.
Figure 2: SDL model for the WirelessCabin system
The main implemented blocks with their connections and some signal exchange are also depicted in figure 3: the Traffic Generator initiates UMTS, BT and WLAN connections; the Local Access System contains the UE and LAD Modules; the SI_SP_Home in this simplified version of the WirelessCabin system acts as Radius Server.
Figure 3: Implemented WirelessCabin simplified system
Concerning the structure of each element (UMTS_UE, UMTS_LAD, WLAN_UE, etc.), a Manager is used within each block for instance creations and terminations, while an “Entity” element implements the behaviour of the element itself, as shown in figure 4 for the WLAN_UE:
Figure 4: Example of blocks structure: WLAN Mobile Terminal
The signals have been implemented associating a “NEWTYPE” to each signal and using the option “CHOICE” for declaring a signal (or a collection of signals) as NEWTYPE. At this purpose figure 5 shows the implementation of the Radius_Access_Req signal: first a NEWTYPE RadiusReqTyp is declared (see the orange square), then in the frame of this new type the considered message is implemented declaring all its parameters.
Figure 5: Example of Signal declaration: Radius_Access_Req signal