The primary purpose of the Computer Graphics Metafile (CGM) standard is to allow organizations to store and exchange graphical data (i.e., pictures) among different computers, graphical devices, and applications both within their organizations, as well as with other organizations. The CGM is widely used and available for a broad range of computer systems and applications. However, a CGM picture that is created by one CGM product may not be fully rendered by another CGM product. Successful graphics interchange can only be achieved if commercially available products faithfully implement 1) the CGM standard and 2) the formally recognized profiles.
CGM conformance testing is a way of determining if a CGM product correctly implements the CGM standard and its associated application profile. [ed - CGM is a large and complex standard. Vendors do not implement the entire standard. They implement functional subsets. These subsets are know as profiles.] The Conformance Testing Group at the National Institute of Standards and Technology, Computer Systems Laboratory (NIST/CSL) is developing CGM test suites and has established a validation test service for testing conformance of CGM.
Conformance testing is a functional and fiscal advantage to the vendor of CGM products as well as to the user of CGM products. Testing conformance benefits users by providing an independent, objective method for evaluating CGM products. The availability of conforming products provides users with the freedom of choice to purchase a product suited to individual requirements, and not become locked-in to a single vendor. Users must be informed about the benefits of testing if any real progress in interoperability is to be made. The availablity of standards and conformance tests are meaningless unless users demand that vendors get tested and obtain a certificate. Vendors benefit by using the conformance tests to debug their implementations and by using their certificate of conformance as a potential selling point for their products.
Conformance of CGM is defined in terms of conformance to a particular profile of CGM. Thus, the CGM standard in conjunction with an application profile is necessary in order to test conformance of a total CGM system.
Testing CGM for conformance entails: 1. verifying that the metafile is syntactically correct, 2. verifying that a generator produces conforming metafiles which accurately and correctly represent the intended picture, and 3. verifying that an interpreter can correctly and completely read the metafile and produce the intended picture.
The Test Service Procedures provide specific information about how a metafile, generator and/or an interpreter is tested.
Although both the metafile and generater test services require the client to submit CGMs to NIST/CSL for analysis, the objective and applicability of each test service are different.
The metafile test service focuses on testing individual metafiles. The objective is to analyze each metafile and verify that it is syntactically correct. The picture represented by the metafile, as well as the generator product, the hardware and the operating system are all irrelevant to metafile testing. Moreover, the conformance of a metafile does not necessarily imply conformance of other CGMs created by the same CGM generator. The metafile test service is applicable when specific pictures or illustrations represented as a CGM are being acquired (e.g., a set of illustrations which will be included in a technical manual, or a library of clip art pictures).
The generator test service focuses on testing a generator product to determine if it produces conforming metafiles. While metafile testing concentrates on syntax checking, generator testing checks the semantics of the CGMs generated to determine if the generator is producing CGMs that correctly describe the picture. The metafile, the picture represented by the metafile, as well as the hardware, operating system, and all supporting software are an integral part of the testing and, consequently, the conformance. An error in any one of these components may cause the generator under test to fail the conformance tests.
Typically, vendors of generator products, rather than users, would request validation. This is because an in-depth knowledge about the internal workings of the generator is required in order to complete the validation. However, users who intend to create CGMs from graphics or other application programs, should insist upon using programs with a validated generator. With a validated generator, the user may assume that 1) only conforming metafiles are produced, 2) the intended picture is accurately and correctly defined, and 3) successful picture exchange can be achieved.