首页    期刊浏览 2025年02月27日 星期四
登录注册

文章基本信息

  • 标题:An overview of the HP interactive visual interface
  • 作者:Roger K. Lau
  • 期刊名称:Hewlett-Packard Journal
  • 印刷版ISSN:0018-1153
  • 出版年度:1990
  • 卷号:Oct 1990
  • 出版社:Hewlett-Packard Co.

An overview of the HP interactive visual interface

Roger K. Lau

An Overview of the HP Interactive Visual Interface

IN THIS AGE OF INFORMATION, creating effective user interfaces for industrial automation applications is a greater challenge than it has ever been. The right details from a vast array of information must be shown in the appropriate form to the intended group of viewers. In addition, the information that is communicated must be conveyed in such a manner as to enhance the decision making process. It often takes more time to develop the interface than it takes to develop any other part of an application. HP Interactive Visual Interface (HP IVI) is designed to help developers provide the type of user interface needed for industrial applications.

HP IVI is a user-interface development tool built on the X Window System Version 11 and runs in the HP-UX operating system environment. It consists of two main parts: an interactive editor (HP IVIBuild) and an application program interface (API). Users construct their symbols and displays with HP IVIBuild (the builder) and write a C program using the API calls to call up and activate the windows and other objects created with the builder. An application's user interface can be constructed without the assistance of HP IVIBuild, but with it productivity is greatly increased by the ability to create the interface interactively. HP IVI is also one of the few products to combine at the builder level the power of a graphical presentation with the flexibility and interactivity of widgets (e.g., pushbuttons, scrollbars, and toggle buttons).[1]

This article describes some of the market research and the target customers for HP IVI, and provides an overview of the two main components of HP IVI, HP IVIBuild and the application program interface.

Market Research

The main customers of HP IVI are software engineers who build industrial applications. This includes system integrators, independent software suppliers, and end users with internal software engineering groups. These users benefit by being able to customize screens to their customers' applications and by being able to reuse the symbols they created and saved in previous applications. HP IVI also buffers its users from having to know the details of the intrinsics of both the X Window System and widgets. This is considered to be a benefit and a boost to productivity.

Market research indicates that manufacturing applications require graphical user interfaces, and the use of graphics on the factory floor is growing and being applied to monitoring production processes and data gathering. The requirements are performance, reliability, and the integrity of data from a workcell. To satisfy these demands, the HP IVI product:

* Minimizes the user's expense for the development of user interfaces

* Provides a distributable user interface for improved cost, performance, and flexibility

* Offers windowing functions and dynamic data configuration

* Integrates graphics and widgets intelligently

* Gives software engineers the productivity boost needed for them to remain competitive

* Ensures top performance and reliability

* Gives the user full control over data from the factory floor

* Builds on standards.

Early in the project, the HP IVI project team used a technique called quality function deployment (QFD) to help analyze customer needs in the industrial automation area. This research helped to define the features for HP IVI. The box on page 9 provides more information about QFD and its use by the HP IVI team.

HP IVIBuild

HP IVIBuild is the interactive window and symbol builder of HP IVI. It is an API application because it uses the HP IVI API library of C functions to handle both the visual and the nonvisual aspects of creating objects such as managing object data structures and performing operations required to manipulate objects. Consequently, the windows and models created and saved by the builder can be restored by an API program and vice versa (see Fig. 1). For the most productive use of HP IVI, the user first creates the windows needed by an application using HP IVIBuild and then mobilizes the created windows using a C program containing API functions. Fig. 2 shows an application user interface being created with HP IVIBuild. Although an entire HP IVI application could be written using just the API C functions, HP IVIBuild provides the following advantages over this method:

* No initial programming is required.

* The user can look at the user interface and manipulate it while creating it.

* The interface can be altered very quickly.

* Several graphical conveniences are available such as snapping to a grid and a simple method of creating ellipses.

* An API program that uses HP IVIBuild-created objects is much simpler than one that creates the same objects from scratch.

* Symbols created in an HP IVIBuild session can be saved and reused.

The articles on pages 32 and 39 provide more information about HP IVIBuild.

Objects and API

Since HP IVI is an object-oriented system, all operations are done with objects, resulting in a system that is a hierarchy of objects. Building this hierarchy starts with creating window objects (windows on the display) and then placing graphics and widget objects into the windows. To activate the objects in the window (i.e., give them dynamic properties) some of the attributes of the objects can be changed (e.g., foreground or background color, visibility, or fill percentage for a rectangle). When an application uses objects to display data values, it can make calls to the API functions to update the data values in the objects displayed in the windows.

The objects used in HP IVI are categorized into four hierarchical layers:

* High-Level Objects. These objects specify global attributes for the other levels of objects. This level includes the window and model objects mentioned earlier.

* Composite Objects. These are organizational groupings of primitive objects. This includes menus and their component menu panes, row-columns, and scroll lists.

* Primitive Objects. These are basic widgets and graphics objects--the basic visual pieces that make up the display. Graphics primitives include items such as polylines, splines, arcs, rectangles, and circles. Widget primitives include pushbuttons, toggle buttons, text widgets, text-edit widgets, menu buttons, and scrollbars. Both types of primitive objects can receive input from the user.

* Low-Level Objects. These are mostly nonvisual objects that are used to specify certain object attributes. Objects that handle object data structures and objects that handle events are examples of low-level objects.

Because an object hierarchy is used, displays can be created from the top down (parent to child) or the bottom up (child to parent), giving the designer a lot of flexibility in implementation. Certain objects can be gathered and arranged by making them into children of composite objects. Composite objects can be used to organize and add extra control over their descendant objects. For example, a row-column object can be used to organize different widget primitives into rows and columns.

All objects in the hierarchy have attributes (e.g., color, size, shading, etc.). It is through the control of these attributes that the displays created with HP IVI get their dynamic quality. One can easily manipulate several attributes on an object with a single API function call, changing location, color, visibility, or some other attribute. Other API function calls enable the developer to:

* Create and free objects

* Manipulate object attributes

* Save and restore objects

* Locate objects

* Obtain user input from primitive objects

* Perform visual updates of the display

* Manipulate lists of objects.

As an example, callback objects can be attached to any visual object and cause a callback function to be called whenever a predefined event (such as clicking on the mouse button or depressing a key on the keyboard) occurs. The callback function can be used to obtain and manipulate data from the shop floor and modify attributes of objects on the display (e.g., changing an object's color from green to red or changing the textual information displayed in an object). The API functions and the internal design of these functions are described in the articles on pages 11 and 21.

Conclusion

HP IVI facilitates the design and implementation of one of the most important parts of any manufacturing application--its interface to the user. The benefits of the windowing technology of X11 are just beginning to be realized on the manufacturing floor. HP IVI is one of the first integrated applications to bring the X Windows technology to the factory floor. The combination of widgets and graphics gives the application designer more freedom to present the needed information in the fashion best suited for its intended viewers. This design freedom promotes the kind of informed decision making needed in today's fast-paced and highly competitive industrial marketplace.

References

[1] D.L. McMinds and B.J. Ellsworth, "Programming with OSF/Motif Widgets," Hewlett-Packard Journal, Vol. 41, no. 3, June 1990, pp. 26-35.

Roger Lau, a technical marketing engineer at HP's Industrial Applications Center, provided technical support for HP IVI. Roger joined HP's Data Systems Division in 1981. He has worked as a development engineer and a technical lead in the development of the HP Advanced Graphics Package, the HP Device Independent Graphics Library, the HP Manufacturing Automation Protocol pilot for General Motors Corp., and the HP Graphics Interface System. Roger earned a BA degree in microbiology in 1976, an MS degree in microbiology in 1978, and an MS degree in computer science in 1981, all at the University of Hawaii. Born in Honolulu, he lives in San Jose, California, where he enjoys volleyball and ballroom dancing.

Software engineer Mark Thompson joined HP's Data Systems Division in 1980, where he worked on disk diagnostics and utilities, I/O drivers for HP 1000 computers, and a quality decision management program. For the HP IVI project, he was responsible for graphic objects, the error handler, and the quality function deployment analysis. His professional interests center around 2D and 3D graphics. Mark received his BS degree in computer engineering from Boston University in 1980. Born in San Francisco, California, he lives in Berkeley. His interests include automobile restoration beer making, photography, bicycling, gardening, hiking, camping, and audio electronics.

COPYRIGHT 1990 Hewlett Packard Company
COPYRIGHT 2004 Gale Group

联系我们|关于我们|网站声明
国家哲学社会科学文献中心版权所有