A Comprehensive Solution for Application-Level Adaptation