Domain experts think and reason at a high level of abstraction when they solve problems in their domain of expertise. We present the design and motivation behind a domain specific language (DSL), called ΦLOG, to enab...
详细信息
Mul-T is a parallel Lisp system, based on Multilisp's future construct, that has been developed to run on an Encore Multimax multiprocessor. Mul-T is an extended version of the Yale T system and uses the T system&...
详细信息
Mul-T is a parallel Lisp system, based on Multilisp's future construct, that has been developed to run on an Encore Multimax multiprocessor. Mul-T is an extended version of the Yale T system and uses the T system's ORBIT compiler to achieve 'production quality' performance on stock hardware - about 100 times faster than Multilisp. Mul-T shows that futures can be implemented cheaply enough to be useful in a production-quality system. Mul-T is fully operational, including a user interface that supports managing groups of parallel tasks.
Applications that combine live data streams with embedded, parallel, and distributed processing are becoming more commonplace. WaveScript is a domain-specific language that brings high-level, type-safe, garbage-collec...
详细信息
Applications that combine live data streams with embedded, parallel, and distributed processing are becoming more commonplace. WaveScript is a domain-specific language that brings high-level, type-safe, garbage-collected programming to these domains. This is made possible by three primary implementation techniques, each of which leverages characteristics of the streaming domain. First, we employ a novel evaluation strategy that uses a combination of interpretation and reification to partially evaluate programs into stream dataflow graphs. Second, we use profile-driven compilation to enable many optimizations that are normally only available in the synchronous (rather than asynchronous) dataflow domain. Finally, we incorporate an extensible system for rewrite rules to capture algebraic properties in specific domains (such as signal processing). We have used our language to build and deploy a sensor-network for the acoustic localization of wild animals, in particular, the Yellow-Bellied marmot. We evaluate WaveScript's performance on this application, showing that it yields good performance on both embedded and desktop-class machines, including distributed execution and substantial parallel speedups. Our language allowed us to implement the application rapidly, while outperforming a previous C implementation by over 35%, using fewer than half the lines of code. We evaluate the contribution of our optimizations to this success.
The tradeoffs used in the implementation of a 172,163-transistor 32-bit single-chip microprocessor are investigated, focusing on those particular to the use of C. CRISP matches the requirements for supporting C compil...
详细信息
ISBN:
(纸本)0818608056
The tradeoffs used in the implementation of a 172,163-transistor 32-bit single-chip microprocessor are investigated, focusing on those particular to the use of C. CRISP matches the requirements for supporting C compilers with a simple, straightforward set of instructions, a small number of addressing modes, and by allowing orthogonal operation on the basic integer data types supported in C. The use of a small stack cache provides a significant reduction in data traffic by a better allocation of data to registers than has previously been possible with software compilers.
The proceedings contain 65 papers. The topics discussed include: a three dimensional wire frame graphics system;on APL software for credibility theory;an object oriented extension to APL;system development methodology...
ISBN:
(纸本)0897912268
The proceedings contain 65 papers. The topics discussed include: a three dimensional wire frame graphics system;on APL software for credibility theory;an object oriented extension to APL;system development methodology using LOGOS;control system development tools;techniques for extracting statistical data prom free-form text using APL;implementation of an APL-based spreadsheet manager;server networks communicating via inter-user shared variables;component file systems and the APL standard;APL2 implementations of unificatlon;managing APL public code for an in-house APL system (before and afterLOGOS);replicate each, anyone?;a full-screen front end for GRAPHPAK;FSM - a fullscreen manager;APL-to-ADA translator;screen management in the 'real world';why APL2: a discussion of design principles;an integrated microprogram development methodology based on APL;using the LOGOS programming environment a case history;solutions to logic problems in APL2;a second generation domino for statisticians;infinite loops and how to create them;a proposal for blocks and exits in APL;how graphics could be simplified in APL;recapturing the high ground use of APL in decision tree modelling;and investigation into the efficiency of using APL for the programming of an inference machine.
This paper describes the design, specification, implementation of and experiences from an interactive flowcharting technique for communicating and realizing algorithms. Educating the expert to know how to use the comp...
详细信息
This paper describes the design, specification, implementation of and experiences from an interactive flowcharting technique for communicating and realizing algorithms. Educating the expert to know how to use the computer system is important, since then he/she can easily express his/her ideas in the same 'language' as the other persons in the software development group. Our goals are: to help novices to understand computers, by giving them a framework for organizing algorithms, and to support development of software produced by groups of people over an extended period of time. Based on the notions of dimensional flowcharts a system called the DIMsystem has been developed for handling structured flowcharts.
As a value flows across the boundary between interoperating languages, it must be checked and converted to fit the types and representations of the target language. For simple forms of data, the checks and coercions c...
详细信息
As a value flows across the boundary between interoperating languages, it must be checked and converted to fit the types and representations of the target language. For simple forms of data, the checks and coercions can be immediate, for higher order data, such as functions and objects. some must be delayed until the value is used in a particular way. Typically, these coercions and checks are implemented by an ad-hoc mixture of wrappers, reflection, and dynamic predicates. We observe that 1) the wrapper and reflection operations fit the profile of mirrors, 2) the checks correspond to contracts, and 3) the timing and shape of mirror operations coincide with the timing and shape of contract operations. Based on these insights, we present a new model of interoperability that builds on the ideas of mirrors and contracts, and we describe an interoperable implementation of Java and Scheme that is guided by the model.
The proceedings contain 45 papers. The topics discussed include: promoting a common testbed for natural deduction tutoring systems;integrating stand-alone new media technologies such as games and virtual and augmented...
ISBN:
(纸本)9781450398428
The proceedings contain 45 papers. The topics discussed include: promoting a common testbed for natural deduction tutoring systems;integrating stand-alone new media technologies such as games and virtual and augmented reality software into learning management systems: integrating stand-alone media software into LMSs;simplifying the creation and maintenance of automated assessments of programming tasks via test specific language;CloudPES: cloud portal of educational services for higher education institutions in Nigeria;interface design guidelines for low literate users: a literature review;design and implementation of system of recognition of students’ learning behavior in classroom teaching videos;comparison of natural deduction theorem provers used in electronic tutoring systems;innovative learning and training approach in business – a systematic business games and literature review;and factors affecting grade eight students’ learning motivation in Chinese reading when learning with flipped classroom approach.
A critical optimization in the domain of linear signal transforms, such as the discrete Fourier transform (DFT), is loop merging, which increases data locality and reuse and thus performance. In particular, this inclu...
详细信息
A critical optimization in the domain of linear signal transforms, such as the discrete Fourier transform (DFT), is loop merging, which increases data locality and reuse and thus performance. In particular, this includes the conversion of shuffle operations into array reindexings. To date, loop merging is well understood only for the DFT, and only for Cooley-Tukey FFT based algorithms, which excludes DFT sizes divisible by large primes. In this paper, we present a formal loop merging framework for general signal transforms and its implementation within the SPIRAL code generator. The framework consists of Sigma-SPL, a mathematical language to express loops and index mappings;a rewriting system to merge loops in E-SPL;and a compiler that translates Sigma-SPL into code. We apply the framework to DFT sizes that cannot be handled using only the Cooley-Tukey FFT and compare our method to FFTW 3.0.1 and the vendor library Intel MKL 7.2.1. Compared to FFTW our generated code is a factor of 2-4 faster under equal implementation conditions (same algorithms, same unrolling threshold). For some sizes we show a speed-up of a factor of 9 using Bluestein's algorithm. Further, we give a detailed comparison against the Intel vendor library MKL;our generated code is between 2 times faster and 4.5 times slower.
This paper introduces a low-cost AC meter designed to continuously measure voltage and current waveforms at up to 14 kHz. The AC power meter, provided as open hardware, is designed using the same micro controller as t...
ISBN:
(纸本)9781450354769
This paper introduces a low-cost AC meter designed to continuously measure voltage and current waveforms at up to 14 kHz. The AC power meter, provided as open hardware, is designed using the same micro controller as the Arduino UNO1 with an In-system programming (ISP) interface, thus allowing the user to change the firmware to match their particular use case using Arduino libraries or standard C language. The suggested design is compatible with the Raspberry Pi 3(2), making it a suitable real-time measurement accessory for the single board computer. The platform features an 8 channel simultaneous sampling Analog-to-Digital Converter (ADC) which allows a high fidelity sampling without time offsets. Depending on how the user decides to combine current transformers (CTs) and AC-AC voltage adapters for the input channels, circuit breakers or appliances can be measured in either one phase or three phases.
暂无评论