As part of my PhD, I have create a middleware that can be used for manage Dynamic Software Product Lines (DSPL) on Android devices. A DSPL is a Software Product Line that can change its feature binding at runtime to enable adaptive applications. This middleware takes a feature model (which is an aggregated feature model and context model), and configuration, and monitors context changes to alter the systems configuration. It requires the ContextEngine for it to be context-aware.
Feature binding changes are then broadcasted out to the appropriate applications, which can make the appropriate adaptations. This middleware can be used as a library as part of an application or a as a separate centralised system running in its own application.
Source code can be found at: https://deansserver.co.uk/gitweb/?p=AndroidDSPLMiddleware.git;a=summary