Distributable lightweight components in a resource-aware ubiquitous computing environment