Building Interactive Systems
暂无分享,去创建一个
ed from the content of the current components and applied as an organising ( principle to other components. This is the premise behind classical, linguistically-based user interface architectures such as the Seeheim architecture, which divides the user interface manager into three components: presentation, dialogue control, and application linkage. Took's paper, 'The Active Medium: A Conceptual and Practical Architecture for Direct Manipulation', is also based on this premise of architectural abstraction. It defines a three-component architecture (UMA) in terms of its communication protocols and channels, but does not presuppose any semantic content for the components themselves. In UMA, in contrast to Seeheim, the fundamental separation is between 'surface' and 'deep' semantics, but these are not defined except in terms of their control requirements. That is, surface interaction takes place entirely between the user and the interactive medium or surface, whereas deep interaction requires the involvement of the application. The architecture described in Williams' paper, 'Surface Interaction: A Paradigm for Object Communication', is also intended to be independent of particular application semantics. However, whereas UMA is heterogeneous, in the sense that the components perform distinct roles, Williams' architecture is homogeneous, since different objects are not distinguished. Rather, Williams paper posits a model that unifies the notions of object and channel. Both maintain constraints between dependent attributes in objects this implements functionality, whereas in channels it implements communication. Williams borrows the term 'surface' to describe that subset of an object's attributes which can also form part of a channel and so be communicated to other objects. Architectures can differ in the degree of separation of their components. In structured code, the architectural components consist simply of the set of procedures. The communication structure is the calling hierarchy. The separation here is bridged by simple addressing. In object-oriented code, in addition to the objects and their messaging structure, the components also include classes, and the communication structure includes the inheritance hierarchy. Here the separation is stronger, since addressing methods may require searching up the hierarchy. In client-server and other distributed architectures, the separation is between processes, and the architecture is built on the process communication channels. The separation here is over address spaces. Finally, in systems providing levels of device independence and ease of porting, the separation is between physical devices, and the architecture is structured on frontand back-end software.
[1] James Gettys,et al. The X window system , 1990 .
[2] Robbert van Renesse,et al. Experiences with the Amoeba distributed operating system , 1990, CACM.
[3] Anthony I. Wasserman,et al. Extending State Transition Diagrams for the Specification of Human–Computer Interaction , 1985, IEEE Transactions on Software Engineering.