Dynamo-AID (Dynamic Model-Based User Interface Development) is a design process that includes a proposed runtime architecture to develop user interfaces for context-aware systems. However, the designer must first construct the declarative models which specify the interactions. Next, the models are serialized to an XML-based high-level user interface description language to be exported to the runtime architecture. After serialization, the designer can render a prototype to adjust any undesirable aspects of the interface. Lastly, the final user interface can be deployed on the target platform.

An XML-based meta-language, DynaMOL, is used for the exportation and transportation of models to the runtime architecture. A preliminary implementation of the runtime architecture has been tested on top of the Dygimes framework (Dynamically Generating Interfaces for Mobile Computing Devices and Embedded System). The architecture consists of a dialog controller which takes care of the changes to user interface. These changes can be caused by user interaction or context changes.


Situations is an extension to the context-aware infrastructure called the Context toolkit. It supports easier building of context-aware applications by facilitating access to application states and behavior. It exposes an API to the internal logic of a context-aware application. Context information from sensors or users is made available to the application and application logic is used to acquire and analyze inputs, issue or execute context outputs when appropriate. The application logic consists of creating a “situation” with an information description that it is interested in and the actions associated with the “situation”. It would consist of a number of context rules and the situation will handle the remaining logic discovery, individual sources of context and data and determining when input is relevant and executing the appropriate services.

Context input is handled by widgets and context output by services. The capture of context input is made easier by the fully declarative mechanism provided by Situations’ references. Situations’ listeners provide all the necessary functionalities to obtain real-time execution. A default listener called Tracer provides indications of the current status of variables, origins of the variables, and current state of the context rule. Traditional context-aware applications would need to implement customized methods to access application logic. Situations provide standard access and allow arbitrary applications to provide intelligibility and control interaction for context-aware applications and interfaces can be built independent of the main application.