The parts may be arranged for different categories of end users and various families of devices. Each part has content that communicates some information to the end user, but the content is described separately from the part and assigned to it by a reference to the content descriptor. UIML's behavior element defines events for the UI and associates them with parts defined for the interface. An action may result in a change in a property value, or it may invoke a function or method in a scripting language or in an underlying application library. Simple rules are supported in a straightforward fashion.
Business rules are often complex.
Complex rules can be built by carefully creating a list of simple rules that interact, but it creates a dependency on your rule ordering, which can make rule maintenance difficult. Naming the complex rules would have been better than trying to circumvent the issue by using a very powerful template model. Because the availability of specific UI widgets varies from device to device, the actual mapping between a part and an associated widget is performed by a style specification. The style mechanism provides a level of abstraction over the connection between parts and the controls on the target device that implement the parts. This abstraction level allows for the creation of multiple presentations to be defined for a single device.