1,155 research outputs found
On Computational Small Steps and Big Steps: Refocusing for Outermost Reduction
We study the relationship between small-step semantics, big-step semantics and abstract machines, for programming languages that employ an outermost reduction strategy, i.e., languages where reductions near the root of the abstract syntax tree are performed before reductions near the leaves.In particular, we investigate how Biernacka and Danvy's syntactic correspondence and Reynolds's functional correspondence can be applied to inter-derive semantic specifications for such languages.The main contribution of this dissertation is three-fold:First, we identify that backward overlapping reduction rules in the small-step semantics cause the refocusing step of the syntactic correspondence to be inapplicable.Second, we propose two solutions to overcome this in-applicability: backtracking and rule generalization.Third, we show how these solutions affect the other transformations of the two correspondences.Other contributions include the application of the syntactic and functional correspondences to Boolean normalization.In particular, we show how to systematically derive a spectrum of normalization functions for negational and conjunctive normalization
Recommended from our members
Formalizing graphical notations
The thesis describes research into graphical notations for software engineering, with a principal interest in ways of formalizing them. The research seeks to provide a theoretical basis that will help in designing both notations and the software tools that process them.
The work starts from a survey of literature on notation, followed by a review of techniques for formal description and for computational handling of notations. The survey concentrates on collecting views of the benefits and the problems attending notation use in software development; the review covers picture description languages, grammars and tools such as generic editors and visual programming environments. The main problem of notation is found to be a lack of any coherent, rigorous description methods. The current approaches to this problem are analysed as lacking in consensus on syntax specification and also lacking a clear focus on a defined concept of notated expression.
To address these deficiencies, the thesis embarks upon an exploration of serniotic, linguistic and logical theory; this culminates in a proposed formalization of serniosis in notations, using categorial model theory as a mathematical foundation. An argument about the structure of sign systems leads to an analysis of notation into a layered system of tractable theories, spanning the gap between expressive pictorial medium and subject domain. This notion of 'tectonic' theory aims to treat both diagrams and formulae together.
The research gives details of how syntactic structure can be sketched in a mathematical sense, with examples applying to software development diagrams, offering a new solution to the problem of notation specification. Based on these methods, the thesis discusses directions for resolving the harder problems of supporting notation design, processing and computer-aided generic editing. A number of future research areas are thereby opened up. For practical trial of the ideas, the work proceeds to the development and partial implementation of a system to aid the design of notations and editors. Finally the thesis is evaluated as a contribution to theory in an area which has not attracted a standard approach
The use of proof plans in tactic synthesis
We undertake a programme of tactic synthesis. We first formalize the notion of
a tactic as a rewrite rule, then give a correctness criterion for this by means of a
reflection mechanism in the constructive type theory OYSTER. We further formalize
the notion of a tactic specification, given as a synthesis goal and a decidability
goal. We use a proof planner. CIAM. to guide the search for inductive proofs
of these, and are able to successfully synthesize several tactics in this fashion.
This involves two extensions to existing methods: context-sensitive rewriting and
higher-order wave rules. Further, we show that from a proof of the decidability
goal one may compile to a Prolog program a pseudo- tactic which may be run to
efficiently simulate the input/output behaviour of the synthetic tacti
FRBR, Facets, and Moving Images: A Literature Review
Annotated bibliography on resources related to FBRB, facets and moving images
The Dynamic Creation of Induction Rules Using Proof Planning
Centre for Intelligent Systems and their ApplicationsA key problem in automating proof by mathematical induction is choosing an induction
rule suitable for a given conjecture. Since Boyer & Moore’s NQTHM system the
standard approach has been based on recursion analysis, which uses a combination of
induction rules based on the relevant recursive function definitions. However, there are
practical examples on which such techniques are known to fail.
Recent research has tried to improve automation by delaying the choice of inductive
rule until later in the proof, but these techniques suffer from two serious problems.
Firstly, a lack of search control: specifically, in controlling the application of ‘speculative’
proof steps that partially commit to a choice of induction rule. Secondly, a lack
of generality: they place significant restrictions on the form of induction rule that can
be chosen.
In this thesis we describe a new delayed commitment strategy for inductive proof
that addresses these problems. The strategy dynamically creates an appropriate induction
rule by proving schematic proof goals, where unknown rule structure is represented
by meta-variables which become instantiated during the proof. This is accompanied
by a proof that the generated rule is valid. The strategy achieves improved
control over speculative proof steps via a novel speculation critic. It also generates
a wider range of useful induction rules than other delayed commitment techniques,
partly because it removes unnecessary restrictions on the individual proof cases, and
partly because of a new technique for generating the rule’s overall case structure.
The basic version of the strategy has been implemented using the lamdaClam proof
planner. The system was extended with a novel proof critics architecture for this purpose.
An evaluation shows the strategy is a useful and practical technique, and demonstrates
its advantages
Formal Methods Specification and Analysis Guidebook for the Verification of Software and Computer Systems
This guidebook, the second of a two-volume series, is intended to facilitate the transfer of formal methods to the avionics and aerospace community. The 1st volume concentrates on administrative and planning issues [NASA-95a], and the second volume focuses on the technical issues involved in applying formal methods to avionics and aerospace software systems. Hereafter, the term "guidebook" refers exclusively to the second volume of the series. The title of this second volume, A Practitioner's Companion, conveys its intent. The guidebook is written primarily for the nonexpert and requires little or no prior experience with formal methods techniques and tools. However, it does attempt to distill some of the more subtle ingredients in the productive application of formal methods. To the extent that it succeeds, those conversant with formal methods will also nd the guidebook useful. The discussion is illustrated through the development of a realistic example, relevant fragments of which appear in each chapter. The guidebook focuses primarily on the use of formal methods for analysis of requirements and high-level design, the stages at which formal methods have been most productively applied. Although much of the discussion applies to low-level design and implementation, the guidebook does not discuss issues involved in the later life cycle application of formal methods
A Model Driven Approach for Refactoring Heterogeneous Software Artefacts
Refactoring is the process of transforming a software system to improve its overall structure while
preserving its observable behaviour. Refactoring engines are normally used to perform these transformations
for efficiency and in order to avoid introducing behavioural changes into the program
due to human error. Although these engines do not verify that behaviour is preserved, it is widely
accepted that automated transformations are less likely to introduce errors in comparison to manual
refactoring. Despite the advantages provided by refactoring engines they fall foul of certain
weaknesses.
Here we hypothesise that Model Driven Engineering can be used to produce improved refactoring
engines that are less vulnerable to those weaknesses. We develop a Domain Specific Transformation
Language for defining new composite refactorings from a set of built–in primitives and
to script their application. We also develop an interpreter for the language, effectively providing
an operational semantics, in the guise of an extensible transformation framework. We evaluate our
approach with a case study examining the correlation between actual and predicted measurements
of the Coupling Between Objects metric for classes that undergo the extract class refactoring. The
results show that our approach is promising
- …