
The Energy Contract Language (ECL) was developed during the CoolSoftware project. ECL can be used to describe quality characteristic that can be used to describe qualities. Examples for quality characteristics are bandwith or frame rate. The characteristics are then used to define profiles for both software and hardware components (also called resources) that define variability. E.g., different states for a hardware resources like idle, busy and sleep can be defined, consuming different amounts of energy per time. By defining dependencies between resources and software components, the energy cost per quality of service can be defined, building the basis for energy aware scheduling architectures.
A model parser and printer including a text editor for ECL was built using EMFText.
Since ECL is stil in an early development state, the concrete syntax and metamodel are not available yet.