Patent attributes
Implementations described herein provide a component system that reconfigures interchangeable computing device components based on a current state of the computing device. The current state of the computing device is determined based on a hardware configuration of the device, a shell configuration describing software and firmware of the device, and/or context information describing a relationship between the device and its surrounding environment. Based on the current state of the computing device, an output is determined that specifies interchangeable components are to be activated and deactivated. The output is useable to reconfigure individual computing device functionalities, control a manner in which applications execute on the computing device, and adapt the computing device to its current state.