Results 1 - 10
of
21
Fractals for Secondary Key Retrieval
"... In this paper we propose the use of fractals and especially the Hilbert curve, in order to design good distance-preserving mappings. Such mappings improve the performance of secondary-key- and spatial- access methods, where multi-dimensional points have to be stored on an 1-dimensional medium (e.g., ..."
Abstract
-
Cited by 131 (16 self)
- Add to MetaCart
In this paper we propose the use of fractals and especially the Hilbert curve, in order to design good distance-preserving mappings. Such mappings improve the performance of secondary-key- and spatial- access methods, where multi-dimensional points have to be stored on an 1-dimensional medium (e.g., disk). Good clustering reduces the number of disk accesses on retrieval, improving the response time. Our experiments on range queries and nearest neighbor queries showed that the proposed Hilbert curve achieves better clustering than older methods ("bit-shuffling", or Peano curve), for every situation we tried.
Alma-0: An Imperative Language that Supports Declarative Programming
, 1998
"... Architecture The Alma Abstract Architecture (AAA) is the virtual architecture used during the intermediate code generation phase of the Alma-0 compiler. The AAA combines the features of the abstract machines for imperative languages and for logic programming languages. The compiler compiles the Al ..."
Abstract
-
Cited by 49 (10 self)
- Add to MetaCart
Architecture The Alma Abstract Architecture (AAA) is the virtual architecture used during the intermediate code generation phase of the Alma-0 compiler. The AAA combines the features of the abstract machines for imperative languages and for logic programming languages. The compiler compiles the Alma-0 programs into AAA programs. In a second phase the AAA instructions are translated into C statements. As the Alma-0 language itself, the AAA aims to combine the best of both worlds; elements were taken from virtual machines used to compile imperative languages (in particular the RISC architecture described in Wirth [1996, pp. 55--59], and from the WAM machine used to compile a logical language (see Ait-Kaci [1991]). Still, the AAA resembles most the virtual machines used in the compilation of imperative languages. The additions made to provide for the extensions of the Alma-0 language are ---the failure handling instructions ONFAIL, FAIL, 40 \Delta Krzysztof R. Apt et al ---the log ...
Why use evolving algebras for hardware and software engineering?
, 1995
"... In this paper I answer the question how evolving algebras can be used for the design and analysis of complex hardware and software systems. I present the salient features of this new method and illustrate them through several examples from my work on specification and verification of programming lan ..."
Abstract
-
Cited by 37 (4 self)
- Add to MetaCart
In this paper I answer the question how evolving algebras can be used for the design and analysis of complex hardware and software systems. I present the salient features of this new method and illustrate them through several examples from my work on specification and verification of programming languages, compilers, protocols and architectures. The definition of a mathematical model for Hennessy and Patterson's RISC architecture DLX serves as a running example; this model is used in [24] to prove the correctness of instruction pipelining. I will point out the yet unexplored potential of the evolving algebra method for large-scale industrial applications.
Extensive Operators in Partition Lattices for Image Sequence Analysis
- Signal Processing
, 1998
"... This paper deals with the class of extensive operators in the lattice of partitions. These operators are merging techniques. They can be used as filtering tools or as segmentation algorithms. In the first case, they are known as connected operators and, in the second case, they are region growing te ..."
Abstract
-
Cited by 25 (7 self)
- Add to MetaCart
This paper deals with the class of extensive operators in the lattice of partitions. These operators are merging techniques. They can be used as filtering tools or as segmentation algorithms. In the first case, they are known as connected operators and, in the second case, they are region growing techniques. This paper discusses the basic elements that have to be defined to create a merging algorithm: merging order, merging criterion and region model. This analysis highlights the similarity and differences between a filtering tool, such as a connected operator, and a segmentation algorithm. Taking benefit from the filtering and segmentation viewpoints, we propose a general merging algorithm that can be used to create new connected operators (in particular self-dual operators) and efficient segmentation algorithms (robust criteria and efficient implementation). Keywords partition lattices, region growing, connected operators, image segmentation and filtering, sequence analysis. Corres...
Modelling and Analysis of Distributed and Reactive Systems using Evolving Algebras
- University of Aarhus
, 1995
"... This is a tutorial introduction into the evolving algebra approach to design and verification of complex computing systems. It is written to be used by the working computer scientist. We explain the salient features of the methodology by showing how one can develop from scratch an easily understanda ..."
Abstract
-
Cited by 13 (4 self)
- Add to MetaCart
This is a tutorial introduction into the evolving algebra approach to design and verification of complex computing systems. It is written to be used by the working computer scientist. We explain the salient features of the methodology by showing how one can develop from scratch an easily understandable and transparent evolving algebra model for PVM, the widespread virtual architecture for heterogeneous distributed computing. Introduction In 1988 Yuri Gurevich has discovered the notion of evolving algebra in an attempt to sharpen Turing's thesis by complexity theoretic considerations (see [22]). Through numerous case studies (see [4] for an annotated list which is complete up to 1994) it has become clear since then that using the notion of evolving algebras one can develop a powerful and elegant specification methodology which has a huge yet unexplored potential for industrial applications. In this report we are going to explain the basic concepts of this approach to the design and ana...
A Note on Searching in a Binary Search Tree
, 1991
"... this paper we discuss another way of optimizing the search procedure. We present an algorithm for searching in a binary search tree using two- way comparisons only. The algorithm is very sim- ple and may scarcely be called new (in Reference 5 it is observed that binary search in an array, which can ..."
Abstract
-
Cited by 10 (1 self)
- Add to MetaCart
this paper we discuss another way of optimizing the search procedure. We present an algorithm for searching in a binary search tree using two- way comparisons only. The algorithm is very sim- ple and may scarcely be called new (in Reference 5 it is observed that binary search in an array, which can be made efficiently with two-way com- parisons, corresponds to searching in an implicit tree). However, it seems that this way of improving binary tree search has been overlooked. With Received 10 January 1991 Revised 30 April 1991 PROCEDURE SentinelSearch (x: Data; T: NodePtr): NodePtr; sentinal - key := x; WHILE T - key # x DO IF x < T - key) THEN T := T - .left; END; IF T # sentinal THEN RETURN T END SentinalSearch; Figure 2. Searching with sentinel. The node sentinel is assumed to be the child of each leaf in the tree VAR candidate: NodePtr; END: IF (candidate# NIL) & (candidate - .key = x) THEN RETURN candidate this algorithm we obtain the same simple termination condition as when using a sentinel but instead of removing the test for empty pointers we remove the extra comparison made at each node in the tree. In the likely case that element comparisons are more expensive than pointer operations, our improvement is more significant than the improvement caused by using a sentinel. This makes it possible to code an efficient (in terms of the number of comparisons used) search procedure in high-level languages independently of the optimizing capability of the compiler employed. We also give experimental results to indicate the speed-up that is achieved by the presented algorithm
Language Oriented Programming
- Software—Concepts and Tools
, 1995
"... This paper describes the concept of language oriented programming which is a novel way of organising the development of a large software system, leading to a different structure for the finished product. The approach starts by developing a formally specified, domain-oriented, very high-level languag ..."
Abstract
-
Cited by 10 (3 self)
- Add to MetaCart
This paper describes the concept of language oriented programming which is a novel way of organising the development of a large software system, leading to a different structure for the finished product. The approach starts by developing a formally specified, domain-oriented, very high-level language which is designed to be well-suited to developing "this kind of program". The development process then splits into two independent stages: (1) Implement the system using this "middle level" language, and (2) Implement a compiler or translator or interpreter for the language, using existing technology. The approach is claimed to have advantages for domain analysis, rapid prototyping, maintenance, portability, user-enhanceable systems, reuse of development work, while also providing high development productivity. We give an example where the method has been used very successfully (in conjunction with rapid prototyping) in the development of a large software system: the FermaT reverse enginee...
Tabular Abstraction for Tabular Editing and Formatting
- Proceedings of 3rd International Conference for Young Computer Scientists
, 1993
"... ion for Tabular Editing and Formatting Xinxin Wang Derick Wood y Abstract This paper presents a tabular model that abstracts a wide range of concrete tables. The model is presentation independent, because we abstract the logical structure of tables, rather than their presentational format. It ..."
Abstract
-
Cited by 2 (1 self)
- Add to MetaCart
ion for Tabular Editing and Formatting Xinxin Wang Derick Wood y Abstract This paper presents a tabular model that abstracts a wide range of concrete tables. The model is presentation independent, because we abstract the logical structure of tables, rather than their presentational format. It is also representation independent, because we specify tables with well-understood mathematical notions, rather than with special representational structures. The model can be used to guide the design and implementation of tabular editors and formatters. Key Words and Phrases: abstraction, tabular abstraction, tabular editing, tabular formating, document processing. 1 Introduction Our ability to cope effectively with complex data is limited. The key to all problem solving is to decompose a complex problem into smaller, more manageable subproblems. Abstraction is a process in which `certain properties and characteristics of the real objects are ignored because they are peripheral and irrelev...
Set Functions for Functional Logic Programming
, 2009
"... We propose a novel approach to encapsulate non-deterministic computations in functional logic programs. Our approach is based on set functions that return the set of all the results of a corresponding ordinary operation. A characteristic feature of our approach is the complete separation between a u ..."
Abstract
-
Cited by 2 (2 self)
- Add to MetaCart
We propose a novel approach to encapsulate non-deterministic computations in functional logic programs. Our approach is based on set functions that return the set of all the results of a corresponding ordinary operation. A characteristic feature of our approach is the complete separation between a usually-non-deterministic operation and its possibly-non-deterministic arguments. This separation leads to the first provably order-independent approach to computing the set of values of non-deterministic expressions. The proof is provided within the framework of graph rewriting in constructorbased systems. We propose an abstract implementation of our approach and prove its independence of the order of evaluation. Our approach solves easily and naturally problems mishandled by current implementations of functional logic languages.
Safer Ways to Pointer Manipulation
, 2000
"... We present a technique for passing in a safe way from high-level specifications of algorithms on pointer structures in a semi-functional style to efficient low-level implementations involving address calculations. ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
We present a technique for passing in a safe way from high-level specifications of algorithms on pointer structures in a semi-functional style to efficient low-level implementations involving address calculations.

