The 41st Annual IEEE/ACM International Symposium on Microarchitecture (MICRO-41)

November 8-12, 2008

Lake Como, Italy


Tutorials: November 8-9, 2008

T8: Modeling, Verification and Mapping of Applications on WSN Architectures

 

Abstract

Wireless sensor networks (WSN's) are a challenging topic and promise to change the concept of computer and its role in everyday's life as sketched by the example of Figure 1. A WSN consists of several battery-powered computing units communicating each other through radio messages and interacting with the environment through sensors and actuators.

Figure 1. Example of wireless sensor network.

IEEE 802.15.4 [1] and ZigBee [2] provide a standard protocol and a standard application framework to develop WSN-based applications. Development can be also simplified by the use of software services provided by the operating system. The Texas Instruments' Z-Stack [3] is a well-known software package providing ZigBee API and minimal OS services such as timers and task scheduling. TinyOS [11] is another popular operating system providing a component-based programming approach. In other cases, SW services take the form of the so-called middleware which hides the peculiarities of the operating system and HW components and provides abstract entities such as objects, tables, tuples, and message boards [7, 12].

Despite these achievements, designing applications for wireless sensor networks remains a hard task due to:

  1. the need to coordinate a high number of independent units;
  2. the need to comply with standard protocols and application frameworks such as ZigBee;
  3. the tight HW/SW and power constraints of each computing node.

This tutorial addresses all these aspects, by presenting an integrated SystemC-based design flow for WSN-based applications. The design flow consists of the following steps:

  1. object-oriented modeling of the application;
  2. simulation of the application to validate its behavior;
  3. mapping onto an actual middleware running on an actual architecture; the tutorial explains in details the mapping on ZigBee over the CC2430 system-on-chip by Texas Instruments.

Figure 2. SystemC-based design flow.

Details

During the modeling phase, the whole application is developed as a single distributed application in which communications between nodes are simulated through SystemC primitives; a possible approach could consist in creating a module for each network node, e.g., WSN nodes, the Gateway and TCP/IP nodes. The application components on the different nodes communicate each other through an interoperable set of protocols provided by an underlying software layer named Abstract Middleware Environment (AME) [6, 7]. The Abstract Middleware is similar to the middleware actually present on the final nodes in the fact that it provides the same API to the application; in this way, the application components can be easily ported to the actual platform (Figure 3).

Figure 3. Mapping of an application from the Abstract Middleware to the actual middleware.

Since the Abstract Middleware is written in SystemC, it exploits a complete simulation environment which can also reproduce the behavior of HW components and of the network. In particular, simulation can focus on different aspects according to design needs:

  • realistic model of the wireless channel to evaluate message latency, network load and failure rate; this simulation is performed through the SystemC Network Simulation Library [4];
  • realistic model of the radio interface of each node to evaluate power consumption and the corresponding network lifetime [5];
  • emulation of the CPU to test actual binary code and its computational and memory requirements; this analysis is performed through co-simulation [8, 9, 10].

The mapping process is represented in Figure 4. In the leftmost side of the Figure, the application is executed on the SystemC Abstract Middleware Environment. The SystemC framework provides primitives to model concurrent processes, to synchronize them and to exchange messages. As depicted in the rightmost side of Figure 4, the SystemC application is then mapped over an actual platform, i.e., in our case, ZigBee nodes by Texas Instruments. As shown in the middle part of the Figure, the mapping process takes into account:

  • the services already provided by the chosen communication protocols and HW/SW platform thus avoiding their redundant presence in the application code which can be kept small, and
  • the constraints imposed by the chosen operating system for statement execution (i.e., task scheduling, multi-threading, etc.).

Figure 4. Mapping of the AME-based application onto ZigBee.

List of topics

  • WSN application requirements
  • SystemC modeling of WSN applications
  • Abstract Middleware Environment in SystemC (AME)
  • SystemC Network Simulation Library (SCNSL)
  • SystenC model of the WSN architecture
  • WSN application refinements
  • ZigBee standard and protocol
  • WSN application mapping on ZigBee

References

  1. LAN/MAN Standards Committee of the IEEE Computer Society, "IEEE Standard for Information technology - Telecommunications and information exchange between systems - Local and metropolitan area networks - Specific requirements - Part 15.4: Wireless Medium Access Control (MAC) and Physical Layer (PHY) Specifications for Low Rate Wireless Personal Area Networks (LR-WPANs)", Sept., 2006.
  2. ZigBee Standards Organization, "ZigBee 2006 Specification, Revision 13," URL: http://www.zigbee.org/en/spec_download/download_request.asp, 2006.
  3. Texas Instruments Inc., "Z-Stack - ZigBee Protocol Stack", http://focus.ti.com/docs/toolsw/folders/print/z-stack.html.
  4. F. Fummi, D. Quaglia, F. Stefanni, A SystemC-based Framework for Modeling and Simulation of Networked Embedded Systems, Proc. of "Forum on Specification and Design Languages (FDL)", Stuttgart, Germany, Sep. 23-25, 2008.
  5. A. Acquaviva, F. Fummi, G. Perbellini, D. Quaglia, An Energy-Aware Co-Simulation Framework for the Design of Wireless Sensor Networks, Proc. of "ACM Great Lakes Symposium on VLSI (GLSVLSI)", Orlando, Florida, May. 4-6, 2008.
  6. F. Fummi, G. Perbellini, D. Quaglia, S. Vinco, AME: an Abstract Middleware Environment for Validating Networked Embedded Systems Applications, Proc. of "IEEE High-Level Design and Test Workshop (HLDVT)" , Irvine, CA, USA , Nov. 7-9 , 2007 , pp. 187-194.
  7. F. Fummi, G. Perbellini, R. Pietrangeli, D. Quaglia, A Middleware-Centric Design Flow for Networked Embedded Systems , Proc. of "IEEE Design, Automation and Test in Europe (DATE)" , Nice, France , April 16-20 , 2007 , pp. 1-6.
  8. A. Bragagnini, F. Fummi, A. Huebner, G. Perbellini, D. Quaglia, Co-Simulation Framework for the ANGEL Platform , Proc. of "IEEE International Conference on Electronics, Circuits and Systems (ICECS)" , Marrakech, Morocco , Dec. 11-14 , 2007 , pp. 629-632.
  9. E. Alessio, F. Fummi, D. Quaglia, M. Turolla, Modeling and Simulation Alternatives for the Design of Networked Embedded Systems , Proc. of "IEEE Design, Automation and Test in Europe (DATE)" , Nice, France , April 16-20 , 2007 , pp. 1-6.
  10. F. Fummi, M. Loghi, G. Perbellini, M. Poncino, SystemC co-simulation for core-based embedded systems, Proc. of "Design Automation For Embedded Systems" , vol. 11 , 2007 , pp. 141-166.
  11. University of California at Berkeley, TinyOS Operating System, URL: http://www.tinyos.net.
  12. F. J. Villanueva, et al., Lightweight Middleware for Seamless HW-SW Interoperability with Application to Wireless Sensor Networks, in Proc. of "IEEE Design Automation and Test in Europe Conference (DATE)", Acropolis, Nice, France, 16-20 April, 2007.

Duration

The tutorial will take half a day in the period November 8-9, 2008.

Organizer and speakers

Organizer: Franco Fummi, franco.fummi@univr.it, Dipartimento di Informatica, Università di Verona, Italy. Franco Fummi received the Ph.D. in Electronic and Communication Engineering in 1994 at Politecnico di Milano. In 1993 he was Research Assistant at the department of Computer Science of the University of Victoria (B.C.). In 1996 he obtained the position of Assistant Professor in Computer Science at the Dipartimento di Elettronica e Informazione of Politecnico di Milano where he remained until October 1998. In July 1998 he obtained the position of Associate Professor in Computer Architecture at the Computer Science Department of Università di Verona. Since March 2001 he is Full Professor in Computer Architecture at the Computer Science Department of Università di Verona. His main research interests concern hardware description languages and electronic design automation methodologies for modeling, verification, testing and optimization of hardware/software/network systems. He published more than 170 papers in the EDA field; two of them received the "best paper awards" respectively at IEEE EURODAC'96 and IEEE DATE'99.

Speaker 1: Andrea Acquaviva, andrea.acquaviva@univr.it, Dipartimento di Informatica, Università di Verona, Italy. Andrea Acquaviva received the Ph.D. in Electronic Engineering in 2002 at Università di Bologna. In 2003 he was Assistant Professor at the department of Computer Science of the Università di Urbino. Since 2006 he is Assistant Professor at the Computer Science Department of Università di Verona. His main research interests concern power analysis, network modeling and MpSOC architecture. He published more than 50 papers in these fields.

Speaker 2: Davide Quaglia, davide.quaglia@univr.it, Dipartimento di Informatica, Università di Verona, Italy. Davide Quaglia received the Ph.D. in Communication Engineering in 2004 at Politecnico di Torino. Since 2005 he is Assistant Professor at the Computer Science Department of Università di Verona. His main research interests concern network modeling, co-simulation, middleware for networked embedded systems. He published more than 30 papers on these areas.

Speaker 3: Giovanni Perbellini, giovanni.perbellini@edalab.it, EDALab: networked embedded systems, Italy. Giovanni Perbellini is currently a Ph.D. student in Computer Science at the Department of Computer Science of Università di Verona. Since 2007 he is a co-founder of EDALab, a spin-off devoted to the design of networked embedded systems. His main research interests concern co-simulation, middleware, applications for wireless sensor networks. He published almost 20 papers on these areas.

Back to MICRO-41 Home