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.
6772552
Fixing the semantics of some concurrent object-oriented concepts
Abstract Concurrent object-oriented languages provide a suitable target for a compositional design process that copes with the interference inherent with concurrency. Fixing the semantics of an object-based design language has been undertaken using structured operational semantics and by a mapping to the pi-calculus. These two approaches are outlined and contrasted. In particular, the difficulties in the two approaches of justifying the proof rules of the proposed design method are explained.
16447462
Accommodating interference in the formal design of concurrent object-based programs
This paper is about formal development methods for concurrent programs. Interference is the bane of the quest for compositional methods for concurrency. Concepts from object-oriented languages are argued to be a promising way of taming interference. Two approaches to development are described which are applicable to differing degrees of interference.
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.
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.
45828501
Formal Definition in Program Development
The intent of the current paper is to show how a large problem like compiler development can be divided in a way which provides a structure for arguments of correctness. Although mechanically checked proofs are not envisaged, the use of formal notation is recommended so that the basis for correctness arguments exists.
9300744
Matching and aligning features in overlayed coverages
1. ABSTRACT The problems caused by locational error when overlaying spatial data from different sources have been recognised for some time, and much research has been directed towards finding solutions. In this paper we present a solution in the form of an algorithm that seeks to match and align semantically equivalent features prior to overlay. It is assumed that, because of locational error, semantically equivalent features will not always be geometrically equivalent. The technique has been developed to assist in the detection of change between multi-date vector-defined data sets. Initial results, obtained by applying our algorithm to land cover data, are presented. 1.1
13190855
Conflict resolution in cartographic name placement
Abstract The increasing application of computer cartography in geographical information systems and in professional map production has highlighted the requirement for automatic positioning of cartographic text in a manner that ensures legibility. An important aspect of the implementation of automated name placement is the avoidance of conflict, in particular due to overlap between names, and between names and map features. This paper reviews the automated strategies that have been adopted for conflict resolution. The majority of these may be classified as either iterative or graph-search procedures. In general the problem may be seen as one in which initially trial positions are generated for each of a selected set of names. These trial positions should obey rules relating to text characteristics and to the relationships between names and other map features. Conflict resolution then consists in finding, for each name, a trial position that obeys the cartographic rules governing the relationships between names.
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.
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.
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.