1,1, a general overview
man-machine interface as an independent, important area of research has been concerned about the world’s computer manufacturers. And become another area of competition in the computer industry in the 1990s. From the point of view of the development of computer technology, human-machine interface technology has led the development of related hardware and software technology, a new generation of computer systems achieve success guarantee.
80s has come, computer software and hardware technology has made great progress, at the same time, computer users also expanded from computer experts quickly to the majority is not specially trained ordinary users, the this greatly increases the importance of the user interface in the system design and software development, strongly stimulated the progress of human-computer interface.
human – computer interaction is achieved via the user interface. With the traditional man – machine system is different, people – in the form of interactive computer systems has become a user and the computer communication and dialogue between two “intelligent system.”
In the early development of computer technology, due to the speed of the system is slow, expensive and unreliable and can not be used interactively, the user must adjust their behavior to adapt to the requirements of the machine. Thus, compared to other problems in the use of computers, the interface is only a minor problem. With the improvement of computer performance, the system is able to deal with people with some resources – computer interface, user interface design began to attract attention.
development of the user interface to improve the overall performance of the computer system has importance has been attached great importance to the people, at the same time, around the human modeling computer industry has formed another new the field of competition. In the American aircraft modeling study was listed as one of six national key technology side by side with software and computers in information technology, and that “for the computer industry has outstanding importance, it is also important for other industries.” US defense technology program key not only to man-machine interface technology as an important part of software development, but also specifically to increase the human and parallel software technology – an element of the system interface. Japan also proposed FPIEND21 plan (Future Personalized Information Enviroment Develop- ment), whose goal is to develop 21 of the world’s computer interface.
designed with similar international research in human-machine interface aspects of our country there are still a wide gap. The current research focus solely on software and hardware support interface, the interface itself is also a lack of in-depth research, user interface design has not yet become part of independent software design, but also the lack of new human-computer interface design. On the other hand, the popularity of computer science and the development of computer human interface research but then put forward more and higher requirements.
into the nineties computer software development has entered the era of software development tools and software development environment for the establishment of objectives. As a software development environment supports human-computer interaction user interface management system UIMS is a growing concern and attention. UIMS the future it will be possible to enter all kinds of practical software development environment, has become another important software development environment and tools following the DBMS.
2,2, key technology
software interface is a human – information interface between the machine, in a sense, it is more important than the hardware and operating environment. Optimization software interface is designed to be reasonable and managers – machine dialogue structure. Structural design dialogue generally be divided into the initial design, evaluation and summary evaluation form three stages.
2.1 ergonomics
ergonomics is a wide range of applications integrated interdisciplinary, as an independent discipline, ergonomics history of our country very short, our psychologists, anthropologists, labor protection and medical workers, mechanical engineers are combined with their field work in this area.
(1) Human ergonomic characteristics
is the mainstay of the system, any advanced machines are designed by a person, by a personManipulation, so the system efficiency merits, security, depends very much on people’s working conditions. Ergonomics of human perceptual characteristics to study outside information, and people processing, information processing and thinking skills, human learning, memory characteristics, people’s own rhythms and so on.
1) the human sensory function
a. Visual awareness through the visual organ of external things, correct way of thinking produced by the brain, the visual output of labor, quality and security are affected, but also affect workers’ psychological process.
b. Hearing of the human ear to sound loudness and sound intensity of feeling is mainly about. People accept the auditory information faster than accept the visual information. According to the determination, the human auditory reaction time of about 120-150ms, the optical information faster than 30- 50ms. Audible signal used to alert.
c. Acceptance of tactile and other information on objects position, shape, surface condition, and the like tactile organ raw materials.
The information processing and output characteristics
2) al
a. Human reaction time the operator is manipulated, the monitoring device, the signal irritation to take appropriate action , the presence of a reaction time. Body movement system response speed is relatively slow, the reaction neuromuscular linker delay time 0.1-0.2s.
b. Al transmitted information transmission information in the nervous system, and by a different feeling channels, different transmission information, such as the individual nerve fibers of different visual system capable of transmitting color information, transmission rate information is an important physical quantity.
3) division of the display unit
human-machine interface design, when the man-machine division, to give full play to their respective characteristics of the display unit. Maximum and minimum principle can be used, that is, people assume the workload should be minimal or at least, the machine should assume the workload of the largest, at the same time maximize the use of the machine, give full play to human factors. Human-computer person’s full attention and dominance, will effectively ensure system reliability and longevity.
(2) Computer Aided Design and Computer Graphics human factors
combined with CAD and CAM technology can shorten the product design – manufacturing cycle, has been manufactured CAD one of the main means of survival in the industry demand. The main problem of the human factor has CAD: CAD hardware graphics terminal, an input device and menu design, CAD systems of human information processing capacity, such as a visual display of the related CAD, CAD spatial reasoning, problem solving in CAD sports and reactions process; CAD system, man-machine function allocation; job design CAD system, personnel selection and training.
(3) computer-aided manufacture of human factor
the CAM can be broadly considered in manufacturing management, control and operation of computer applications effectively a new technology, the ultimate goal is to build CIMS, it will be a most competitive in the 21st century technology. Cognitive engineering research in CAM main areas: automation and job fragmentation, human decision-making and automation of manufacturing CAM monitoring of people.
2.2 HMI design principles
(1) the best combination of successful media
Media interface to a user not only in providing rich media, and the media should understand the function selected on the basis of the method, under the guidance of the relevant theory, in various media on the semantic layer organically combined to more effectively communicate information.
(2) Analysis of the interface specification
In the design of man-machine interface, the first interface design should be analyzed, i.e. the user to collect information about the environment after its application, analysis of user characteristics, user task analysis, record the user about the system of concepts, terms, this work can be carried out in conjunction with applied systems analysis. Analysis task of interface design interface specification must select the type of interface design, and determines the main part of the design.
man-machine interface is suitable for the needs of people and the establishment of due, so clearly use the communityType, to see how often users use the system, and the use of intelligence and comprehensive knowledge of the user’s face test users, these are the contents of the user design. Generating a task based on this specification, the task design. The purpose of the design task reorganization task specification to produce a more logical arrangement. Should carefully design activities are given between man and computer, it allows designers to better understand the problems encountered when designing an interface, thus forming a system operating manual, basic training files and user guides. In consideration of the user and the type of work environment and support systems and other factors, well-designed task.
After the task is determined, to decide the type of interface. There are many types of human-computer interface design, each with different quality and performance, so designers need to understand the advantages and limitations of each type. Most interface uses a kind of design types. The following table lists the advantages and disadvantages of commonly used interface type. Table 1
3. Icons: image representing the function
is very easy to learn, easy to use (mouse], language independent, accounting for a relatively easy programming screen considerable space to express abstract concepts described poor, the need to interpret the text, graphics hardware and software required to support beginners have a tendency to form an international language of the session
4. form the use of fast speed, ease of use easy to grasp only suitable for data entry, the data entry is not advanced the most widely used type of session, an interface for displaying and recovery, the initial editing screen
5. command language (word commands to complex ] command syntax to use powerful, flexible, high-level interface method can control the system using the very economic difficulties learning (learning language codes and terms] of screen space, you need some knowledge of system functions, difficult to use, the interface research Assembly work using complex commands proficient user interface, user-initiated and controlled the dialogue
6. natural language natural communication difficult programming, language Identification difficulties, there will be ambiguity in the slow input-limiting issues, a session can be given by a user
Some guidelines
2.3 Design of the menu screen
(1) Press the task to organize the semantic menu (menu single, linear sequence, a tree structure, the network structure and acyclic cycles];
(2) wide shallow menu tree precedence narrow shallow menu tree;
(3) with graphics, title number, or to a display position;
(4) with the option title name to make the tree;
(5) the meaning of the option packet;
(6) the meaning of the option to sort;
[ 123] (7) option as brief, beginning with the keyword;
before and after (8) syntax, layout, wording consistent;
(9) allows advanced type , skip ahead, or other shortcut;
(10) allowing to jump to the main menu and the menu of the front layer;
(11) considering the online help, select new mechanism, response time, and the screen size of the display rate.
2.4 error handling
in an interactive system, since an operator The reason people often misuse, including typing errors, data entry errors, etc. Also, when a user or device connected to the preparation of the program there may be an error. A good interactive system does not require the operator to not make mistakes, but it should have strong ability to handle all kinds of errors, in addition to pay attention to all kinds of fault tolerance, robust technology and a variety of diagnostic procedures in software design outside, on a computer user interface should provide a variety of tips to avoid mistakes and a variety of user operations isolating errors.
(1) erroneous input
1) data entry errors
in all types of data processing software, data entry errors are often the weak link, in order to reduce errors in user input, should adopt a series of measures.
. A user input to be the “answer” on the screen;
b for user interaction input on the screen should be provided to record all the input temporary file, all data input to or after. temporary and needs to check to confirm;
c for the user should be provided in a variety of inputs;..
d important data for the database and must be strictly review check.
2) a control input
SUMMARY style user interface control input, control type. On some menu options user interface, often provides a set of numbers menu, the user enters a number, immediately enter the number specified project. Although this method can reduce the use of keys, provide operational efficiency, but the number will be in error by the error cause. .
a command error feedback should be provided, to tell the user the correct command format and parameters;
b copy file operation command to the file only. It was made to recover from a document may still file if necessary;.
c Some commands require a significant impact on the user to reconfirm;
d established. the command history file, which is the most effective measures to recover the system, which is useful for obtaining an error condition various stages of development.
3) other errors
In an interactive system, each part may have errors, including hardware and software errors. In designing the system, should allow the use of equipment from different vendors, different equipment and should not cause an error, this is the independence of equipment.
4) error message
how to provide the exact error message to the user is an important issue in system design. Past, many users do not like to use some of the system, not because it is too weak, but because of the message prompts the user when an error is encountered too little. A good useUser interface, not only should have fault tolerance, the ability to error detection, and after an error occurs, users should be a clear understanding of its nature of the error and location, in order to overcome their mistakes by a user, the following design principles about the error message:
.
a message error as much as possible and accurately positioned;
b shall specify how the user of these errors should be done;.
c. language should be simple, clear and easy to understand as much as possible with the vocabulary;.
d avoid using accusatory language, tone as friendly, but it should give caution;
[ . 123] e incorrect information should be based on the actual situation of the hierarchical prompt system;.
f should match the style of the error message, the message comprising the location, whether a dialog box or window, the terms and abbreviations;.
g as the visible graphics information and sound effects.
2.5 man-machine interface design evaluation
evaluation is an important part of human-computer interface design, but often overlooked designers. Evaluation is usually performed on the final product, but if it is carried out early in the system design, or prototype evaluation, design flaws can be detected early, to avoid the waste of human and material resources.
evaluation of the quality of interface design is usually available to measure the four basic requirements: whether
(1) user interface design is conducive to the completion of goals?
(2) interface is easy to learn and use? How
(3) interface to use efficient?
(4) What are the potential problems with the design?
And the overall design of the interface function block and the specific design of the various types of interfaces available design criteria mentioned above comprehensive test objects according to its application. The quality of the interface specific requirements, as can the following items with reference to:
(1) adaptability. A measure of satisfaction in helping the user interface to complete one or more tasks.
(2) effectiveness. Metrics error rates, task completion time, each system equipment utilization and so on.
(3) of easy to learn. After a period of time from the start using the system, the rate of decline in the case of an error, task completion time is reduced, the situation call the device and orders correct and to increase user knowledge evaluation.
(4) system equipment and the use of surface features. If some devices or functions that any user neither used, it is possible to design wrong.
(5) the degree of user satisfaction. User satisfaction, identify problems and how to measure interest in and use. Methods
interface has been evaluated using the conventional method of perceptual experience gradually into the system’s science. Conventional empirical methods as follows:
(1) Experimental Method. After determining the test and total certain assumptions to be validated, the most reliable method of designing a random and repeat the test.
(2) monitoring methods. That is observing user behavior. There are various observation methods, such as direct monitoring, video surveillance, monitoring systems.
(3) The method of investigation. This approach may provide important data for the evaluation, it can be used at any stage of the interface data. Survey methods can be used questionnaire (questionnaire] or interviews with the survey collected data mostly subjective, mainly to understand the situation of the user interface, the interface of the attitudes and opinions.
3,3, related products
.1 X window system
window system is a control system software bitmap display device and input device. resources it manages screen, window, image pixel ( a pixmap), color table, font, cursor, graphical input devices and resources.
Window System provides users with the following interface:
1) application interfaces
2) programming interface
[123 ] 3) window management interface
national Institute of standards and technology Commission in May 1990 to the windowing system X.11.3 version released to the American national standards files (numbered FIPS-PUB-158). The standard content includes a total of four:
(1) X protocol (X protocol)
X Window System protocol is actually defined by the core. Agreement includes four areas: the request (request), answer (reply), error (error) and events (event). X protocol requests a total of 120, 256 to be expanded. The entire protocol describes the grammatical structure and semantics of the client and the server process communication.
(2] X library function (Xlib)
X library is the X Window System C language programming interface to the application programmer to provide low-level programming interface . X protocol library to encapsulate the parameter request, the IPC mechanism for transmitting to the server process is over 320 .X library functions, system functions can be divided into (and removed to establish connection, etc.), window function (window attributes and operations), communication function (FIG original communication attributes, text font, area, image, etc.), color feature (color table operation), the event function (input event and a window event processing) and other functions (atoms, utility function).
[123 ]
(3) X Toolkit eigenfunction (X toolkit intrinsics) X is an advanced programming interface toolkit in the X library. it provides a programming interface element various graphical menus, dialog boxes, icons, etc. to a user It means .X kit comprising two parts: Widget set Intrinsics function set and the former set of objects is a graphical interface element having a certain style and appearance, it is related to a particular style; the latter is the use of these programming objects. Generic function, a total of270 functions, including the “callback” interface function associated with the application and so on.
(4) Standard Font Format (BDF, Bitmap Distributed Format) which is composed of the X Window System referred to predetermined criteria bitmap (Bitmap) for the various fonts.
An important design X Window System is to provide a mechanism to achieve a variety of interfaces, rather than strategy. Due to only the predetermined portions of the four application programmer’s interfaces, or from different vendors and thus the user can implement various window management program, and the interface on their appearance. Thus, X Window System the basis for each workstation user interface, the de facto industry standard.
window is an important resource in the X Window System, is a rectangular region (border region] no such transparent window on the screen. It is essentially a bit abstraction of the output device and an input device, has its own interest and coordinate events .X window system has a root window covers the entire screen, the sub-window of the application window are the root window so all windows constitute a tree structure, the sub-window size can not exceed the parent window .X window system, the tree structure of the window for the application of multiple levels of abstraction provides a clear idea.
X window operating system environment should be in the operating system having inter-process communication mechanism work, for example, TCP / IP (Socket support mechanism] working on a UNIX operating system, network protocol. at this point, it should be run in the background server process (X server), the window manager (uwm) and a terminal emulation program (X term). there are more than three processes, you can perform various commands in the window system, the window with the mouse or keyboard to manage, run various applications .X window provides strong And input display management device management functions, the workstations and CAD software environment of the main support of the user interface has become a de facto industry standard window system .X workstation window systems also require considerable computer resources.
3.2 OSF / Motif and OPEN LOOK
X window system provides aSeries configuration user interface mechanisms, including the protocol, libraries, toolboxes eigenfunctions and font format. But it does provide some specific user interface style. On top of the X Window System has been constructed set of high-level interface objects with different user interface style, often called Widget Set. They have different visual sense (look amp; feel), which objects may include windows, menus, dialog boxes, buttons, icons, borders and the like. A style of some Widget Set provides users with a unified appearance of the graphical user interface, but also provides an object-oriented application programming interface (API] .OSF / Motif is the Open Software Foundation (OSF application programmer] 1989 release of the graphical user interface specification. it UNIX operating system with the X window system is a software platform that draws on IBM OS / 2’s Presentation Manager, MS-Dos and HP newware interface style features, providing the style (style), window management, toolbox, user interface language (UIL] and a series of mechanisms and regulations .OSF / Motif has been working on a variety of hardware platforms and operating systems .OPEN LOOK is published by the international 1988 UNIX graphical user interface specification, which as an important part of UNIX system has been fourth, fifth release of official use. it is also promoting the use and achieved on many workstations.
3.3 Windows
1986 in Microsoft’s DOS environment to open IBM personal computer with Windows window system, and later through a number of enhancements in 1990, officially released Windows3.0 version. Since this window On the storage management system to break the original DOS 640KB limit, which has strong function, can provide a useful graphical user interface appears .MS-Windows in the DOS environment, making a large number of CAD environment DOS / CAM software with very strong support windowing environment, making CAD / CAM user interface is more convenient, consistent .MS-Windows has become a major product in the DOS environment graphical user interface. Windows window system is based on the core window systems (Windows 95, Windows 98, Windows NT), its core function is placed within the operating system. Because Windows windowing environment with a consistent style user interface under Windows environment to develop application software has the same interface style so easy to use. This universal operating system platform design process for designing the interface toolkit and the various objects, so that the interface design is easy to achieve.
4,4, typical applications (case studies)
4.1 interface tool system (FITOOL) Development and implementation of
(1) Background:
computer user interface is an important part of a computer system, which may be directly related to the use and efficiency of the whole computer system. Experience has shown that the development of high-quality user interface, it takes a lot of manpower and resources, and a longer development cycle.
traditional design with the description of the user interface is based on the “embedded” way, the application designer in the design of software, according to two aspects of the functionality and interface requirements prepared by mixing user interface and application functionality two-part program. This development approach ignores the personalized user interface make the program complicated, maintainability. The current development of computer software is no longer the user interface and application features two parts are mixed prepared. But more and more inclined to write two separately compiled separately and then connected into an executable file. This is because different applications, the user interface portion having high similarity on the logic and processing methods. And let software developers spend a lot of time and effort to develop a very similar without universal user interface program is clearly undesirable. So developers can automatically generate consistent user interface using standardized methods and tools for large-scale production of the research is the content of the user interface.
User Interface Management System (UIMS) is a development tool software user interface. UIMS with supportUser Interface representation, design, implementation, prototyping, implementation, evaluation and maintenance. UIMS can provide a friendly environment for the whole consistent interface, so that users can in a very friendly manner almost arbitrary use this environment for software development, even though this was a friendly interactive media environment, friendly interface mode, friendly screen style.
(2) UIMS representation:
UIMS representation comprising predominantly human-machine interface specification it and human factors, and the application data structure links and so on. UIMS logical structure model in several major levels of representation, which in addition to representation of the session layer is relatively mature, rich research results, other levels of representation has yet to be developed. Representation
1) Shape layer
The method of shape representation relates layer handles user input and output information. We need to address the following issues:
a represents how to handle input and output patterns.
b. How to meet the needs of multimedia, input and output information will expand to video, voice, animation, simulation and so on.
c. How to meet the needs of intelligent man-machine interface specifications, namely internal and external information flow mapping in how to include a simple man-machine interface based on the design specifications of the decisions, the one to one mapping of the expansion of relations to many-mapping many to many relationship.
2), the session layer method:
the session layer representation more, Green M (1986), Myers BA (1989), etc. have been successively dialogue representation layers were classified as follows:
a
i.e., interface designers use a specialized machine interface description language represented uidl language-based approaches. Description interface. This language may take many forms: network menu, state transition diagrams, context-free grammars, events, language, object-oriented language. The main task is to explain the language of the interfaceThe syntax for the session layer, i.e., enter a valid sequence output operation.
Network menu: is the simplest representation, i.e., to support hierarchical menu structure or network.
FIG state transitions: a state transition network is composed of a set of states. Starting from the edge of a flag for each state of the input code word, it can cause a state transition to the other end of the edge. Addition to the input code word, the edge of some of the application system indicated subroutine is called and output the contents to be displayed. But the link using this method, and the application interface is implemented by many global variables, all states must have a clear edge to reflect the input of all errors that may occur and public order.
Context-free grammars: i.e., using the context-free grammars to describe the dialogue between the user and the program, and a large multi-compiler-based.
Event language: the language in the event, enter the code word is considered to be immediately sent to the event and the event handler. These processors can produce output events, change the internal state of the system, application, or call a subroutine.
object-oriented languages: providing an object-oriented framework, the designer interface program written in the frame.
B representation pattern based on:
Based on the graph UIMS allows users or at least partially allow users to use the mouse directly to the object on the screen to define the interface. It illustrates the interface shown as the most important aspect, the graphical tool is represented by the most suitable method of this description.
Method C represents a process-based application semantics:
semantics i.e. from the application process to automatically generate an interface specification, and allows designers to improve its editing interface performance. Representation
3) Application layer:
The method of the current application interface represents an application layer model and very immature, still in its infancy. As for the practical utility of the interface model, it must contain at least the following three elements:
.
a it must contain instructions for the user and HMI application data structure;
b illustrate the application must contain the subroutine called man-machine interface, for example, a subroutine. name, operand and so on. This is actually the definition of the interface between applications and HMI;.
c must include restrictions on the user’s application. Thus making the machine interface ruled out a number of operations may lead to semantic errors, avoiding damage to the application.
represents a method for application layer There are two types under study:
First, the object – operator method. The object corresponding to the data structure of the application, the operator corresponding to the human machine interface application subroutine call.
The second is based on the relationship and the first-order logic. Relation to the data structures of the application, and the description of the first-order logic model used to represent application subroutine.
4.2 System Architecture
FITOOL support User Interface Management System (the UIMS) is Seeheim model, based Motif and X-Windows, running on the UNIX operating system.
the session layer FITOOL representation of object-oriented graphical representation showing binding methods, the system has direct manipulation characteristics.
FITOOL several parts by the following structure shown in Figure 🙁 4-1)
a. Editor window
Window Editor manages and generates various initialization window. To create the user interface must run this module, which is both initialization interface structure initialization list also manage internal data structures.
b. Editor original member
Original member editor provides various interface component, the user can take appropriate to their needs with a mouse interface component, It can be any configuration until satisfied.
c. Editor manager
Manager Editor interface manager provides various means, some of these components may be a descendant management, some can manage several generations, user interface according to their requirements for general needs to take appropriate interface manager member with the mouse, their resources and can be any configuration, until satisfied.
4-1 FITOOL configuration diagram of FIG.
d. Editor menu
Editor menu can be used singly, the user can create drop-down menu, options menu, pop-up menu, the menu may be a text-based formula or icon of icons hybrid.
E. Editor Dialog
dialog editor provides various forms of dialogue, the user can create their own requirements and configuration.
F. Resources modification module
resource modification module can be separately operated in any part of the produced interface resources reconfiguration.
G browser interface;.
user interface of the browser to browse existing interface (files), and it can be reused.
H. Interface / dialog editor application
interface / dialog editor application in response to operation of the data transfer and the interface between the user and the application is defined.
I. Source Code Generator
Source code generator for generating a user interface source (including files and UIL member C).
[ 123] J. in the English text editor
in the English text editor can be any text editing operations.
k. Compiling the connecting module.
is connected with the compiledConnection means for connecting the user interface of the source and compiled to generate executable file.
4.3 System Function
using the tools described herein, interface designers do not need to know a special user interface description language, but rather by direct manipulation interface editor visual object on the screen, generate and modify the user interface prototyping, and can immediately display the results on the screen, to achieve “WYSIWYG (WYSIWYW)” effect.
Using FITOOL, the user can arbitrarily arranged their own user interface, and finally to give the corresponding user interface and the source, and can be compiled and linked applications, the final form of the execution file available.
Using FITOOL, the user needs to do the following:
(1) is described, i.e. appreciated that application, the user interface determines the appearance and interactions. .
a user interface component required is determined:
interfacial layout description and designed according to the final appearance and functionality of the user interface, which can be part of the work in the manuscript complete, and lists the name of the interface component and the desired final configuration.
B interface hierarchy determined:
With the layout of the interface, start FITOOL, creating the user interface module run by the respective step. .
c determines the conversation with the application interface structure:
data transfer between the interface required by the application in response to the definition of the user interface and the corresponding application dialog box.
(2) a user interface configured
A. Run window editor to create and manage various initialization window. To create the user interface must run this module, which is both initialization interface structure initialization list also manage internal data structures.
b. Manager editor provides various interface manager means, whichSome of these members may be a descendant management, some can manage several generations, the user can own request generally needs to take appropriate interface manager component interface with the mouse, their resources and can be any configuration, until satisfied .
c. Original member editor provides various interface component, a user can take his needs interface component corresponding with the mouse, and may be any configuration, until satisfied.
d. Menu editor can be individually used, a user may create a pull-down menu, options menu, pop-up menu, the menu may be a text-based, icon type, or icon, text mixed.
e. Dialog editor provides various forms of dialogue, the user can create their own requirements and configuration.
f. Resources modification module can be separately operated in any part of the interface the generated re-allocation of resources.
g. The browser interface the user can view an existing interface (files), and it can be reused.
h. Interface / dialog editor application in response to operation of the data transfer and the interface between the user and the application is defined.
i. Source code generator for generating a user interface source (UIL files including files and C).
j. English text editor can be any text editing operations. For example: edit any programming language source program in English or any text file.
k. Compiler used to compile the connection module and a user interface connected to the source generates an execution file.
Thus the user interface may be a hierarchical relationship determined in advance, with the mouse to select the appropriate interface component, and a corresponding customized resources may at any time modify the font and color to suit their own requirements, final assembly into their own interface. And the corresponding source code (* .c, *. H, *. Uil), to give the corresponding target file (* .o, * .uid) was compiled, and the application corresponding to the object files (* .o ) connectionObtained after performing the corresponding file.
(3] to test the user interface.
The source and the object file generated by the application connection generate an executable file, if found unsatisfactory by operating , appropriate changes can be made until the requirements of.
Finally, to generate end-user interface (including permanent and temporary objects objects) and source.
4.4 system implementation [ 123]
We adopt C ++, C language, Motif user interface language and mixed uil written in.
Motif X-Windows-based kit of Xt (Xt Intrinsics ), is implemented in C language that supports object-oriented system library; C ++ is a C language evolved, it directly provides a programming method for an object-oriented in
Motif internal use. object-oriented type systems do not have the Motif application for the slightest impact, because it provides a function-oriented interface, the program calls for details Motif and Xt Intrinsics internal implementation does not have to get to the bottom, so the face of it, and its Motif C library no difference .C ++ design allows programmers to easily use such as Motif C library .C ++ also provides a simple method for the combined method of object-oriented design and software design methods, which benefit from such program At the same time object-oriented technology does not lose efficiency of C, not to re-design of such a standard C library function as X and Motif.
(1) OSF / Motif and C ++ mixed programming
[ 123]
carried out with characteristic object-oriented C ++ programming, and assuming architectural elements interesting class represents very program with C ++ classes that encapsulate widget set to create a user interface components of the class, the Motif widget constructed as a basic unit thereof interface. encapsulates not only a component part of a widget set,And it defines the overall behavior of the component parts.
1) create the user interface components
composed of a set of user interface techniques to create a C ++ class member package widget. That is created using C ++ high level, one or more user interface widget combined into a logical group of components. The purpose of this class is not replaced with a separate widget, but using the Motif basic widget, an application program interface, and its key components implemented as a class. In this case, Motif itself is not important is object-oriented, C ++ programmers can call functions Xt and Motif directly to create a basic Motif widget.
using a combination of a set of C ++ classes in order to create more complex widget user interface components. And a C ++ class, you can create a widget, and specify its resources and assignment callbacks and so on. Thus, a C ++ class encapsulates not only a widget set, and define the behavior of the entire component parts. The intention is not replaced with a class of a widget set, but rather create a basic classes required for an application, wherein certain classes realized using a widget user interface components.
in combination with a virtual callback (implemented as static member function) provides a method for creating an abstract user interface component of the composition. Widget class consisting of the base member may be supported, and the overall layout, the portion composed of the specific behavior of the member leaving a derived class. Protocol
2) of the user interface components
defines a simple protocol, even if all components of the user interface can ensure consistency between the different component parts, and the various components work together easily.
● components creates one or more widget class constructor. Typically, the callback which creates its constructor are processed, each of the separate components creates a widget, is based widget. Class it represented as wIdget root of the tree, all other widget is its children.
● components to a widget as an argument constructor. The widget as a widget group consisting of the father portion member.
● components widget subtree root is assigned to it creates a protected instance variable.
● components as a constructor argument string.
● each constituent member access class provides a way to query the root of the subtree widget. However, the target class is a component part package a single logical behavior of the widget set, widget occasionally need root class disclosed widget tree.
● components subtree widget class by the class allows packages to be treated or not. As components to a processing logic clusters, and the root of the tree is only the widget sub treated or not. Other widget should be processed in the constructor when creating, at a time without treatment root widget.
● destructor processing components which widget in the widget tree. When an object is cleared, it encapsulates the widget should be cleared.
3) defines the base class and implement
BasicComponent class
BasicComponent class implements all components of the class has a substantially characteristic.
UIComponent class
UIComponent class is a class derived BasicComponent obtained, but increases the processing widget destruction, the use of the resource manager and custom and initialized.
(2) Application Framework in C ++ classes Motif mixed programming
creates an application framework used to define the overall structure of an application. And other frameworks, classes, and with a good framework to be more important than any function of a class.
framework is intended to rely on to get the application of common elements to simplify the task of writing Motif applications. Although Xt and Motif provide a higher level than the Xlib interface, but most of the Motif and Xt applications are still included a surprising amount of duplicate code. For example, all of the Motif applications must initialize the Xt Int rinsics, and open the X server links into the event loop, as well as other more. For each application, a copy of the code that implements these steps is no reason. We can put these steps in one class, the other applications can reuse it. We may also extract some typical control structure of Motif applications, there is a difference despite the many special details between different applications.
Motif applications shared some characteristics:
● initialize the Xt Intrinsics;
● contact open and the X server; [ 123]
● create a Shell widget as another widget father;
● creates one or more widget to define user interface;
● enter event loop to handle events.
Most Motif application main () is very similar to the body. The vast majority of programs are the steps on the surface, but there is little different. In fact, if we ignore the small difference between different applications do not, we can see almost every Xt application contains the same language and follow the same format. Between the program and the program, the program repeatedly opened for each of these statements is a waste of time.
is a more powerful method to extract an applicationBackbone sequence, in a class. Applications can instantiate the class, or to create a complex derived from this class a new class with a common code segment. To get the use of a class of applications has several advantages over common feature template shown above copy. First, once the programmer made a copy of the model, he or she will lose the ability to trace the original code. However, those that simply instantiates a program object code packages that may benefit from the improvements and correct errors, as they only need one modified version over reconnection.
Based on the theory of object-oriented applications may be derived by a new class of modified rows generated code. Because change is only for a derived class to do, but in the original class unchanged, so be restored to its original behavior is much easier. Identify any new errors into the development process is completely contained in the new code, it becomes much easier.
Application category:
Application initialization and handling all Xt based applications a general-purpose event processing steps. Motif applications simply instantiate an Application object, instead of calling the like XtApp Initialize () or XtAppMainLoop () function of Xt. Application programs can be derived from the new class in the class may be instantiated directly. Application class does not create any widget in the constructor. Appli cation class provides storage space for some of the data throughout the application may need.
The application framework supports multiple top-level window. One way is to create a unique top-level window as the main window of the application. All other pop-up windows are Shell, their father is the main window. Another approach is to create a unique Shell, it is always not appear on the screen. All other pop-up window must be the son of the main Shell. In this model, all top-level windows equivalent treatment, are brothers to each other, on a window of the application logic can be top-level window.
MainWindow class may be defined to provide a basic screen in the top-level application window arrangement.
not define the main application based on this framework (). () Function is part of the definition of the frame main, and manages to call Application :: initialize () member function and enter the event loop. Hide main () allows management framework initialization routines more things than all applications must be performed, that is, each of the program is an instance of the Application class. Creating an application is simply by the example of a completed Application object.
conversation classes:
for some special intentions, the dialogue window on the screen real time is relatively short, is a common feature of many interactive applications. A method for application management with many inputs, control or option is that the part of the user interface rarely used on several separate dialog window, only when you need only show that there can be several different dialog window the method to use.
Application class dependent type dialogue, the dialogue is required a parent widget. Therefore forced to be transferred to a widget application post () method is used as a father, but allows different fathers. In order not to complicate the cache, where the use of Shell widget Application class dialogue to ensure that all have the same father, the dialogue focused on the screen.
command class:
In an interactive application, almost every action the user is considered to be a command. For example, most word processing program supports simple commands like “insert character” and more complex similar to the “re-division of the paragraph” and “Save File” command. Users may think insert a character instead of issuing a command, but no difference between the programmer, insert character and paragraph reclassified. Programmers typically put these commands as a function (e.g., a callback function)To achieve these functions are performed as a result of a user action. Each command of such a system is modeled as an object.
Cmd completely independent of any user-based interface. Command objects can be instantiated in a planned and executed. Without having to rely on a user interface components. However, the number of user interface components, represented by the user initiated action, is very common is for a command object. Cmd CmdInterface class is to support objects and other user interface consisting of a widget or interactions of the components. UIL
(3) OSF / Motif and the C ++ mixed programming
UIL i.e. user interface description language. It is a specification language, describes the initial state of the Motif user interface application. UIL with the Motif Resource Manager (MRM) in a more close to natural language than C language description of the high-level language, custom Motif user interface.
UIL can use to develop a prototype user interface quickly, because the user does not know the specific function to create extremely wid- get call format. UIL not need to control the flow, the user can press the object is placed substantially in order to describe their interface, which makes it easy to read the file uil and less error prone. Further, since the user interface description file to explain uil file uid UIL compiler generates the source separation application, the application simply read the file at runtime uid. That same application can have one or more different interface, it can be one or more different applications owned by the same interface.
uid using application configuration file:
● call MrmInitialize () function of the internal data structures required to initialize the MRM;
[123 ] ● call MrmOpenHierarchy () function associated with a particular MRM uid files together;
● call MrmRegisterNamES () function to register the callback function;
● call MrmFetchWidget () function uid File Search Hierarchy pointer to a record order of acquisition acquires the file information from the uid file, and create a column in the respective uid file the widget and its child widget.
subclassing Mrmapp Application class Class.
Mrmapp class is a subclass of the Application class, which provides file read uid commonly used method to create the widget.
using the C ++ language UIL mixed programming language is very convenient. Different programs need only change the corresponding file statement reads uid, uid the program calls the appropriate files.
FITOOL is through the establishment of the said Motif mixed programming and C ++ application framework classes.
4.5 BITIS interface
BITIS computer aided design and manufacturing (CAD / CAM / CAPP) system (FIG. 4-2) unified user interface can be used FITOOL design and production.
(1). Demand analysis
requires a cover, a background screen and a tool integration.
Integrated tools (FIG. 4) hierarchy is as follows:
initialize window;
manager member: the main window, a Form Management , a two Frame Manager, a RowColumn manager.
Original member: RadioBox, Label, PushButton.
menu: pull-down menu. FIG. 4-2 BITIS integrated system structure
(2) Generating boundarySurface
a. A first window to edit, create and manage a variety of top-level window.
b. Generating a main window with a manager editor, a Form manager, a RowColumn manager.
c. Generating Label, RadioBox, PushButton member with the original editor original member.
d. Create menu pull-down menu by the editor.
e. In response to a data transfer operation and an interface between the / application dialog editor to define the user interface of the application.
f. Source generating a user interface (including C UIL files and files) using the source code generator.
g. Compiler used to compile the connection module and a user interface connected to the source generates an execution file. BITIS integrated user interface system (FIG. 4-3): Figure 4-3 BITIS integrated user interface system
FITOOL can run on HP and SGI workstations, with favorable results. Some of these functions are for further study and improvement.