Methods, apparatus and program products for using historical contextual
data in a ubiquitous computing environment. The historical contextual
data can be dispersed among components in an environment or logging
services as well as stored on a particular component or logging service.
The historical contextual data can be used to help create or re-create
component configurations within the relevant environment through the use
of abstract applications and abstract components. Abstract applications
can be specified to create connections with specific components. Abstract
applications can also be generalized so that they need not create
connections with specific components, but can create component
connections that perform a desired function by determining which
components to use from the available components, and how to connect the
selected components to perform the function.