In this paper he describes the different positions on the definiton of "context" and compares different conceptual models: widget model, infrastructure model and blackboard model.
A number of different organizing models have been proposed for coordinating multiple processes and components.
A widget is a device driver at a different level.
Client-server architecture. A client needs to find the location of the service and then set up a connection with it. A key feature is independence of components. Each service is handled by a process on some processor.
Data centric rather than process centric point of view. A process posts messages to a common shared message board, and can subscribe to receive messages matching a specified pattern. Pattern matching may be of different type. All communications go through a centralized server.
Contrasts between models
Widget: tightly coupled and single manager control. Not robust and complex configuration.
Service model: less efficient, more configurable and robust
Blackboard: not efficient but easy to configure and robustness.
Two level of data:
Event Heap: simple event tuple: short term
Context Memory: XML database: long term
Coming up with the conceptual structure of what context is and how to represent the different aspect of it that matter to the application.