| Human-computer interface plays a paramount role in the distributed interactive software systems. Developing efficient and highly interactive distributed user interface is a brand-new domain on research of software architecture. In general, it is easy to be used but difficult to be implemented since the characteristics of GUI, and the difficulty of developing the interface is enhanced because of the complex network environment that distributed system exists. A good architecture of interface and an efficient lower communication model will greatly ease the programmer's burden.At first, this paper studies the content and characteristics of the existing and representative single user and distributed UI models, and analyzes the communication characteristics of the distributed models. Then, we describe an architecture of distributed UI The architecture adopts a novel "component-event service" model, with its guidance, an interactive system that can neatly run on Internet can be built. The components of the interactive system distribute under the heterogeneous network environment, they use the CORBA event service to communicate among them. In practice, we found that though the CORBA event service have the advantages that can shield the heterogeneous network environment and do event-based asynchronous communication work, it broadcasts any event to all event consumer, not able to filtrate the event, so it can not support the development of the interactive system so well. For this reason, we modify the normative CORBA event service to a certain degree, add the function of filtering the event, and add the function of supporting event query and answering the query that have practicable value. We name the modified event service as MCES (Modified CORBA Event Service). We can think of MCES as an upgraded edition of normative CORBA event service, it not only has the intrinsic function of event service, but also has the new function that CORBA event service does not have. By analyzing all kinds of use mode of MCES, we design a component communication language CCL, each CCL sentence abstractly describes one use mode of MCES, one or more CCL sentences can implement some communication task. The advantage of using CCL is that the components that program by different language can use same language CCL to finish there communication task. Both MCES and MCES-based CCL make up of the communication model that supports the development of the interactive system that has our architecture.Using the distributed UI architecture that we describe, one can develop an interactive system with good structure and performance, and the communication model we design and implement provide a convenient communication support for his development work. |