WildCAT project is a Java toolkit/framework which can be used to build context-aware applications, of which self-adaptive applications are a special case.
From the client applications point of view, it provides a simple and dynamic data-model to represent the execution context of the application, and offers a simple API for the programmers to access this information both synchronously and synchronously (pull and push).
Internally, it is a framework designed to facilitate the acquisition and aggregation of contextual data and to create reusable ontologies to represent aspects of the execution context relevant to many applications.
Product's homepage