Resource-Focused Toolchain for Rapid Prototyping of Embedded Systems

This paper introduces the RaPTEX toolchain and its use for rapid prototyping and evaluation of embedded communication systems. This toolchain is unique for several reasons. First, by using static code analysis techniques, it is able to predict both the typical case and bounds for resource usage, such as computational, memory (both static and dynamic), and energy requirements. Second, it provides a graphical user interface with configurable software building blocks which allows easy creation and customization of protocol stacks. Third, it targets low-cost, low-energy hardware, allowing the creation of low-cost systems. We demonstrate the RaPTEX toolchain by evaluating different design options for an experimental ultrasonic communication system for biotelemetry in extremely shallow waters. The power, size, mass, and cost constraints of this application make it critical to pack as much processing into the available resources as possible. The RaPTEX toolchain analyzes resource use, enabling the system to safely operate closer to the edge of the resource envelope. The toolchain also helps users with the rapid prototyping of communication protocols by providing users with quick feedback on resource requirements. We demonstrate the use and output of the toolchain. We compare the accuracy of its predictions against measurements of the real hardware.

[1]  Isabelle Puaut,et al.  A modular and retargetable framework for tree-based WCET analysis , 2001, Proceedings 13th Euromicro Conference on Real-Time Systems.

[2]  R. E. Johnson,et al.  The Conduit: A Communication Abstraction in C++ , 1990, C++ Conference.

[3]  Stefan Savage,et al.  Alpine: A User-Level Infrastructure for Network Protocol Development , 2001, USITS.

[4]  Dawson R. Engler,et al.  Exokernel: an operating system architecture for application-level resource management , 1995, SOSP.

[5]  David B. Whalley,et al.  Bounding Pipeline and Instruction Cache Performance , 1999, IEEE Trans. Computers.

[6]  Douglas C. Schmidt,et al.  ADAPTIVE: A dynamically assembled protocol transformation, integration and evaluation environment , 1993, Concurr. Pract. Exp..

[7]  Edoardo Biagioni A structured TCP in standard ML. , 1994, SIGCOMM 1994.

[8]  Giovanna Di Marzo Serugendo,et al.  COMSCRIPT: An Environment for the Implementation of Protocol Stacks and their Dynamic Reconfiguration , 1994 .

[9]  P. Volgyesi,et al.  Component-based development of networked embedded applications , 2002, Proceedings. 28th Euromicro Conference.

[10]  Alexander G. Dean,et al.  An ultrasonic communication system for biotelemetry in extremely shallow waters , 2008, Underwater Networks.

[11]  Feng Zhao,et al.  Que: A Sensor Network Rapid Prototyping Tool with Application Experiences from a Data Center Deployment , 2008, EWSN.

[12]  Larry L. Peterson,et al.  A language-based approach to protocol implementation , 1993, TNET.

[13]  Deborah Estrin,et al.  A sensor network application construction kit (SNACK) , 2004, SenSys '04.

[14]  Reinhard Wilhelm,et al.  Cache Behavior Prediction by Abstract Interpretation , 1996, SAS.

[15]  Ralph Johnson,et al.  A framework for network protocol software , 1995, OOPSLA.

[16]  Xin Yuan,et al.  VISTA: VPO interactive system for tuning applications , 2006, TECS.

[17]  Chinya V. Ravishankar,et al.  Linguistic support for controlling protocol execution , 1994, 14th International Conference on Distributed Computing Systems.

[18]  Brian Warboys,et al.  Application-compliant networking on embedded systems , 2002, Proceedings 3rd IEEE International Workshop on System-on-Chip for Real-Time Applications.

[19]  Michele Zorzi,et al.  World ocean simulation system (WOSS): a simulation tool for underwater networks with realistic propagation modeling , 2009, WUWNet.

[20]  Xianfeng Li,et al.  Modeling out-of-order processors for software timing analysis , 2004, 25th IEEE International Real-Time Systems Symposium.

[21]  Mihail L. Sichitiu,et al.  RaPTEX: Rapid prototyping tool for embedded communication systems , 2010, TOSN.

[22]  Andreas Ermedahl,et al.  A Modular Tool Architecture for Worst-Case Execution Time Analysis , 2008 .

[23]  Thu D. Nguyen,et al.  Implementing network protocols at user level , 1993, TNET.

[24]  Robert Szewczyk,et al.  System architecture directions for networked sensors , 2000, ASPLOS IX.

[25]  Larry L. Peterson,et al.  The x-Kernel: An Architecture for Implementing Network Protocols , 1991, IEEE Trans. Software Eng..

[26]  Alexander G. Dean,et al.  Extending STI for demanding hard-real-time systems , 2003, CASES '03.

[27]  Manuel E. Benitez,et al.  A portable global optimizer and linker , 1988, PLDI '88.

[28]  Roy Friedman,et al.  A framework for protocol composition in Horus , 1995, PODC '95.

[29]  Deborah Estrin,et al.  A Sensor Network Application Construction Kit , 2004 .

[30]  Edward W. Felten,et al.  Protocol compilation: high-performance communication for parallel programs , 1993 .

[31]  Jeff Rose,et al.  MANTIS: system support for multimodAl NeTworks of in-situ sensors , 2003, WSNA '03.

[32]  Rachid Guerraoui,et al.  Flexible protocol composition in BAST , 1998, Proceedings. 18th International Conference on Distributed Computing Systems (Cat. No.98CB36183).