CORAL is a deductive database system that supports a rich declarative language, provides a wide range of evaluation methods, and allows a combination of declarative and imperative programming. The data can be persiste...
详细信息
ISBN:
(纸本)0897915925
CORAL is a deductive database system that supports a rich declarative language, provides a wide range of evaluation methods, and allows a combination of declarative and imperative programming. The data can be persistent on disk or can reside in main-memory. We describe the architecture and implementation of CORAL. There were two important goals in the design of the CORAL architecture: (1) to integrate the different evaluation strategies in a reasonable fashion, and (2) to allow users to influence the optimization techniques used so as to exploit the full power of the CORAL implementation. A CORAL declarative program can be organized as a collection of interacting modules and this modular structure is the key to satisfying both these goals. The high level module interface allows modules with different evaluation techniques to interact in a transparent fashion. Further, users can optionally tailor the execution of a program by selecting from among a wide range of control choices at the level of each module. CORAL also has an interface with C++, and users can program in a combination of declarative CORAL, and C++ extended with CORAL primitives. A high degree of extensibility is provided by allowing C++ programmers to use the class structure of C++ to enhance the CORAL implementation.
This paper surveys a relatively new practice in Computer Science-programming with the aid of graphics tools. A simple classification scheme of the various tools which support visual programming is introduced and tools...
详细信息
ISBN:
(纸本)0791809439
This paper surveys a relatively new practice in Computer Science-programming with the aid of graphics tools. A simple classification scheme of the various tools which support visual programming is introduced and tools which exemplify some of the aspects of this programming approach are enumerated. Details of their capabilities, shortcomings, and differences are briefly introduced in tabular form. The design and implementation of Jigsaw Pascal, a visual programming system currently being developed by our research group, is discussed in greater detail.
This paper describes the current implementation and experimental results of the PEAS-I system, The PEAS-I system is a hardware/ software co-design system for ASIP (Application Specific Integrated Processing) developme...
详细信息
ISBN:
(纸本)0818643528
This paper describes the current implementation and experimental results of the PEAS-I system, The PEAS-I system is a hardware/ software co-design system for ASIP (Application Specific Integrated Processing) development. The input to the system is a set of application programs written in C language, an associated data set, and design constraints such as chip area and power consumption. The system generates an optimized CPU core design in the form of an HDL, as well as a set of application program development tools, such as a C compiler, assembler, and simulator.
In this paper, we introduce a translator implementing various phases of a compiler. A translator is a software that interprets a program written in a source language and converts it into an equivalent program in a tar...
详细信息
ISBN:
(纸本)0791809439
In this paper, we introduce a translator implementing various phases of a compiler. A translator is a software that interprets a program written in a source language and converts it into an equivalent program in a target language. The emphasis is laid on the components of the language, the environment in which the translator operates, and some software tools that make it easier to build translators.
The \Si/ lightweight-process based system for simulating process interactions is an enhancement to the C programminglanguage in the form of library primitives with sets of predefined data structures. The \Si/ system ...
详细信息
We describe the design and implementation of the Glue-Nail database system. The Nail language is a purely declarative query language;Glue is a procedural language used for non-query activities. The two languages combi...
详细信息
ISBN:
(纸本)0897915925
We describe the design and implementation of the Glue-Nail database system. The Nail language is a purely declarative query language;Glue is a procedural language used for non-query activities. The two languages combined are sufficient to write a complete application. Nail and Glue code both compile into the target language IGlue. The Nail compiler uses variants of the magic sets algorithm, and supports well-founded models. Static optimization is performed by the Glue compiler using techniques that include peephole methods and data flow analysis. The IGlue code is executed by the IGlue interpreter, which features a run-time adaptive optimizer. The three optimizers each deal with separate optimization domains, and experiments indicate that an effective synergism is achieved. The Glue-Nail system is largely complete and has been tested using a suite of representative applications.
The proceedings contain 26 papers. The special focus in this conference is on Object-Oriented programming. The topics include: Active programming strategies in reuse;frameworks in the financial engineering domain an e...
ISBN:
(纸本)9783540571209
The proceedings contain 26 papers. The special focus in this conference is on Object-Oriented programming. The topics include: Active programming strategies in reuse;frameworks in the financial engineering domain an experience report;integrating independently-developed components in object-oriented languages;encapsulating plurality;object oriented interoperability;implementation of distributed trellis;a new definition of the subtype relation;attaching second-order types to methods in an object-oriented language;typed sets as a basis for object-oriented database schemas;the OSI managed-object model;nested mixin-methods in agora;solving the inheritance anomaly in concurrent object-oriented programming;type inference of self;predicate classes;a temporal object-oriented algebra;a timed calculus for distributed objects with clocks;a language framework for multi-object coordination;panda — supporting distributed programming in C++;transparent parallelisation through reuse: between a compiler and a library approach;design patterns: abstraction and reuse of object-oriented design;tangible specification of reactive object behavior;an agent perspective;designing an extensible distributed language with a meta-level architecture;a flexible metaclass generator and aims, means, and futures of object-oriented languages.
The advantages of object-oriented programming systems are well known. However, in general, they do not support long-lived objects, nor do they allow concurrent sharing or dynamic re-use of language defined objects. Pe...
详细信息
ISBN:
(纸本)0818644400
The advantages of object-oriented programming systems are well known. However, in general, they do not support long-lived objects, nor do they allow concurrent sharing or dynamic re-use of language defined objects. Persistent object systems address some of these shortfalls. In this paper we present a design and implementation of a persistent object system that uses memory-mapping to directly map objects from the persistent store into the address space of user programs. Memory mapping makes the management and manipulation of persistent objects simpler. In particular, complex object structures can be executed (shared) concurrently on behalf of separate applications. A simple language extension has been designed and added to C++ to make the programming of persistence, sharing, synchronization and consistency control expressible. With efficient run-time support for persistent pointer resolution and consistency maintenance, this approach can provide much finer-grain execution concurrency and sharing, easier object navigation, simpler programmability and possibly better performance, than object-oriented database systems.
An implementation of interprocedural constant propagation must model the transmission of values through each procedure. In the framework proposed by Callahan, Cooper, Kennedy, and Torczon in 1986, this intraprocedural...
ISBN:
(纸本)9780897915984
An implementation of interprocedural constant propagation must model the transmission of values through each procedure. In the framework proposed by Callahan, Cooper, Kennedy, and Torczon in 1986, this intraprocedural propagation is modeled with a jump function. While Callahan et al. propose several kinds of jump functions, they give no data to help choose between them. This paper reports on a comparative study of jump function implementations. It shows that different jump functions produce different numbers of useful constants; it suggests a particular function, called the pass-through parameter jump function, as the most cost-effective in practice.
The MUSHROOM architecture is designed to efficiently support dynamic object-oriented languages such as Smalltalk. The authors describe the architecture, and how the object-oriented model of computation and the provisi...
详细信息
暂无评论