129 research outputs found
EFFICIENT CALCULATION OF THE AUTOCORRELATION OF BOOLEAN FUNCTIONS WITH THE LARGE NUMBER OF VARIABLES
The autocorrelation of a Boolean function is animportant mathematical concept with various applications. It is a kernel ofmany algorithms with essential applications whose efficiency is directlylimited by the time and space complexity of methods for computing theautocorrelation. These limitations, in this paper, can be overcome by computingthe autocorrelation through Shared Multi-Terminal Binary Decision Diagram(SMTBDD) that are a data structure allowing compact representations of largeBoolean functions. The computation is performed in the spectral domain byexploiting the Wiener-Khinchin theorem and the fast calculation algorithm throughSMTBDDs. It is necessary to develop a specialized decision diagram package withall the standard BDD operations that support fast calculation algorithm throughdecision diagrams and dynamically resizable terminal nodes allows to deal withlarge integers that appear in computing the autocorrelation coefficients. Anexperimental evaluation over benchmarks, confirmed favorably the efficiency ofthe proposed data structure and related algorithms
On Verifying a File System Implementation
[No abstract available
Datura: distributing activity in peer to peer collaborative virtual environments
Collaborative Virtual Environments (CVEs) are an exciting advance in the field of Virtual Reality (VR) research. By joining VR systems---and users---at widely scattered geographic locations, VR changes from an isolated experience to one of communication, interaction, and collaboration. Much research effort is being placed into the development of tools and techniques to power these collaborative experiences.;This dissertation describes the Datura toolkit for CVE development and, more importantly, the new concepts and methods that make Datura unique. We focus on the idea of Location of Computation (LoC)---methods for determining where, among all the sites participating in a CVE, particular calculations or particular decisions should be made. Datura connects sites into a peer to peer network, allowing each one to participate fully in bringing the virtual world to life.;Datura works at the level of elements---individual components that imbue shared objects with data, behaviors, and capabilities. These elements are shared among all sites, and control over them can be granted or migrated individually. This dissertation discusses the mechanisms for transferring control and computation, and provides a system for deciding where control should reside for each element in a CVE. An extensive set of tests and evaluations are also described, verifying the capabilities of the Datura system and demonstrating the performance and error-handling gains that are made by this fine-grained control over the location of computation
FV-RAD : a practical framework for rapid application development
Estágio realizado na OPT-Optimização e Planeamento de Transportes, S.ATese de mestrado integrado. Engenharia Informática e Computação. Faculdade de Engenharia. Universidade do Porto. 200
A Programming System for End-user Functional Programming
This research involves the construction of a programming system, HASKEU,
to support end-user programming in a purely functional programming language.
An end-user programmer is someone who may program a computer
to get their job done, but has no interest in becoming a computer programmer.
A purely functional programming language is one that does not require
the expression of statement sequencing or variable updating. The end-user is
offered two views of their functional program. The primary view is a visual
one, in which the program is presented as a collection of boxes (representing
processes) and lines (representing data
flow). The secondary view is a textual
one, in which the program is presented as a collection of written function definitions. It is expected that the end-user programmer will begin with the visual
view, perhaps later moving on to the textual view. The task of the programming
system is to ensure that the visual and textual views are kept consistent
as the program is constructed. The foundation of the programming system
is a implementation of the Model-View-Controller (MVC) design pattern as a
reactive program using the elegant Functional Reactive Programming (FRP)
framework. Human-Computer Interaction (HCI) principles and methods are
considered in all design decisions. A usabilty study was made to find out the
effectiveness of the new system
Programming Language Evolution and Source Code Rejuvenation
Programmers rely on programming idioms, design patterns, and workaround
techniques to express fundamental design not directly supported by the language.
Evolving languages often address frequently encountered problems by adding language
and library support to subsequent releases. By using new features, programmers can
express their intent more directly. As new concerns, such as parallelism or security,
arise, early idioms and language facilities can become serious liabilities. Modern code
sometimes bene fits from optimization techniques not feasible for code that uses less
expressive constructs. Manual source code migration is expensive, time-consuming,
and prone to errors.
This dissertation discusses the introduction of new language features and libraries,
exemplifi ed by open-methods and a non-blocking growable array library. We
describe the relationship of open-methods to various alternative implementation techniques.
The benefi ts of open-methods materialize in simpler code, better performance,
and similar memory footprint when compared to using alternative implementation
techniques.
Based on these findings, we develop the notion of source code rejuvenation, the
automated migration of legacy code. Source code rejuvenation leverages enhanced
program language and library facilities by finding and replacing coding patterns that can be expressed through higher-level software abstractions. Raising the level of
abstraction improves code quality by lowering software entropy. In conjunction with
extensions to programming languages, source code rejuvenation o ers an evolutionary
trajectory towards more reliable, more secure, and better performing code.
We describe the tools that allow us efficient implementations of code rejuvenations.
The Pivot source-to-source translation infrastructure and its traversal mechanism
forms the core of our machinery. In order to free programmers from representation
details, we use a light-weight pattern matching generator that turns a C like
input language into pattern matching code. The generated code integrates seamlessly
with the rest of the analysis framework.
We utilize the framework to build analysis systems that find common workaround
techniques for designated language extensions of C 0x (e.g., initializer lists). Moreover,
we describe a novel system (TACE | template analysis and concept extraction)
for the analysis of uninstantiated template code. Our tool automatically extracts
requirements from the body of template functions. TACE helps programmers understand
the requirements that their code de facto imposes on arguments and compare
those de facto requirements to formal and informal specifications
Dynamic Scalable Network Area of interest management for Virtual Worlds
A major performance challenge in developing a massively multi-user virtual world is network scalability. This is because the network over which entities communicate can quickly develop into a bottleneck. Three critical factors: bandwidth usage, packets per second, and network-related CPU usage, should be governed by the number of entities a given user is interested in, not the total number of entities in the world. The challenge then is to allow a virtual world to scale to any size without an appreciable drop in system performance. To address these concerns, this thesis describes a novel Area of Interest Manager (AOIM) built atop the NPSNET-V virtual environment system. It is a dynamically sized, geographical region based, senderside interest manager that supports dynamic entity discovery and peer-to-peer entity communication. The AOIM also makes use of tools provided by the NPSNET-V system, such as variable resolution protocols and variable data transmission rate. Performance tests have shown conclusively that these interest management techniques are able to produce dramatic savings in network bandwidth usage in a peer-to-peer virtual environment. In one test, this AOIM produced a 92% drop in network traffic, with a simultaneous 500% increase in world population.http://archive.org/details/dynamicscalablen109451616US Navy (USN) autho
- …