Functional programming is concerned with referential transparency, that is, given a certain function and its parameter, that the result will always be the same. However, it seems that this is violated in applications involving uncertainty, such as rolling a dice. This thesis defines the background of probabilistic programming and domain-specific...
An active object system is a transition-based object-oriented system suitable for the design of various concurrent systems. An AOS consists of a collection of interacting objects, where the behavior of each object is determined by the transition statements provided in the class of that object. A transition statement is a...
Cryptographic devices leak timing and power consumption information that is easily measurable, radiation of various levels, and more. Such devices also have additional inputs, other than plaintext and keys, like voltage, which can be modified to force the device to produce certain faulty outputs that can be used to reveal...
Protecting end-users privacy and building trust are the two most important factors needed to support the growth of ecommerce. The increased dependence on the Internet for a wide variety of daily transactions causes a corresponding loss in privacy for many users, as virtually all websites collect data from users directly...
The spreadsheet has become a common technology tool and is now a predominant form of end-user programming. Some of the same features that make spreadsheets excellent tools for ad-hoc development can introduce errors into the final product. Although a variety of research has been performed investigating methods to detect errors...
We describe a set of data flow techniques and code transformations that translate a single instruction stream, multiple data stream (SIMD) Dataparallel C program into a semantically equivalent single program, multiple data stream (SPMD) C program suitable for execution on shared memory multiprocessor computers, such as the Sequent Balance and...
The general problem of application development of interactive GUI applications has been addressed by toolkits, libraries, user interface management systems, and more recently domain-specific application frameworks. However, the most sophisticated solution offered by frameworks still lacks a number of features which are addressed by this research: 1) limited functionality --...
Personalization is defined as a process that facilitates interaction among consumers and providers such that individual consumers are enabled to more readily access the content and services of providers, and individual providers are enabled to more effectively and easily deliver their content and services to consumers. This project presents a...
Identifying the most relevant items in an e-commerce site is becoming more and more
difficult nowadays because of the heavy overload of information. A Java Recommender
System that uses Collaborative Filtering techniques has been developed to reduce such
information overload and even personalize the information to the individual’s preference.
The...
Recent efforts in user-control of data-driven characters have focused on designing high-level graph data-structures that we call a Behavior Finite State Machine (BFSM). A BFSM is an interactive data-structure that benefits from the advantages of both motion graphs and blend-based techniques for generating animated motion. Each node in a BFSM...