Providing the financial engineering community with adequate software tools presents several challenges to application developers. Experience shows that reusability-oriented software development as supported by object ...
详细信息
ISBN:
(纸本)0897915399
Providing the financial engineering community with adequate software tools presents several challenges to application developers. Experience shows that reusability-oriented software development as supported by object technology has the potential to meet these challenges. To back the argument, a project of building a pilot implementation of a swap valuation system using a comprehensive class library including an application framework is reported. As a novelty the project emphasized the use of so-called design patterns. The project experience suggests that the use of design patterns significantly eases the application of a large class library and facilitates the reuse of design.
Object orientation is a programming paradigm that has gained considerable attention during the last years, especially as a principle for structuring large software systems that are typical for the telecom field. This ...
详细信息
ISBN:
(纸本)0897914724
Object orientation is a programming paradigm that has gained considerable attention during the last years, especially as a principle for structuring large software systems that are typical for the telecom field. This paper reviews object oriented principles and describes the main aspects of Object CHILL, an object oriented extension of CHILL which has been developed and implemented at Siemens. Apart from the elements of object oriented programming i.e. classes and inheritance. Object CHILL contains concurrent classes, generic classes and assertions for methods and classes/objects. Object CHILL is currently being used for the implementation of switching software in an ISDN-project.
An efficient mechanism for method lookup is essential in any reasonable implementation of a class-based object-oriented language. One technique, static caches, provide constant time lookup, but consumes excessive memo...
详细信息
ISBN:
(纸本)0201533723
An efficient mechanism for method lookup is essential in any reasonable implementation of a class-based object-oriented language. One technique, static caches, provide constant time lookup, but consumes excessive memory. To alleviate the memory consumption problem many systems use a coloring scheme that allows cache rows to be shared and thus reduces the overall cache size. This technique is easily implemented for strongly typed languages such as C++ and Eiffel, but not for languages such as CLOS or Smalltalk. This paper provides a solution to this latter problem: that of coloring for static caches in dynamically typed object-oriented languages. Our solution is to use an incremental coloring algorithm to avoid the memory consumption problems of the naive approach.
In this paper we report on our experiences implementing the proposed Ada 9X object-oriented features of tagged types and type extensions in a production Ada 83 compiler. We discuss the strategies we used to transition...
详细信息
We present the design and implementation of APL Intrinsic Functions for a Finite State Machine (also known as a Finite State Automaton) which recognizes regular languages, and a Parser which recognizes a subset of con...
详细信息
ISBN:
(纸本)0897914775
We present the design and implementation of APL Intrinsic Functions for a Finite State Machine (also known as a Finite State Automaton) which recognizes regular languages, and a Parser which recognizes a subset of context free languages, including SLR(1), LALR(1), and LR(1). These are currently being used on a commercial APL mainframe system as part of a large real-time financial trading system, where they are part of a compiler which translates dealer specification statements into APL functions. Use of these Intrinsic Functions more than doubled the performance of the compiler. In addition to making a significant performance improvement for a large production system, we show these functions to have value in effectively solving many common programming problems, especially those which are inherently or apparently iterative.
We consider the problem of supporting compacting garbage collection in the presence of modern compiler optimizations. Since our collector may move any heap object, it must accurately locate, follow, and update all poi...
详细信息
ISBN:
(纸本)0897914759
We consider the problem of supporting compacting garbage collection in the presence of modern compiler optimizations. Since our collector may move any heap object, it must accurately locate, follow, and update all pointers and values derived from pointers. To assist the collector, we extend the compiler to emit tables describing live pointers, and values derived froin pointers, at each program location where collection may occur. Significant results include identification of a number of problems posed by optimizations, solutions to those problems, a working compiler, and experimental data concerning table sizes, table compression, and time overhead of decoding tables during collection. While gc support can affect the code produced, our sample programs show no significant changes, the table sizes are a modest fraction of the size of the optimized code, and stack tracing is a small fraction of total gc time. Since the compiler enhancements are also modest, we conclude that the approach is practical.
This paper develops a methodology for compiling and executing irregular parallel programs. Such programs implement parallel operations whose size and work distribution depend on input data. We show a fundamental relat...
详细信息
ISBN:
(纸本)0897914759
This paper develops a methodology for compiling and executing irregular parallel programs. Such programs implement parallel operations whose size and work distribution depend on input data. We show a fundamental relationship between three quantities that characterize an irregular parallel computation: the total available parallelism, the optimal grain size, and the statistical variance of execution times for individual tasks. This relationship yields a dynamic scheduling algorithm that substantially reduces the overhead of executing irregular parallel operations. We incorporated this algorithm into an extended Fortran compiler. The compiler accepts as input a subset of Fortran D which includes blocked and cyclic decompositions and perfect alignment;it outputs Fortran 77 augmented with calls to library routines written in C. For irregular parallel operations, the compiled code gathers information about available parallelism and task execution time variance and uses this information to schedule the operation. On distributed memory architectures, the compiler encodes information about data access patterns for the runtime scheduling system so that it can preserve communication locality. We evaluated these compilation techniques using a set of application programs including climate modeling, circuit simulation, and x-ray tomography, that contain irregular parallel operations. The results demonstrate that, for these applications, the dynamic techniques described here achieve near-optimal efficiency on large numbers of processors. In addition, they perform significantly better, on these problems, than any previously proposed static or dynamic scheduling algorithm.
Symbolic timing verification is a powerful extension to traditional constraint checking that allows delays and constraints to be expressed as symbolic variables. In this paper, was present an approach to symbolic timi...
详细信息
ISBN:
(纸本)0818628227
Symbolic timing verification is a powerful extension to traditional constraint checking that allows delays and constraints to be expressed as symbolic variables. In this paper, was present an approach to symbolic timing verification using constraint logic programming techniques. The techniques are quite powerful in that they yield not only simple bounds on delays but also relate the delays in linear inequalities so that tradeoffs are apparent. We model circuits as communicating processes and our current implementation can verify a large class of mixed synchronous and asynchronous specifications. The utility of the approach is illustrated with some examples.
We are building and testing a set of computer-based design tools for creating telephone operator services. Currently at NYNEX, operator services are created by a small team of skilled developers using a programming la...
暂无评论