Conditional Partial Order Graphs: Model, Synthesis, and Application

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]  Luciano Lavagno,et al.  Logic Synthesis for Asynchronous Controllers and Interfaces , 2002 .

[2]  Lui Sha,et al.  Priority Inheritance Protocols: An Approach to Real-Time Synchronization , 1990, IEEE Trans. Computers.

[3]  Qiang Wang,et al.  Reprogramming wireless sensor networks: challenges and approaches , 2006, IEEE Network.

[4]  David E. Culler,et al.  The dynamic behavior of a data dissemination protocol for network programming at scale , 2004, SenSys '04.

[5]  Alexandre Yakovlev,et al.  Automated Verification of Asynchronous Circuits Using Circuit Petri Nets , 2008, 2008 14th IEEE International Symposium on Asynchronous Circuits and Systems.

[6]  D. A. Edwards,et al.  The Balsa Asynchronous Circuit Synthesis System , 2000 .

[7]  Kenneth Y. Yun,et al.  Synthesis of 3D asynchronous state machines , 1992, Proceedings 1992 IEEE International Conference on Computer Design: VLSI in Computers & Processors.

[8]  Alexandre Yakovlev,et al.  Conditional Partial Order Graphs and Dynamically Reconfigurable Control Synthesis , 2008, 2008 Design, Automation and Test in Europe.

[9]  Hojung Cha,et al.  Multithreading Optimization Techniques for Sensor Network Operating Systems , 2007, EWSN.

[10]  Luciano Lavagno,et al.  On the models for asynchronous circuit behaviour with OR causality , 1996, Formal Methods Syst. Des..

[11]  Jukka Mäki-Turja,et al.  Determining Maximum Stack Usage in Preemptive Shared Stack Systems , 2006, 2006 27th IEEE International Real-Time Systems Symposium (RTSS'06).

[12]  Wei Dong,et al.  FIT: A Flexible, Lightweight, and Real-Time Scheduling System for Wireless Sensor Platforms , 2010, IEEE Transactions on Parallel and Distributed Systems.

[13]  Mani B. Srivastava,et al.  A dynamic operating system for sensor nodes , 2005, MobiSys '05.

[14]  Tom Verhoeff,et al.  Delay-insensitive codes — an overview , 1988, Distributed Computing.

[15]  Alex Yakovlev,et al.  Multiple rail phase encoding circuits , 2008 .

[16]  Steven M. Nowick,et al.  Automatic synthesis of burst-mode asynchronous controllers , 1993 .

[17]  Chenyang Lu,et al.  Integrating concurrency control and energy management in device drivers , 2007, SOSP.

[18]  Gyula Simon,et al.  The flooding time synchronization protocol , 2004, SenSys '04.

[19]  Eric A. Brewer,et al.  USENIX Association Proceedings of HotOS IX : The 9 th Workshop on Hot Topics in Operating Systems , 2003 .

[20]  Luciano Lavagno,et al.  Petrify: A Tool for Manipulating Concurrent Specifications and Synthesis of Asynchronous Controllers (Special Issue on Asynchronous Circuit and System Design) , 1997 .

[21]  Nigamanth Sridhar,et al.  Abstractions for safe concurrent programming in networked embedded systems , 2006, SenSys '06.

[22]  Dionisio de Niz,et al.  Predictable Interrupt Management for Real Time Kernels over conventional PC Hardware , 2006, 12th IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS'06).

[23]  Ingo Wegener,et al.  The complexity of Boolean functions , 1987 .

[24]  Peng Li,et al.  Combining events and threads for scalable network services implementation and evaluation of monadic, application-level concurrency primitives , 2007, PLDI '07.

[25]  Matt Welsh,et al.  Resource aware programming in the Pixie OS , 2008, SenSys '08.

[26]  John R. Levine Linkers and Loaders , 1999 .

[27]  Steven M. Nowick,et al.  Scanning the Technology Applications of Asynchronous Circuits , 1999 .

[28]  Ramesh Govindan,et al.  TOSThreads: thread-safe and non-invasive preemption in TinyOS , 2009, SenSys '09.

[29]  Hojung Cha,et al.  RETOS: Resilient, Expandable, and Threaded Operating System for Wireless Sensor Networks , 2007, 2007 6th International Symposium on Information Processing in Sensor Networks.

[30]  Jiming Chen,et al.  Utility-based asynchronous flow control algorithm for wireless sensor networks , 2010, IEEE Journal on Selected Areas in Communications.

[31]  Yunhao Liu,et al.  Dynamic linking and loading in networked embedded systems , 2009, 2009 IEEE 6th International Conference on Mobile Adhoc and Sensor Systems.

[32]  Adam Dunkels,et al.  Run-time dynamic linking for reprogramming wireless sensor networks , 2006, SenSys '06.

[33]  Marly Roncken,et al.  The VLSI-programming language Tangram and its translation into handshake circuits , 1991, Proceedings of the European Conference on Design Automation..

[34]  Jeff Rose,et al.  MANTIS OS: An Embedded Multithreaded Operating System for Wireless Micro Sensor Platforms , 2005, Mob. Networks Appl..

[35]  Philip Levis,et al.  Surviving sensor network software faults , 2009, SOSP '09.

[36]  John Regehr,et al.  Evolving real-time systems using hierarchical scheduling and concurrency analysis , 2003, RTSS 2003. 24th IEEE Real-Time Systems Symposium, 2003.

[37]  Andrey Mokhov,et al.  Conditional Partial Order Graphs , 2009 .

[38]  Alberto L. Sangiovanni-Vincentelli,et al.  Multiple-Valued Minimization for PLA Optimization , 1987, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[39]  Giovanni De Micheli,et al.  Synthesis and Optimization of Digital Circuits , 1994 .

[40]  Issa M. Khalil,et al.  Stream: Low Overhead Wireless Reprogramming for Sensor Networks , 2007, IEEE INFOCOM 2007 - 26th IEEE International Conference on Computer Communications.

[41]  Tarek F. Abdelzaher,et al.  The LiteOS Operating System: Towards Unix-Like Abstractions for Wireless Sensor Networks , 2008, 2008 International Conference on Information Processing in Sensor Networks (ipsn 2008).

[42]  Cormac J. Sreenan,et al.  Adding preemption to TinyOS , 2007, EmNets '07.

[43]  Anthony Rowe,et al.  Nano-RK: an energy-aware resource-centric RTOS for sensor networks , 2005, 26th IEEE International Real-Time Systems Symposium (RTSS'05).

[44]  David E. Culler,et al.  A unifying link abstraction for wireless sensor networks , 2005, SenSys '05.

[45]  Adam Dunkels,et al.  Contiki - a lightweight and flexible operating system for tiny networked sensors , 2004, 29th Annual IEEE International Conference on Local Computer Networks.

[46]  Luciano Lavagno,et al.  Design Automation of Real-Life Asynchronous Devices and Systems , 2007, Found. Trends Electron. Des. Autom..

[47]  Wei Dong,et al.  Providing OS Support for Wireless Sensor Networks: Challenges and Approaches , 2010, IEEE Communications Surveys & Tutorials.

[48]  Matt Welsh,et al.  Programming Sensor Networks Using Abstract Regions , 2004, NSDI.

[49]  Eddie Kohler,et al.  Harbor: software-based memory protection for sensor nodes , 2007, IPSN '07.

[50]  Muneeb Ali,et al.  Protothreads: simplifying event-driven programming of memory-constrained embedded systems , 2006, SenSys '06.

[51]  Ian F. Akyildiz,et al.  Wireless sensor networks: a survey , 2002, Comput. Networks.

[52]  John A. Stankovic,et al.  t-kernel: providing reliable OS support to wireless sensor networks , 2006, SenSys '06.

[53]  Jens Palsberg,et al.  Avrora: scalable sensor network simulation with precise timing , 2005, IPSN 2005. Fourth International Symposium on Information Processing in Sensor Networks, 2005..

[54]  Alex Yakovlev,et al.  Clockless circuits and system synthesis , 2005 .

[55]  Saurabh Bagchi,et al.  Hermes: Fast and Energy Efficient Incremental Code Updates for Wireless Sensor Networks , 2009, IEEE INFOCOM 2009.