By Ryan K. L. Ko, March 2010
Articles Tagged: Design
Articles & Features
Computers continue to get faster exponentially, but the computational demands of science are growing even faster. Extreme requirements arise in at least three areas.
By David P. Anderson, March 2010
Despite its promise, most cloud computing innovations have been almost exclusively driven by a few industry leaders, such as Google, Amazon, Yahoo!, Microsoft, and IBM. The involvement of a wider research community, both in academia and industrial labs, has so far been patchy without a clear agenda. In our opinion, the limited participation stems from the prevalent view that clouds are mostly an engineering and business-oriented phenomenon based on stitching together existing technologies and tools.
By Ymir Vigfusson, Gregory Chockler, March 2010
In recent years, empirical science has been evolving from physical experimentation to computation-based research. In astronomy, researchers seldom spend time at a telescope, but instead access the large number of image databases that are created and curated by the community . In bioinformatics, data repositories hosted by entities such as the National Institutes of Health  provide the data gathered by Genome-Wide Association Studies and enable researchers to link particular genotypes to a variety of diseases.
By Gideon Juve, Ewa Deelman, March 2010
By Sumit Narayan, Chris Heiden, March 2010
Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable computing resources that can be rapidly provisioned and released with minimal management effort or service provider interaction. With this pay-as-you-go model of computing, cloud solutions are seen as having the potential to both dramatically reduce costs and increase the rapidity of development of applications.
By Ramaswamy Chandramouli, Peter Mell, March 2010
At the turn of the 20th century, companies stopped generating their own power and plugged into the electricity grid. In his now famous book The Big Switch, Nick Carr analogizes those events of a hundred years ago to the tectonic shift taking place in the technology industry today.
By Guy Rosen, March 2010
By Daniel W. Goldberg, December 2009
The social Web is a set of ties that enable people to socialize online, a phenomenon that has existed since the early days of the Internet in environments like IRC, MUDs, and Usenet (e.g. 4, 12). People used these media in much the same way they do now: to communicate with existing friends and to meet new ones. The fundamental difference was the scale, scope, and diversity of participation.
By Sarita Yardi, December 2009
"Know thyself". Carved in stone in front of the Temple of Apollo at Delphi, that was the first thing people saw when they visited the Oracle to find answers. The benefits of knowing oneself are many. It fosters insight, increases self-control, and promotes positive behaviors such as exercise and energy conservation.
By Ian Li, Anind Dey, Jodi Forlizzi, December 2009
Research related to online social networks has addressed a number of important problems related to the storage, retrieval, and management of social network data. However, privacy concerns stemming from the use of social networks, or the dissemination of social network data, have largely been ignored. And with more than 250 million active Facebook (http://facebook.com) users, nearly half of whom log in at least once per day , these concerns can't remain unaddressed for long.
By Grigorios Loukides, Aris Gkoulalas-Divanis, December 2009
How sure are you that your friends are who they say they are? In real life, unless you are the target of some form of espionage, you can usually be fairly certain that you know whom your friends are because you have a history of shared interests and experiences. Likewise, most people can tell, just by using common sense, if someone is trying to sell them on a product, idea, or candidate. When we interact with people face-to-face, we reevaluate continuously whether something just seems off based on body language and other social and cultural cues.
By Roya Feizy, Ian Wakeman, Dan Chalmers, December 2009
Searching for information online has become an integral part of our everyday lives. However, sometimes we don't know the specific search terms to use, while other times, the specific information we're seeking hasn't been recorded online yet.
By Gary Hsieh, December 2009
While touchscreens allow extensive programmability and have become ubiquitous in today's gadgetry, such configurations lack the tactile sensations and feedback that physical buttons provide. As a result, these devices require more attention to use than their button-enabled counterparts. Still, the displays provide the ultimate interface flexibility and thus afford a much larger design space to application developers.
By Chris Harrison, Scott Hudson, September 2009
Virtual machine technology, or virtualization, is gaining momentum in the information technology community. While virtual machines are not a new concept, recent advances in hardware and software technology have brought virtualization to the forefront of IT management. Stability, cost savings, and manageability are among the reasons for the recent rise of virtualization. Virtual machine solutions can be classified by hardware, software, and operating system/containers. From its inception on the mainframe to distributed servers on x86, the virtual machine has matured and will play an increasing role in systems management.
By Jeff Daniels, September 2009
By Justin Solomon, June 2009
By Anna Ritchie, June 2009
Courier problems comprise a set of recently proposed combinatorial optimization problems, which are inspired by some novel requirements in railway wagon scheduling. In these problems, scheduling strategies of some mobile couriers are considered. These mobile couriers initially reside at some fixed location. They are assigned some duties of commodity transfer between different pairs of locations. The scenario may be static or dynamic. The motivation is to optimize the movement of the couriers over the constraint of the traversed path or the associated cost. We discuss here some varieties of the courier problems formalized on graphs and address the potential methods of their solution.
By Malay Bhattacharyya, June 2009
By Aris Gkoulalas-Divanis, Vassilios S. Verykios, June 2009
By Steve Clough, March 2009
By Daniel W. Goldberg, March 2009
This article describes a technique to visualize query results, representing purchase orders placed on Amazon.com, along a traditional 2-D scatter plot and a space-filling spiral. We integrate 3-D objects that vary their spatial placement, color, and texture properties into a visualization algorithm. This algorithm represents important aspects of a purchase order based on experimental results from human vision, computer graphics, and psychology. The resulting visual abstractions are used by viewers to rapidly and effectively explore and analyze the underlying purchase orders data.
By Amit Prakash Sawant, Christopher G. Healey, Dongfeng Chen, Rada Chirkova, March 2009
By Caio Camargo, March 2009
By William Ella, December 2008
By Joonghoon Lee, December 2008
By Cara Cocking, December 2008
Computational semantics has become an interesting and important branch of computational linguistics. Born from the fusion of formal semantics and computer science, it is concerned with the automated processing of meaning associated with natural language expressions . Systems of semantic representation, hereafter referred to as semantic formalisms, exist to describe meaning underlying natural language expressions. To date, several formalisms have been defined by researchers from a number of diverse disciplines including philosophy, logic, psychology and linguistics. These formalisms have a number of different applications in the realm of computer science. For example, in machine translation a sentence could be parsed and translated into a series of semantic expressions, which could then be used to generate an utterance with the same meaning in a different language . This paper presents two existing formalisms and examines their user-friendliness. Additionally, a new form of semantic representation is proposed with wide coverage and user-friendliness suitable for a computational linguist.
By Craig Thomas, December 2008
By Salik Syed, September 2008
Optimizing embedded applications using a compiler can generally be broken down into two major categories: hand-optimizing code to take advantage of a particular processor's compiler and applying built-in optimization options to proven and well-polished code. The former is well documented for different processors, but little has been done to find generalized methods for optimal sets of compiler options based on common goal criteria such as application code size, execution speed, power consumption, and build time. This article discusses the fundamental differences between these two general categories of optimizations using the compiler. Examples of common, built-in compiler options are presented using a simulated ARM processor and C compiler, along with a simple methodology that can be applied to any embedded compiler for finding an optimal set of compiler options.
By Joe Bungo, September 2008
Geometric and path tracing methods for simulating light transport through volumes of water particles
The visual appearance of volumes of water particles, such as clouds, waterfalls, and fog, depends both on microscopic interactions between light rays and individual droplets of water, and also on macroscopic interactions between multiple droplets and paths of light rays. This paper presents a model that builds upon a typical single-scattering volume renderer to correctly account for these effects. To accurately simulate the visual appearance of a surface or a volume of particles in a computer-generated image, the properties of the material or particle must be specified using a Bidirectional Reflectance Distribution Function (BRDF), which describes how light reflects off of a material, and the Bidirectional Transmittance Distribution Function (BTDF), which describes how light refracts into a material. This paper describes an optimized BRDF and BTDF for volumes of water droplets, which takes their geometry into account in order to produce well-known effects, such as rainbows and halos. It also describes how a multiple-scattering path tracing volume integrator can be used to more accurately simulate macroscopic light transport through a volume of water, creating a more "cloudlike" appearance than a single-scattered volume integrator. This paper focuses on replicating the visual appearance of volumes of water particles, and although it makes use of physical models, the techniques presented are not intended to be physically accurate.
By James Hegarty, September 2008
By Ed DeHart, September 2008
By Sid Stamm, June 2008
This article presents an automated technique for visualizing large software architectures using multiple graphical representations, including multi-dimensional scaling, 2-D grid, and spiral layouts. We describe how our software visualization methods were applied to the Network Appliance operating system known as Data ONTAP 7G (ONTAP). We show how each method can be applied to comprehend a specific aspect of ONTAP. This approach can be used by software engineers, architects, and developers to better understand the architecture of their code.
By Amit Prakash Sawant, Naveen Bali, March 2008
By Cara Cocking, March 2008
By Leslie Sandoval, March 2008
This paper presents the results of an empirical study aimed at examining the extent to which software engineers follow a software process and the extent to which they improvise during the process. Our subjects tended to classify processes into two groups. In the first group are the processes that are formal, strict, and well-documented. In the second group are the processes that are informal and not well-structured. The classification has similar characteristics to the model proposed by Truex, Baskerville, and Travis . Our first group is similar to their methodical classification, and our second group is similar to their amethodical classification. Interestingly, software engineers using a process in the second group stated that they were not using a process. We believe that software engineers who think that they are not using a process, because they have the prevalent concept of process as something methodical that is strict and structured, actually are using an informal (amethodical) process. We also found that software engineers improvise while using both types of processes in order to overcome shortcomings in the planned path which arose due to unexpected situations. This finding leads us to conclude that amethodical processes are processes too.
By Rosalva E. Gallardo-Valencia, Susan Elliott Sim, December 2007
This project visualizes a scientific dataset containing two-dimensional flow data from a simulated supernova collapse provided by astrophysics researchers. We started our project by designing visualizations using multiple hand drawings representing the flow data without taking into consideration the implementation constraints of our designs. We implemented a few of our hand drawn designs. We used an assortment of simple geometric graphical objects, called glyphs, such as, dots, lines, arrows, and triangles to represent the flow at each sample point. We also incorporated transparency in our visualizations. We identified two important goals for our project: (1) design different types of graphical glyphs to support flexibility in their placement and in their ability to represent multidimensional data elements, and (2) build an effective visualization technique that uses glyphs to represent the two-dimensional flow field.
By Amit Prakash Sawant, Christopher G. Healey, December 2007
Fans of PC role-playing games need no introduction to Bioware-the Edmonton, Alberta based developer of Baldur's Gate, Neverwinter Nights, and Jade Empire, among others. The company recently opened a studio in Austin, Texas to develop a massively multiplayer online role-playing game (MMORPG, or simply MMO) for an unannounced intellectual property. Ben Earhart, client technology lead on the new project, took a few hours out of his busy schedule to discuss with Crossroads the future of real-time rendering-3-D graphics that render fast enough to respond to user input, such as those required for video games.
By James Stewart, December 2007
By Gregory M. Zaverucha, December 2007
Prosodic phrasing is the means by which speakers of any given language break up an utterance into meaningful chunks. The term "prosody" itself refers to the tune or intonation of an utterance, and therefore prosodic phrases literally signal the end of one tune and the beginning of another. This study uses phrase break annotations in the Aix-MARSEC corpus of spoken English as a "gold standard" for measuring the degree of correspondence between prosodic phrases and the discrete syntactic grouping of prepositional phrases, where the latter is defined via a chunk parsing rule using nltk_lite's regular expression chunk parser.
A three-way comparison is also introduced between the "gold standard" chunk parsing rule and human judgment in the form of intuitive predictions about phrasing. Results show that even with a discrete syntactic grouping and a small sample of text, problems may arise for this rule-based method due to uncategorical behavior in parts of speech. Lack of correspondence between intuitive prosodic phrases and corpus annotations highlights the optional nature of certain boundary types. Finally, there are clear indications, supported by corpus annotations, that significant prosodic phrase boundaries occur within sentences and not just at full stops.
By Claire Brierley, Eric Atwell, December 2007
By Daniel Alex Finkelstein, December 2007
Static analysis tools are useful for finding common programming mistakes that often lead to field failures. However, static analysis tools regularly generate a high number of false positive alerts, requiring manual inspection by the developer to determine if an alert is an indication of a fault. The adaptive ranking model presented in this paper utilizes feedback from developers about inspected alerts in order to rank the remaining alerts by the likelihood that an alert is an indication of a fault. Alerts are ranked based on the homogeneity of populations of generated alerts, historical developer feedback in the form of suppressing false positives and fixing true positive alerts, and historical, application-specific data about the alert ranking factors. The ordering of alerts generated by the adaptive ranking model is compared to a baseline of randomly-, optimally-, and static analysis tool-ordered alerts in a small role-based health care application. The adaptive ranking model provides developers with 81% of true positive alerts after investigating only 20% of the alerts whereas an average of 50 random orderings of the same alerts found only 22% of true positive alerts after investigating 20% of the generated alerts.
By Sarah Smith Heckman, December 2007
The physiology of how the human brain recalls memories is not well understood. Neural networks have been used in an attempt to model this process.
Two types of networks have been used in several models of temporal sequence memory for simple sequences of randomly generated and also of structured patterns: auto- and hetero-associative networks. Previous work has shown that a model with coupled auto- and hetero-associative continuous attractor networks can robustly recall learned simple sequences. In this paper, we compare Hebbian learning and pseudo-inverse learning in a model for recalling temporal sequences in terms of their storage capacities. The pseudo-inverse learning method is shown to have a much higher storage capacity, making the new network model 700% more efficient by reducing calculations.
By Kate Patterson, December 2007
By Nitin Madnani, September 2007
In this study, we developed an algorithmic method to analyze late contrast-enhanced (CE) magnetic resonance (MR) images, revealing the so-called hibernating myocardium. The algorithm is based on an efficient and robust image registration algorithm. Using our method, we are able to integrate the static late CE MR image with its corresponding cardiac cine MR images, constructing cardiac motion CE MR images, which are referred to as cardiac cine CE MR images. This method appears promising as an improved cardiac viability assessment tool
By Gang Gao, Paul Cockshott, September 2007
By Deepti Singh, Frank Boland, September 2007
This design pattern is an extension of the well-known state pattern , which allows an object to change its behavior depending on the internal state of the object. The behavior is defined by events, whose transformation to actions depends on the object state. This pattern introduces a way to manage state actions.
By Gunther Palfinger, September 2007
By Jonathan Doyle, September 2007
By Justin Solomon, September 2007
This paper presents the core knowledge required to properly develop 2D games in Java. We describe the common pitfalls that can easily degrade graphics performance and show how we achieved impressive frames-per-second display updates when implementing Minueto, a game development framework.
By Alexandre Denault, Jörg Kienzle, March 2007