Annotating Executable DSLs with Energy Estimation Formulas
Reducing the energy consumption of a complex, especially cyber-physical, system is a cross-cutting concern through the system layers, and typically requires long feedback loops between experts in several engineering disciplines. Having an immediate automatic estimation of the global system consumption at design-time would significantly accelerate this process, but cross-layer tools are missing in several domains.
Executable domain-specific modeling languages (xDSLs) can be used to design several layers of the system under development in an integrated view. By including the behavioral specification for software and physical components of the system, they are an effective source artifact for cross-layer energy estimation.
In this paper we propose EEL, a language for annotating xDSL primitives with energy-related properties, i.e. how their execution would contribute to the energy consumption on a specific runtime platform.
Given an xDSL, energy specialists create EEL models of that xDSL for each considered runtime platform.
The models are used at design time, to predict the energy consumption of the real systems.
This avoids the need of energetic analysis by deployment and measurement on all runtime platforms, that is slow and expensive.
We augment an existing language workbench for xDSLs with an editor for EEL models and a component that computes energy-consumption estimations during model editing.
The evaluation shows that EEL can be used to represent estimation models from literature, and provide useful predictions.