Engineering of Communication Systems and Protocols

The complexity of the communication systems and protocols is increasing constantly, while the communication products’ time-to-market is becoming shorter. Afterthoughts communication system redesign due to lack of performance is financially and time expensive, and it is unacceptable. This book chapter proposes a method for improving the telecommunication systems, by means of enhancement the performance of the protocols they rely on. The proposed engineering of communication systems is based on a formal method and it provides an early-phase performance evaluation of the underlying communication protocols. The methodology is illustrated through a hands-on case study conducted on an existing wireless communication system.

been selected, which is needed for proper introduction of the proposed methodology in Section 3 and for presentation of the example in Section 4.
Engineering of a communication system means to describe, to analyze and to optimize the dynamic, time dependent behavior of the system and its inherent communication protocols. However, as it says in (Mitschele-Thiel, 2001) it is common for a system to be fully designed and functionally tested before an attempt is made to determine its performance characteristics. But it is a necessity to integrate the performance engineering into the design process from the very beginning. In (Mitschele-Thiel, 2001) the author addresses an improvement of the run-time properties by taking into account the characteristics of the applications (communication protocols) and different process scheduling and management strategies. The author concentrates on efficient implementation of behavioural concepts. For the treatment of issues arising from object-oriented concepts the author applies the traditional flattening approach of the language standard. Finally, it is obvious that the book lacks of actual communication system engineering examples, through which the engineering process would have been successfully explained.
The usage of FDT for protocol development has also arisen as a promising way of dealing with the increasing complexity of next generation mobile protocols. In (Showk, 2009) a rudimentary version of the Long Term Evolution (LTE) protocol for the access stratum user plane is modelled using SDL. The LTE radio communication is the upgrade of the current 3G mobile technology with a more complex protocol in order to enable very high data rates. This related work presents a tool which shows easy understanding of the model as well as easy testing of its functionality by simulation in cooperation with Message Sequence Chart. The simulation result presented in (Showk, 2009) shows that the implemented SDL guarantees a good consistency with the target scenarios. The system implementation is mapped to multiple threads and integrated with the operating system to enable execution in multi core hardware platforms. The only obvious drawback of the work is the usability of the created model, as it is only used for functional validation and not for performance evaluation of the analyzed communication protocol.
When developing modern communication systems, the energy consumption is a major concern, especially in the case of wireless networks consisting of battery-powered nodes. In (Gotzhein, 2009) the authors study possibilities of specifying energy aspects in the system a designing phase, with SDL as design language. In particular, they strive for suitable abstractions, by establishing a design view that is largely platform-independent. This objective is achieved by identifying and realizing energy mode signalling and energy scheduling as two complementary approaches to incorporate energy aspects into SDL. A case study illustrates the use of both approaches in a wireless networked control system. These approaches are applied and tested on a hardware platform, but again, the paper does not provide in a sufficient manner any performance metrics of the implemented wireless network.
The security of communication systems is another important aspect which must be considered in the protocol development. In order to study this aspect, (Lopez 2005) have developed a methodology for application of the formal analysis techniques, commonly used in communication protocols, to the analysis of cryptographic protocols. In particular, (Lopez, 2005) have extended the design and analysis phases with security properties. This related work uses a specification notation based on one of the most commonly used standard requirement languages HMSC/MSC, which can be automatically translated into a generic SDL specification. The obtained SDL system can then be used for the analysis of the addressed security properties, by using an observer process scheme. Besides the main goal to provide a notation for describing the formal specification of security systems, (Lopez, 2005) studies the possible attacks to the system, and the possibility of re-using the produced specifications to describe and analyse more complex systems.
The related work (Chen Hui, 2010) analyzes a Networked Control System (NCS), which governs the communication activities and directly affects the communication Quality of Service (QoS). Full or partial reconfiguration of protocol stack offers both optimized communication service and system performance. (Chen Hui, 2010) proposes a formal approach for the design and implementation of reconfiguration protocol stack based on Specification and Description Language for NCS. In Telelogic TAU environment, detail SDL models to support communication and reconfiguration functions of communication link layer, network transmission layer and application layer are discussed respectively. Similarly to the most of the presented related papers, only MSC verification results validate the effectiveness of the reconfiguration concepts of the protocol implementation for NCS.
The methodology which is presented in the following section differs from all previously presented work, as it extends the performance evaluating aspect of the communication systems engineering process. The methodology tries to maintain the functional correctness efforts regarding developing communication entity (similarly to the most of the related work), but at the same time provides the developers with a realistic insight of its performance capabilities.

Methodology overview
In order to obtain a performance evaluation-based analysis of telecommunications protocols and systems, the proposed methodology extracts all the necessary information from the available form of the analyzed standard. Taking into consideration that we are talking about an early stage of communication system development, the standard for such particular system is usually available as a draft version which combines the work provided by different working groups. The aim is to build an appropriate model from which the performance of the communication system will be assessed. This kind of model is commonly referred to as performance evaluating model. The communication standard under evaluation generally contains three basic parts: textual, SDL-represented and MSCrepresented. Depending on the standard and standardization body, the proportion of these parts can vary. Mainly, the textual part dominates as "in the standardization process, words are still the final product" (Sherif, 1992).
But there is a major setback of the textual part of the standards caused by its inherent ambiguousness which is more deeply related to the natural languages' doublethink. This is the reason why the textual part of standards lacks of scientific foundation and is commonly the reason for miss-communication between standard developers, regarding the communication system requirements and expectations.
On the other hand, the SDL and MSC parts of the standard introduce more rigorous protocol or system specification, brought to a mathematical precision, and these formal parts of the standard are the guarantee for a correct system requirements presentation, as well as for an unambiguous definition of the system behavior. As it was previously said, different standards contain variable amount of formal representation, e.g. IEEE 802.16 (WiMAX, 2010) contains only sequences of formal protocol behavior, IEEE 802.11 (WiFi, 2007) encloses entire Medium Access Control (MAC) Layer presented in SDL, and IEEE 802.15 (Bluetooth, 2005) is completely offered in formal representation.
Using the three basic types of standard representations, the proposed methodology creates a so called behavior model of the analyzed standard, as it is presented in Fig. 1. The behavior model describes the protocol behavior and its abstract data structure by using SDL. In particular, the behavior model evaluates the relationship of single stimuli -response pair applied to the analysed protocol stack. This model is ideal for testing of protocol entity's functional correctness. As it can be seen in Fig. 1, the last step of the methodology is the conversion of the behavior model into a so called performance evaluating model. The performance model can emulate a real scenario of communicating devices implementing the described protocol. It is built into a standalone executable that embeds the created behavior model and channelizes its preciseness into an accurate event driven type of simulator. This type of simulator is used for performance evaluation of the communication system or protocol, where every change and tuning of the specification can be easily evaluated. For instance one can measure the achieved data throughput or delay when a group of protocol based devices are communicating between each other.
Both, behavior and performance models provide valuable information regarding the functional and performance issues of the developing communication system, which is then looped-back to the specification process for further improvement of the system.

Detailed steps in the methodology
The behavior model can be defined as a SDL representation of the requirements, behavior and capabilities of the specified system or protocol. As it was explained earlier, it is created using all three representation parts of standards (text, SDL, and MSC). The SDL part of a standard is easily incorporated in the behavior model. This is the reason why the SDL part of the standard formulates the backbone of this model. Obviously it is the most mathematically rigorous component of the behaviour model. The MSC part of the standard includes all signal exchange sequences occurring among the protocol entities defined by the standard. To incorporate this part into the behavior model, it is necessary first to convert the MSCs into SDL code sequences. Although automated tools for such a conversion exist, the manual step-by-step translation is preferred, as the SDL code produced by the automated tools is not optimized, and also for providing nomenclature and stile consistency of the SDL code. The trickiest part of the behavior model development is to convert all the informal textual representation of the standard into SDL code. This is an unavoidable step, as long as all the missing parts of a complete functional system description are given in a textual form. The SDL code sequences produced from the textual part of the standard act as a glue that connects all the previously created parts of the behavior model. The need to convert text into SDL is also unavoidable because of the fact that for most of the communication standards the SDL and MSC parts are supplementary, while the textual part is mandatory. These are the reason why this step should be taken as the one with greatest importance. Additionally, the communicating signals which are exchanged among entities, along with the signal parameters, are most of the times constructed according to the text of the standard. The practice have shown that it is much easer if the textual represented requirements of the standard are firstly translated into MSC sequences, and after that converted into SDL code. This principle proves to be especially suitable for capturing the complex communication system or protocol behavior.
For the completeness of the previous explanation, this section will present an example of a generic behavior model of an abstract communication standard (Fig. 2). As it can be seen in Figure 2, SDL copes with the protocol complexity by using a hierarchical decomposition and by implying several levels of abstraction. The highest level of abstraction is called the system level. The system level is composed of multiple SDL blocks connected through unidirectional or bidirectional SDL channels. SDL channels are transferring SDL signals, which can carry additional signal parameters. Inside the SDL blocks lays the second level of abstraction represented by groups of processes located in the blocks. The processes use signal routes for transferring the signals among them or to the higher-level channels. Inside the SDL processes, Extended Communicating Finite State Machines (ECFSMs) are used for description of each protocol entity behavior. This is the lowest and the most detailed level of the behavior model. The functionalities of the protocol entity are presented unambiguously by using SDL discrete states, triggers, transitions, tasks, procedures, decisions, manipulation of variables, management of signals, etc. In the same manner, all protocol primitives are described, along with the signal's parameters exchanged among the protocol entities. In order to assess the real performance of the analyzed system or protocol, it is necessary to build a performance evaluating model. The SDL performance model can emulate real working scenarios of communicating devices. It is a standalone model that embeds the behavior model and translates its preciseness into an accurate event driven type of simulator. The results obtained by the performance model are reliable indicator of the expected performance of the future communication device, which will be built according to the analysed standard.
The process of 'assimilation' and upgrade of a generic behavior model into a generic performance model is depicted in Fig. 3. The presented generic behavior model contains several protocol layers, represented by SDL processes. The following layers are included: Convergence layer, MAC layer, PHY layer, and a vertical Management layer. The behavior model describes all possible interactions between these entities in a single stimuli-response manner. Unlike the behavior model where only single stimuli -response pair of a protocol entity is evaluated, the performance model introduces new entities which are needed for completing the communication scenario emulation, both on system and block level. On the system level besides multiple instances of the modified behavior model, it is crucial to introduce a simulation control block and a channel block. The control block manages the generation of block-instances and controls the simulation time, while the channel block ensures a proper emulation of exchanging packets (e.g. radio frequency packets) among the communicating entities. Each block instance is characterized by a unique process identifier (PID), which enables differentiation and addressing of the identical entities.
As it was previously stated, in the foundation of the performance model lays the behavior model. It is necessarily modified (i.e. upgraded), in order to conduct its expected role of real communicating device emulation. Many new processes with an appropriate purpose should be introduced in this upgraded version of the behaviour model: controller of the primitive exchange process, procedures for queuing and prioritization of the signals, processes for segmentation and reassemble of the massages, manipulators of simulation time (timers and clocks), etc. All these processes are introduced according to the textual part of the protocol specification.
After building the performance model using the SDL Graphical Representation (SDL-GR), abstract Data Types (ADTs) are added in order to introduce important functionalities (e.g. reading and writing to file, different kinds of random number generators, etc.).
The analyzer then runs the performance model for detecting all the ambiguities. Next step is the conversion of the built model into a so called Phrasal Representation of SDL (SDL-PR). Using SDL-PR, the code generator produces C++ source code, compiles it and links it with appropriate libraries. The result of these steps is a standalone simulator executable which requires as an input only the configuration files, needed for the description of the desired network scenario.

Case study
This section contains an implementation case study of the previously proposed methodology. In particular, the case study extends the findings proposed by (Latkoski, 2010), and provides the needed validation of the analytical and numerical analysis contained in (Latkoski, 2010). The targeted communication system is based on WiMAX technology, standardized by IEEE 802.16. It belongs to the group of wireless metropolitan area networks (WMANs), which are on the steady track of widespread deployment in many urban environments. This worldwide trend is facilitated by the ever growing demand for "last-kilometre" network connectivity in every part of those urban environments with guaranteed service quality. A significant portion of the WMAN installations are based on the IEEE 802.16 technology, which is mature enough for seamless and low-cost deployment.
The focus of the analysis provided here, is the protocol which is responsible for bandwidth allocation among the WiMAX users. The WiMAX channel access is controlled by one of the several available Medium Access Control (MAC) procedures. (Latkoski, 2010) studies the contention-based bandwidth request procedure based on original analytical model, facilitated by numerical analysis. In (Latkoski, 2010) the key parameters of the contention procedure are optimized in order to minimize the average bandwidth access delay, thus ensuring the highest possible quality of service (QoS) to the WiMAX users.
WiMAX supports several QoS classes: UGS -Unsolicited Grant Service (E1/T1), real-time Polling Service -rtPS (MPEG), non-real-time Polling Service -nrtPS (FTP) and Best Effort -BE (HTTP). Except for the UGS that uses dedicated uplink transmission slots, the remaining service classes use the bandwidth request procedures over the uplink to the base station (BS). Depending on the service class, the access scheme can be either contention-based or based on unicast polling. The vendor-specific implementation can offer two optional nonmandatory procedures: piggybacking and bandwidth stealing procedures. Here, we focus on the IEEE 802.16 contention-based bandwidth request access scheme, which supports the BE class of traffic, generated by most Internet applications (web surfing, FTP, etc.). Additionally we will compare this scheme with the round-robin polling scheme, as well as with the multicast-groping-based principal of bandwidth management. All three access schemes are briefly explained in the following subsections.

Contention based bandwidth access
The IEEE 802.16 standard supports a mandatory Point-to-Multipoint (PMP) architecture operating in Time Division Duplex (TDD) mode. In such network conditions, the frames are divided to downlink (DL) and uplink (UL) subframes. The BS transmits uplink map (UL-MAP) messages at the beginning of the DL subframe, in order to schedule the uplink traffic from the subscriber stations (SSs) to the BS. The beginning of UL subframe contains Information Elements (IEs) dedicated for initial ranging and bandwidth request procedures, followed by slots for the actual data transmission. The MAC layer of IEEE 802.16 specifies the rules for the contention-mode bandwidth request procedure. A contention period, as mentioned, is allocated at the beginning of the uplink subframe. It is divided into an integer number of transmission slots and is called an information element. Each transmission slot can be used for a transmission of only one bandwidth request. The SSs use the contention slots to send bandwidth request messages. If a SS's request message transmission is successful, the BS grants contention-free data transmission slot for that particular SS in one of the following frames by placing the SS's Connection ID (CID) in the UL-MAP message.
If more than one SS tries to transmit its request in the same transmission slot, a collision happens. Since it is not practically possible for SSs to sense the UL channel and to detect a collision, the SSs can only know of the success of their bandwidth request transmission if they receive a response in the form of a bandwidth grant from the BS in the subsequent frames. A subscriber station that does not receive a response to its bandwidth request by a certain deadline assumes that either a collision happened or resources are not available at the BS. In either case, since the SS can not determine the cause, it assumes that a collision happened and uses an exponential binary back-off procedure to resolve the collision. In particular, the SS starts a contention-based procedure by setting a so called initial backoff window which is an integer number. Next step is selection of a random number within the window, which determines the number of contention slot for which the SS will defer its next request message transmission. Only the slots for which the SS is eligible to send are counted. When the SS's counter reaches zero, the SS sends its request message. The SS considers the contention transmission as lost if no data grant has been given within the period of time defined by a timer. Then the SS enters in the next stage of the backoff algorithm by doubling the size of the backoff window and selecting another random number. This repeats with each loss of the request massage, until the backoff window size reaches its maximum size.

Multicast-grouping based bandwidth access
The BS controls the access rights of the SSs for each contention slot. If the BS declares one contention slot as a broadcast type of slot, then all SSs have the right to transmit their bandwidth request messages in that particular slot. Contrary to this principle, the BS can mark certain slot as a multicast type of slot. In this case only the members of the specified multicast group can access the slot. The BS controls the membership of each SS into multicast groups. For this purpose, it uses a special MAC message called MCA-REQ (Multicast Polling Assignment Request). Each MCA-REQ message contains three basic parameters: the basic CID of the SS, the index of the multicast group, and one of the two possible commands, join or leave. One SS can belong to several multicast groups.
In order to evaluate the influence of multicast-group implementation over the system's performance, we will calculate the ratio of the number of successful bandwidth request transmissions per frame and the number of active SSs (maxN suc /n). The value of this ratio maxN suc /n = 1 means that all active SSs are served in one TDD frame. The following figure (Fig. 4) presents the results regarding maxN suc /n for different number of active SSs (n) and different number of transmission slots per frame (N r ). The results are obtained by using the analytical equations provided by (Latkoski, 2010). Furthermore, Fig. 4 provides additional insight regarding the maximization of the bandwidth procedure success rate. It is obvious that instead of using all N r slots for the contention of all n subscriber stations, it is better to split the SSs into M groups, and to give each group a portion of N r /M slots for contention. The colored lines in Fig. 4, give the possibilities for implementation of this idea. For example, instead of using N r = 16 slots for n = 16 users, it is more efficient to use M = 8 multicast groups, as the N suc /n is higher for (n, N r ) = (2, 2) compared to the case where (n, N r ) = (16, 16).  The obvious challenge here is to obtain a precise estimation of the number of active SSs (n) by the serving BS, which controls the contention and multicasting.

Round robin polling bandwidth access
Instead of using contention based bandwidth distribution among the SSs, the BS has an option to use the round-robin polling based procedure for bandwidth access. In this case, the BS asks each of the registered SSs whether they need bandwidth, starting with the first SS and ending with the last N all SS. Then the circle of polling repeats again from the first SS. Considering that not all N all SSs need bandwidth at a time, but only n of them have such need, we can calculate the efficiency of this method through the performance parameter defined as utilization of the slots. We can compute the utilization of the transmission slots in the case of round-robin polling (RR util ) as: while the average bandwidth access delay seen by the SSs (RR Td ) is: where the N r represents the total number of transmitting slots, and t frm is the TDD frame duration. These simple equations reveal that the utilization in the case of round-robin polling scheme does not depend on N r , while the delay does not depend on n.
Consequently, this bandwidth allocation scheme is expected to have higher performance in scenarios where the number of active SSs (SSs which need bandwidth) is close to the number of registered SSs.
The previous conclusion can be proven by making a comparison of the transmission slot utilization in the case of round-robin polling and conation based schemes for different numbers of active users. For this purpose we have used the equations provided by (Latkoski, 2010)  The range of values where n ≈ N all (right part of the figure) is more appropriate for roundrobin polling scheme utilization, compared to the contention-based scheme.

SDL models
For the purpose of analytical results validation, as well as for testing and improvement of the communication protocol for bandwidth allocation, we have created according to the methodology presented in the previous section, both behavior and performance evaluating models. Actually, we have built several behavior models for different MAC-layer processes involved by the communication protocol, located in both base station and subscriber station. After the functional testing of each protocol entity, the behavior models are implemented into fully operational performance model. The highest level of this model is presented in the www.intechopen.com Engineering of Communication Systems and Protocols 351 following Fig. 6. It contains a behavior model of the BS which contains several processes: Optimizer, Estimator and MsgCreator. The Optimizer determines the optimal values of the following contention parameters: the initial contention window, the number of allowed consequent unsuccessful bandwidth request transmissions, the number of multicast groups, and the number of contention slots per frame. These parameters are sent to the process which constructs the MAC management messages (MsgCreator), as well as to the process Estimator. The purpose of the Estimator is to estimate several network condition related parameters, such as: the number of active users, the probability of collision, the probability of transmission, etc. These parameters are needed for an accurate operation of the Optimizer. Fig. 6. Case study Performance model.
The performance model also contains blocks for channel emulation (collisionMng) and simulation control block (SSmng) which provides SSs PID management.
Besides the BS, the performance model contains multiple instances of the subscriber station block. All instances of the SS block operate as independent user equipment stations. Through the SSmng block we are able to define and control the number of active stations in the simulation scenario. The BS through the MsgCreator block controls the mode of operation (contention or round-robin, along with the number of multicast groups), according to the Optimizer commands. The Estimator operates dynamically, and feeds the Optimizer with the necessary information regarding the network conditions. The active stations are sending bandwidth request messages and then register the outcome of every attempt (success or failure).
In this communication protocol engineering case study, the Optimizer is the newly proposed entity which operation will be described in details. Actually, the Optimizer performs several steps presented formally in Fig. 7. These steps are: Fig. 7. Functional steps of the Optimizer.
1. The Optimizer initiates the bandwidth request procedure using predefined initial values for the contention parameters, without using multicast (M = 1). 2. After a training period of 5 seconds, the Estimator sends to the Optimizer estimated values for the number of active SSs (n) and information regarding their activity dynamics (q), please refer to (Latkoski, 2010). 3. The Optimizer finds the most suitable values for the number of multicast groups and number of SSs per group. For this purpose the Optimizes searches through a LOOKUP table for the possible candidate values of the contention parameters which can provide number of successful bandwidth requests per frame (N suc ) such as N suc < N d , where N d is the number of uplink data slots per frame. 4. From all candidate parameter values, the Optimizer selects those which will provide the lowest value for the average bandwidth access delay. 5. Then the Optimizer calculates the optimal values for the contention window and the number of consecutive unsuccessful attempts. 6. Finally, the Optimizer checks whether the round-robin polling method could provide better performance. After this, it sends its final decision by a command to the MsgCreator.

Results
The performance model was tested in simulation scenario where the number of active stations (n) is changed with the time, as presented in Fig. 8. The scenario simulates 24 hour network operation. The next two figures ( Fig. 9 and Fig. 10) provide the measured performance of the bandwidth request procedure for three different modes of operation: round-robin polling, contention without multicast grouping, and contention with multicast grouping. Fig. 9 presents the transmission slots utilization, while Fig. 10 presents the average bandwidth access delay. During the simulations we have used the following parameter values: N r = 10, N all = 150, q = 1, t frm = 10ms.
From the results we can conclude that the contention based bandwidth request procedure which uses multicast grouping almost always outperforms the case where no multicasting groups are used. This is the case if our comparison criterion is based on the transmission slots utilization. The same conclusion is not entirely valid if the criterion is based on the average bandwidth access delay. The round-robin mode of operation, as expected, outperforms the other modes of operation when the number of active users is close to the number of registered users.

Conclusion
The performance of a communication system (or protocol) is the major indicator for the successfulness of the standard that specifies that system. During the development process of new communication technologies, the aim is to increase the overall protocol performance, which automatically means to produce a better standard. The formal-based performance evaluation method described in this chapter, which uses SDL network prototyping, provides the most relevant results of the system performance without the need for its early and prematurely hardware implementation. This is crucial for the production of competitive communication products which will be free of hidden flows during the development process. The aim of this chapter was to emphasize the importance of conducting an early performance evaluation of the communication protocols and systems, and to suggest an appropriate solution for carrying out such an activity.
We have illustrated the proposed framework through an actual case study which targets the WiMAX bandwidth allocation methods. Three schemes were investigated: contention based bandwidth requesting without multicasting, contention based procedure with multicast grouping, and round-robin polling based bandwidth allocation scheme. With the help of the SDL performance model, we have found that the preferred scheme should be selected based on the network working conditions (i.e. number of active subscriber stations) and according to the performance criterion (transmission slots utilization or average bandwidth access delay).
The proposed new protocol etities which are product of the communication protocol engineering process are simple and accurate, and can be easily implemented at the BS side in order to optimize the performance of the WiMAX bandwidth request procedure.
The presented results are only a hint to the possible evaluation outcomes from the network emulations created using the proposed methodology.