Abstract
This paper presents a novel type system to promote and facilitate energy-aware programming. Energy Types is built upon a key insight into today's energy-efficient systems and applications: despite the popular perception that energy and power can only be described in joules and watts, real-world energy management is often based on discrete phases and modes, which in turn can be reasoned about by type systems very effectively. A phase characterizes a distinct pattern of program workload, and a mode represents an energy state the program is expected to execute in. This paper describes a programming model where phases and modes can be intuitively specified by programmers or inferred by the compiler as type information. It demonstrates how a type-based approach to reasoning about phases and modes can help promote energy efficiency. The soundness of our type system and the invariants related to inter-phase and inter-mode interactions are rigorously proved. Energy Types is implemented as the core of a prototyped objectoriented language ET for smartphone programming. Preliminary studies show ET can lead to significant energy savings for Android Apps.
| Original language | English |
|---|---|
| Pages (from-to) | 831-849 |
| Number of pages | 19 |
| Journal | ACM SIGPLAN Notices |
| Volume | 47 |
| Issue number | 10 |
| DOIs | |
| State | Published - Oct 2012 |
Keywords
- Energy Efficiency
- Energy-Aware Software
- Type Systems
Fingerprint
Dive into the research topics of 'Energy types'. Together they form a unique fingerprint.Cite this
- APA
- Author
- BIBTEX
- Harvard
- Standard
- RIS
- Vancouver