This paper addresses how domain analysis served to help create reusable architectures and components in the development of a real-time embedded system. The resulting product is Motorola's FLEX™ Kernel, a set of co...
详细信息
We describe a system that supports source-level integration of ML-like functional language code with ANSI C or Ada83 code. The system works by translating the functional code into type-correct, 'vanilla' C or ...
We describe a system that supports source-level integration of ML-like functional language code with ANSI C or Ada83 code. The system works by translating the functional code into type-correct, 'vanilla' C or Ada;it offers simple, efficient, type-safe inter-operation between new functional code components and 'legacy' third-generation-language components. Our translator represents a novel synthesis of techniques including user-parameterized specification of primitive types and operators;removal of polymorphism by code specialization;removal of higher-order functions using closure datatypes and interpretation;and aggressive optimization of the resulting first-order code, which can be viewed as encoding the result of a closure analysis. Programs remain fully typed at every stage of the translation process, using only simple, standard type systems. Target code runs at speeds comparable to the output of current optimizing ML compilers, even though handicapped by a conservative garbage collector.
We describe a language for defining term rewriting strategies, and its application to the production of program optimizers. Valid transformations on program terms can be described by a set of rewrite rules; rewriting ...
ISBN:
(纸本)9781581130249
We describe a language for defining term rewriting strategies, and its application to the production of program optimizers. Valid transformations on program terms can be described by a set of rewrite rules; rewriting strategies are used to describe when and how the various rules should be applied in order to obtain the desired optimization effects. Separating rules from strategies in this fashion makes it easier to reason about the behavior of the optimizer as a whole, compared to traditional monolithic optimizer implementations. We illustrate the expressiveness of our language by using it to describe a simple optimizer for an ML-like intermediate *** basic strategy language uses operators such as sequential composition, choice, and recursion to build transformers from a set of labeled unconditional rewrite rules. We also define an extended language in which the side-conditions and contextual rules that arise in realistic optimizer specifications can themselves be expressed as strategy-driven rewrites. We show that the features of the basic and extended languages can be expressed by breaking down the rewrite rules into their primitive building blocks, namely matching and building terms in variable binding environments. This gives us a low-level core language which has a clear semantics, can be implemented straightforwardly and can itself be optimized. The current implementation generates C code from a strategy specification.
作者:
Frank HoudekKurt SchneiderEva WieserDaimler-Benz AG
Research and Technology P.O. Box 23 60 89013 Ulm Germany and University of Ulm Faculty of Computer Science Dept. Software Engineering 89069 Ulm Germany Daimler-Benz AG
Research and Technology P.O. Box 23 60 89013 Ulm Germany
The problem researched is that there presently does not exist a set of success factors which are common across organizations and have some predictability relationship to software reuse. For completeness, this research...
详细信息
The usability of a statistical database is defined to be the ratio of the cardinality of the largest set of queries which can be answered without compromise to the total number of queries. In this paper, we present ne...
详细信息
The usability of a statistical database is defined to be the ratio of the cardinality of the largest set of queries which can be answered without compromise to the total number of queries. In this paper, we present new results concerning the usability of secure statistical databases for general SUM, COUNT and MEAN queries, as well as for the corresponding range queries. We give the usability of these k-dimensional databases for all k/spl ges/1. The paper concludes with a discussion of the implications of our results.
Repetitive, or multipass, processes are a class of systems characterised by a series of sweeps through a set of dynamics defined over a finite fixed duration. The class of so-called discrete linear repetitive processe...
详细信息
ISBN:
(纸本)9783952426906
Repetitive, or multipass, processes are a class of systems characterised by a series of sweeps through a set of dynamics defined over a finite fixed duration. The class of so-called discrete linear repetitive processes have strong structural links with well studied classes of 2D linear systems and also with standard (1D) linear systems. One possible approach to the (control related) analysis of these processes is to embed their basic 2D structure in a 1D representation. This paper develops such a representation and uses it to characterise the key systems theoretic property of controllability for this class of linear repetitive processes.
Program dependency graphs (PDG) facilitate program analysis and related applications such as program slicing, which is a method to identify the relevant entities of the program according to data and control dependenci...
详细信息
Program dependency graphs (PDG) facilitate program analysis and related applications such as program slicing, which is a method to identify the relevant entities of the program according to data and control dependencies. In the past, PDGs and program slicing were mostly developed for (conventional) imperative programs. Recently, the object-oriented (OO) paradigm has gained momentum and popularity. The OO paradigm introduces the features of object abstraction, encapsulation, inheritance and polymorphism to programs, but is not considered in PDGs and program slicing. In this paper, we present an object-oriented dependency graph (ODG) to represent the structure of OO programs. The ODG is defined based on a property multi-digraph that is extended from a directed graph by augmenting multiple edge types, vertex properties and property relations. With these extensions, the ODG can avoid specious dependencies due to object encapsulation. Based on the ODG, a program slicing method for OO software is developed. Besides data and control dependencies, dependencies caused by OO features are taken into consideration in our slicing method. Through the ODG, the slicing method can be applied to facilitate the understanding, debugging and maintenance of OO software in the same way that traditional program slicing methods do.
This paper targets engineers and practitioners who want a simple procedure to compute the mean performance measures of the Batch Markovian Arrival process (BMAP/G/1) queueing system when the parameter matrices order i...
详细信息
暂无评论