We present the architecture and a performance assessment of an extensible query optimizer written in Venus. Venus is a general-purpose active-database rule language embedded in C++. Following the developments in exten...
详细信息
ISBN:
(纸本)1581131461
We present the architecture and a performance assessment of an extensible query optimizer written in Venus. Venus is a general-purpose active-database rule language embedded in C++. Following the developments in extensible database query optimizers, first in rule-based form, followed by optimizers written as object-oriented programs, the Venus-based optimizer avails to the advantages of both. Venus' modular structure allows us to go a step further and provide extensibility in search by defining parameterized search components in a declarative form that has the additional effect of integrating heuristic and cost-based optimization. We compare optimizers developed with Volcano, OPT++ and Venus. Venus' optimizing compiler yields code whose performance is comparable with Volcano and OPT++ on smaller queries. The ability to introduce additional pruning heuristics yields better scalability on larger queries. Evaluation of the system using quantitative software metrics supports a claim that the Venus-based optimizer is more easily maintained and extended than are its predecessors.
Over the past few years, multi-touch user interfaces emerged from research prototypes into mass market products. This evolution has been mainly driven by innovative devices such as Apple's iPhone or Microsoft'...
详细信息
ISBN:
(纸本)9781450306287
Over the past few years, multi-touch user interfaces emerged from research prototypes into mass market products. This evolution has been mainly driven by innovative devices such as Apple's iPhone or Microsoft's Surface tabletop computer. Unfortunately, there seems to be a lack of software engineering abstractions in existing multi-touch development frameworks. Many multi-touch applications are based on hard-coded procedural low level event processing. This leads to proprietary solutions with a lack of gesture extensibility and cross-application reusability. We present Midas, a declarative model for the definition and detection of multi-touch gestures where gestures are expressed via logical rules over a set of input facts. We highlight how our rule-based language approach leads to improvements in gesture extensibility and reusability. Last but not least, we introduce JMidas, an instantiation of Midas for the Java programming language and describe how JMidas has been applied to implement a number of innovative multi-touch gestures.
Building on a compositional relational programming language Combilog, code visualization with a motivation of flexible practical applications is explored. Following from earlier work, a new coloured and human percepti...
详细信息
ISBN:
(纸本)9781479903696
Building on a compositional relational programming language Combilog, code visualization with a motivation of flexible practical applications is explored. Following from earlier work, a new coloured and human perception-centric iteration of visual representation is introduced, and its effects on understanding code are analysed by means of a user study. Results showed that visuals helped participants to solve code-related questions 46% faster with 69% less errors.
The declarative programming language Curry amalgamates demand-driven evaluation from functional programming with non-determinism from logic programming. In contrast to Prolog, the search strategy for non-deterministic...
详细信息
ISBN:
(纸本)9781450386890
The declarative programming language Curry amalgamates demand-driven evaluation from functional programming with non-determinism from logic programming. In contrast to Prolog, the search strategy for non-deterministic computations is not fixed so that complete or parallel strategies are reasonable for Curry. In particular, a desirable option is a fair strategy which frees the programmer from considering the influence of the search strategy to the success of a computation. In this paper we describe an implementation with this property. Based on recent developments on operational models for functional logic programming, we present a new implementation which transforms Curry programs in several transformation steps into Go programs. By exploiting lightweight threads in the form of goroutines, we obtain a complete and fair implementation which automatically uses multi-processing to speed up non-deterministic computations. This has the effect that, in some cases, non-deterministic algorithms are more efficiently evaluated than deterministic ones.
In modern distributed object systems, reference parameters are passed to a remote method based on their runtime type. We argue that such type-based parameter passing is limiting with respect to expressiveness, readabi...
详细信息
ISBN:
(纸本)9783540898559
In modern distributed object systems, reference parameters are passed to a remote method based on their runtime type. We argue that such type-based parameter passing is limiting with respect to expressiveness, readability, and maintainability, and that parameter passing semantics should be decoupled from parameter types. We present declarative parameter passing, an approach that fully decouples parameter passing semantics from parameter types in distributed object systems. In addition, we describe DeXteR, an extensible framework for transforming a type-based remote parameter passing model to a declaration-based model transparently. Our framework leverages aspect-oriented and generative programming techniques to enable adding new remote parameter passing semantics, without requiring detailed understanding of the underlying middleware implementation. Our approach is applicable to both application and library code and incurs negligible performance overhead. We validate the expressive power of our framework by adding several non-trivial remote parameter passing semantics (i.e., copy-restore, lazy, streaming) to Java RMI.
TransLucid is a declarative coordination language in which all expressions vary according to an arbitrarily-dimensional context. Using only the concepts of context change and of context query, a wide variety of progra...
详细信息
ISBN:
(纸本)9781605587073
TransLucid is a declarative coordination language in which all expressions vary according to an arbitrarily-dimensional context. Using only the concepts of context change and of context query, a wide variety of programming constructs are demonstrated to be easily programmed in Trans Lucid. The language can therefore be used in its own right or as a target language for different paradigms.
We present a unified environment for running declarative specifications in the context of an imperative object-oriented programming language. Specifications are Alloy-like, written in first-order relational logic with...
详细信息
ISBN:
(纸本)9781450304450
We present a unified environment for running declarative specifications in the context of an imperative object-oriented programming language. Specifications are Alloy-like, written in first-order relational logic with transitive closure, and the imperative language is Java. By being able to mix imperative code with executable declarative specifications, the user can easily express constraint problems in place, i.e., in terms of the existing data structures and objects on the heap. After a solution is found, the heap is updated to reflect the solution, so the user can continue to manipulate the program heap in the usual imperative way. We show that this approach is not only convenient, but, for certain problems can also outperform a standard imperative implementation. We also present an optimization technique that allowed us to run our tool on heaps with almost 2000 objects.
The number of diverse web services that we use regularly is significantly increasing. Most of these services are managed by autonomous service providers. However it has become very difficult to get a unified view of t...
详细信息
ISBN:
(纸本)9783319387918;9783319387901
The number of diverse web services that we use regularly is significantly increasing. Most of these services are managed by autonomous service providers. However it has become very difficult to get a unified view of this widespread data, which in all likelihood is substantially important to enterprises. A classical approach followed by the enterprises is to write applications using imperative languages making use of the web service API. Such an approach is not scalable and is difficult to maintain considering the ever-evolving web services landscape. This tutorial explores a semi-automated declarative approach to information extraction from the web services using a classical virtual data integration approach, namely mediation, that relies on a well-known query rewriting algorithm, namely the inverse-rules algorithm. It is targeted to audience from both industry as well as academia and requires a basic understanding of database principles and web technologies.
When making an animation by moving inside a three dimensional scene, areas close to the camera will be larger on the screen and the limited resolution of the data will become visible. To make a more natural appearing ...
详细信息
ISBN:
(纸本)0819424285
When making an animation by moving inside a three dimensional scene, areas close to the camera will be larger on the screen and the limited resolution of the data will become visible. To make a more natural appearing scene it is necessary to enhance the resolution of these areas. An initial version is made from the lower resolution data by interpolation and then individual pixels are adjusted to make it better match a desired texture. The texture is derived from a number of closeup photographs by a classification algorithm which compares the local low resolution data with low resolution versions of the closeups. Rather than choosing a single closeup as a target texture, the classification algorithm generates a similarity score between the region to be enhanced and each of the closeup samples. This score is then used as a weighting function to determine how strongly each of the closeups is used to correct the enhanced region. The closeups may be used directly by comparing them to the enhanced region as it is being corrected, or for increased efficiency, they may be measured for some parameters and then the enhanced region is made to match these parameters.
Big Data Analytics in particular and Data Science in general have become key disciplines in the last decade. The convergence of Information Technology, Statistics and Mathematics, to explore and extract information fr...
详细信息
ISBN:
(纸本)9781467370257
Big Data Analytics in particular and Data Science in general have become key disciplines in the last decade. The convergence of Information Technology, Statistics and Mathematics, to explore and extract information from Big Data have challenged the way many industries used to operate, shifting the decision making process in many organizations. A new breed of Big Data platforms has appeared, to fulfill the needs to process data that is large, complex, variable and rapidly generated. The author describes the experience in this field from a company that provides Big Data analytics as its core business.
暂无评论