next up previous
Next: Design Choice: Selecting Fixed Up: Adapting to Constraints: Choices Previous: Design Choice: How transparent

Design Choice: Selecting Run-time versus Design-time Behaviour Specifications

Having investigated the implementation space and decided upon how degradation should be controlled, the designer must next decide when the possible trajectories through the implementation space are decided - when designing the application or through interpreting some later set of instructions.

Design-time behaviours include the use of reactive protocols in the face of congestion, such as in the video conferencing tools vic and ivs. These are fixed policies of degradation, or fixed trajectories through the implementation space. In general design-time policies are easier to encode.

However, as the applications become more generic and are used for more disparate tasks, then the semantics of the application are increasingly determined by the context of use, and the utility of the application is difficult to pinpoint. An application which simply reports the state of some object has simple semantics and will only be used in a very limited set of contexts, and thus the behaviour can be pre-determined. The user can either have an update or not. On the other hand, a web browser is used by users in many different ways [10, 14], and the semantics of the retrieved pages depend highly upon context. As designers, we can only make best guesses about the utility of various implementations, and so we can only select trajectories through implementation space that approximate the profile of some imaginary user. In real situations, we must allow users to override profiles to determine which aspects of the application semantics are important to them at run-time.

Malcolm McIlhagga
Thursday June 11 16:17:19 BST 1998