... | ... | @@ -17,6 +17,9 @@ The overall structure of the Energy Toolbox is depicted in the figure below: |
|
|
|
|
|
The Energy toolbox comprises a front- and a back-end infrastructure. The front-end UI sends requests to the back-end by specific APIs. The back-end energy-analysis tools have been implemented as an individual Docker Image, which is deployed as an individual Docker Container and are invoked through the APIs (using Python Flask), perform the analysis on projects from Github and store all the results in a MongoDB database (independent Docker container) via specific APIs.
|
|
|
|
|
|
The Manage Energy Consumption module is responsible for energy consumption analysis, estimation and optimization of embedded-systems software applications. More specifically, this component consists of two basic parts. The first one (Consumption Analysis) is responsible for profiling the applications, measuring the energy indicators and finding the most energy consuming parts of the code (hot-spots), where the user (developer) should focus, while the latter (Estimation & Optimization) aims at suggesting the proper source-code transformations that will potentially reduce the energy consumption of the operations executed in this block.
|
|
|
The Consumption Analysis sub-component first checks the database for previous analysis results on the same project. If none exists, then it proceeds with the Code Profiling task. All this information is passed to the next step, which is responsible for suggesting a proper optimization.
|
|
|
|
|
|
# External References
|
|
|
|
|
|
For more information about the Energy Toolbox we highly recommend the reader to have a look at the following resources:
|
... | ... | |