9849038
The Role of Proof Obligations in Software Design
This paper presents certain "proof obligations" which can be used to establish the correctness of software design. The design of both sequential and parallel programs is considered. The position is taken that an understanding of formal results of this kind can aid practical software development.
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.
2399941
Operational semantics: Concepts and their expression
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.
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.
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.
6079094
Haptic interface control-design issues and experiments with a planar device
Describes the haptic rendering of a virtual environment by drawing upon concepts developed in the area of teleoperation. A four-channel teleoperation architecture is shown to be an effective means of coordinating the control of a 3-DOF haptic interface with the simulation of a virtual dynamic environment.
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.
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.
33896540
A Triangulated Spatial Model for Cartographic Generalisation of Areal Objects
Cartographic generalisation involves interaction between individual operators concerned with processes such as object elimination, detail reductions amalgamation, typification and displacement. Effective automation of these processes requires a means of maintaining knowledge of the spatial relationships between map objects in order to ensure that constraints of topology and of proximity are obeyed in the course of the individual generalisation transformations. Triangulated spatial models, based on the constrained Delaunay triangulation, have proven to be of particular value in representing the proximal and topological relations between map objects and hence in performing many of the essential tasks of fully automated cartographic generalisation. These include the identification of nearby objects; determination of the structure of space between nearby objects; execution of boundary simplification, merge and collapse operations; and the detection and resolution, by displacement, of topological inconsistencies arising from individual operators. In this paper we focus on the use of a triangulated model for operations specific to execution of merge operations between areal objects. The model is exploited to identify the regions of space between nearby objects and to execute merge operations in which the triangulation is used variously to adopt intervening space and to move adjacent rectangular objects to touch each other. Methods for updating the triangulation are described.
36993113
A Collaborative Schema Integration System
Conceptual modelling as applied to database development can be described as a two stage process: schema modelling followed by schema integration. Schema modelling is the process of transforming individual user requirements into a conceptual schema: an implementation-independent map of data requirements. Schema integration is the process of combining individual conceptual schemas into a single, unified schema. Single-user tools for schema modelling have enjoyed much success partly because the process of schema modelling has become relatively well formalised. Although a number of formal approaches to conducting schema integration have been proposed, it appears that schema integration tools have not enjoyed the same level of success. This we attribute not so much to the problem of formalisation but to the inherent collaborative nature of schema integration work. This paper first discusses the importance of collaboration to schema integration work. It then describes SISIBIS, a demonstrator system employing the IBIS (Issue Based Information System) scheme to support collaborative database design.