Spelling suggestions: "subject:"[een] PROGRAMMING LANGUAGES"" "subject:"[enn] PROGRAMMING LANGUAGES""
141 |
Graphical definitions : expanding spreadsheet languages through direct manipulation and gesturesGottfried, Herkimer John 09 December 1996 (has links)
Until now, attempts to extend the one-way constraint evaluation model of the
spreadsheet paradigm to support complex objects, such as colored circles or user-defined
types, have led to approaches featuring either a direct way of creating objects
graphically or strong compatibility with the spreadsheet paradigm, but not both. This
inability to conveniently go beyond numbers and strings without straying outside the
spreadsheet paradigm has been a limiting factor in the applicability of spreadsheets. In
this thesis we present a technique that removes this limitation, allowing complex objects
to be programmed directly--and in a manner that fits seamlessly within the spreadsheet
paradigm--using direct manipulation and gestures. We also present the results of an
empirical study which suggests that programmers can use this technique to program
complex objects faster and with fewer errors. The graphical definitions technique not
only expands the applicability of spreadsheet languages, it also adds to their support for
exploratory programming and to their scalability. / Graduation date: 1997
|
142 |
Allocation of SISAL program graphs to processors using BLASRaisinghani, Manoj H. 07 April 1994 (has links)
There are a number of well known techniques for extracting parallelism from a
given program. They range from hardware implementations, building restructuring
compilers or reorganizing of programs so as to specify all the available parallelism. The
success rate of any of the known techniques is rather poor over all types of programs.
This has pushed the research community to explore new languages and design different
architectures to exploit program parallelism.
The principles of dataflow architectures have addressed the problem of exploiting
parallelism in systems by executing dataflow graphs. These graphs or programs represent
data dependencies among instructions and execution of the graph proceeds in a data-driven
manner. That is, an instruction is executed as soon as all its operands are
available, without waiting for any program counter to sequence its execution, as is the
case in conventional von Neumann architectures.
In this thesis, data flow graphs are generated during the intermediate compilation of
a functional language called SISAL (Streams and Iterations in a Single Assignment
Language). The Intermediate Form (IFl) is a graphical language consisting of multiple
acyclic function graphs that represent a given program. Each graph consists of a
sequence of nodes and edges. The nodes specify the operation and the edges indicate the
dependencies between the nodes. The graphs are further connected to each other by
means of implicit dependencies.
The Automator package developed in this project, preprocesses these multiple IF1
graphs and translates them into a single connected graph. It converts all implicit
dependencies into actual ones. Additionally, complex language constructs like For All,
loops and if-then-else are treated in special ways together with their nested levels by the
Automator. There is virtually no limit to the number of nested levels that can be
translated by this package.
The Automator's prime contribution is in translating real programs written in SISAL
into a specified format required by an allocation algorithm called the Balanced Layered
Allocation Scheme (BLAS).
BLAS partitions a connected graph into independent tasks and assigns them to
processors in a multicomputer system. The problem of program allocation lies in
maximizing parallelism while minimizing interprocessor communication costs. Hence,
allocation is based on the best choice of communication to execution ratio for each task.
BLAS utilizes heuristic rules to find a balance between computation and communication
costs in the target system. Here the target architecture is a simulated nCUBE 3E
computer, having a hypercube topology.
Simulations show that, BLAS is effective in reducing the overall execution time of
a program by considering the communication costs on the execution times. The results
will help in understanding the effects in packing nodes (grain-packing), routing issues in
the network and in general, the allocation problem to any processor in a network. In
addition, tasks have also been assigned to adjacent processors only, instead of any
processor on the hypercube network. The adjacent allocation to processors helps to
determine trade-offs required between achieved speed-ups and the time it takes to
completely allocate large graphs on compilation. / Graduation date: 1994
|
143 |
Réalisation d'un interprète complet du langage APL sur un mini ordinateurGirardot, Jean-Jacques, Mireaux, François 27 September 1976 (has links) (PDF)
K.E. IVERSON a défini le langage APL en 1962 dans un ouvrage intitulé "A Progrannning Language". Malgré les difficultés nouvelles que posait ce langage aux implémenteurs, des interprètes APL furent rapidement disponibles chez IBM, d'abord à titre expérimental, en 1965, puis commercialisés sur ordinateur 1130 et 360 (A3, A4). En effet, ce langage s.'était d'emblée révélé intéressant pour toutes les applications réclamant plus de programmation que de longs calculs. Depuis cette époque, d'autres interprètes APL ont vu le jour chez d'autres constructeurs (B2, B3, B4, B8). Cependant, réalisés sur de gros ordinateurs, ils réclament des ressources hors de proportion avec les moyens habituels des ingénieurs ou des étudiants. Dans cette optique, il a paru intéressant de réaliser un interprète APL sur une petite machine, partagée entre plusieurs utilisateurs.
|
144 |
Ta Da! - The Text Adventure Design Assistant a Visual Tool for the Development of Adventure GamesMolley, Sean 01 December 1997 (has links)
In this paper, I survey past and present tools available to text adventure game authors, and then describe a new product: the Text Adventure Design Assistant (TA DA!), a visual programming system for creating text adventure games. My system consists of two parts: an abstract framework which defines an archetypical game, and a user interface which allows for the construction of games in a visual manner by manipulating the elements of the abstract game to produce a concrete design. The two most popular contemporary programming languages for creating text adventure games, TADS and Inform, are compared and contrasted, and my abstract framework is adapted to both of these languages. The traditional pencil-and-paper design process used by adventure game authors is studied and its application to the development of TA DA! is described. Finally, the implications of TA DA! and similar advances in visual programming are discussed and I predict future trends in the design of both adventure games and other application domains based on this work.
|
145 |
Features of a Multi-Threaded Memory AllocatorWasik, Ayelet January 2008 (has links)
Multi-processor computers are becoming increasingly popular and are important for improving application performance. Providing high-performance memory-management is important for multi-threaded programs. This thesis looks at memory allocation of dynamic-allocation memory in concurrent C and C++ programs. The challenges facing the design of any memory allocator include minimizing fragmentation, and promoting good locality. A multi-threaded memory-allocator is also concerned with minimizing contention, providing mutual exclusion, avoiding false-sharing, and preventing heap-blowup (a form of fragmentation).
Several potential features are identified in existing multi-threaded memory-allocators. These features include per-thread heaps with a global heap, object ownership, object containers, thread-local free-list buffers, remote free-lists, allocation buffers, and lock-free operations. When used in different combinations, these features can solve most of the challenges facing a multi-threaded memory-allocator. Through the use of a test suite composed of both single and multi-threaded benchmark programs, several existing memory allocators and a set of new allocators are compared. It is determined that different features address different multi-threaded issues in the memory allocator with respect to performance, scaling, and fragmentation. Finally, recommendations are made for the design of a general-purpose memory-allocator.
|
146 |
Features of a Multi-Threaded Memory AllocatorWasik, Ayelet January 2008 (has links)
Multi-processor computers are becoming increasingly popular and are important for improving application performance. Providing high-performance memory-management is important for multi-threaded programs. This thesis looks at memory allocation of dynamic-allocation memory in concurrent C and C++ programs. The challenges facing the design of any memory allocator include minimizing fragmentation, and promoting good locality. A multi-threaded memory-allocator is also concerned with minimizing contention, providing mutual exclusion, avoiding false-sharing, and preventing heap-blowup (a form of fragmentation).
Several potential features are identified in existing multi-threaded memory-allocators. These features include per-thread heaps with a global heap, object ownership, object containers, thread-local free-list buffers, remote free-lists, allocation buffers, and lock-free operations. When used in different combinations, these features can solve most of the challenges facing a multi-threaded memory-allocator. Through the use of a test suite composed of both single and multi-threaded benchmark programs, several existing memory allocators and a set of new allocators are compared. It is determined that different features address different multi-threaded issues in the memory allocator with respect to performance, scaling, and fragmentation. Finally, recommendations are made for the design of a general-purpose memory-allocator.
|
147 |
A domain-specific modeling approach for component-based software developmentYang, Zhihui. January 2009 (has links)
Thesis (D. Ed.)--Ball State University, 2009. / Title from PDF t.p. (viewed on Nov. 12, 2009). Includes bibliographical references (p. 148-159).
|
148 |
The importance of abstraction in the development of distributed and cross-platform frameworksWorrall, Basil Graeme. January 2009 (has links)
Thesis (M. Sc(Computer Science))--University of Pretoria, 2009. / Includes bibliographical references (leaves [180]-191).
|
149 |
A canonic translatorAlsop, Joseph Wright. January 1967 (has links)
Thesis (B.S.): Massachusetts Institute of Technology. / Includes bibliographical references (p. 84).
|
150 |
Achieving robust performance in parallel programming languages /Lewis, E Christopher, January 2001 (has links)
Thesis (Ph. D.)--University of Washington, 2001. / Vita. Includes bibliographical references (p. 104-113).
|
Page generated in 0.0481 seconds