In order to make precise some of the desirable features of a programming support environment, and in order to encourage others to do likewise, this paper presents the formal specification of a small module or package ...
详细信息
In order to make precise some of the desirable features of a programming support environment, and in order to encourage others to do likewise, this paper presents the formal specification of a small module or package manager suitable foruse in a Modula or Ada environment.
Order-sorted feature (OSF) terms provide an adequate representation for objects as flexible records. They are sorted, attributed, possibly nested structures, ordered thanks to a subsort ordering. Sorts definitions off...
详细信息
Order-sorted feature (OSF) terms provide an adequate representation for objects as flexible records. They are sorted, attributed, possibly nested structures, ordered thanks to a subsort ordering. Sorts definitions offer the functionality of classes imposing structural constraints on objects. These constraints involve variable sorting and equations among feature paths, including self-reference. Formally sort definitions may be seen as axioms forming an OSF theory. OSF theory unification is the process of normalizing an OSF term taking into account sort definitions, enforcing structural constraints imposed by an OSF theory. It allows objects to inherit, and thus abide by, constraints from their classes. We propose a formal system that logically models record objects with (possibly recursive) class definitions accommodating multiple inheritance. We show that OSF theory unification is undecidable in general. However, we give a set of confluent normalization rules which is complete for detecting the inconsistency of an object with respect to an OSF theory. Furthermore, a subset consisting of all rules but one is confluent and terminating This yields a practical complete normalization strategy, as well as an effective compilation scheme. (C) Elsevier Science Inc., 1997
We present a graphical calculus, which allows mathematical formulae to be represented and reasoned about using a visual representation. We define how a formula may be represented by a graph, and present a number of la...
详细信息
We present a graphical calculus, which allows mathematical formulae to be represented and reasoned about using a visual representation. We define how a formula may be represented by a graph, and present a number of laws for transforming graphs, and describe the effects these transformations have on the corresponding formulae. We then use these transformation laws to perform proofs. We illustrate the graphical calculus by applying it to the relational and sequential calculi. The graphical calculus makes formulae easier to understand, and so often makes the next step in a proof more obvious. Furthermore, it is more expressive, and so allows a number of proofs that cannot otherwise be undertaken in a point-free way.
In this paper we present new propositions about the ontology of design and a clarification of its position in the general context of rationality and knowledge. We derive such ontology from a comparison between formal ...
详细信息
In this paper we present new propositions about the ontology of design and a clarification of its position in the general context of rationality and knowledge. We derive such ontology from a comparison between formal design theories developed in two different scientific fields: Engineering and Set theory. We first build on the evolution of design theories in engineering, where the quest for domain independence and "generativity" has led to formal approaches, likewise C-K theory, that are independent of what has to be designed. Then we interpret Forcing, a technique in Set theory developed for the controlled invention of new sets, as a general design theory. Studying similarities and differences between C-K theory and Forcing, we find a series of common notions like "d-ontologies", "generic expansion", "object revision", "preservation of meaning" and "K-reordering". They form altogether an "ontology of design" which is consistent with unique aspects of design.
We apply algebraic transformation techniques to synthesise Horner's rule for polynomial evaluation. Horner's rule is then transformed into a pipeline by the application of further axioms. The syntheses demonst...
详细信息
We apply algebraic transformation techniques to synthesise Horner's rule for polynomial evaluation. Horner's rule is then transformed into a pipeline by the application of further axioms. The syntheses demonstrate the power of the algebraic style, in which inductive proof is replaced by constructive unfolding and folding of standard higher-order functions defined on lists.
Given an alphabet A, a pattern p is a word v(1)@...@v(m), where v(i) epsilon A* and @ is not an element of A is a distinguished symbol called a variable length don't care symbol. Pattern p matches a text t epsilon...
详细信息
Given an alphabet A, a pattern p is a word v(1)@...@v(m), where v(i) epsilon A* and @ is not an element of A is a distinguished symbol called a variable length don't care symbol. Pattern p matches a text t epsilon A* if t = u(O)v(1)u(l)...u(m-1)v(m)u(m) for some u(O),..., u(m) epsilon A*. We address the following problem: given a set P of patterns and a text t, test whether one of the patterns of P matches t. We describe an algorithm that serves the problem in time O((\t\+\P\)log\P\). In contrast to most of the existing string matching algorithms (such as that of Aho-Corasick) our algorithm is not composed of two successive stages - preprocessing the pattern (resp. the text) and reading through the text (reap. the pattern) - but has these two stages essentially interleaved. Our approach is based on using the DAWG (Directed Acyclic Word Graph), a data structure studied by A. Blumer J. Blumer, Haussler, Ehrenfeucht, Crochemore, Chen, Seiferas.
Concurrency in distributed systems is usually modeled by a nondeterministic interleaving of atomic events. The consequences of this interleaving (or global time) assumption on the specifications and proofs of distribu...
详细信息
Concurrency in distributed systems is usually modeled by a nondeterministic interleaving of atomic events. The consequences of this interleaving (or global time) assumption on the specifications and proofs of distributed programs are examined in this paper. A construction for atomic registers is presented;this construction has the surprising property that it is correct with respect to a specification based on partial orders but is incorrect with respect to a naively derived specification based on global time.
Incremental computation takes advantage of repeated computations on inputs that differ slightly from one another, computing each output efficiently by exploiting the previous output. This paper gives an overview of a ...
详细信息
Incremental computation takes advantage of repeated computations on inputs that differ slightly from one another, computing each output efficiently by exploiting the previous output. This paper gives an overview of a general and systematic approach to incrementalization: given a program f and an operation ⊕, the approach yields an incremental program that computes f(x ⊕ y) efficiently by using the result of f(x), the intermediate results of f(x), and auxiliary information of f(x) that can be inexpensively maintained. Since every non-trivial computation proceeds by iteration or recursion, the approach can be used for achieving efficient computation by computing each iteration incrementally using an appropriate incremental program. This approach has applications in interactive systems, optimizing compilers, transformational programming, and many other areas, where problems were previously solved in less general and systematic ways. This paper also describes the design and implementation of CACHET, a prototype system for incrementalization.
The notion of a hierarchical software metric is introduced, encompassing and extending the earlier work of Fenton and Whitty and this author. It is shown that a stronger interpretation of this notion is insufficient f...
详细信息
The notion of a hierarchical software metric is introduced, encompassing and extending the earlier work of Fenton and Whitty and this author. It is shown that a stronger interpretation of this notion is insufficient for treating the important ‘number-of-paths’ metric, whereas this metric definitely falls within the range of the axiomatic system introduced herein. Finally, the technique of argument by induction over an arbitrary flowgraph decomposition is clarified and demonstrated in the new hierarchical context.
暂无评论