This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Conditional Partial Order Graphs: Model, Synthesis, and Application
November 2010 (vol. 59 no. 11)
pp. 1480-1493
Andrey Mokhov, Newcastle University, Newcastle upon Tyne
Alexandre (Alex) Yakovlev, Newcastle University, Newcastle Upon Tyne
The paper introduces a new formal model for specification and synthesis of control paths in the context of asynchronous system design. The model, called Conditional Partial Order Graph (CPOG), captures concurrency and choice in a system's behavior in a compact and efficient way. It has advantages over widely used interpreted Petri Nets and Finite State Machines for a class of systems which have many behavioral scenarios defined on the same set of actions, e.g., CPU microcontrollers. The CPOG model has potential applications in the area of microcontrol synthesis and brings new methods for modeling concurrency into the application domain of modern and future processor architectures. The paper gives the formal definition of the CPOG model, formulates and solves the problem of CPOG synthesis, and introduces various optimization techniques. The presented ideas can be applied for CPU control synthesis as well as for synthesis of different kinds of event-coordination circuits often used in data coding and communication in digital systems, as demonstrated with several application examples.

[1] International Technology Roadmap for Semiconductors (ITRS '07). http://www.itrs.net/Links/2007ITRSHome2007.htm , 2007.
[2] A. Bardsley and D. Edwards, "The Balsa Asynchronous Circuit Synthesis System," Proc. Forum on Design Languages, 2000.
[3] J. Cortadella, M. Kishinevsky, A. Kondratyev, L. Lavagno, and A. Yakovlev, "Petrify: A Tool for Manipulating Concurrent Specifications and Synthesis of Asynchronous Controllers," IEICE Trans. Information and Systems, vol. E80-D, no. 3, pp. 315-325, 1997.
[4] J. Cortadella, M. Kishinevsky, A. Kondratyev, L. Lavagno, and A. Yakovlev, "Logic Synthesis of Asynchronous Controllers and Interfaces," Advanced Microelectronics, Springer-Verlag, 2002.
[5] A. Lew, Computer Science: A Math. Introduction. Prentice-Hall, 1985.
[6] G. De Micheli, Synthesis and Optimization of Digital Circuits. McGraw-Hill Higher Education, 1994.
[7] A. Mokhov, C. D'Alessandro, and A. Yakovlev, "Multiple rail phase encoding circuits," Technical Report, NCL-EECE-MSD-TR-2008-133, May 2008.
[8] A. Mokhov, "Conditional Partial Order Graphs," PhD thesis, Newcastle Univ., Sept. 2009.
[9] A. Mokhov and A. Yakovlev, "Conditional Partial Order Graphs and Dynamically Reconfigurable Control Synthesis," Proc. Design, Automation and Test in Europe (DATE) Conf., 2008.
[10] D. Muller and W. Bartky, "A Theory of Asynchronous Circuits," Proc. Int'l Symp. Theory of Switching, pp. 204-243, 1959.
[11] S. Nowick, "Automatic Synthesis of Burst-Mode Asynchronous Controllers," PhD thesis, Stanford Univ., 1993.
[12] I. Poliakov, A. Mokhov, A. Rafiev, D. Sokolov, and A. Yakovlev, "Automated Verification of Asynchronous Circuits Using Circuit Petri Nets," Proc. Int'l Symp. Advanced Research in Asynchronous Circuits and Systems (ASYNC), 2008.
[13] R.L. Rudell and A.L. Sangiovanni-Vincentelli, "Multiple-Valued Minimization for PLA Optimization," IEEE Trans. CAD of Integrated Circuits and Systems, vol. 6, no. 5, pp. 727-750, Sept. 1987.
[14] D. Sokolov and A. Yakovlev, "Clock-Less Circuits and System Synthesis," Proc. IEE Proc. Computers and Digital Techniques, 2005.
[15] A. Taubin, J. Cortadella, L. Lavagno, L. Lavagno, A. Kondratyev, and A.M.G. Peeters, "Design Automation of Real-Life Asynchronous Devices and Systems," Foundations and Trends in Electronic Design Automation, vol. 2, no. 1, pp. 1-133, 2007.
[16] K. van Berkel, M. Josephs, and S. Nowick, "Scanning the Technology: Applications of Asynchronous Circuits," Proc. IEEE, 1999.
[17] K. van Berkel, J. Kessels, M. Roncken, R. Saeijs, and F. Schalij, "The VLSI-Programming Language Tangram and Its Translation into Handshake Circuits," Proc. European Conf. Design Automation (EDAC), 1991.
[18] T. Verhoeff, "Delay Insensitive Codes—An Overview," Distributed Computing, vol. 3, no. 1, pp. 1-8, 1988.
[19] I. Wegener, The Complexity of Boolean Functions. Johann Wolfgang Goethe-Universitat, 1987.
[20] A. Yakovlev, M. Kishinevsky, A. Kondratyev, L. Lavagno, and M. Pietkiewicz-Koutny, "On the Models for Asynchronous Circuit Behaviour with OR Causality," Formal Methods in System Design, vol. 9, pp. 189-234, 1996.
[21] K.Y. Yun, D.L. Dill, and S.M. Nowick, "Synthesis of 3D Asynchronous State Machines," Proc. Int'l Conf. Computer Design (ICCD), pp. 346-350, 1992.

Index Terms:
Logic synthesis, concurrency, partial orders, asynchronous circuits, microarchitecture.
Citation:
Andrey Mokhov, Alexandre (Alex) Yakovlev, Wei Dong, Chun Chen, Xue Liu, Yunhao Liu, Jiajun Bu, Kougen Zheng, "Conditional Partial Order Graphs: Model, Synthesis, and Application," IEEE Transactions on Computers, vol. 59, no. 11, pp. 1480-1493, Nov. 2010, doi:10.1109/TC.2010.58
 This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
SenSpire OS: A Predictable, Flexible, and Efficient Operating System for Wireless Sensor Networks
November 2010 (vol. 59 no. 11)
pp. 1480-1493
Wei Dong, Zhejiang University, Hangzhou
Chun Chen, Zhejiang University, Hangzhou
Xue Liu, University of Nebraska Lincoln
Yunhao Liu, Tsinghua University
Jiajun Bu, Zhejiang University, Hangzhou
Kougen Zheng, Zhejiang University, Hangzhou
The development of a modern sensor network is difficult because of the long-term unattended operation mode, diverse application requirements, and stringent resource constraints. To address these issues, we present SenSpire OS, a predictable, flexible, and efficient operating system for wireless sensor networks. We improve system predictability by two-phase interrupt servicing and predictable thread synchronization; we achieve system flexibility by providing a hybrid model for both event-driven programming and multithreaded programming; we retain system efficiency by employing stack sharing and modular design. Moreover, we have designed a three-layer networking stack and an object-oriented programming language (CSpire) to enhance system usability and programming convenience. Having implemented SenSpire OS on three most commonly used sensor node platforms, we evaluate its performance extensively. Results show that SenSpire OS ensures predictable system performance, provides a flexible hybrid model for application programming, and is efficient in resource utilization.

[1] International Technology Roadmap for Semiconductors (ITRS '07). http://www.itrs.net/Links/2007ITRSHome2007.htm , 2007.
[1] I.F. Akyildiz, W. Su, Y. Sankarasubramaniam, and E. Cayirci, “Wireless Sensor Networks: A Survey,” Computer Networks, vol. 38, pp. 393-422, 2002.
[2] A. Bardsley and D. Edwards, "The Balsa Asynchronous Circuit Synthesis System," Proc. Forum on Design Languages, 2000.
[2] TinyOS, http:/www.tinyos.net,
[3] J. Cortadella, M. Kishinevsky, A. Kondratyev, L. Lavagno, and A. Yakovlev, "Petrify: A Tool for Manipulating Concurrent Specifications and Synthesis of Asynchronous Controllers," IEICE Trans. Information and Systems, vol. E80-D, no. 3, pp. 315-325, 1997.
[3] A. Dunkels, B. Grönvall, and T. Voigt, “Contiki—A Lightweight and Flexible Operating System for Tiny Networked Sensors,” Proc. 29th Ann. IEEE Int'l Conf. Local Computer Networks (LCN '04), 2004.
[4] J. Cortadella, M. Kishinevsky, A. Kondratyev, L. Lavagno, and A. Yakovlev, "Logic Synthesis of Asynchronous Controllers and Interfaces," Advanced Microelectronics, Springer-Verlag, 2002.
[4] C.-C. Han, R. Kumar, R. Shea, E. Kohler, and M. Srivastava, “A Dynamic Operating System for Sensor Nodes,” Proc. Third Int'l Conf. Mobile Systems, Applications, and Services (MobiSys), 2005.
[5] A. Lew, Computer Science: A Math. Introduction. Prentice-Hall, 1985.
[5] S. Bhatti, J. Carlson, H. Dai, J. Deng, J. Rose, A. Sheth, B. Shucker, C. Gruenwald, A. Torgerson, and R. Han, “MANTIS OS: An Embedded Multithreaded Operating System for Wireless Micro Sensor Platforms,” J. Mobile Networks and Applications, vol. 10, pp. 563-579, 2005.
[6] G. De Micheli, Synthesis and Optimization of Digital Circuits. McGraw-Hill Higher Education, 1994.
[6] A. Eswaran, A. Rowe, and R. Rajkumar, “Nano-RK: An Energy-Aware Resource-Centric RTOS for Sensor Networks,” Proc. 26th IEEE Int'l Real-Time Systems Symp. (RTSS), 2005.
[7] A. Mokhov, C. D'Alessandro, and A. Yakovlev, "Multiple rail phase encoding circuits," Technical Report, NCL-EECE-MSD-TR-2008-133, May 2008.
[7] H. Cha, S. Choi, I. Jung, H. Kim, and H. Shin, “RETOS: Resilient, Expandable, and Threaded Operating System for Wireless Sensor Networks,” Proc. Sixth Int'l Conf. Information Processing in Sensor Networks (IPSN '07), 2007.
[8] A. Mokhov, "Conditional Partial Order Graphs," PhD thesis, Newcastle Univ., Sept. 2009.
[8] Q. Cao, T.F. Adbelzaher, and J.A. Stankovic, “The LiteOS Operating System: Towards Unix-Like Abstractions for Wireless Sensor Networks,” Proc. Seventh Int'l Conf. Information Processing in Sensor Networks (IPSN '08), 2008.
[9] A. Mokhov and A. Yakovlev, "Conditional Partial Order Graphs and Dynamically Reconfigurable Control Synthesis," Proc. Design, Automation and Test in Europe (DATE) Conf., 2008.
[9] K. Lorincz, B. rong Chen, J. Waterman, G. Werner-Allen, and M. Welsh, “Resource Aware Programming in the Pixie OS,” Proc. Sixth ACM Conf. Embedded Network Sensor Systems (SenSys), 2008.
[10] D. Muller and W. Bartky, "A Theory of Asynchronous Circuits," Proc. Int'l Symp. Theory of Switching, pp. 204-243, 1959.
[10] Q. Wang, Y. Zhu, and L. Cheng, “Reprogramming Wireless Sensor Networks: Challenges and Approaches,” IEEE Network Magazine, vol. 20, no. 3, pp. 48-55, May/June 2006.
[11] S. Nowick, "Automatic Synthesis of Burst-Mode Asynchronous Controllers," PhD thesis, Stanford Univ., 1993.
[11] W. Dong, C. Chen, X. Liu, J. Bu, and Y. Liu, “Dynamic Linking and Loading in Networked Embedded Systems,” Proc. IEEE Sixth Int'l Conf. Mobile Ad Hoc and Sensor Systems (MASS '09), 2009.
[12] I. Poliakov, A. Mokhov, A. Rafiev, D. Sokolov, and A. Yakovlev, "Automated Verification of Asynchronous Circuits Using Circuit Petri Nets," Proc. Int'l Symp. Advanced Research in Asynchronous Circuits and Systems (ASYNC), 2008.
[12] A. Dunkels, N. Finne, J. Eriksson, and T. Voigt, “Runtime Dynamic Linking for Reprogramming Wireless Sensor Networks,” Proc. Fourth Int'l Conf. Embedded Networked Sensor Systems (SenSys '06), 2006.
[13] R.L. Rudell and A.L. Sangiovanni-Vincentelli, "Multiple-Valued Minimization for PLA Optimization," IEEE Trans. CAD of Integrated Circuits and Systems, vol. 6, no. 5, pp. 727-750, Sept. 1987.
[13] J. Regehr, “Safe and Structured Use of Interrupts in Real-Time and Embedded Softwares” Handbook of Real-Time and Embedded Systems, 2007.
[14] D. Sokolov and A. Yakovlev, "Clock-Less Circuits and System Synthesis," Proc. IEE Proc. Computers and Digital Techniques, 2005.
[14] D. Gay, P. Levis, R. von Behren, M. Welsh, E. Brewer, and D. Culler, “The nesC Language: A Holistic Approach to Networked Embedded Systems,” Proc. ACM Conf. Programming Language Design and Implementation (PLDI '03), 2003.
[15] A. Taubin, J. Cortadella, L. Lavagno, L. Lavagno, A. Kondratyev, and A.M.G. Peeters, "Design Automation of Real-Life Asynchronous Devices and Systems," Foundations and Trends in Electronic Design Automation, vol. 2, no. 1, pp. 1-133, 2007.
[15] L.E.L. del Foyo, P. Mejía-Alvarez, and D. de Niz, “Predictable Interrupt Management for Real Time Kernels over conventional PC Hardware,” Proc. 12th IEEE Real-Time and Embedded Technology and Applications Symp. (RTAS '06), 2006.
[16] K. van Berkel, M. Josephs, and S. Nowick, "Scanning the Technology: Applications of Asynchronous Circuits," Proc. IEEE, 1999.
[16] L. Sha, R. Rajkumar, and J.P. Lehoczky, “Priority Inheritance Protocols: An Approach to Real-Time Synchronization,” IEEE Trans. Computers, vol. 39, no. 9, pp. 1175-1185, Sept. 1990.
[17] K. van Berkel, J. Kessels, M. Roncken, R. Saeijs, and F. Schalij, "The VLSI-Programming Language Tangram and Its Translation into Handshake Circuits," Proc. European Conf. Design Automation (EDAC), 1991.
[17] L. Gu and J.A. Stankovic, “t-Kernel: Providing Reliable OS Support to Wireless Sensor Networks,” Proc. Fourth Int'l Conf. Embedded Networked Sensor Systems (SenSys '06), 2006.
[18] T. Verhoeff, "Delay Insensitive Codes—An Overview," Distributed Computing, vol. 3, no. 1, pp. 1-8, 1988.
[18] R. von Behren, J. Condit, and E. Brewer, “Why Events are a Bad Idea for High-Concurrency Servers,” Proc. Ninth Conf. Hot Topics in Operating Systems (HOTOS '03), citeseer.ist.psu.eduvonbehren03why.html, 2003.
[19] I. Wegener, The Complexity of Boolean Functions. Johann Wolfgang Goethe-Universitat, 1987.
[19] J. Ousterhout, “Why Threads Are a Bad Idea (for Most Purposes) (Invited Talk),” http://www.softpanorama.org/People/ Ousterhout/ Threadsindex.shtml, 1996.
[20] A. Yakovlev, M. Kishinevsky, A. Kondratyev, L. Lavagno, and M. Pietkiewicz-Koutny, "On the Models for Asynchronous Circuit Behaviour with OR Causality," Formal Methods in System Design, vol. 9, pp. 189-234, 1996.
[20] P. Li and S. Zdancewic, “Combining Events and Threads for Scalable Network Services Implementation and Evaluation of Monadic, Application-Level Concurrency Primitives,” Proc. ACM Conf. Programming Language Design and Implementation (PLDI '07), 2007.
[21] K.Y. Yun, D.L. Dill, and S.M. Nowick, "Synthesis of 3D Asynchronous State Machines," Proc. Int'l Conf. Computer Design (ICCD), pp. 346-350, 1992.
[21] A. Dunkels, O. Schmidt, T. Voigt, and M. Ali, “Protothreads: Simplifying Event-Driven Programming of Memory-Constrained Embedded Systems,” Proc. Fourth Int'l Conf. Embedded Networked Sensor Systems (SenSys '06), 2006.
[22] W.P. McCartney and N. Sridhar, “Abstractions for Safe Concurrent Programming in Networked Embedded Systems,” Proc. Fourth Int'l Conf. Embedded Networked Sensor Systems (SenSys '06), 2006.
[23] E. Trumpler and R. Han, “A Systematic Framework for Evolving TinyOS,” Proc. Third Workshop Embedded Networked Sensors (EmNets), 2006.
[24] K. Klues, C.-J.M. Liang, J. yeup Paek, R. Musaloiu-E, P. Levis, A. Terzis, and R. Govindan, “TOSThreads: Safe and Non-Invasive Preemption in TinyOS,” Proc. Seventh ACM Conf. Embedded Networked Sensor Systems (SenSys '09), 2009.
[25] M. Welsh and G. Mainland, “Programming Sensor Networks Using Abstract Regions,” Proc. USENIX First Conf. Symp. Networked Systems Design and Implementation (NSDI '04), 2004.
[26] J. Regehr, A. Reid, K. Webb, M. Parker, and J. Lepreau, “Evolving Real-Time Systems Using Hierarchical Scheduling and Concurrency Analysis,” Proc. 24th IEEE Real-Time Systems Symp. (RTSS '03), 2003.
[27] C. Duffy, U. Roedig, J. Herbert, and C.J. Sreenan, “Adding Preemption to TinyOS,” Proc. Fourth Workshop Embedded Networked Sensors (EmNets '07), 2007.
[28] K. Hänninen, J. Mäki-Turja, M. Bohlin, J. Carlson, and M. Nolin, “Determining Maximum Stack Usage in Preemptive Shared Stack Systems,” Proc. 27th IEEE Int'l Real-Time Systems Symp. (RTSS '06), 2006.
[29] J.W. Hui and D. Culler, “The Dynamic Behavior of a Data Dissemination Protocol for Network Programming at Scale,” Proc. Second Int'l Conf. Embedded Networked Sensor Systems (SenSys '04), 2004.
[30] R.K. Panta and S. Bagchi, “Hermes: Fast and Energy Efficient Incremental Code Updates for Wireless Sensor Networks,” Proc. IEEE INFOCOM, 2009.
[31] J.R. Levine, Linkers and Loaders. Morgan Kaufmann, 2000.
[32] K. Klues, V. Handziski, C. Lu, A. Wolisz, D. Culler, D. Gay, and P. Levis, “Integrating Concurrency Control and Energy Management in Device Drivers,” Proc. 21st ACM SIGOPS Symp. Operating Systems Principles (SOSP), 2007.
[33] J. Polastre, J. Hui, P. Levis, J. Zhao, D. Culler, S. Shenker, and I. Stoica, “A Unifying Link Abstraction for Wireless Sensor Networks,” Proc. Third Int'l Conf. Embedded Networked Sensor Systems (SenSys '05), 2005.
[34] J. Chen, W. Xu, S. He, Y. Sun, P. Thulasiramanz, and X. Shen, “Utility-Based Asynchronous Flow Control Algorithm for Wireless Sensor Networks,” IEEE J. Selected Areas in Comm., vol. 28, no. 7, pp. 1116-1126, Sept. 2010.
[35] R. Fonseca, O. Gnawali, K. Jamieson, S. Kim, P. Levis, and A. Woo, “The Collection Tree Protocol (CTP), TinyOS Extension Proposals (TEP) 123,” Aug. 2006.
[36] B.L. Titzer, D.K. Lee, and J. Palsberg, “Avrora: Scalable Sensor Network Simulation with Precise Timing,” Proc. Fourth Int'l Symp. Information Processing in Sensor Networks (IPSN), 2005.
[37] M. Maróti, B. Kusy, G. Simon, and Á. Lédeczi, “The Flooding Time Synchronization Protocol,” Proc. Second Int'l Conf. Embedded Networked Sensor Systems (SenSys '04), 2004.
[38] P. Levis, D. Gay, V. Handziski, J.-H. Hauer, B. Greenstein, M. Turon, J. Hui, K. Klues, C. Sharp, R. Szewczyk, J. Polastre, P. Buonadonna, L. Nachman, G. Tolle, D. Culler, and A. Wolisz, “T2: A Second Generation OS for Embedded Sensor Networks,” technical report, Technical Univ. Berlin, 2005.
[39] W. Dong, C. Chen, X. Liu, K. Zheng, R. Chu, and J. Bu, “FIT: A Flexible, Lightweight, and Real-Time Scheduling System for Wireless Sensor Platforms,” IEEE Trans. Parallel and Distributed Systems, vol. 21, no. 1, pp. 126-138, Jan. 2010.
[40] R.K. Panta, I. Khalil, and S. Bagchi, “Stream: Low Overhead Wireless Reprogramming for Sensor Networks,” Proc. IEEE INFOCOM, 2007.
[41] H. Kim and H. Cha, “Multithreading Optimization Techniques for Sensor Network Operating Systems,” Proc. Fourth European Conf. Wireless Sensor Networks (EWSN '07), 2007.
[42] R. Kumar, E. Kohler, and M. Srivastava, “Harbor: Software-Based Memory Protection for Sensor Nodes (Poster),” Proc. Sixth Int'l Conf. Information Processing in Sensor Networks (IPSN), 2007.
[43] Y. Chen, O. Gnawali, M. Kazandjieva, P. Levis, and J. Regehr, “Surviving Sensor Network Software Faults,” Proc. ACM SIGOPS 22nd Symp. Operating Systems Principles (SOSP '09), 2009.
[44] W. Dong, Y. Liu, X. Wu, L. Gu, and C. Chen, “Elon: Enabling Efficient and Long-Term Reprogramming for Wireless Sensor Networks,” Proc. ACM Int'l Conf. Measurements and Modeling of Computer Systems (SIGMETRICS), 2010.
[45] W. Dong, C. Chen, X. Liu, and J. Bu, “Providing OS Support for Wireless Sensor Networks: Challenges and Approaches,” IEEE Comm. Surveys and Tutorials, vol. 12, no. 4, pp. 519-530, Oct.-Dec. 2010.

Index Terms:
Wireless sensor networks, operating systems.
Citation:
Andrey Mokhov, Alexandre (Alex) Yakovlev, Wei Dong, Chun Chen, Xue Liu, Yunhao Liu, Jiajun Bu, Kougen Zheng, "Conditional Partial Order Graphs: Model, Synthesis, and Application," IEEE Transactions on Computers, vol. 59, no. 11, pp. 1480-1493, Nov. 2010, doi:10.1109/TC.2010.58
Usage of this product signifies your acceptance of the Terms of Use.