A multiple standards approach

A multiple standards approach

Comput. & Graphics Vol. 11, No. 4, pp. 479-481, 1987 0097-8493/87 $3.00 + .00 © 1987 Pergamon Journals Ltd. Printed in Great Britain. News a n d Vi...

221KB Sizes 3 Downloads 82 Views

Comput. & Graphics Vol. 11, No. 4, pp. 479-481, 1987

0097-8493/87 $3.00 + .00 © 1987 Pergamon Journals Ltd.

Printed in Great Britain.

News a n d Views

A MULTIPLE STANDARDS APPROACH SUSAN STASH IBM CIM Center Europe, Stuttgart, Germany THE EMERGENCE

OF STANDARDS

Prior to the 1960's computer graphics was something that only a few organizations could afford. Graphics interfaces were typically device-, and machine-dependent, forcing application programmers to develop software targeted towards specific devices. During the 1960's, with a rapidly evolving graphics hardware market, support for new devices through device-dependent interfaces became an expensive proposition. Not only were development costs significant, but maintenance costs increased exponentially. As a result, several de facto standards started appearing. These interfaces were typically simple, targeting passive graphics, and could claim limited device independence. During the 1970's interactive graphics devices be came more prevalent, further complicating support issues. Diversity became the "name-of-the-game" as a variety of technologies (e.g., non-impact printers, beam-directed displays, and raster devices) became both technically feasible and economically attractive, each technology touting "unique" functionality. Devices started becoming more intelligent, in fact, more intelligent than the software. Existing de facto standards could not adequately support these more intelligent devices, and graphics experts, who understood graphics hardware, operating systems, and graphics software, were required to develop applications. These experts were not only expensive, but extremely difficult to find. There is no wonder that at this time graphics standards began to emerge. Parallel efforts in the United States and Europe began addressing the problems faced by the graphics community, including device independence, machine independence, and support for intelligent devices. A SIMILAR COURSE OF EVOLUTION Since the mid-1970's computer graphics standards have made considerable progress. It is not at all ironic that they have chosen a course of evolution similar to that of programming languages. Over the last three decades a multitude of programming languages have evolved, some high-level, some low-level, some application-independent, some application-dependent. No one programming language seems to adequately address the needs of all sectors of the computing community. Cobol is quite appropriate for business applications, but is typically not the language of choice for real-time robotic simulation. Assembler is often used to implement low-level I/O, but is seldom used for decision support systems. In fact, often two or more

languages are used to perform different tasks within a single software system. Similarly, no one graphics language can optimally satisfy the needs of the entire graphics community. Proprietery, device-dependent interfaces will continue to exist where optimal preformance is the highest priority, or special functionality is required. Multiple standards will be developed to address both general and specific application needs. Therefore, the challenge faced by international and national standards organizations is to provide a consistent set of graphics interfaces that will adequately address the needs of most segments of the graphics community. Common terminology and concepts across the standards are imperative. THE APPLICATION DEVELOPMENT

ENVIRONMENT

Today's application development environment is the driving force behind computer graphics standardization (see Fig. 1). In most situations, the database forms the foundation of this graphics development environment. Applications, designed for nonprogrammers, use data to provide solutions. Depending upon availability, one or more application shells may support the application (e.g., presentation graphics and mapping subroutine libraries). Underneath these application shells or directly under the graphics application are graphics functions or graphics utilities, typically in the form of device-independent graphics subroutines. These subroutines interface with device drivers or device managers that translate device-independent information into the language of specific devices. In addition, graphics subroutine systems often allow applications to store graphics data in a device-independent manner in a metaJile or picture file. Computer graphics standards are evolving at all critical interfaces. Between the database and application are "data-oriented" interfaces, such as IGES (Initial Graphics Exchange Specification) and VDA-FS (Verband der Deutschen Automobilindustrie--Flaechenschnittstelle/Association of Automobile Manufactures-Surfaces Interface). These interfaces facilitate transfer of application oriented information between CAD/CAM systems. At the graphics application programming interface several standards are evolving. GKS, the Graphical Kernel System, has come to the forefront as the first international graphics standard, providing a rich set of functions for 2D graphics output and input. A 3D proposal, GKS-3D, is currently under consideration. PHIGS, Programmer's Hierarchical Interactive

480

S. STASH

[ Application Shell [

Fig. I. The application development environment.

Graphics System, is a further proposal that addresses the needs of the high-end graphics market, featuring hierarchical structuring of 3D graphical data and dynamic modification of images. Both GKS and PHIGS have opened the door to many new applications, which were previously too costly to develop with traditional device-dependent interfaces. The CGI, Computer Graphics Interface, is a proposed standard that defines the interface between the device-dependent and device-independent parts of a graphics system. This standard is hardware related, defining an interface to graphics devices. The type of functionality that should be supported in such an interface, as well as the relationship of CGI to GKS, continue to be strongly debated. Picture storage is addressed by the CGM, Computer Graphics Metafile, proposal. The CGM defines a device-independent and application-independent format that may be used to store graphical information or to transfer graphical information between systems. Development of application shell standards is somewhat premature. Experimental interfaces are being developed by research institutes and industry. MULTIPLE PRODUCTS FOR MULTIPLE SOLUTIONS As a leader in the computer graphics industry, IBM is committed to providing a consistent set of graphics tools, including high-level interfaces, low-level interfaces, application-independent interfaces, and application-dependent interfaces. Experience has proven that different problems require different solutions, and new challenges often mandate new methodologies. Hence, any number of interfaces may be required within a single organization. With this in mind, IBM has sought to balance support of multiple emerging standards with its own proprietery interfaces where standard approaches are inappropriate or not yet defined. * CADAM is a registered trademark of CADAM INC.

The IBM offerings have been tailored to today's application development environment. At the application interface level, the IBM IGES Processor facilitates transfer of information between CADAM ~* and other CAD/CAM systems. Supported on IBM System/370 or IBM System/370 XA architectures, the IGES Processor converts IGES entities stored in an IGES file into CADAM ~ entities and stores them in a CADAM ~ model and vice versa. Additional applications, including CATIA#,t CAEDS~,~: and CBDS*§ support the IGES format. Several application programming interfaces are supported to address the needs of a diverse marketplace. These interfaces are application-independent and provide roll-your-own solutions. A GKS implementation is available for IBM mainframes, offering a "high-level" interface for presentation graphics and moderately interactive applications. This system is offered as an extension to IBM's G D D M product and facilitates crossvendor portability, provides a conforming interface, and supports low to medium intelligent devices. graPHIGS~,¶ a system based on the proposed ISO/ ANSI PHIGS standard, is targetted towards a demanding engineering and scientific marketplace. Supported under VM, MVS, and AIX, graPHIGS ~ features hierarchical structuring of graphical information, rapid modification of images, and articulation of geometrically related objects. Dynamicism, flexibility, and the ability to support intelligent graphics devices have made graPHIGS * IBM's strategic interface for the scientific and engineering marketplace. There is currently no standard at the "low-level," device-independent/device-dependent interface that can adequately address the needs of the high-end graphics market (i.e., intelligent graphics workstations). Hence, this interface is addressed by multiple standard and nonstandard IBM products. A product based on the ISO/ANSI proposed Computer Graphics Interface (CGI/VDI) is available for the IBM PC and the IBM 6150 microcomputer as a part of the Graphics Development Toolkit. Also included is a graphics file system that supports the proposed ISO/ANSI Computer Graphics Metafile (CGM/VDM). The GSL, Graphics Support Library for the IBM 6150, includes CGI-like functionality with extensions, CONCLUSIONS The word "dynamic" can be used to best describe today's computer graphics market. Decreasing hardware costs, coupled with increasing local device intelligence, has turned graphics into an affordable alternative. Parallel development of graphics standards and de facto standards has made computer graphics a viable

t CATIA is a registered trademark of Dassault Systems. CAEDS is a registered trademark of IBM Corp. § CBDS is a trademark of Bell-Northern Research, Ltd. ¶ graPHIGS is a trademark of IBM Corp.

A multiple standards approach productivity tool in many industries. Computer graphics has changes from being something that only few organizations could afford to being "commonplace" in many industries. The dynamics of today's marketplace have increased the importance of having standard, productivity-oriented tools, but have also broadened the scope of possible applications. As a result of this diversification in

481

the applications area, the availability of multiple software solutions has become imperative. There can be no "single" solution. The computer graphics industry has shown no indications of slowing down. Software requirements, as well as the application development environment, will continue to change, presenting new problems, requiring new solutions.