Executable specifications of multi-application multi-user interfaces
Yadran Eterovic · 1992
This work deals with the problems of modeling, specification, and construction of executable prototypes of multi-application multi-user interfaces, which are graphical, interactive, collaborative, based on the direct-manipulation style of interaction, and dynamically reconfigurable. The contributions of this work with respect to these interfaces are a model and an object-oriented development methodology to build executable prototypes of the interfaces from the specification of their single-user versions. The model and the development methodology support application-independent control mechanisms used for the specification of coordination among multiple users concurrently sharing an application. They also support configuration mechanisms, based on extensions to formal graphical modeling languages, used for the specification of interfaces whose structure and behavior can change dynamically during their operation. We describe the model in terms of the structure, behavior and communication of screen objects and abstract representations of the applications. By refining the model we develop a small collection of user-application dialogs which cover interactions used in graphical, interactive and direct-manipulation interfaces. The UCLA Structural Model and Graph Model of Behavior modeling languages are used to represent the model and they provide a basis for simulating and testing interface designs during early prototyping phases. Those languages plus the Object RELation language are used to specify the organization and behavior of the classes composing an interface. Applications take here the form of classes and methods that can be applied to instances of the classes through the interface. Common Lisp User Interface Environment contacts and software modules from an extensible library are used to create instances, and a linking procedure is provided which automatically assigns the appropriate class behavior to the instances. As a result, end users and designers can execute the models by operating real input devices on real screen objects. Explicit mutual exclusion mechanisms included in models of screen objects, and therefore independent of applications, are used to coordinate activities of multiple users trying to concurrently access the functionality and data of the same application. The regularity of the control structures defining the behavior of the screen objects or coordinating activities among screen objects is used to provide the ability of an executable interface specification to reconfigure itself during a collaborative session, as new applications become active and new users join the session.