Computer Science Research
Faculty are engaged in various research projects. Following are some of the current research activities and contacts.
Computer Networking: Real-time Information Sharing Everywhere (Sensorweb Research Laboratory)
Computer networking was born to enable information sharing at anywhere during anytime. It boosted the golden age of IT industry in the past decade. However, the key goals are still not reached at all: how can we find our interested information immediately if we don't know where it is? how can we share information in an inhospitable environment or collect information from an unattended environment? My research work is largely motivated by those needs of real-time and ubiquitous information gathering and sharing. Several emerging network technology has this potential. Peer-to-Peer (P2P) content networks provide a novel way to enable content-based information sharing, without knowing URL/IP address ahead. Targeting the second question, wireless technology has been quickly developed in the past few years because it provides more flexible communications. Specifically, a mobile ad hoc network (MANET) can be built anywhere with minimal preparation, and it provides a reliable and flexible system for immediate information sharing anywhere. In addition, the combination of MANET and sensor technologies, called wireless sensor networks, enables ubiquitous information gathering and sharing . My research aims to organize those distributed systems in the best and provide the most efficient way for information sharing among the society.

For a research opportunity at the undergraduate and graduate level, please visit Dr. Song's web site or contact Dr. Wenzhan Song .
Computer graphics: modeling and rendering intricate shapes using fractals; real-time shading
The image rendering speed of Graphics Processing Units (GPU), the specialized microprocessors found on modern graphics cards, has exploded over the last five years. Not only has the performance increased, so has their flexibility. In the past, the processing steps carried out by the GPU was fixed and the appearance of shaded surfaces could only be modified by altering a large set of parameters. We can now program the GPU directly to in order to achieve a myriad of specialized effects -- and this can be done in real-time. We are working on a techique for the real-time rendering of relief carvings such as those found on the walls of ancient Egyptian tombs. Instead of storing all the complex geometry necessary to draw these intricate textures, we store a compressed representation of the surface that allows us to instantly reshade the surface whenever a light source moves. This technique can allow archeologists to perform virtual "walk-throughs" of ancient sites and can enhance the realism in video games.
![]() |
![]() |
![]() |
Also, many problems that are not necessarily related to computer graphics can exploit the programmibility of the GPU. We are exploiting the programming power of the GPU to simulate electromagnetic waves using a discrete approximation to Maxwell's Equations. The fact that a GPU can multiply over 20 billion floating point numbers per second, as compare to only 6 on a 3GHz Pentium 4, reveals our motivation to use the GPU.
For a research opportunity at the undergraduate and graduate level, please visit Dr. Cochran's web site or contact Dr. Cochran.
Software Design Analysis
Early detection and correction of errors in the software design phase can reduce total cost and time to market of a software product. Yet, analysis of design models usually consists of subjective walk-throughs and inspections, both of which lack the rigor of systematic evaluation. We are investigating approaches to systematically evaluate software design models. Evaluation techniques includes defining testing and security criteria, creating symbolic execution models, consistency checking, constraint analysis, metric definition and collection, and visual modeling. Analytical analysis as well as experiments and empirical studies are used to assess the evaluation techniques.
For a research opportunity at the undergraduate and graduate level, please visit Dr. Pilskalns' web site or contact Dr. Pilskalns .
Intelligent Software
The field of Artificial Intelligence (AI) seeks, in part, to design software systems that act autonomously on behalf of their user to perform complex tasks. AI has been a successful industry in its own right since the 1980s, but increases in computing power and availability as well as increased network connectivity suggest that AI will play an even greater role in the technologies of tomorrow.
As software, and in particular autonomous agent software, increases in complexity, the task of determining whether it will behave as expected becomes more difficult. This effect will create a gap between our promised ability to design intelligent agents and our readiness to trust them with important tasks.
Our research seeks to bridge this divide by examining agents and the agent design process. Through comparisons and evaluations of agent architectures, we seek to improve tools for designing agent systems. Our work on knowledge base validation examines low-cost but effective methods for identifying and correcting flaws in an agent's behavior before it leaves the laboratory. Finally, our work on meta-cognitive agents seeks to bring validation techniques out of the laboratory and embed them within a working agent system. In this way, we hope to provide agents with a mechanism for evaluating their own behavior and an indicator for when they should seek assistance on their task.
For a research opportunity at the undergraduate and graduate level, please visit Dr. Wallace's web site or contact Dr. Wallace .


