February 1984 - Vol. 27 No. 2
Features
Is Ada too big? A designer answers the critics
Many have criticized the Department of Defense's new computer language, Ada, saying it is too large, too complicated, or too difficult to use. Are they right? And are there some simplifications that could be made to Ada without destroying its usefulness?
The operational versus the conventional approach to software development
The conventional approach to software development is being challenged by new ideas, many of which can be organized into an alternative decision structure called the “operational” approach. The operational approach is explained and compared to the conventional one.
The coordinated use of five performance evaluation methodologies
Information system design can be influenced and ultimate performance parameters accurately forecast through the coordinated use of five performance analysis tools. The complementary methodology is used to first predict and then validate system performance throughout its life cycle.
Online help systems: a conspectus
Users of computer systems are now accustomed to the convenience of online help systems and generally demand these amenities in the computers they buy. However, recent studies as to the efficacy of certain types of assistance for certain classes of users raise important questions for designers.
Predicative programming Part I
Programs are given a new semantics with the merit that a specification written as a first-order predicate can be refined, step by step, to a program via the rules of Predicate Calculus. The semantics allows a free mixture of predicate and programming notations, and manipulation of programs.
Predicative programming Part II
Part I of this two-part paper presented a new semantics of programs. Each program is considered to be a predicate, in a restricted notation, that specifies the observable behavior of a computer executing the program. We considered a variety of notations, including assignment, composition (semicolon), deterministic choice (if), nondeterministic choice, definition (nonrecursive and recursive), and variable declaration. We did not consider any input or output notations, or concurrency; that is the subject of Part II. We assume the reader is familiar with Part I, so that we can build on ideas presented there.
Chain mulitplication of matrices of approximately or exactly the same size
We present a different approach to finding an optimal computation order; it exploits both the difference between the size of the matrices and the difference between the number of nonzero elements in the matrices. Therefore, this technique can be usefully applied where the matrices are almost or exactly the same size. We show that using the proposed technique, an optimal computation order can be determined in time O(n) if the matrices have the same size, and in time O(n3) otherwise.