R&D reports Hull, M E 'OCCAM - - a programming language for multiprocessor systems' Computer Languages Vol 12 No 1 (1987) pp 27-37 Kocabas, S 'A handle on Prolog' .EXEVol 1 No 10 (April 1987) pp 18-25 Looks at programming with PROLOG, with an overview of the main features of PC-based PROLOGS.
Rasmussen, l B and Appelbe, W 'Real-time interrupt handling in Ada' Software Pracg Exper. Vol 17 No 3 (March 1987) pp 197-213 ADA defines the semantics of interrupt handling as part of the tasking mechanism, making it possible to construct implementation-independent interrupt handlers. For the mechanism to be effective, however, an implementation must provide support not specified by the ADA standard, such as for initializing hardware interrupt devices, handling unexpected interrupts and optimizing for realtime performance constraints. The paper analyses some of the constraints that efficient interrupt support places on an implementation. Interrupt support optimizations have been implemented.
Van Katwijk, I 'Addressing types and objects in Ada' Software Pract Exper. Vol 17 No 5 (May 1987) pp 319-343
Software engineering Karp, A H 'Programming for parallelism' IEEE Computer Vol 20 No 5 (May 1987) pp 43-57 Widespread interest and availability of parallel processors has correspondingly resulted in a proliferation of tools that allow the applications programmer to express the parallelism. Karp concludes, however, that the art of parallel programming is in a sorry state: more work is needed, he says, in compiler assisted dependence analysis and in developing debugging tools.
Vol 11 No 6 July/August 1987
Meyer, B 'Reusability: the case for objectoriented design' IEEE Software Vol 4 No 2 (March 1987) pp 50-64 Computer programming is by nature highly repetitive: it has been estimated that only 15% of new code serves an original purpose. Meyer proposes that object-oriented design is the most promising technique for attaining the goal of reusability. Object-oriented design bases the modular decomposition of a software system on the classes of objects the system manipulates, not on the functions the system performs. Categories of objects on which, over time, a system will act will probably be more or less the same, the author argues: an operating system, for example, will always work on devices, memories, processing units, communication channels etc. Thus, if categories of objects are viewed at a sufficiently high level of abstraction, it is wiser in the long term to rely on categories of objects as a basis for decomposition, Meyer says.
Schneidewind, N F 'The state of software maintenance' IEEE Trans. Software Eng. Vol SE-13 No 3 (March 1987) pp 303-310 Maintaining software causes problems because: 75-80%, Schneidewind estimates, of existing software was produced prior to significant use of structured programming; maintenance is often difficult due to inadequate documentation; it is expensive. This situation will continue, perhaps for 20 years, the author concludes, or until programmer productivity becomes so great that it will become more economical to develop new systems than to maintain old ones.
Test: hardware Graydon, I and Servin, ] 'Circuit logic' SysL InL (May 1987) pp 103-106 Testing application-specific IC prototypes is not easy with conventional equipment. The authors explain why new verification systems are needed.
Test: software Gondzio, M 'Microprocessor debugging techniques and their application in debugger designs' Software Pract. Exper. Vol 17 No 3 (March 1987) pp 215-226 Debugging power depends on a mechanism of control exchange between the debugger and an application program. Several implementation methods for such a mechanism are described in the paper. Most of the techniques discussed are implemented in the MD-86 debugger designed for the 8086.
Roper, R M F and Smith, P 'A software tool for testing JSP designed programs' lEE Software Eng. J. Vol 2 No 2 (March 1987) pp 46-52 Principles employed in program testing are usually ad hoc and rely on the intuition of the programmer. Several calls have been made for the formalization of the testing process and the development of a comprehensive test method. The paper describes a test method designed for testing programs developed using the Jackson structured programming (JSP) approach, and presents a software tool developed to automate the process.
Books received These books have been received recently by the Editorial Office. They may be reviewed in later issues. Eyes, D and Lichty, R Programming the 65816: including the 6502, 65C02 and 65802 Brady/ Prentice Hall, New York, NY, USA (1986) £19.95 pp 630 Peyton-Jones, S L The implementation of functional programming languages PrenticeHall, Englewood Cliffs, NJ, USA (1987) £19.95 pp 463
341