bluuebunny/crossref_metadata_2025_split huggingface dataset:
On the distinction between functional development and functional maintenance
Authors: Krogstie John 
Published: November 2006

AbstractThe large amount of work on information systems being taken up by maintenance activities has been one of the arguments of those announcing a ‘software crisis’. In this article we have investigated the applicability of this statement, and propose instead to look at the percentage of work being done on functional maintenance to assess the efficiency of the information system support in an organization, seen from the end‐user's point of view.A survey with results from 52 Norwegian organizations on development and maintenance of information systems has been performed, and some of the results are presented in the article. These are compared with results from similar investigations acting as calibration for our more novel results on functional development and maintenance. This is the first time to our knowledge that figures for functional maintenance have been investigated in a survey.From a functional point of view, the situation is better than previously perceived. Still, almost 45% of the work being done on computerized information systems in organizations is functional maintenance, i.e. not improving the information system support of the organization functionally. The amount of functional maintenance appears to be negatively correlated with the size measures for the organization, and with organizations having a well‐developed maintenance and development methodology, although further investigations should be performed to uncover the mechanisms of functional maintenance.
A survey instrument for understanding the complexity of software maintenance
Authors: Stark George E. , Oman Paul 
Published: November 2006

AbstractSoftware maintenance is a multi‐faceted, multidimensional effort that, upon inspection, is larger and more complex than it first seems. At least three components contribute to the complexity of the software maintenance effort: (1) the code and documentation being produced, (2) the process used to manage the maintenance, and (3) the maintenance and target computer system environments. This paper describes the development and use of a simple spreadsheet tool designed to measure the complexity of a software maintenance release. The tool can be used by software maintenance managers to direct their attention at the cost drivers associated with a software maintenance release, to aid in the re‐engineering decision, and to keep track of the degradation or improvement associated with a software system due to maintenance actions or process improvements. The approach has been successful in identifying complex deliveries and identifying components that contributed the greatest to that complexity.
A software architecture for the 70's: Part I—the general approach
Authors: Spooner C. R. 
Published: November 2006

AbstractA framework is described on which it should be possible to construct general purpose systems suitable for the 70's. The companion paper will describe a particular implementation; comparisons with other recent approaches are deferred to a subsequent paper. The first section of this paper postulates the requirements of the 70's, concluding with the need for a useful method of modularizing, which both recognize, that code is seldom perfect, and allows hitherto mandatory and untouchable components to be optional and alterable. The second section develops an approach to modular structure. It takes as the three basic ingredients: Activities (or processes), tools (code, processors, etc.) and the organization of applying the tools to the activities. The structure modularizes both what happens (into activities) and the code that is used (into logical and into physical units). By developing the role of the central organizing element, as a caretaker of management decisions taken by activities, a means of modularizing the management function is arrived at. The third section discusses the extent to which implementation to date has vindicated the theory, makes some observations on the interface with the hardware, and as a postscript traces the evolution of the concepts.
Installing an ASP system
Authors: Evans J. B. 
Published: November 2006

AbstractThis article describes the installation of an ASP System on 3 × 360/65 computers at Rolls Royce Limited. It shows the benefits from controlling the total resources of the computers from a central point and the secondary benefits from the additional ASP facilities. The installation plan is described and indicates that factors taken into account when changing over to ASP. These factors required a team of highly skilled people working for several months and many modifications to the basic ASP SystemThe article concludes with a practical assessment of the final system.
A design for a text editor
Authors: Bourne S. R. 
Published: November 2006

AbstractThis paper describes a program for editing text on the Titan (prototype ICL Atlas II) computer at Cambridge UniversityThe program is an essential part of the multiple‐access system that is in operation on that computer, although it is also used non‐interactively through the more conventional job‐shop system. The program, EDIT, has also been implemented on an IBM 1130 and an IBM 360/65Among the facilities provided by this program are the basic operations of text replacement, insertion and deletionEditing operations may be specified either by line number or by reference to a particular contextThe program is a compromise between a low cost, high‐speed system and the flexible multi‐function editor that is demanded by users from all departments of the University.
A planar graph drawing program
Authors: Hope Alexander K. 
Published: November 2006

AbstractThis paper describes a program, written in FORTRAN, for a 64K I.C.L. 4130 which will accept data describing the ordering of nodes and branches within the regions of a planar graph, and generate a two‐dimensional representation, without crossovers, from these data. The program was written to provide one of the basic ‘tools’ required in the development of a printed wiring board layout program for the electronics industryThe program generates display code which is sent to a satellite PDP‐7 computer driving a 340 display. On completion of the automatic drawing phase an interactive phase is entered in which the user can ‘tidy’ and label the drawing, by means of keyboard and light‐pen commandsBrief notes are included on the hardware, the data structures package (MINIJASP, derived from ASP) and the graphics package, employed.
Documentation and the management of a software project—a case study
Authors: Katzenelson Jacob 
Published: November 2006

AbstractThe purpose of this article is to discuss documentation and management technique in a software production project. It is claimed that clear and concise documentation is a major contribution to communication between people who are either inside or outside the software project and that such documentation plays an important role in the management of the project. A university software project is used as a case study to illustrate the above points and to describe the means for achieving them. This project developed a supervisor and an assembler for a small 4K words machine and at various times it involved up to ten parttime people (instructor and students). One of the goals of the project was the development and improvement of documentation technique, and the techniques described in this article were practised and improved as the project progressed. It is felt that with minor changes the conclusions of the university project can be used in industrial projects of similar size.
A macro facility for interactive display
Authors: Jones W. R. 
Published: November 2006

AbstractThis paper describes how a user of a graphical display unit, e.g. a designer or draftsman, etc. can create procedures at the console which will perform geometric constructions and calculations. These procedures may be recorded, and subsequently recalled and executed, using data values supplied by the userThis system may be regarded as an extension to the IBM program Graphic Part Programmer (GPP) Number 360D–23.4.003.1 The basic system utilized is the contruction part of this program which has been extended to provide drafting facilities. No programming courses are needed as no language is involved, and the only prior experience necessary is that needed to become familiar with the drafting system.
Software engineering techniques used in the development of the cambridge multiple‐access system
Authors: Landy B. , Needham R. M. 
Published: November 2006

AbstractTesting and development of elaborate systems requires the assistance of sophisticated techniques and software aids at several stages in the process. These include systems for managing and manipulating the source text, producing and testing new versions in a realistic but ‘safe’ environment and arranging for easy and compatible fall back to a previous version in case of unforeseen difficulties. The paper describes a number of such aids that have been found useful during the development of the Cambridge Multiple‐Access system.
The design of the internal structure of the ICL george 3 operating system
Authors: Oestreicher M. D. 
Published: November 2006

AbstractThis is the first of two papers on the design of the low‐level internal structure of the ICL GEORGE 3 operating system. After a discussion of the background and ancestry of the system, descriptions of the core allocation system, the chapter changer and the co‐ordinator are given. An attempt has been made to give the reasoning behind the decisions made in the early design stages.
Development of scheduling strategies in the TITAN operating system
Authors: Landy B. 
Published: November 2006

AbstractScheduling strategies are evolved to solve problems of selection in operating systems. Such strategies frequently undergo evolution in time as details of the specification are changed or, more frequently, as inadequacies in them are shown up by use in a heavily loaded system. This paper describes a number of scheduling strategies used in the TITAN system, and their development to meet changing circumstances or to overcome inadequacies.
Implementation of an editing algorithm. Allowing repeating corrections
Authors: Poole M. D. 
Published: November 2006

AbstractA research project on the application of computers of computers to typesetting, financed by the Ministry of Technology, has recently been concluded at the University of Newcastle upon Tyne. The design of one of the programs developed as part of this project is discussed in this paper. The program is an editor which runs in batch mode and which has been extensively used for the correction and maintenance of files of natural language text in preparation for computer typesetting. An important feature of the program is the handling of repeating corrections which allow consistent changes of notation over arbitrary parts of the file as well as the more usual local or non‐repeating corrections. The internal representation of corrections which is used to implement this facility is described. An appendix gives some examples of corrections and illustrates some of the difficulties inherent in any such correction process.
Talk—an interactive system for a small computer
Authors: Kingslake R. 
Published: November 2006

AbstractTALK is an interactive file creation and editing system implemented on a very small computer. It provides facilities for FORTRAN syntax checking and an interactive ‘desk‐calculator’. Major computing tasks are sent over a high speed link to CDC 6600/6400 computersA number of teleprinters can be controlled by TALK in the usual way, but also the card reader/line printer pair may be used as a terminal. This is useful for creating or printing large filesWhen a user has logged in he can work in one of several modes. These include INPUT, EDIT and CALCULATE modes. It is possible to nest modes, for example, by entering CALCULATE mode while in INPUT mode without losing one's place in the input fileAn unusual feature of TALK is the ‘inclusion’ facility. This enables a user to specify previously filed text to be included within another file, either as the file is being created or dynamically whenever the file is used. It also gives users the ability to build up macros of commonly used commands. Many system commands are in fact macros with only simple primitives provided as executable code.
Practical experience with algol 68
Authors: Woodward P. M. 
Published: November 2006

AbstractThe ALGOL 68‐R system has been in successful use for over a year at the Royal Radar Establishment. The paper describes how ALGOL 68 came to be implemented for the ICL 1900 Series and adopted as the standard user language of the RRE computing service. The language can easily be learned as a modification and extension to ALGOL 60, but is best approached ab initio. The paper outlines all the main characteristics of ALGOL 68, including a brief section on independent compilation of program segments as provided in the ALGOL 68‐R system. The future of ALGOL 68 depends on how acceptable it proves to be; to judge from experience to date, there are no grounds for lack of confidence in the design of the language or the feasibility of implementation.
Some techniques in multi‐computer system software design
Authors: Pyle I. C. 
Published: November 2006

AbstractThis paper describes some problems and solutions in the design of software for a multi‐computer system for real‐time use. Particular concepts discussed are inter‐computer communication, computer‐aided reconfiguration, data integrity control, selective notification of amendements and the influence of debugging, testing and assembly sequence on the design approach. The problems of designing software for given hardware and ill‐defined functions are also mentioned.
A resource‐oriented time‐sharing monitor
Authors: Reiter Allen 
Published: November 2006

AbstractA design for a time‐sharing monitor on a small‐to‐medium size computer is presented. A system objective is to achieve good resource utilization and thus be able to do more with limited resources. To this end, some assumptions are made about the user environment (information management applications), and some co‐operation is required from application programmers. The design is machine independent, but 360 and Sigma 2 implementations are also described.
Control of queues in a permissive society
Authors: Thomas R. E. , Kent P. 
Published: November 2006

AbstractBy attaching an XDS Sigma 2 computer to Atlas via a shared disk, a multi‐access facility has been developed without causing any interruption in the day to day running of the Atlas batch processing system. Jobs may be initiated on Atlas from a terminal and results from such jobs may be either returned to files or published on any of the normal Atlas peripheralsA statistics collecting package is included, which allows the gathering of information about any part of the system. Also, modifications can easily be made to the system to test the predictions of such a model. The model described here tries to relate response time to various system loads. In order to allow for the overlapping of disk and CPU time, we have queued the two activities in seriesOne of the useful side effects of constructing such a model is the focussing of attention on areas of the software which really do affect the response time. The paper outlines the development of this model, which is still in progress, highlighting some of the milestones and pitfalls encountered so far.
Abstract machine modelling to produce portable software—a review and evaluation
Authors: Newey M. C. , Poole P. C. , Waite W. M. 
Published: November 2006

AbstractThis paper discusses the use of abstract machine modelling as a technique for producing portable software, i.e. software which can be moved readily from one computer to another. An overview of the principles involved is presented and a critical examination made of three existing abstract machines which were used respectively to implement a macro processor, a text editor and a BASIC compiler.
The implemention of stab‐1
Authors: Colin A. J. T. 
Published: November 2006

AbstractThis paper describes the implementation of STAB‐1, a BCPL‐like language for a small PDP‐11 computer. The paper lays considerable emphasis on the actual techniques of implementation, and highlights some of the practical difficulties which were encountered. Finally, the experience gained is distilled into a set of precepts for compiler writers. The paper is seen as mainly tutorial in nature.
An implementation of phrase structures in algol
Authors: Housden R. J. W. 
Published: November 2006

AbstractThis paper describes an implementation of syntax definitions in ALGOL in the form of phrase structures which are translated into ALGOL source statements by a preprocessor. No analysis records are constructed but ALGOL statements within the syntax definitions specify any action to be taken as soon as data are recognized. The first sections are concerned with definitions of the syntax and the semantics of phrases and phrase elements. The use of ALGOL phrases is illustrated by a complete phrase structure program, and finally the method of implementation is describedThis work arose from a need for extended teaching facilities in an environment in which the main programming languages in use were ALGOL and FORTRAN. The facilities implemented have also been used in applications requiring the input of structured data.
Solo—system for on‐line optimization
Authors: Pankhurst R. J. 
Published: November 2006

AbstractSOLO (system for on‐line optimization) is a system of interactive computer programs for solving problems of optimization. It exists in two forms, one of which uses a teletypewriter exclusively for both input and output. The other retains the teletypewriter for input but presents outputs mainly on a cathode ray tube display. The optimization problem is expressed as the maximization of a function of an arbitrary bumber of parameters. Optimization problems often occur in engineering design, where it is often a matter of fitting a computed output, response or performance curve to the one desired. SOLO can be regarded as a tool for computer‐aided design in this sense. SOLO does not make use of any methods of numerical analysis, but relies instead on organized interactive searching. No function derivatives are computed, so that SOLO can be applied to any type of function. Experience so far suggests that SOLO is much more efficient with functions possessing many local optima than it is with functions which have just one maximum.
Generation of interactive displays from FORTRAN using the PDP ‐ 10/LDS‐1 computer graphics system
Authors: Lesk Arthur M. 
Published: November 2006

AbstractThe PDP‐10/LDS‐1 combination is a powerful and versatile computer graphics system. A package of programs described here permits the generation of displays and interaction with them by means of simple calls from FORTRAN programs. This makes computer graphics available to individuals who know a little FORTRAN but no assembler language. It serves also as a useful introduction to the LDS‐1 for experienced programmers who intend to learn the assembler language and to write their own programsExperience with the language has shown that it is learnable quickly by the class of users at which it is aimed. In addition, the same package has been used by more experienced programmers as a powerful research tool in the study of conformations of biological macromolecules, such as proteins, DNA and RNA.
What was, what is and what should have been: A critical evaluation of the chilton multi‐access system
Authors: Thomas R. E. , Baldwin J. C. 
Published: November 2006

AbstractThe Chilton multi‐access system has been running for about three years, and it is now possible in the light of experience to look back critically at the decisions taken during its definition. No system is entirely perfect and, by considering the highlights and shortcomings of this one (which may be described as being of the ‘support system’ type), similar designs in the future can benefit.
PIT: A macro‐implemented implementation language
Authors: Zelkowitz Marvin V. 
Published: November 2006

AbstractAn implementation technique called PIT, for pseudo instructional technique, is described which utilizes the macro capabilities of most macro assemblers. A low level machine architecture is described via a set of macros that include some ‘high level’ features. Since the macros manipulate computer words, and refer to actual registers, their implementation in a system is relatively efficient, but since they do not reflect any one particular hardware design, they can be implemented by almost any macro assembler. Tests are built into the macros so that a PIT program will run without change on any machine that has defined these macrosThis technique should provide an alternative to using higher level languages as implementation languages if the object code produced by those compilers is deemed too slow (or too large) for the application that is being programmed.
Rainbow—a multi‐purpose CAD system
Authors: Wiseman N. E. , Cheney C. J. , Etherton M. , Hiles J. O. , Lemke H. U. 
Published: November 2006

AbstractThis paper describes RAINBOW, an integrated suite of programs for assisting in the specification and design of networks—electrical, logical or otherwise. Data input are primarily graphical and manual transcription of data for subsequent phases of the design analysis is virtually eliminated by the use of a uniform data base, generated at the time of input. The RAINBOW system depends heavily on the software support of a filing system with on‐line access; this is briefly described. A description of the internal structures used to model the data is given. The component programs of RAINBOW, in its present state of development, are listed and described. The paper concludes with some suggestions for improvements and extensions to the system.
An on‐line data collection system for film measurement
Authors: Bracher B. H. , Macewan J. F. , Abbott A. G. 
Published: November 2006

AbstractThis article describes the basic elements in the Rutherford Laboratory on‐line film measurement system, in which twelve film measuring machines are connected on line to an IBM 1130. The 1130 is linked to an IBM 360/195 by a parallel data link. The article mentions some of the lessons learnt in going on‐line and describes current and future developments.
The mobile programming system, Janus
Authors: Coleman S. S. , Poole P. C. , Waite W. M. 
Published: November 2006

AbstractJanus is a symbolic language used to embody the information which is normally passed from the analysis phase of a compiler to the code generators. It is designed for transporting software: A program coded in a high level language can be translated to Janus on one computer, and the resulting output translated to assembly code on another. (The STAGE2 macro processor could be used for the second translation.) In this paper we present the principles upon which Janus is based, and show that it is suited to a wide range of source languages and target computers.
Optimization of structured programs
Authors: Zelkowitz Marvin V. , Bail William G. 
Published: November 2006

AbstractThe class of programs which do not contain goto statements has a structure which lends itself to optimization by an optimizer that is fast, efficient and relatively easy to program. The design of such an optimizer is described, along with some of the results obtained using this optimizer—one such result being that very little code optimization is achieved. The conjecture is made that this is true because gotoless programming languages lend themselves to more compact and concise object code at the source language level.