Like XML, UIML is infinitely extendable as new devices, UI languages, and UI metaphors are developed through the definition of new vocabularies. Figure 2 . The landscape of UI languages contains remarkably varied answer to these questions. Added to this is the variety of ways imperative languages answer these questions. When the condition holds, the action is performed.
Actions can set properties or call external methods.
Conditions are based on events, since an event model for behavior is the most general form from investigation in the User Interface Management Systems literature. This allows UIML to be used with various types of UI metaphors and devices. When authoring multi-platform UIs, it is important to recognize that one is designing a family of UIs. Each UI exposes a different subset of functionality to a user from all the available functions of an application. Consequently, UIML itself presumes that a family of UIs can be represented by a tree, with the description of functions common to all elements at the root, and differences between different models of devices the leaves.