Energy-Aware Software Engineering

Research output: Chapter in Book/Report/Conference proceedingBook chapter

Abstract

A great deal of energy in Information and Communication Technology (ICT) systems can be wasted by software, regardless of how energy-efficient the underlying hardware is. To avoid such waste, programmers need to understand the energy consumption of programs during the development process rather than waiting to measure energy after deployment. Such understanding is hindered by the large conceptual gap from hardware, where energy is consumed, to high-level languages and programming abstractions. The approaches described in this chapter involve two main topics: energy modelling and energy analysis. The purpose of modelling is to attribute energy values to programming constructs, whether at the level of machine instructions, intermediate code or source code. Energy analysis involves inferring the energy consumption of a program from the program semantics along with an energy model. Finally, the chapter discusses how energy analysis and modelling techniques can be incorporated in software engineering tools, including existing compilers, to assist the energy-aware programmer to optimise the energy consumption of code.
A great deal of energy in Information and Communication Technology (ICT) systems can be wasted by software, regardless of how energy-efficient the underlying hardware is. To avoid such waste, programmers need to understand the energy consumption of programs during the development process rather than waiting to measure energy after deployment. Such understanding is hindered by the large conceptual gap from hardware, where energy is consumed, to high-level languages and programming abstractions. The approaches described in this chapter involve two main topics: energy modelling and energy analysis. The purpose of modelling is to attribute energy values to programming constructs, whether at the level of machine instructions, intermediate code or source code. Energy analysis involves inferring the energy consumption of a program from the program semantics along with an energy model. Finally, the chapter discusses how energy analysis and modelling techniques can be incorporated in software engineering tools, including existing compilers, to assist the energy-aware programmer to optimise the energy consumption of code.
LanguageEnglish
Title of host publicationICT - Energy Concepts for Energy Efficiency and Sustainability
EditorsGiorgos Fagas, Luca Gammaitoni, John P. Gallagher, Douglas J. Paul
PublisherInTechOpen
Date22 Mar 2017
Pages103-127
Chapter5
ISBN (Print)978-953-51-3011-6
ISBN (Electronic)978-953-51-3012-3
DOIs
StatePublished - 22 Mar 2017

Keywords

  • energy modelling
  • software engineering
  • energy aware
  • energy transparency
  • energy analysis

Cite this

Eder, K., & Gallagher, J. P. (2017). Energy-Aware Software Engineering. In G. Fagas, L. Gammaitoni, J. P. Gallagher, & D. J. Paul (Eds.), ICT - Energy Concepts for Energy Efficiency and Sustainability (pp. 103-127). InTechOpen. DOI: 10.5772/65985
Eder, Kerstin ; Gallagher, John Patrick. / Energy-Aware Software Engineering. ICT - Energy Concepts for Energy Efficiency and Sustainability. editor / Giorgos Fagas ; Luca Gammaitoni ; John P. Gallagher ; Douglas J. Paul. InTechOpen, 2017. pp. 103-127
@inbook{810fafa7aad24bb7a1a9732b36dbc864,
title = "Energy-Aware Software Engineering",
abstract = "A great deal of energy in Information and Communication Technology (ICT) systems can be wasted by software, regardless of how energy-efficient the underlying hardware is. To avoid such waste, programmers need to understand the energy consumption of programs during the development process rather than waiting to measure energy after deployment. Such understanding is hindered by the large conceptual gap from hardware, where energy is consumed, to high-level languages and programming abstractions. The approaches described in this chapter involve two main topics: energy modelling and energy analysis. The purpose of modelling is to attribute energy values to programming constructs, whether at the level of machine instructions, intermediate code or source code. Energy analysis involves inferring the energy consumption of a program from the program semantics along with an energy model. Finally, the chapter discusses how energy analysis and modelling techniques can be incorporated in software engineering tools, including existing compilers, to assist the energy-aware programmer to optimise the energy consumption of code.",
keywords = "energy modelling, software engineering, energy aware, energy transparency, energy analysis",
author = "Kerstin Eder and Gallagher, {John Patrick}",
year = "2017",
month = "3",
day = "22",
doi = "10.5772/65985",
language = "English",
isbn = "978-953-51-3011-6",
pages = "103--127",
editor = "Giorgos Fagas and Luca Gammaitoni and Gallagher, {John P.} and Paul, {Douglas J.}",
booktitle = "ICT - Energy Concepts for Energy Efficiency and Sustainability",
publisher = "InTechOpen",

}

Eder, K & Gallagher, JP 2017, Energy-Aware Software Engineering. in G Fagas, L Gammaitoni, JP Gallagher & DJ Paul (eds), ICT - Energy Concepts for Energy Efficiency and Sustainability. InTechOpen, pp. 103-127. DOI: 10.5772/65985

Energy-Aware Software Engineering. / Eder, Kerstin; Gallagher, John Patrick.

ICT - Energy Concepts for Energy Efficiency and Sustainability. ed. / Giorgos Fagas; Luca Gammaitoni; John P. Gallagher; Douglas J. Paul. InTechOpen, 2017. p. 103-127.

Research output: Chapter in Book/Report/Conference proceedingBook chapter

TY - CHAP

T1 - Energy-Aware Software Engineering

AU - Eder,Kerstin

AU - Gallagher,John Patrick

PY - 2017/3/22

Y1 - 2017/3/22

N2 - A great deal of energy in Information and Communication Technology (ICT) systems can be wasted by software, regardless of how energy-efficient the underlying hardware is. To avoid such waste, programmers need to understand the energy consumption of programs during the development process rather than waiting to measure energy after deployment. Such understanding is hindered by the large conceptual gap from hardware, where energy is consumed, to high-level languages and programming abstractions. The approaches described in this chapter involve two main topics: energy modelling and energy analysis. The purpose of modelling is to attribute energy values to programming constructs, whether at the level of machine instructions, intermediate code or source code. Energy analysis involves inferring the energy consumption of a program from the program semantics along with an energy model. Finally, the chapter discusses how energy analysis and modelling techniques can be incorporated in software engineering tools, including existing compilers, to assist the energy-aware programmer to optimise the energy consumption of code.

AB - A great deal of energy in Information and Communication Technology (ICT) systems can be wasted by software, regardless of how energy-efficient the underlying hardware is. To avoid such waste, programmers need to understand the energy consumption of programs during the development process rather than waiting to measure energy after deployment. Such understanding is hindered by the large conceptual gap from hardware, where energy is consumed, to high-level languages and programming abstractions. The approaches described in this chapter involve two main topics: energy modelling and energy analysis. The purpose of modelling is to attribute energy values to programming constructs, whether at the level of machine instructions, intermediate code or source code. Energy analysis involves inferring the energy consumption of a program from the program semantics along with an energy model. Finally, the chapter discusses how energy analysis and modelling techniques can be incorporated in software engineering tools, including existing compilers, to assist the energy-aware programmer to optimise the energy consumption of code.

KW - energy modelling

KW - software engineering

KW - energy aware

KW - energy transparency

KW - energy analysis

U2 - 10.5772/65985

DO - 10.5772/65985

M3 - Book chapter

SN - 978-953-51-3011-6

SP - 103

EP - 127

BT - ICT - Energy Concepts for Energy Efficiency and Sustainability

PB - InTechOpen

ER -

Eder K, Gallagher JP. Energy-Aware Software Engineering. In Fagas G, Gammaitoni L, Gallagher JP, Paul DJ, editors, ICT - Energy Concepts for Energy Efficiency and Sustainability. InTechOpen. 2017. p. 103-127. Available from, DOI: 10.5772/65985