Contact us Heritage collections Image license terms
HOME ACL ACD ICF SUS DCS G&A STARLINK Literature
Further reading □ ForewordContentsPrefacePrologueAcknowledgementsParticipants1. IntroductionA. GuedjB. HopgoodC. CrestinD. WarmanE. SabinF. EncarnacaoG. DunnH. BonoI. NewellJ. FoleyK. FoleyL. SanchaM. SanchaN. Sancha2. Working documentsCurrent positionGraphics primitivesCoreAttributesStructureMethodology: StructureDesignInputTransformationsFormal SpecificationConceptual FrameworkIFIP ReportRecommendationsFuture
C&A INF CCD CISD Archives Contact us Heritage archives Image license terms

Search

   
ACDLiteratureBooksMethodology in Computer Graphics
ACDLiteratureBooksMethodology in Computer Graphics
ACL ACD C&A INF CCD CISD Archives
Further reading

ForewordContentsPrefacePrologueAcknowledgementsParticipants1. IntroductionA. GuedjB. HopgoodC. CrestinD. WarmanE. SabinF. EncarnacaoG. DunnH. BonoI. NewellJ. FoleyK. FoleyL. SanchaM. SanchaN. Sancha2. Working documentsCurrent positionGraphics primitivesCoreAttributesStructureMethodology: StructureDesignInputTransformationsFormal SpecificationConceptual FrameworkIFIP ReportRecommendationsFuture

On a Methodology for Deriving Program Structures

1. Objectives

The group adopted as its purpose, the objectives for methodology suggested by Newell in his position paper Realistic objectives leading to a graphics standard. These objectives are paraphrased here:

  1. Work to recommendations on methodology that improves portability between implementation environments for application programs which use graphics.
  2. Define a recommended methodology for implementing application programs which use computer graphics.

2. Summary of results

The group adopted Newell's notion of program structure as the basis of its methodology for achieving its objectives. A preliminary (loosely organized) effort at designing program structures (i.e. program dynamics, algorithms) was initiated. Several matters were defined relevant and addressed.

  1. A context of facilities configuration was determined to be necessary in which the applications were to be analyzed for program structures. The facilities should satisfy the properties that facility configurations were parametrically differentiated and that they collectively spanned the universe of graphics facilities configurations (facilities is the union of CPU, DPU, Graphics Package).
  2. The program structures would be used as the basis from which the desired recommendations would be derived. The structures should be derived from a set of graphics applications that were parametrically differentiated in some user-oriented characteristic(s) and collectively spanned the universe of graphics applications.
  3. Analysis of applications and design of corresponding program structures needs to proceed by an orderly process adopted from software engineering practice.
  4. Derivation of the set of program structures corresponding to the set of useful combinations of applications and facility configurations is a process that requires more manpower and time than is likely to be available from a small group of people in a short period of time.

3. Graphics facility configurations

Several different cuts were made at useful sets of configurations. The initial set was adopted from the West German position paper by Encarnacao & al. This set was put aside on the basis that it did not appear to provide sufficient distinction between facilities that would be useful for discerning differences in program structures.

A second set was proposed (Newell) in terms of the spanning parameters rather than the terms of the architectural configurations of the first set. The second set used two parameters to distinguish four classes of facilities:

  1. Selective changes in the picture, and
  2. The ability to support apparent motion in an image sequence.

In both cases, these parameters were considered binary in nature (i.e. a facility either did or did not provide for selective changes; similarly for apparent motion).

Later considerations revealed that the motion parameter was of the right sense in that it neatly spanned but was rather insensitive to important sub-distinctions within each binary value. Bandwidth in support of image change was considered as a possible alternative. Preliminary analysis concluded two points about it:

  1. There are three basic places in a facility where bandwidth is of significance. If one assumes a binary view (high, low) of the measure of bandwidth, then this parameter alone yields eight facility configurations.
  2. Further if one considers that, in general, there are two fundamentally different architectural contexts for transformation, clipping, etc. in support of viewing, then bandwidth as a parameter yields sixteen facility configurations as a context for applications analysis and design of program structures.

If one also retained the parameter of selective changes in the picture, the set of differentiable facility configurations has become too large to be pragmatically useful for the desired analysis.

The ad hoc decision was to proceed in parallel on two paths. Use the set based on motion and selective change to devise program structures to polish the process. Concurrently, continue to analyze architectural and functional characteristics of graphics facilities in an attempt to discover a set of parameters (richer than the working set but less prolific than the set generated by bandwidth as considered above) capable of spanning the facility universe.

4. Graphic applications

A convenient option was exercised initially as a means to providing examples of applications to be analyzed in order to design program structures. We chose the set appearing on pages 8-9 of Some notes on Software Standardization (Sancha, 20 Oct. 75). A few others were added on the intuitive basis that the convenient set was somehow not fully representative. Five applications were analyzed to one degree or another. Attempts were made to design program structures. The applications addressed were: scientific animation (animated graphs); engineering drawings (mechanical) with hard copy; cartography; data presentation; and interactive preparation of schematic drawings.

One application was abandoned (data presentation). Scientific animation yielded two program structures across the four facility configurations. Engineering drawings (mechanical) with hard copy and cartography were determined to be satisfied by the program structure for simple plotting given as an example by Newell. The analysis of the interactive schematics application exposed serious deficiencies in the methodology of the User Group. Time was taken to correct this and is reported below. When effort using revised methodology was re-directed at this application, one facility context and another (fourth) program structure was devised. In the process of choosing the interactive schematic applications to work on next, it was discovered that the set of applications, conveniently chosen, was not suitable as they did not span the application universe and were not parametrically differentiable. That they needed to have these properties was a late-coming awareness such that full group attention was not brought to its resolution.

However, from the notes of the group, the following insights about the application taxonomy has been derived. Graphic applications appear to be differentiable by considering : the nature of the graphic content of the image; behavior of the user-facility combination regarding image change; and the behavior of the application systems (user + facilities + application program) regarding influence on the environment into which the application system may be connected. The first consideration is an image type parameter with four values : schematic, geometric, pictorial and graphic. The second consideration yields a binary parameter : interactive and non-interactive. The third consideration also yields a binary parameter : on-line and not on-line.

These considerations and the three derived parameters yield sixteen types of application that span the universe especially with the assumption that text may be present in any type of image as may be desired within the application. This latest material was not discussed, as stated/ within the sub-group.

The analysis of applications for program structures yielded another insight. It began to be noticed that sub-structures were occurring in program structures that were useful between application-configuration combinations (i.e. potentially portable units). One undefined sub-structure, input, began to be addressed. Much discussion exposed that there were several views to bring to understanding input and, subsequently, to supporting various inputs within the application system implementation. This insight led to joint meeting and agreement between the input and user groups on this general view (with small modifications). The results of this meeting led to further work at the conceptual level by a revised input group {joined by a member of the user group) as reported by Foley to the whole group.

5. Methodology for Deriving Program Structure

The initial effort to derive program structure proceeded on an ad hoc basis. Although the process yielded structures, there was a concern as to whether or not what had been derived represented the application fairly. Intensive discussion concluded that an organized methodology was required as opposed to an ad hoc process. Borrowing from software engineering, the following methodology was loosely organized and used:

  1. Identify the universe of objects the user wants to have in the images within the graphic application.
  2. Identify the universe of actions the user can exercise within the graphic application.
  3. Be sure that 1 and 2 only provide information about the user model or functional requirements and do not include graphic system specifications.
  4. Characterize the data structure.
  5. Characterize the command language.
  6. Diagram the program dynamics and structure.

It was confirmed again that the necessary process is time consuming and poses problems for organizing enough effort at this essential task to produce a sufficiently useful result.

6. Conclusions

Crude drafts of initial program structures and the applications facility matrix are attached for illustrative purposes only.

It is asserted that analysis of an adequate set of program structures derived in the context of applications and graphic facility configuration will lead to recommendation on codes of practice that will promote improved portability and implementation of application programs that use computer graphics.

Four Basic Configurations
Selective Changes to Picture No Selective Changes to Picture
Motion Vector General
LDS-2
Adage
Simple Refresh
Buffer
Picture System
No motion Selective erase
Storage tube
T. V.
Plotter
Storage tube

The group identified four preliminary structures but realized that further subdivision was needed.

Editors notes

Unfortunately, the notes of this group are somewhat incomplete. However, as we feel that this was a real and significant effort to analyze graphic program structures, we include the working papers as an aid to those interested in further investigations in this area.

On User Application Programs
CONTEXT:
Applications vs System/Package Configuration (Prelim, matrix evolving)
IMPACT:
User Program Structure
(Issues that affect portability, etc.)
(Prelim, list evolving)
DETAIL:
Specific methodological recommendations
e.g. Primitives
Transforms
Picture structure
Codes of practice recommendations
INPUT:
Our strategy for achieving a statement:
  1. Enumerate problems
  2. Develop the functional approach
  3. Show how the problems apply.
⇑ Top of page
© Chilton Computing and UKRI Science and Technology Facilities Council webmaster@chilton-computing.org.uk
Our thanks to UKRI Science and Technology Facilities Council for hosting this site