D e p a r t m e n t o f C o m p u t e r S c i e n c e D u k e U n i v e r s i t y D u r h a m , N C 2 7 7 0 8 U S A { cignetti,kirill,carla} @cs.duke.edu  Abstract Reducing the energy consumed in using mobile/wireless devices, thereby extending the lifetime of the batteries that power them, is one of the major challenges in designing such systems. While this problem can be addressed at various levels (e.g., by improving battery technology, by engineering low-power electronics and components, and by designing more efficient computer architectures), we have advocated designing applications and system software with energy consumption as a primary measure of performance [2, 12] . However, currently any attempts by software developers to tailor the energy use to the specific needs of applications are frustrated by several factors: a lack of feedback on what effect various design decisions might have on energy use, an inadequate programming model of power consumption in the target platform, a gap between our vision of how the application should control its energy use and the ability to express that to the system, and limitations on the flexibility of interactions between the operating system and the given architecture. Identifying and alleviating these drawbacks in the state-of-the-art of energy conservation are among the goals of our Milly Watt Project 1. In this paper, we describe an energy model for the PalrnOS rrM family of devices and a suite of tools including an execution-driven simulator. We present a power measurement framework which is based on the model and used to set empirically-derived parameter values for the simulator. The development of a simulation environment that can provide useful information to the programmer faces a number of challenges: The first step that must be taken is the development of an abstract energy model. The model must provide a simplified but accurate picture of how energy consumption is related to the actions of an application. In this way, any causality between the application source code and the energy consumption of the device can be exploited. The next step is to design experiments that accurately characterize the power consumption of the device in terms of the model. These values are then used as parameters in a simulator incorporating the abstract energy model. Our simulator is implemented as an extension of the Palm OS Emulator (POSE) that is a major component of the PalmOS program development environment [9] . For good predictions of energy consumption, the timing in the emulator must also be calibrated to reflect the actual device. Finally, the results of executing applications on the simulator must be presented in a meaningful fashion to the user. We describe our approach to each of these issues. The remainder of the paper is organized as follows: In the next section, we describe the target device and the existing POSE ~nvir~nment :.".:;:k :-_=':= ~ a ~:="t"__"_g peint for our development. Section 3 presents the energy model.
A similar work by Cignetti et al. REF modeled the power consumption of the PalmOS family of devices based on discrete device states and provided an energy simulator based on this power model.
Energy estimation tools for the Palm
MSWIM '00
Computer Science