Mobile Networks and Applications

, Volume 15, Issue 6, pp 769–785 | Cite as

Automated Development of Cooperative MAC Protocols

A Compiler-Assisted Approach
  • Hermann Simon Lichte
  • Stefan Valentin
  • Holger Karl


Letting users cooperate is a promising approach to improve reliability and throughput in wireless networks, but it has not yet made the transition into practice. Unlike conventional wireless communication, cooperation distributes each single transmission among multiple users and channels. Consequently, a Medium Access Control (MAC) protocol developer has to cope with various new, heavily distributed protocol functions that are tedious to implement and to debug. To untie this complex development process, we propose to automate its most error-prone parts: Implementation of MAC automata, analysis, and code generation. To do so, we formalize cooperative MAC protocols by a new, easy-to-use specification language and propose a compiler for which we construct various backends to automatically analyze validity and performance of the specification and to translate the specified protocols into program code for simulators and even Software-Defined Radio (SDR) prototypes. All this provides a lightweight, heavily automated development process that quickly turns a cooperative MAC protocol specification into a practical implementation.


protocol specification protocol implementation protocol compiler Medium Access Control (MAC) cooperative relaying 



We would like to thank the anonymous reviewers for their helpful comments that improved the paper’s final version.


  1. 1.
    Aho AV, Lam MS, Sethi R, Ullman JD (2007) Compilers—principles, techniques, & tools, 2nd edn. Pearson Education, HarlowGoogle Scholar
  2. 2.
    Burch JR, Clarke EM, McMillan KL, Dill DL, Hwang LJ (1990) Symbolic model checking: 1020 states and beyond. In: Proc. 5th annual IEEE symp. logic comput. sci., pp 428–439. doi: 10.1109/LICS.1990.113767
  3. 3.
    Chen Y, Kishore S, Li J (2006) Wireless diversity through network coding. In: Proc. IEEE wireless commun. netw. conf., vol 3, pp 1681–1686. doi: 10.1109/WCNC.2006.1696541
  4. 4.
    Gouda MG (1993) Protocol verification made simple: a tutorial. Comput Netw ISDN Syst 25(9):969–980. doi: 10.1016/0169-7552(93)90094-K CrossRefGoogle Scholar
  5. 5.
    Gray RW, Levi SP, Heuring VP, Sloane AM, Waite WM (1992) Eli: a complete, flexible compiler construction system. Commun ACM 35(2):121–130CrossRefGoogle Scholar
  6. 6.
    Gunduz D, Erkip E (2004) Joint source-channel cooperation: diversity versus spectral efficiency. In: Proc. IEEE int. symp. information theory, p 392Google Scholar
  7. 7.
    Holzmann GJ (1992) Protocol design: redefining the state of the art. IEEE Softw 9(1):17–22. doi: 10.1109/52.108773 CrossRefMathSciNetGoogle Scholar
  8. 8.
    Hunter TE, Sanayei S, Nosratinia A (2006) Outage analysis of coded cooperation. IEEE Trans Inf Theory 52(2):375–391. doi: 10.1109/TIT.2005.862084 CrossRefMathSciNetGoogle Scholar
  9. 9.
    Janani M, Hedayat A, Hunter TE, Nosratinia A (2004) Coded cooperation in wireless communications: space-time transmission and iterative decoding. IEEE Trans Signal Process 52(2):362–371CrossRefMathSciNetGoogle Scholar
  10. 10.
    Kastens U (1997) LIDO—computations in trees. University of Paderborn.
  11. 11.
    Laneman JN, Tse DNC, Wornell GW (2004) Cooperative diversity in wireless networks: efficient protocols and outage behavior. IEEE Trans Inf Theory 50(12):3062–3080. doi: 10.1109/TIT.2004.838089 CrossRefMathSciNetGoogle Scholar
  12. 12.
    Lichte HS, Valentin S (2008) Implementing MAC protocols for cooperative relaying: a compiler-assisted approach. In: Proc. 1st int. conf. simulation tools and techniques for commun., networks and syst. Best paper awardGoogle Scholar
  13. 13.
    MathWorks (2006) Matlab—the language of technical computing.
  14. 14.
    O’Hara B, Petrick A (1999) IEEE 802.11 handbook: a designers companion. IEEE, PiscatawayGoogle Scholar
  15. 15.
    Sendonaris A, Erkip E, Aazhang B (1998) Increasing uplink capacity via user cooperation diversity. In: Proc. IEEE int. symp. information theory, p 156Google Scholar
  16. 16.
    SORBAS 101 (2005) Signalion software radio-based prototyping system.
  17. 17.
    Tse D, Viswanath P (2005) Fundamentals of wireless communication. Cambridge University Press, CambridgeMATHGoogle Scholar
  18. 18.
    Valentin S (2006) ChSim—a wireless channel simulator for OMNeT+ +. TKN simulation workshop 2006. Technical University of Berlin, Germany.
  19. 19.
    Valentin S, Karl H (2007) Effect of user mobility in coded cooperative systems with joint partner and cooperation level selection. In: Proc. IEEE wireless commun. and networking conf., pp 896–901. doi: 10.1109/WCNC.2007.170
  20. 20.
    Valentin S, Lichte HS, Warneke D, Biermann T, Funke R, Karl H (2008) Mobile cooperative WLANs—MAC and transceiver design, prototyping, and field measurements. In: Proc. IEEE 68th veh. technology conf., pp 1–5. doi: 10.1109/VETECF.2008.350
  21. 21.
    Varga A (2001) The OMNeT+ + discrete event simulation system. In: Proc. European simulation multiconference, pp 319–324Google Scholar
  22. 22.
    Zummo SA (2007) Performance analysis of coded cooperation diversity in wireless networks. Wirel Commun Mob Comput 7:473–481CrossRefGoogle Scholar

Copyright information

© Springer Science+Business Media, LLC 2009

Authors and Affiliations

  • Hermann Simon Lichte
    • 1
  • Stefan Valentin
    • 1
  • Holger Karl
    • 1
  1. 1.Computer Networks GroupUniversity of PaderbornPaderbornGermany

Personalised recommendations