A system was designed to reduce the time undergraduate student researchers spend programming while developing tactile perception experiments. The system allows students to program in Matlab, a high-level, interpreted language, and captures functionality common to most experiments in an easily extensible library. To further aid the student, an experiment template that illustrates the structure of a typical experiment is provided. The effectiveness of the system was evaluated by implementing a real-world experiment for measuring the 2-point error of localization of touch on the hand. The experience indicates a decrease in the total programming time and suggests the potential usefulness of interpreters and converters in general software development.; by Samir V. Meghani.; Thesis (M. Eng. and S.B.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer Science, 2004.; Includes bibliographical references (p. 52-53).
This thesis proposes an extension to the Java programming language in which a program may specify that an object can change its class at runtime. The project proposes a programmer interface for using this new capability. Given the proposed interface, a particular strategy for implementing the interface is presented. The JVM portion of this strategy is detailed and implemented on top of an existing JVM. The modified JVM is tested using scenarios designed to verify the new runtime class mutability capability.; by Richard C. Schalck.; Thesis (M. Eng.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer Science, 2005.; This electronic version was submitted by the student author. The certified thesis is available in the Institute Archives and Special Collections.; Includes bibliographical references (p. 53-54).
Alloy is a automatically analyzable modelling language based on first-order logic. An Alloy model can be translated into a Boolean formula whose satisfying assignments correspond to instances in the model. Currently, the translation procedure mechanically converts each piece of the Alloy model individually into its most straightforward Boolean representation. This thesis proposes a more efficient approach to translating Alloy models. The key is to take advantage of the fact that an Alloy model contains patterns that are used repeatedly. This makes it natural to give a model a more structured Boolean representation, namely a Boolean circuit. Reusable pieces in the model correspond to circuit components. By identifying the most frequently used components and optimizing their corresponding Boolean formulas, the size of the overall formula for the model would be reduced without significant additional work. A smaller formula would potentially decrease the time required to determine satisfiability, resulting in faster analysis overall.; by Samuel Isaac Daitch.; Thesis (M. Eng.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer Science, 2004.; Includes bibliographical references (p. 71-72).
Most question answering systems narrow down their search space by issuing a boolean IR query on a keyword indexed corpus. This technique often proves futile for definitional questions, because they only contain one keyword or name. Thus, an IR search for only that term is likely to produce many spurious results; documents that contain mentions of the keyword, but not in a definitional context. An alternative approach is to glean the corpus in pre-processing for syntactic constructs in which entities are defined. In this thesis, I describe a regular expression language for detecting such constructs, with the help of a part-of-speech tagger and a named-entity recognizer. My system, named CoL. ForBIN, extracts entities and their definitions, and stores them in a database. This reduces the task of definitional question answering to a simple database lookup.; by Aaron D. Fernandes.; Thesis (M. Eng.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer Science, 2004.; Includes bibliographical references (p. 75-77).
This thesis describes the implementation of a provably good data-race detector, called the Nondeterminator-3, which runs efficiently in parallel. A data race occurs in a multithreaded program when two logically parallel threads access the same location while holding no common locks and at least one of the accesses is a write. The Nondeterminator-3 checks for data races in programs coded in Cilk [3, 10], a shared-memory multithreaded programming language. A key capability of data-race detectors is in determining the series-parallel (SP) relationship between two threads. The Nondeterminator-3 is based on a provably good parallel SP-maintenance algorithm known as SP-hybrid . For a program with n threads, T1 work, and critical-path length To, the SP-hybrid algorithm runs in O((T1/P + PTO) lg n) expected time when executed on P processors. A data-race detector must also maintain an access-history, which consists of, for each shared memory location, a representative subset of memory accesses to that location. The Nondeterminator-3 uses an extension of the ALL-SETS  access-history algorithm used by its serially running predecessor, the Nondeterminator-2. First, the ALL-SETS algorithm was extended to correctly support the inlet feature of Cilk.; (cont.) This extension increases the memory-access cost by only a constant factor. Then...
Performance improvement in future microprocessors will rely more on the exploitation of parallelism than increases in clock frequency, leading to more multi-core and tiled processor architectures. Despite continuing research into parallelizing compilers, programming multiple instruction stream architectures remains difficult. This document describes C-Flow, a compiler system enabling statically-scheduled message passing between programs running on separate processors. When combined with statically-scheduled, low-latency networks like those in the MIT Raw processor, C-Flow provides the programmer with a simple but comprehensive messaging interface that can be used from high-level languages like C. The use of statically-scheduled messaging allows for fine-grained (single-word) messages that would be quite inefficient in the more traditional message passing systems used in cluster computers. Such fine-grained parallelism is possible because, as in systolic array machines, the network provides all of the necessary synchronization between tiles. On the Raw processor, C-Flow reduces development complexity by allowing the programmer to schedule static messages from a high-level language instead of using assembly code. C-Flow programs have been developed for arrays with 64 or more processor tiles and hve demonstrated performance within twenty percent of hand-optimized assembly.; by Patrick Griffin.; Thesis (M. Eng.)--Massachusetts Institute of Technology...
In this thesis, I present a implementation of a H.264 decoder designed in Bluespec SystemVerilog, a high level hardware description language. This design is intended to serve both as a more understandable reference code, as well as a starting point for efficient hardware implementations. I illustrate this by modifying this initial design to meet a performance requirement of 720p at 60 frames per second.; by Chun-Chieh Li.; Thesis (M. Eng.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer Science, 2007.; Includes bibliographical references (p. 75).
The objective of this thesis is to present the foundation of an automated large-scale disease prediction system. Unlike previous work that has typically focused on a small self-contained dataset, we explore the possibility of combining a large amount of heterogeneous data to perform gene selection and phenotype classification. First, a subset of publicly available microarray datasets was downloaded from the NCBI Gene Expression Omnibus (GEO) [18, 5]. This data was then automatically tagged with Unified Medical Language System (UMLS) concepts . Using the UMLS tags, datasets related to several phenotypes were obtained and gene selection was performed on the expression values of this tagged microarray data. Using the tagged datasets and the list of genes selected in the previous step, classifiers that can predict whether or not a new sample is also associated with a given UMLS concept based solely on the expression data were created. The results from this work show that it is possible to combine a large heterogeneous set of microarray datasets for both gene selection and phenotype classification, and thus lays the foundation for the possibility of automatic classification of disease types based on gene expression data in a clinical setting.; by Patrick R. Schmid.; Thesis (S.M.)--Massachusetts Institute of Technology...
In this thesis, a map that takes points from a given Elliptic Curve in Weierstrass form to points on the corresponding curve in Hasse form was derived. This was implemented in the Maple programming language in order to allow the transformation of points into Hasse form so that an embedding into the space K*/K*3 x K*/K*3could be easily computed. The derivation of the map involved several intermediate maps as well as optimization techniques to facilitate feasible computations. The map was further used to embed points of height less than 50 into K*/K*3 x K*/K*3 and test whether the images are trivial, which gives information on how this set sits inside the space.; by Siddique Khan.; Thesis (M. Eng.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer Science, 2004.; Includes bibliographical references (leaf 43).
This dissertation introduces novel techniques for verifying that programs conform to their designs. My Hob system, as described in this dissertation, allows developers to statically ensure that implementations preserve certain specified properties. Hob verifies heap-based properties that can express important aspects of a program's design. The key insight behind my approach is that Hob can establish detailed software design properties--properties that lie beyond the reach of extant static analysis techniques due to scalability or precision issues-by focusing the verification task. In particular, the Hob approach applies scalable static analysis techniques to the majority of the modules of a program and very precise, unscalable, static analysis or automated theorem proving techniques to certain specific modules of that program: those that require the precision that such analyses can deliver. The use of assume/guarantee reasoning allows the analysis engine to harness the strengths of both scalable and precise static analysis techniques to analyze large programs (which would otherwise require scalable, imprecise analyses) with sufficient precision to establish detailed data structure consistency properties, e.g. heap shape properties.; (cont.) A set-based specification language enables the different analysis techniques to cooperate in verifying the specified design properties. My preliminary results show that it is possible to successfully verify detailed design-level properties of benchmark applications: I have used the Hob system to verify user-relevant properties of a water molecule simulator...
This thesis presents a sketch-based interaction system that can be used to illustrate the process of reasoning about an electrical circuit in an educational setting. Recognition of hand-drawn shapes is accomplished in a two stage process where strokes are first processed into primitives like lines or ellipses, then combined into the appropriate circuit device symbols using a shape description language called LADDER. The circuit is then solved by a constraint-propagation reasoning component. The solution is shown to the user along with the justifications that support each deduction. The level of detail and the speed of the solution playback can be customized to tailor to a student's particular learning pace. A small user study was conducted to test the performance of the recognition component, which revealed several recognition problems common to almost all of the users' experiences with the system. Suggestions for dealing with these problems are also presented.; by Chang She.; Thesis (M. Eng.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer Science, 2006.; Includes bibliographical references (p. 42).
In this thesis, we present the framework for Rapid Protocol Engine Development (RaPED). We implemented the framework in Bluespec, which is a high level hardware language based on Term Rewriting Systems (TRSs). The framework is highly parameterized and general, thus allowing designers to design any protocol engine in a short period. Since protocol engines can be developed rapidly, designers can compare different designs instead of freezing the design prematurely in the development process. We used the RaPED to implement a cache coherence protocol for Shen and Arvind's Commit-Reconcile and Fences (CRF) memory model . The CRF allows scalable implementations of shared memory systems by decomposing memory access operations into simpler instructions. However, the focus for Shen's Cachet protocol for the CRF was adaptivity and correctness, it ignored some important implementation issues such as cache-line replacement, efficient buffer management and compatibility with multiword cache lines. In this thesis, we present a protocol called the Multiword Base protocol, which avoids these limitations. We defined the Multi-word CRF (MCRF) memory model to help us to prove the correctness of Multiword Base. The MCRF is a specialization of the CRF with modifications that summarizes the properties of multiword cache lines. We show that Multiword Base is a correct implementation of the CRF by using the MCRF to simulate Multiword Base. Apart from using multiword cache lines...
This thesis describes a new module, the Run Manager (RM), for Stanford Nanofabrication Facility's Common Object Representation for Advanced Laboratories (CORAL). CORAL is the lab manager with which MIT's Microsystems Technology Laboratories hopes to replace its outmoded, fifteen-year-old lab manager. RM will be used to collect and store parameterized information about each step in the device fabrication process, which labs will use to automatically generate accounting, maintenance, and lot history reports. RM consists of an XML (Extensible Markup Language)- configurable Common Object Request Broker Architecture (CORBA) application server, database storage, and a Graphical User Interface (GUI) module which will be integrable with the existing CORAL Java client.; by Jeffrey G. Klann.; Thesis (M. Eng.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer Science, June 2004.; This electronic version was submitted by the student author. The certified thesis is available in the Institute Archives and Special Collections.; Includes bibliographical references (p. 101-102).
On the desktop, an application can specify its user interface down to the last pixel, but on the World Wide Web, a content provider has little control over how the client will view the page once it has been delivered to the browser. This creates an opportunity for end-users who want to automate and customize their web experiences, but the growing complexity of web pages and standards prevents most users from realizing this opportunity. This thesis describes a programming system named Chickenfoot that enables end-users to automate, customize, and integrate web applications without examining their source code. It accomplishes this by embedding a programming environment directly into the Firefox web browser, where end-users can interactively develop programs that manipulate the interfaces of web pages. The design and implementation of the system's language are described, as well as the results of a user study that influenced the design. A range of applications built using Chickenfoot are also presented.; by Michael Bolin.; Thesis (M. Eng.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer Science, 2005.; Includes bibliographical references (leaves 104-106).
Users can communicate with ubiquitous computing environments by natural means such as voice communication. However, users of the Intelligent Room at MIT CSAIL, a ubiquitous environment, have reported dissatisfaction communicating with the room due to the absence of a focal point and the room's inability to hold a dialogue. To enrich the user's interactive experience, we integrated a Robotic User Interface to the room, and augmented the room's natural language system to enable it to hold dialogues with users. The robotic teddy bear serves two purposes. First, it acts as the focal point of the room which users can address. Second, it enables the room to physically communicate with users by robotic gestures. We also incorporated a book recommendation system to illustrate the room's new ability to converse with users. These enhancements have heightened user experience in communicating with the Intelligent Room, as indicated by our user study.; by Rubaiyat Khan.; Thesis (M. Eng.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer Science, 2006.; Includes bibliographical references (leaves 81-86).
Since benchmarks drive computer science research and industry product development, which ones we use and how we evaluate them are key questions for the community. Despite complex runtime tradeoffs due to dynamic compilation and garbage collection required
(shortened version) Religions and languages are social variables, like age,
sex, wealth or political opinions, to be studied like any other organizational
parameter. In fact, religiosity is one of the most important sociological
aspects of populations. Languages are also a characteristics of the human kind.
New religions, new languages appear though others disappear. All religions and
languages evolve when they adapt to the society developments. On the other
hand, the number of adherents of a given religion, the number of persons
speaking a language is not fixed. Several questions can be raised. E.g. from a
macroscopic point of view : How many religions/languages exist at a given time?
What is their distribution? What is their life time? How do they evolve?. From
a microscopic view point: can one invent agent based models to describe
macroscopic aspects? Does it exist simple evolution equations? It is
intuitively accepted, but also found through from statistical analysis of the
frequency distribution that an attachment process is the primary cause of the
distribution evolution : usually the initial religion/language is that of the
mother. Later on, changes can occur either due to heterogeneous agent
interaction processes or due to external field constraints...
Imitation learning in robots, also called programing by demonstration, has
made important advances in recent years, allowing humans to teach context
dependant motor skills/tasks to robots. We propose to extend the usual contexts
investigated to also include acoustic linguistic expressions that might denote
a given motor skill, and thus we target joint learning of the motor skills and
their potential acoustic linguistic name. In addition to this, a modification
of a class of existing algorithms within the imitation learning framework is
made so that they can handle the unlabeled demonstration of several tasks/motor
primitives without having to inform the imitator of what task is being
demonstrated or what the number of tasks are, which is a necessity for language
learning, i.e; if one wants to teach naturally an open number of new motor
skills together with their acoustic names. Finally, a mechanism for detecting
whether or not linguistic input is relevant to the task is also proposed, and
our architecture also allows the robot to find the right framing for a given
identified motor primitive. With these additions it becomes possible to build
an imitator that bridges the gap between imitation learning and language
learning by being able to learn linguistic expressions using methods from the
imitation learning community. In this sense the imitator can learn a word by
guessing whether a certain speech pattern present in the context means that a
specific task is to be executed. The imitator is however not assumed to know
that speech is relevant and has to figure this out on its own by looking at the
India is a multilingual multi-script country. In every state of India there
are two languages one is state local language and the other is English. For
example in Andhra Pradesh, a state in India, the document may contain text
words in English and Telugu script. For Optical Character Recognition (OCR) of
such a bilingual document, it is necessary to identify the script before
feeding the text words to the OCRs of individual scripts. In this paper, we are
introducing a simple and efficient technique of script identification for
Kannada, English and Hindi text words of a printed document. The proposed
approach is based on the horizontal and vertical projection profile for the
discrimination of the three scripts. The feature extraction is done based on
the horizontal projection profile of each text words. We analysed 700 different
words of Kannada, English and Hindi in order to extract the discrimination
features and for the development of knowledge base. We use the horizontal
projection profile of each text word and based on the horizontal projection
profile we extract the appropriate features. The proposed system is tested on
100 different document images containing more than 1000 text words of each
script and a classification rate of 98.25%...
The creation of popular science web videos on the Internet has increased in
recent years. The diversity of formats, genres, and producers makes it
difficult to formulate a universal definition of science web videos since not
every producer considers him- or herself to be a science communicator in an
institutional sense, and professionalism and success on video platforms no
longer depend exclusively on technical excellence or production costs.
Entertainment, content quality, and authenticity have become the keys to
community building and success. The democratization of science video production
allows a new variety of genres, styles, and forms. This article provides a
first overview of the typologies and characteristics of popular science web
videos. To avoid a misleading identification of science web videos with
institutionally produced videos, we steer clear of the term science
communication video, since many of the actual producers are not even familiar
with the academic discussion on science communication, and since the subject
matter does not depend on political or educational strategies. A content
analysis of 200 videos from 100 online video channels was conducted. Several
factors such as narrative strategies, video editing techniques...