January 1979 - Vol. 22 No. 1
Features
Interference detection among solids and surfaces
In many industrial environments it is necessary to determine whether there is interference among components. There are many potential interference problems in products made up of assemblies of components and in product manufacturing and testing. Typically, drawings are used in an attempt to detect such unwanted interferences, but the two-dimensional, static drafting medium does not always show interferences among three-dimensional, moving parts. This paper presents a computer representation for solids and surfaces and algorithms which carry out interference checking among objects so represented. Objects are represented as polyhedra or as piecewise planar surfaces. Two types of interference checking are discussed: detection of intersections among objects in fixed positions and detection of collisions among objects moving along specified trajectories.
The impact and use of computer technology by the police
Over the past decade there has been a significant growth in the use of computer technology by U.S. police departments. This growth, however, has been at a slower rate than predicted in the early 1970's. Further, when computer applications extend beyond “routine” uses to “nonroutine” efforts, such as resource allocation or computer-aided-dispatch systems where the machine begins to become a tool for decision making, strategic planning and person/machine interaction, the results of the technology to date have been mixed. This paper reports on case studies and surveys which provide insights on the implementation and impact of police computer technology and the relationship of this technology to law enforcement and society.
Permutation of data blocks in a bubble memory
A common internal organization of bubble memories consists of a set of (minor) loops, connected through another (major) loop. The problem of obtaining any given permutation of the minor loop contents in minimum time is studied in this paper. A lower bound to the number of steps required by a permutation algorithm is derived, and the class of optimum algorithms is identified.
The impact of distributions and disciplines on multiple processor systems
Simple queueing models are used to study the performance tradeoffs of multiple processor systems. Issues considered include the impact of CPU service disciplines and distributions, level of multiprogramming, multitasking, and job priorities.
An event-driven compiling technique
Due to the linear structure of source text, difficulties may arise in a one-pass compilation process. These difficulties occur when an entity cannot be processed because of a forward reference to information only obtainable from subsequent entities. Classic solutions ask for data structures appropriate for each case. A technique is presented here which uses instead control structures, namely events and processes. The work of the compiler-writer becomes easier both conceptually and in practice because he can forget these problems at the outset and he avoids special processing for each problem. This technique has been applied to the construction of an Algol 68 compiler. Three examples from that implementation are described and discussed here.
Syntactic source to source transforms and program manipulation
Syntactic transforms are the source to source program transformations which preserve the history of computation, and thus do not modify the execution time. Combined with a small number of primitive semantic transforms, they provide a powerful tool for program manipulation. A complete catalogue of syntactic transforms, and its use for solution of a system of program equations, is given. Examples of derivation of more complex source to source transformations are also presented. Two case studies illustrate the way in which syntactic and semantic source to source transformations may be used for development of clear, simple, and reasonably efficient programs.