| D. R. Musser, A. A. Stepanov, Algorithm-oriented generic libraries, Software - Practice and Experience 24 (7) (1994) 623--642. http://citeseer.lcs.mit.edu/musser94algorithmoriented.html |
....would form a very e ective replacement for the aging CMISS software. We will show a system that is extensible in that it is based on Generic Programming, a programming technique that focuses on implementing generic algorithms that may exibly operate on a wide range of data structures[26] 27][28]. Our system makes as few assumptions about its environment as possible and is demonstrably interoperable with a variety of third party packages. We will then prove that the performance of this system far exceeds the performance of comparable systems when the programmer can make reasonable ....
....and shows how to construct the problem of Chapter III using the library. Chapter V contrasts the implementation of another nite element library with that of our own. Chapter VI explains the programming techniques that we employed in implementing our C library, including Generic Programming[28] and Template Metaprogramming[42] Chapter VII introduces static data structures that minimize the cost of objectoriented modularity by transferring much of the computation involved in the software decomposition to the compiler rather than to run time execution. Chapter VIII explains our ....
[Article contains additional citation context not shown here]
D. R. Musser and A. A. Stepanov. Algorithm-oriented generic libraries. SP&E, 24(7):623-642, 1994.
....that consists of byte codes interpreted at run time by the Java virtual machine. The software engineering principles of Java derive from object oriented design with the emphasis being on the creation of a series of object specifications termed classes [Meyer 1988, Meyer 1991, Meyer 1992, Musser and Stepanov 1994, Plauger et al. 1996, Coplien 1992] 2.1 System Constructs FireMaster has three levels illustrated in Figure 1: 1. Data the Data Level controls all static and dynamic information required and generated by the system. Initial data is stored to be used in the Operational Level and displayed ....
D.R. Musser and A. Stepanov. Algorithm-oriented Generic Libraries, Software -- Practice and Experience 24(7):623--642, July 1994.
....and usable in many contexts and software environments components are to be as generic as possible. Genericity as a concept tries to build components that make as few assumptions as possible about their environment and thus can extensively be used and reused in changing software environments [MS89, MS94]. The Standard Template Library (STL) shall serve as an example for a generic component catalog [LS95] Created by Alexander Stepanov and Meng Lee, STL consists of a set of components divided into categories like containers, algorithms and iterators. Containers are used to store data items of ....
Musser D. R. and Stepanov A. A., "Algorithm-oriented generic libraries", Software - Practice and Experience, 24(7), pp.623-642, July 1994
....during compile time. After discussing previous work on the design of geometry kernels (Section 2) we give a general description of our new kernel concept (Section 3) We then describe how this concept can be realized in an adaptable and extensible way under the generic programming paradigm [24, 25] (Sections 4 through 7) Section 8 illustrates the use of such a kernel and shows how the benefits described above are realized. Finally, we describe the models of this type of kernel that are provided in CGAL (Section 9) As our implementation is in C [9] we assume the reader is somewhat ....
....developed in a common project of several universities and research institutes in Europe and Israel. The recent overview [15] gives an extensive account of functionality, design, and implementation techniques in the library. Generic programming is one of the tools used to achieve this flexibility [7, 24, 25]. In the original design of the geometry kernel of CGAL [14] the geometric objects were each parameterized by a representation class, which was in turn parameterized by a number type. This design provided easy exchange of representation classes, was extensible, and provided limited adaptability ....
MUSSER, D. R., AND STEPANOV, A. A. Algorithm-oriented generic libraries. Software -- Practice and Experience 24, 7 (July 1994), 623--642.
....the distributed one. We pointed out a methodology for choosing between run time and compile time polymorphism. 4 This remains to be experienced since we used C which fully supports genericity 20 3. 5 Related Work To go a step further with genericity we may borrow the idea behind the STL [14] also used in MTL which is using iterators on matrices in order to factorize generic algorithms like matrix addition or multiplication. This is currently under development and will enable us to have several specialized algorithm for distributed matrix multiplication. In this study we will examine ....
David R. Musser and Alexander A. Stepanov. Algorithm-oriented generic libraries. Software{Practice & Experience, 24(7):623-642, July 1994.
....Fortunately, in the sequential C world, something has changed. The Standard Template Library (STL) 19, 21, 25] a recent addition to the C language standard, is a library of templated algorithms, containers, and iterators which provide support for generic programming. Generic programming [20] is a programming paradigm in which algorithms are written so that they can operate on any type of container which provides accessibility meeting certain minimal criteria. This element access is provided via iterators, C pointer like objects which can traverse through a container. Standard ....
D. R. Musser and A. A. Stepanov. Algorithm-Oriented Generic Libraries. Software Practice and Experience, 24(7):623--642, July 1994.
....efficient, and reusable software components in parallel processing. The Standard Template Library (STL) 8, 10, 12] a recent addition to the C draft standard, is a library of templated algorithms, containers, and iterators which provide support for generic programming. Generic programming [9] is a programming paradigm in which algorithms are written so that they can operate on any type of container with accessibility meeting certain minimal criteria. This element access is provided via iterators, C pointer like objects which can traverse through a container. Standard operations, such ....
D. R. Musser and A. A. Stepanov, Algorithm-Oriented Generic Libraries, Software Practice and Experience, 24 (1994), pp. 623--642.
....is named assignable and includes the requirement of an assignment operator [35] If an actual type fulfills the requirements of a concept, it is a model for this concept. In our example, int is a model of the concept assignable . Algorithmic abstraction is a key goal in generic programming [36]. One aspect is to reduce the interface to the data types used in the algorithm to a set of simple and general concepts. One of them is the iterator concept, which is an abstraction of pointers. Iterators serve two purposes: They refer to an item and they traverse over the sequence of items that ....
David R. Musser and Alexander A. Stepanov, `Algorithm-oriented generic libraries', Software -- Practice and Experience, 24(7), 623--642 (1994).
....the internal representation is granted. In the first part of the paper we define polyhedral surfaces and review known edge based boundary representations. The second part we begin with a short introduction to the modern design principles available in C known as the generic programming paradigm [25,26] with the example STL, the Standard Template Library [4,24,31] We derive design goals and evaluate previous work. We continue with an overview of our design, the separation of geometry and topology, the layered structure, the responsibilities of the layers, several example programs, and the ....
....is named assignable and includes the requirement of an assignment operator [31] If an actual type fulfills the requirements of a concept, it is a model for this concept. In our example, int is a model of the concept assignable . Algorithmic abstraction is a key goal in generic programming [25,26]. One aspect is to reduce the interface to the data types used in the algorithm to a set of simple and general concepts. One of them is the iterator concept, which is an abstraction of pointers. Iterators serve two purposes: They refer to an item and they traverse over the sequence of items that ....
D. R. Musser and A. A. Stepanov. Algorithm-oriented Generic Libraries. Software -- Practice and Experience, 24(7):623--642, July 1994.
....on the Internet [27] for various domains: containers, graphs, linear algebra, computational geometry, differential equations, neural networks, visualization, etc. Thanks to parameterization, generic programming allows to abstractly represent data structures and to efficiently implement algorithms [22]. As defined in [21] the main features of this paradigm are given by the following three statements. The generic expression of an algorithm only needs few hypothesis on the data it uses. A specialized version of an algorithm, e.g. dedicated to a particular data type, can always override the ....
David R. Musser and Alexander A. Stepanov. Algorithm-oriented generic libraries. Software: Practice and Experience, 24(7):632--642, July 1994.
....is created by composing C code fragments using templates. C templates were first heavily exploited in the C Standard Template Library (STL) in which a class is constructed from a composition of an Algorithm, a Container, an Element, and several Adapter elements (Musser Saini, 1996; Musser Stepanov 1994; Dehnert Stepanov, 1998) STL is noteworthy for its lack of inheritance. VanHilst and Notkin (Van Hilst Notkin, 1996, 1996a, 1996b) use templates to implement role mixins for expressing a collaboration between several OO components. By using multiple inheritance or layering of mixin ....
Musser, D. R. and Stepanov, A. A. (1994), Algorithm-Oriented Generic Libraries. In Software Practice and Experience, Vol 24(7).
....so closely that similar operations appear completely different. Languages such as C [23] and Eiffel [24] provide constructs such as templates, classes, and inheritance that can be used to unify multiple implementations under some general interfaces. In particular, the algorithm oriented [25] approach used in the Scalable Software Libraries [26] and the Standard Template Libraries [4] aims at analyzing generic algorithms and data structures, deciding the types and access operations needed for efficient execution, and encoding such types and access operations in macros or ....
D.R. Musser and A.A. Stepanov. Algorithm-oriented generic libraries. Software---Practice and Experience, 24(7):623--642, 1994.
No context found.
D. R. Musser and A. A. Stepanov, `Algorithm-oriented generic libraries', Rensselaer Polytechnic Institute Computer Science Department, Technical Report 93-23, September 1993, revised January 1994.
....algorithms such as heapsort [3] mainly because it does substantially fewer data assignments and other operations. These characteristics make median of 3 quicksort a good candidate for a standard library sorting routine, and it is in fact used as such in the C Standard Template Library (STL) [4, 5, 6] as well as in older C libraries it is the algorithm most commonly used for qsort, for example. However, its worstcase time is Theta(N ) and although the worst case behavior appears to be highly unlikely, the very existence of input sequences that can cause such bad performance may be a ....
....on the sequence representation. Specifically, instead of passing an array base address and using integer indexing, the boundaries of the sequence are passed via iterators, which are a generalization of ordinary C C pointers. The iterator type is a template parameter of the algorithms, as in [4, 5]. The implementation of introsort is parameterized in the same way; for example, the C source code for the main function is template class RandomAccessIterator, class T, class Distance void introsortloop(RandomAccessIterator first, RandomAccessIterator last, T , Distance depthlimit) ....
[Article contains additional citation context not shown here]
D. R. Musser and A. A. Stepanov. Algorithm-oriented generic libraries. Software Practice and Experience, 24(7), July 1994.
No context found.
D. R. Musser and A. A. Stepanov, "Algorithm-Oriented Generic Libraries," Software Practice and Experience, vol. 24(7), July 1994.
No context found.
D. R. Musser, A. A. Stepanov, Algorithm-oriented generic libraries, Software - Practice and Experience 24 (7) (1994) 623--642. http://citeseer.lcs.mit.edu/musser94algorithmoriented.html
No context found.
David R. Musser and Alexander A. Stepanov. Algorithm-oriented generic libraries. Software: Practice and Experience, 24(7):632--642, July 1994.
No context found.
D. R. Musser and A. A. Stepanov. Algorithm-oriented generic libraries. Software Practice and Experience, 24(7):623--642, July 1994.
No context found.
D. R. Musser and A. A. Stepanov. Algorithm-oriented generic libraries. Software Practice and Experience, 24(7):623--642, July 1994.
No context found.
D.R. Musser and A.A. Stepanov. Algorithm-oriented generic libraries. Software -- Practice and Experience, 24:623--642, 1994.
No context found.
D. R. Musser and A. A. Stepanov. Algorithm-oriented generic libraries. Software Practice and Experience, 24(7):623--642, July 1994.
No context found.
David R. Musser and Alexander A. Stepanov. Algorithm-oriented generic libraries. Software - Practice and Experience, 24(7):623--642, 1994.
No context found.
David R. Musser and Alexander A. Stepanov. Algorithm-oriented generic libraries. Software: Practice and Experience, 24(7):632--642, July 1994.
No context found.
D.R. Musser and A.A. Stepanov, "Algorithm Oriented Generic Libraries," Software Practice and Experience, vol. 24, no. 7, 1994.
No context found.
D.R. Musser and A.A. Stepanov. Algorithm-Oriented Generic Libraries.
First 50 documents
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC