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.
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.
2399941
Operational semantics: Concepts and their expression
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.
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.
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.
205571678
A Prolog Rule-Based System for Cartographic Name Placement
Manual name placement is an extremely time consuming task and has been one of the most difficult aspects of the map production process to automate. It is complicated by the large number of rules required for the selection and placement of names. A hybrid Prolog/Fortrau rule-based system is described for placing names on a variety of map types. It uses a set of Prolog primitives for spatial search and name placement operations. The Ordnance Survey's 1:625000 scale digital dataset has been used to illustrate the application of rules for the selection of labels as well as for controlling their size and orientation. The application to other types of maps and diagrams is also briefly described.
26658779
Virtual architecture based on a binary relational model: A museum hypermedia application
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.