38308402
Specification and Design of (Parallel) Programs
22477823
A typed logic of partial functions reconstructed classically
This paper gives a comprehensive description of a typed version of the logic known as LPF. This logic is basic to formal specification and verified design in the software development method VDM. If appropriately extended to deal with recursively defined functions, the data types used in VDM, etc., it gives the VDM notation and its associated rules of reasoning. The paper provides an overview of the needed extensions and examines some of them in detail. It is shown how this nonclassical logic-and the extensions-can be reconstructed classically by embeddings into classical infinitary logic.
29612949
Models of Programming Language Concepts
Various features of high-level programming languages are discussed and ways of providing definitions are proposed. The definitions given are denotational.
15308825
Scientific Decisions which Characterize VDM
The formal description and development method known as VDM has been used extensively, its specification language is now an ISO standard, and it has influenced other specification languages. The origins of VDM are normally placed in language description or semantics but it is probably best known in the wider arena of formal methods for (general) program specification and design. This paper sets out a personal view of some of the key technical decisions which characterize the Vienna Development Method.
1077875
Determining the Specification of a Control System from That of Its Environment
Well understood methods exist for developing programs from given specifications. A formal method identifies proof obligations at each development step: if all such proof obligations are discharged, a precisely defined class of errors can be excluded from the final program. For a class of "closed" systems such methods offer a gold standard against which less formal approaches can be measured. For "open" systems -those which interact with the physical world- the task of obtaining the program specification can be as challenging as the task of deriving the program. And, when a system of this class must tolerate certain kinds of unreliability in the physical world, it is still more challenging to reach confidence that the specification obtained is adequate. We argue that widening the notion of software development to include specifying the behaviour of the relevant parts of the physical world gives a way to derive the specification of a control system and also to record precisely the assumptions being made about the world outside the computer.
9236653
The Early Search for Tractable Ways of Reasoning about Programs
This article traces the history - up to around 1990 - of research on reasoning about programs. The main focus is on sequential imperative programs but some comments are made on concurrency. The main thesis is that the idea of reasoning about programs has been around since they were first written; the search has been to find tractable methods.
11309996
Automated methods of predicting the function of biological sequences using GO and BLAST
BackgroundWith the exponential increase in genomic sequence data there is a need to develop automated approaches to deducing the biological functions of novel sequences with high accuracy. Our aim is to demonstrate how accuracy benchmarking can be used in a decision-making process evaluating competing designs of biological function predictors. We utilise the Gene Ontology, GO, a directed acyclic graph of functional terms, to annotate sequences with functional information describing their biological context. Initially we examine the effect on accuracy scores of increasing the allowed distance between predicted and a test set of curator assigned terms. Next we evaluate several annotator methods using accuracy benchmarking. Given an unannotated sequence we use the Basic Local Alignment Search Tool, BLAST, to find similar sequences that have already been assigned GO terms by curators. A number of methods were developed that utilise terms associated with the best five matching sequences. These methods were compared against a benchmark method of simply using terms associated with the best BLAST-matched sequence (best BLAST approach).ResultsThe precision and recall of estimates increases rapidly as the amount of distance permitted between a predicted term and a correct term assignment increases. Accuracy benchmarking allows a comparison of annotation methods. A covering graph approach performs poorly, except where the term assignment rate is high. A term distance concordance approach has a similar accuracy to the best BLAST approach, demonstrating lower precision but higher recall. However, a discriminant function method has higher precision and recall than the best BLAST approach and other methods shown here.ConclusionAllowing term predictions to be counted correct if closely related to a correct term decreases the reliability of the accuracy score. As such we recommend using accuracy measures that require exact matching of predicted terms with curator assigned terms. Furthermore, we conclude that competing designs of BLAST-based GO term annotators can be effectively compared using an accuracy benchmarking approach. The most accurate annotation method was developed using data mining techniques. As such we recommend that designers of term annotators utilise accuracy benchmarking and data mining to ensure newly developed annotators are of high quality.
6465500
Proximity Search with a Triangulated Spatial Model
The proximity relations inherent in triangulations of geometric data can be exploited in the implementation of nearest-neighbour search procedures. This is relevant to applications such as terrain analysis, cartography and robotics, in which triangulations may be used to model the spatial data. Here we describe neighbourhood search procedures within constrained Delaunay triangulations of the vertices of linear objects, for the queries of nearest object to an object and the nearest object to an arbitrary point. The procedures search locally from object edges, or from a query point, to build triangulated regions that extend from the source edge or point by a distance at least equal to that to its nearest neighbouring feature. Several geographical datasets have been used to evaluate the procedures experimentally. Average numbers of edge‐edge distance calculations to find the nearest line feature edge disjoint to another line feature edge ranged between 15 and 39 for the different datasets examined, while the average numbers of point‐edge distance calculations to determine the nearest edge to an arbitrary point ranged between 7 and 35.
6251055
End-User Programming
End-user software development is a growing avocation in every industry and every country. By the middle of the next century, computer literacy and programming skills will be almost as common as reading and writing skills. Almost every knowledge worker in the world will be able to program if he or she sets out to do so. The implications of widespread end-user software are only just beginning to be considered. There are many exciting possibilities and some potential hazards. The time is now at hand to consider business topics such as ownership of end-user applications and liability in cases of significant errors. >
32895841
Software Change Management
Software projects change rapidly, which makes efficient change management a major challenge for the software industry. This challenge was poorly met for years because of rudimentary tools. The paper considers how modern change management, or configuration control tools must encompass changes affecting every kind of software deliverable and artifact.
12540236
Map generalization in the Web age
Geographic information represents our understanding of the association of phenomena with their location on and near the Earth’s surface. When presented in map form, an essential aspect of that information is that it may be adapted in semantic abstraction and level of geometric detail according to the purpose of the map and the extent of the Earth that is being considered at any one time. Representations of small areas in detail result in so-called large-scale maps, while representations of large regions in lesser detail are referred to as small-scale maps. Traditionally, cartographers have performed the task of adapting the content and the level of detail of a map to suit its scale and purpose, and this process is called map generalization. The widespread use of geographic information in computers in the context of geographical information systems (GIS) has brought with it the demand for automation of map generalization. Ideally, when accessing geographic information in a GIS, it would be possible to be able to modify the level of generalization of the available geo-data entirely automatically. At present, no such automatic facilities are readily available in commercial GIS. Some commercial GIS do provide mapgeneralization tools that the user may apply in a somewhat ad hoc manner to selected geometric data. These tools appear, however, to be targeted at cartographic specialists wanting to derive a generalized dataset from a more detailed one. There are some notable examples of the way in which automated map-generalization tools have been exploited for purposes of professional map production. For example, the Institut Géographique National of France have used GALBE (this issue) to generalize the entire French road network to produce 1 : 250 000 scale maps from their BDCarto database (approximately 1 :50 000). More recently, the demand for automated map generalization, which has been longstanding in the context of conventional GIS, has been reinforced by the prevalence of geographical information access on the Internet. There are several types of public access map-based Web sites that allow a user to zoom in and out of a particular region, but at present this is usually based on stepping between independent pre-generalized datasets which may differ markedly in their degree of generalization. It would be desirable to be able to change the level of detail on such systems in a smooth and progressive manner rather than the quantum-leap changes that often characterize the current approach. Hand-held computers and mobile phones with small screens can now support the display of small maps, but the size