State-Machine-Based User-Interface Specification L.M.F. Carneiro-Coffin M.H. Coffin D.D. Cowan C.J.P. Lucena Department of Engineering and Computer Science, Oakland University, Rochester, MI, USA Research and Development Group, Electronic Data Systems, Troy, MI, USA Computer Science Department and Computer Systems Group, University of Waterloo, Waterloo, Ont, Canada Departamento de Inform´ atica, Pontif´ ıcia Universidade Cat´ olica, Rio de Janeiro, RJ, Brazil 1 Introduction J ASMINUM (J oining A DVs and S tate M achines i na N otation for U ser-Interface M odeling) is a new visual formal- ism [2] for designing interactive systems. J ASMINUM is state-machine and event- [12] oriented and is based on earlier research on visual formalisms (Statecharts [14] and Objectcharts [5]). J ASMINUM has a number of advantages over other visual formalisms for specifying interactive systems since it handles aspects of design specific to those types of systems, including focus of control, the specification of concurrent operation of the components of a user interface, and the relationship of the various user-interface components. Because of these advantages, we believe JASMINUM supports a user-centered design approach to interactive systems in that the appearance of the design strongly resembles the appearance of the user interface. 2 Related Work The use of a graphical or visual formalism [15] to assist in user-interface design is particularly appealing since software designers often use various graphics notations. An instance of visual formalism, state-machine-based formalism, has long being used for specifying dialogues in interactive systems. In this paper, we use the term state-transition diagram [20] (STD) to refer to a directed graph with nodes and arcs, where each node corresponds to a state and each arc represents a transition. However, several other terms have been used to refer to the same subject: transition diagrams [26], transition networks [4, 12], state diagrams [9, 14], transition state diagram (TSD) [24], and state-transition networks [13]. Most state-machine-based formalism uses STDs. The use of STDs for dialogue specification originated in the computer-graphics area with the work of Newman [25]. Parnas [26] was the first to use STDs for specifying user-interfaces dialogues. Since then, several STD models for specifying several aspects of user interfaces, including dialogue specification and flow of control between operations, have been presented [9, 10, 12, 28, 21, 13, 27, 23, 29, 30]. In each of these models, the STD is improved in order to avoid some typical problems: lack of structure, state explosion, and expression of concurrency. Although these specification models appear to be promising, a number of issues still need to be addressed. Specifically, we need to be able to specify the association of pointing devices with a particular component of a user interface (focus of control) and the relationship between the various components of a user interface. 3 J ASMINUM J ASMINUM is based on a a new design model called Abstract Data Views (ADVs) [6]. ADVs were inspired by Abstract Data Types (ADTs) [18], which are used very successfully in modeling application modules. An ADV is a special kind E-mail address:carneiro@vela.acs.oakland.edu E-mail address:mhc@edsdrd.eds.com E-mail address:dcowan@csg.uwaterloo.ca E-mail address:lucena@csg.uwaterloo.ca