Filtering is a query optimization strategy based on the seminaive evaluation on system graphs, which evaluates a query in terms of the bottom-up data flow on system graphs. In this paper, we propose a new filter calle...
详细信息
Filtering is a query optimization strategy based on the seminaive evaluation on system graphs, which evaluates a query in terms of the bottom-up data flow on system graphs. In this paper, we propose a new filter called abstract filter which is computed at compile time using the result of two-phase abstract interpretation. The two-phase abstract interpretation consists of a buttom-up phase followed by a top-down one, and it provides an approximation of (possibly nonground) success patterns relevant to a given query.
Data flow computing is one of the most radical approaches for multiprocessing. A computation is represented by its data flow graph and scheduling of each operator is done at run-time when all of its operands' valu...
详细信息
Data flow computing is one of the most radical approaches for multiprocessing. A computation is represented by its data flow graph and scheduling of each operator is done at run-time when all of its operands' values are available. This paper addresses the problem of language design for a data flow environment. It briefly surveys several alternatives for a data flow language and then focuses on one specific effort: the Massachusetts Institute of Technology's VAL. This language stresses implicit concurrency. Both programmer and translator can easily identify and exploit concurrency because VAL disallows all forms of side-effects and aliasing. The paper concludes with an analysis of the language and areas of continued research. While substantial progress has been made, much remains to be done in the areas of language design, translation, and use.
This paper presents a method for statically inferring a range of information including strictness, evaluation-order, and evaluation-status information in a higher-order polymorphically-typed lazy functional language. ...
详细信息
This paper presents a method for statically inferring a range of information including strictness, evaluation-order, and evaluation-status information in a higher-order polymorphically-typed lazy functional language. This method is based on a compile-time analysis called order-of-demand analysis, which provides safe information about the order in which the values of bound variables are demanded. The time complexity of the analysis is substantially less than that of other approaches such as path analysis [5] and compositional analysis [7] and comparable to that of strictness analysis.
Presentation of the fonnal specification of a small text formatter illustrates an approach to the construction of formal specifications. The key features of this approvach are described, and their beneficial influence...
详细信息
Presentation of the fonnal specification of a small text formatter illustrates an approach to the construction of formal specifications. The key features of this approvach are described, and their beneficial influence on the construction and organization of specifications of tasks, especially those for which no concise descriptions are possible, are discussed. The intent is that in addition to serving as formal descriptions of tasks, such specifications will be of use in the processes of verification, development, and maintenance of their implementations.
The approach to requirements specification for embedded systems described in this paper is called "operational" because a requirements specification is an executable model of the proposed system interacting ...
详细信息
The approach to requirements specification for embedded systems described in this paper is called "operational" because a requirements specification is an executable model of the proposed system interacting with its environment. The approach is embodied by the language PAISLey, which is motivated and defined herein. Embedded systems are characterized by asynchronous parallelism, even at the requirements level; PAISLey specifications are constructed by interacting processes so that this can be represented directly. Embedded systems are also characterized by urgent performance requirements, and PAISLey offers a formal, but intuitive, treatment of performance.
This paper describes a tool for use in user-directed synthesis of circuits specified using the relational VLSI description language Ruby. The synthesis method is based on transformational rewriting of Ruby terms in ac...
详细信息
ISBN:
(纸本)0444816410
This paper describes a tool for use in user-directed synthesis of circuits specified using the relational VLSI description language Ruby. The synthesis method is based on transformational rewriting of Ruby terms in accordance with previously defined term equivalences. The tool permits the introduction of constraints into the specification, thus enhancing the usefulness of the rewrite system in relation to simple rewriting.
The implementation of the concurrent applicative language Newsqueak has several unusual features. The interpreter, squint, uses a copy-on-write scheme to manage storage honouring Newsqueak's strictly applicative (...
详细信息
The implementation of the concurrent applicative language Newsqueak has several unusual features. The interpreter, squint, uses a copy-on-write scheme to manage storage honouring Newsqueak's strictly applicative (by-value) semantics for data. There is no explicit scheduler. Instead, the execution of processes is interleaved very finely, but randomly, by an efficient scheme that integrates process switching into the interpreter's main loop. The implementation of select, the non-deterministic, multi-way communications operator, exploits details in the implementation of processes. This paper describes much of the interpreter but explains only small aspects of the language. Further detail about the language may be found in the References.
The traditional argument for applicative languages has been programmability. Indeed, due to high-level abstractions and the implicit parallelism provided by applicative languages, programmers are free to concentrate o...
详细信息
The traditional argument for applicative languages has been programmability. Indeed, due to high-level abstractions and the implicit parallelism provided by applicative languages, programmers are free to concentrate on the implementation of the algorithm at hand without being burdened with low-level machine execution details. However, it has long been believed that the implementation and raw performance of applicative languages would be their downfall. We report here that it Is easy to deliver both programmability and performance through applicative programming. To demonstrate the viability of applicative programming in the context of parallel computing, quantitative results from an experiment which consists of developing a multigrid elliptic Partial Differential Equation (PDE) solver are presented.
暂无评论