June 1983 - Vol. 26 No. 6
Features
From Washington: The STARS program
In 1979 the Department of Defense started its “software initiative,” an effort to maintain U.S. leadership in computer technology for support of its military systems. The “software initiative” evolved into the Software Technology for Adaptable Reliable Systems program (STARS), first outlined in the “Strategy for a DoD Software Initiative” in October 1982 and later refined in the “STARS Program Strategy” in March 1983. STARS is intended to address DoD software problems in the same way the Very High Speed Integrated Circuits1 program (VHSIC) is intended to ameliorate DoD hardware limitations in defense systems. The basic plan is a cooperative effort of government, industry, and academia in software technology. Industry is offered contractual incentives; both industry and academia are encouraged to contribute their best talent.
An overview of computational complexity
An historical overview of computational complexity is presented. Emphasis is on the fundamental issues of defining the intrinsic computational complexity of a problem and proving upper and lower bounds on the complexity of problems. Probabilistic and parallel computation are discussed.
A general purpose data entry program
Simulations constitute an important family of computer applications in science and engineering. To perform each simulation run, it is usually necessary to provide extensive data specifying the parameters of the simulation as well as data which support the calculation models involved. We have designed a program and a file structure that provides a method for convenient data entry, and creates and edits data files according to specifications contained in a separate file that serves as a template. By providing different templates, the same program can be made to serve numerous applications. The structure of the data files allows a degree of flexibility difficult to achieve using conventional database systems.
Pracniques: coordinated text and tranperiences
An economical method of producing both hard copy and projection forms of text, without duplication of effort.
A real-time garbage collector based on the lifetimes of objects
In previous heap storage systems, the cost of creating objects and garbage collection is independent of the lifetime of the object. Since objects with short lifetimes account for a large portion of storage use, it is worth optimizing a garbage collector to reclaim storage for these objects more quickly. The garbage collector should spend proportionately less effort reclaiming objects with longer lifetimes. We present a garbage collection algorithm that (1) makes storage for short-lived objects cheaper than storage for long-lived objects, (2) that operates in real time—object creation and access times are bounded, (3) increases locality of reference, for better virtual memory performance, (4) works well with multiple processors and a large address space.
Power, politics, and MIS implementation
Theories of resistance to management information systems (MIS) are important because they guide the implementation strategies and tactics chosen by implementors. Three basic theories of the causes of resistance underlie many prescriptions and rules for MIS implementation. Simply stated, people resist MIS because of their own internal factors, because of poor system design, and because of the interaction of specific system design features with aspects of the organizational context of system use. These theories differ in their basic assumptions about systems, organizations, and resistance; they also differ in predictions that can be derived from them and in their implications for the implementation process. These differences are described and the task of evaluating the theories on the bases of the differences is begun. Data from a case study are used to illustrate the theories and to demonstrate the superiority, for implementors, of the interaction theory.
Flowcharts versus program design languages: an experimental comparison
An experiment was performed to assess the relative merits of program design languages (PDLs) and flowcharts as techniques for the development and documentation of detailed designs for computer programs. The use of a PDL by a software designer, for the development and description of a detailed program design, produced better results than did the use of flowcharts. Specifically, the designs appeared to be of significantly better quality, involving more algorithmic or procedural detail, than those produced using flowcharts. In addition, flowchart designs exhibited considerably more abbreviation and other space-saving practices than did PDL designs, with a possible adverse effect on their readability. When equivalent, highly readable designs were presented to subjects in both PDL and flowchart form, no pattern of short-term or long-term differences in comprehension of the design was observed. No significant differences were detected in the quality or other properties of programs written as implementations of the designs. Subjective ratings indicated a mild preference for PDLs. Overall, the results suggest that software design performance and designer-programmer communication might be significantly improved by the adoption of informal PDLs rather than flowcharts as a standard documentation method for detailed computer program designs.