Paper

Franklin E. Sorenson. PODS: Physical Object Devices. Master's thesis, Brigham Young University, 2004.

Abstract

Computer control of electronic hardware can be a difficult challenge for programmers. Often, they waste time and misplace effort working through low-level implementation details of electronic devices, rather than using the devices to accomplish higher-level tasks and algorithms.

In this work, we introduce the Physical Object Device (POD), an extensible object-oriented environment that allows simple control of electronic devices through an object-oriented interface. Programming occurs through the use of libPOD, a simple, yet powerful, library designed to simplify the use of PODs by programmers. By building intelligence into electronic devices and by treating these devices as hardware objects, programmers are given a user interface directly targeted for them.

We detail a number of PODs that we have constructed, and demonstrate their use through several case studies. Our work shows that PODs provide a flexible, modular design, a familiar and uniform programming environment, and rapid design of complex electronic systems.