May 1982 - Vol. 25 No. 5
Features
Contemporary software development environments
There are a wide variety of software development tools and methods currently available or which could be built using current research and technology. These tools and methods can be organized into four software development environments, ranging in complexity from a simple environment containing few automated tools or expensive methods to a complete one including many automated tools and built around a software engineering database. The environments were designed by considering the life-cycle products generated during two classes of software development projects. Relative cost figures for the environments are offered and related issues, such as standardization, effectiveness, and impact, then addressed.
Analysis of pointer “rotation”
Two high-level pointer operations, rotation and slide, reduce conceptual difficulties when writing pointer programs and increase the reliability of programs. We analyze theoretically as well as empirically why these operations are more convenient and introduce a mechanically checkable notion of the safety of rotations. Several examples show that safety is a good indication of program correctness. Examples of list marking and list copying programs demonstrate the utility of these operations.
On an improved algorithm for decentralized extrema finding in circular configurations of processors
This note presents a more efficient algorithm for finding the largest element in a circular list of processors when messages can be passed in either direction. It passes 2N*floor(lg N) + 3N messages in the worst case, compared to Chang and Roberts' N(N + 1)/2 and Hirschberg and Sinclair's 8N + 8*ceiling(N lg N) messages. The technique is a selective elimination of possible processes, which then merely relay future messages between the remaining contenders.
Estimating and improving the quality of information in a MIS
Most discussions of MIS's assume that the information in the records is error-free although it is recognized that errors exist. These errors occur because of delays in processing times, lengthy correction times, and, overly or insufficiently stringent data edits. In order to enable the user to implement data edits and correction procedures tailored to the degree of accuracy needed, this paper presents functional relationships between three common measures of data quality. The MIS addressed is one where records in a MIS are updated as changes occur to the record, e.g., a manpower planning MIS where the changes may relate to a serviceman's rank or skills. Since each of the updating transactions may contain an error, the transactions are subjected to various screens before the stored records are changed. Some of the transactions including some that are correct, are rejected; these are reviewed manually and corrected as necessary. In the meantime, the record is out of date and in error. Some of the transactions that were not rejected also lead to errors. The result is that at any given time the MIS record may contain errors.
For each of several error control mechanisms, we show how to forecast the level of improvement in the accuracy of the MIS record if these options are implemented.