CSE 4520/5520 Wireless Networks and Protocols

Homework 1 and Homework2

(Homework1: Due 31st August 2015)

(Homework2: Due 7th September 2015)

In this homework we try to learn on formulating the real world problems into events and states. We analyze the processof cellular phone calls between two people.

Part A: A subscriber in Dallas would like to call a mobile subscriber in Austin. There are two base stations (one in Dallas and another in Austin) for forwarding the messages between mobile units. Derive event charts and state machines for a call setup, teardown, forward, busy and error scenarios . Assume appropriate messages between the mobile users and base stations. Draw an event chart for all the transactions between mobile units and the BS. Make sure you cover as many error (i.e., unsuccessful) scenarios as possible. Next, develop state diagrams for each entity (caller, base station, and Callee).Include all the timers necessary for your work. See examples for event charts in the following references. We have discussed this problem in the class; so refer to the class notes for more details.

MS1 ------BS1______BS2-----MS2

Part B: As part of Homework1, we implement the above state machine (in C or C++). Think of a error scenarios (most likely this error goes to several states) and demo how your program can support these scenarios: i) caller gets an error message that network is busy and attempts 3 times. Implement a timer for trying 3 times (this means you repeat the setup message when the timer expires. After three attempts, the caller gives up.

Part C: As part of Homework2, we implement a communication protocol (in C or C++) so that we could handoff a call between BS1 and BS2. Assume message exchange between MS and BS1 and between MS and BS2. Look at the following figure for connectivity between two base stations required for handoff. A reason for handoff is due to mobility . MS will be moving from BS1 to BS2. Part C does not have to be implemented.

MS1   BS1-----MSC

| | |

| | |

| ------ BS2------

DO NOT copy a problem or a solution from these references or handouts (or matter of fact from any website). The states and transitions should be clearly defined. Pay special attention while picking up the states (e.g., states can be actions). Finally, you write pseudo code for the state diagram. See the following references for the examples of pseudo code. In future, we will be writing the real code for this problem. Hence pay attention to details.

In your report, you include the following:

-Problem definition (3-6 sentences)

-Event chart with clear explanation for each event

-State diagram with states and transitions clearly defined

-Well commented pseudo code

-Conclusions

Grading:

-Event chart –15%

-State diagram – 15%

-Clearly commented and well structured code –30%

-Working state diagram with forward and busy – 20%

-Report structure and readability 10%

-Conclusions – 10%

Some references:

(this has Verilog code but gives some idea how to realize the state machines)

ftp://ftp.rfc-editor.org/in-notes/rfc3215.txt

(several examples of event flows with errors scenarios)