This page presents the activities of the ADAM project-team in the domain of Green Middleware.
A major concern of the ADAM team is to use monitoring information to build better software systems that can be aware of their energy consumption. This concern has led to three contributions that are presented in the remainder of this page.
Energy-aware software solutions and approaches are becoming broadly available, as energy concerns are becoming mainstream. The increasing usage of computers and other electronic devices (e.g., smartphones, sensors) is continuously impacting our overall energy consumption. Information and Communications Technology (ICT) accounted for 2% of global carbon emissions in 2007  or 830M tCO2e , and is expected to grow to 1,430 M tCO2e in 2020 . These values illustrate the opportunities for efficient ICT solutions to reduce carbon emissions and energy consumption. Rising energy costs in computers and mobile devices implies the optimization and the adaptation of computer systems. In this domain, research in GreenIT already proposes various approaches aiming at achieving energy savings in computers and software. In particular, monitoring the energy consumption of the system is a requirement to achieve such savings.
 Gartner, Green IT: The New Industry Shockware, Presentation at Symposium/ITXPO Conference, 2007.
 M. Webb, SMART 2020: enabling the low carbon economy in the information age, a report by The Climate Group on behalf of the Global eSustainability Initiative, GeSI, 2008.
Studying energy monitoring of an application at the process-level has led the ADAM team to develop its own tool: PowerAPI. PowerAPI is a library to monitor energy spent by an application at the process-level. Energy monitoring is done by applying specific formulae, through the interaction between the application and hardware components (CPU, memory, disk, etc.). One of goals of PowerAPI is to adapt itself to the monitoring needs and so, in providing an API to precisely define what kind of energy monitoring scenario we want to follow. In addition, PowerAPI doesn't need external devices such as power-meters. All the computation is done thanks to energy formulae, in using information provided by the environment.
Monitoring the energy consumption at the code-level have multiple scientific objectives, in particular for detecting energy hotspots of applications. The created energy profile of applications can be used from understanding where the energy is spend, to adapting software for energy-efficiency. In ADAM team, we created a tool called e-Surgeon which is a comprehensive architecture to monitor energy consumption by an application at the code-level. It is build around PowerAPI and is based on a modular approach. Concretely, e-Surgeon is split in two complementary parts: PowerAPI and a high level application profiling environment. A Java implementation of the latter called Jalen is available as a Java Agent, allowing introspection of Java application and monitoring the energy spend by methods, classes or packages.
Many approaches have been proposed to manage the energy consumption of the hardware, operating system, or software layers (including the previous approaches developed by ADAM team). A new generation of communicating and mobile devices that uses complex middleware platform functionalities is emerging. Therefore, energy management has emerged as a topic of research interest in the middleware layer. The state-of-the-art approaches for energy management middleware platforms has been studies in a review report. This article defines also an architectural taxonomy and compares existing approaches on the basis of this taxonomy. In particular, the article reviews middleware platforms and details a number of approaches where energy management is handled. It also reviews application scenarios where the energy management concepts at the middleware layer are applied in intelligent environments.