This article emphasizes the growing need for good technical communication in application program development, and relates the usability of program documentation to the productivity of computersystems. It describes in...
详细信息
This article emphasizes the growing need for good technical communication in application program development, and relates the usability of program documentation to the productivity of computersystems. It describes in detail the process involved and the human thinking that must accompany the generation of high quality computer user documentation. The methodology described in this paper has been exercised by the author on two major interactive IBM application programs. However, the methodology should not be interpreted as an IBM discipline, and views expressed in this paper are those of the author.
Standard implementations of conditional critical regions and monitors can lead to ″busy waiting″ if processes are allowed to wait on arbitrary boolean expressions. Techniques from global flow analysis may be employe...
详细信息
Standard implementations of conditional critical regions and monitors can lead to ″busy waiting″ if processes are allowed to wait on arbitrary boolean expressions. Techniques from global flow analysis may be employed at compile time to obtain information about which critical regions (monitor calls) are enabled by the execution of a given critical regions (monitor calls) are enabled by the execution of a given critical region (monitor call). This information may be used to obtain more efficient scheduling algorithms.
The application of the recovery block concept to parallel programs for ensuring increased reliability despite the presence of software bugs is considered. The basic idea of this technique is to include standby softwar...
详细信息
The application of the recovery block concept to parallel programs for ensuring increased reliability despite the presence of software bugs is considered. The basic idea of this technique is to include standby software components in the program which can be ″switched on″ in case the active component fails. However, before this could be done, the system must be rolled back to a consistent state. One of the goals in this rollback is to avoid undoing a large amount of computation. It is shown that the process interaction must be severely constrained in order to achieve this goal. Sufficient conditions for limiting the rollback in a system of process communicating via monitors are also presented.
Higher Order Software (HOS) is a formal methodology for the specification of large computer-based systems in a manner entirely independent of implementation. This methodology is discussed from the point of view of dat...
详细信息
Higher Order Software (HOS) is a formal methodology for the specification of large computer-based systems in a manner entirely independent of implementation. This methodology is discussed from the point of view of data-type specification, which in HOS is done algebraically. Some differences between the theory developed here and other approaches to algebraic data-type specification are also discussed.
UDS**2 is a BCS developed prototype software design specification system consisting of a comprehensive, well-integrated system of automated design tools intended for a production environment. UDS**2 provides the softw...
详细信息
UDS**2 is a BCS developed prototype software design specification system consisting of a comprehensive, well-integrated system of automated design tools intended for a production environment. UDS**2 provides the software designer with a design specification language (SPECLE) and a set of automated tools which (1) generate documentation; (2) analyze the software design; and (3) at some point in the future, will generate source code directly from the SPECLE specification. UDS**2 is implemented on several large scale delivery systems and is currently being tested on several real-world projects.
A hardware/software dataflow system is described that can accept a program written in a conventional programming language, compile it, link it, and then automatically partition it across any number of processors. This...
详细信息
A hardware/software dataflow system is described that can accept a program written in a conventional programming language, compile it, link it, and then automatically partition it across any number of processors. This partitioning is done without explicit programmer directives and without regard for artificial program boundaries such as subroutines or blocks. As a result, the multiprocessor nature of the system is transparent to the programmer. The system is able to identify and use program parallelism at any level, including random inter-instruction parallelism, array (vector) parallelism, and algorithmic parallelism. The system uses this parallelism to speed program execution by applying multiple processors to the problem and to mask overhead by overlapping overhead with execution.
The development of software for microcomputers for use in educational environments is discussed. The suggestions presented should assist in the appropriate selection of the software and in being aware of the care nece...
详细信息
The development of software for microcomputers for use in educational environments is discussed. The suggestions presented should assist in the appropriate selection of the software and in being aware of the care necessary in presenting the material to a student.
A software-development environment is a collection of software parts (often, but not always associated with a specific operating system and language) that aids in the conception, design, development, production, maint...
详细信息
A software-development environment is a collection of software parts (often, but not always associated with a specific operating system and language) that aids in the conception, design, development, production, maintenance and revision of programs. This article introduces six major software-development environments (Ada, Forth, Lisp, Prolog, Smalltalk and Unix), and shows how the increasing demand for cost-effectiveness in software development has made the adoption of a computer system's software-development environment a major design decision.
Darlington applied program transformation to derive a number of sorting algorithms. We identify and correct two errors in his derivation of quick sort, one of which causes his resulting algorithm to be non-terminating...
详细信息
Darlington applied program transformation to derive a number of sorting algorithms. We identify and correct two errors in his derivation of quick sort, one of which causes his resulting algorithm to be non-terminating on some inputs, the other of which could have led to an incorrect algorithm, but is fortuitously eliminated later in his derivation.
The dynamic systems developing method (DSDM) is helping to restore the faith in rapid application development (RAD) through a formal yet pragmatic approach to the whole activity. The DSDM is developed to negate the po...
详细信息
The dynamic systems developing method (DSDM) is helping to restore the faith in rapid application development (RAD) through a formal yet pragmatic approach to the whole activity. The DSDM is developed to negate the poor image of RAD by a UK-based consortium made up of more than 200 organizations. DSDM encapsulates best practice and common sense in a holistic approach covering all aspects of system development, from project and risk management through configuration management to testing. It is not tied to any particular development techniques or products. This enables to be used on everything from small PC applications to large mainframe systems, object-oriented or structured analysis and design approaches, and a multiplicity of development tools.
暂无评论