Design patterns for games
Designing a two-person game involves identifying the game model to compute the best moves, the user interface (the "view") to play the game, and the controller to coordinate the model and the view. A crucial task is to represent the algorithms used in their highest abstract forms. This can prove to be a difficult and subtle endeavor. It is made easier however by the use of good object-oriented (OO) design principles to help maintain a high level abstract viewpoint during the design process. The state pattern is used to represent the game board and is coupled with the visitor pattern to provide state-dependent, variant behaviors. The min-max algorithm and its variants are implemented as the strategy pattern, which allows flexible and extensible computational capability. Careful analysis is performed to properly abstract the interactions between the model and the view. The command design pattern is used to provide callback services between the model and the view. Leading students through this design process enables them to learn algorithms and architectures that easily scale to full-sized applications.

title: Design patterns for marine biology simulation
abstract: We specify and implement a GUI application that simulates marine biological systems by making extensive use of object-oriented design patterns.The key design patterns are model-view-control, observer/observable, visitor, command, factory method and decorator. These design patterns help delineate the roles and responsibilities of the objects in the system, establish loose coupling between objects and arrange for the objects to communicate and cooperate with one another at the highest level of abstraction. The result is an application that exhibits minimal control flow, yet is powerful, robust, flexible and easy to maintain.Our work entails a non-trivial redesign of the current AP Computer Science Marine Biology Simulation case study and may serve as a case study for an introductory "object-first" curriculum.

title: Workflow-enabled distributed component-based information architecture for digital medical imaging enterprises
abstract: Few information systems today offer a flexible means to define and manage the automated part of radiology processes, which provide clinical imaging services for the entire healthcare organization. Even fewer of them provide a coherent architecture that can easily cope with heterogeneity and inevitable local adaptation of applications and can integrate clinical and administrative information to aid better clinical, operational, and business decisions. We describe an innovative enterprise architecture of image information management systems to fill the needs. Such a system is based on the interplay of production workflow management, distributed object computing, Java and Web techniques, and in-depth domain knowledge in radiology operations. Our design adapts the approach of "4+1" architectural view. In this new architecture, PACS and RIS become one while the user interaction can be automated by customized workflow process. Clinical service applications are implemented as active components. They can be reasonably substituted by applications of local adaptations and can be multiplied for fault tolerance and load balancing. Furthermore, the workflow-enabled digital radiology system would provide powerful query and statistical functions for managing resources and improving productivity. This paper will potentially lead to a new direction of image information management. We illustrate the innovative design with examples taken from an implemented system.

title: Stability Analysis of RED Gateway with Multiple TCP Reno Connections
abstract: It has been observed that a bottleneck random early detection (RED) gateway becomes oscillatory when regulating a flow in multiple TCP connections. The stability boundary of the TCP-RED system depends on various network parameters, making the adjustment of the RED gateway a difficult task. Based on a fluid-flow model, analytical conditions were formulated that describe the stable boundary of the RED gateway depending on the number of TCP Reno connections. The proposed model accurately generates a stability boundary surface in a four dimensional space, which facilitates the adjustment of parameters for stable operation of the RED gateway. The accuracy of the analytical results has been verified using the ns-2 network simulations.

title: Movement-based interactive dance performance
abstract: Movement-based interactive dance has recently attracted great interest in the performing arts. While utilizing motion capture technology, the goal of this project was to design the necessary real-time motion analysis engine, staging, and communication systems for the completion of a movement-based interactive multimedia dance performance. The movement analysis engine measured the correlation of dance movement between three people wearing similar sets of retro-reflective markers in a motion capture volume. This analysis provided the framework for the creation of an interactive dance piece, Lucidity, which will be described in detail. Staging such a work also presented additional challenges. These challenges and our proposed solutions will be discussed. We conclude with a description of the final work and a summary of our future research objectives.

title: Fast analytical approach to finding steady-state waveforms for power electronics circuits using orthogonal polynomial basis functions
abstract: This paper describes a general analytical procedure for steady-state waveform analysis of power electronics circuits using orthogonal polynomials. The proposed method exploits the time-domain piecewise property of power electronics circuits as well as the orthogonality of certain polynomials in order to maximize the accuracy and computational efficiency. This new analytical approach can provide a fast means to obtain improved and more robust solutions of steady-state waveforms of power electronics circuits

title: An architectural infrastructure and topological optimization for end system multicast
abstract: Although IP-multicast has been proposed and investigated for the some time, there are major problems inherent in the IP-multicasting technique, for example, scalability problems, difficulty to allocate a globally unique multicast address, complexity to support higher level features such as reliable data transfer congestion/flow control and security, and more importantly, deployment problem due to architectural changes to core routers. Recently, end-system multicast (ESM) has been proposed as an alternative solution so that multicasting services can be quickly deployed. In this paper we consider the "architectural" and "optimization " issues on designing an ESM-tree. Specifically, we present a distributed algorithm on how to create and maintain an ESM-tree. We also propose a distributed algorithm to perform a tree optimization (TO) so that an ESM-tree can dynamically adapt to the changing network condition (e.g., drop in transfer bandwidth) so that nodes can receive the multicast data more efficiently. The propose distributed algorithm has the theoretical properties that at all times, a tree-topology can be maintained and that any node joining, leaving, as well as any tree optimization operation will not "partition" an ESM-tree. Therefore, our work can be used to provide an efficient architectural infrastructure for ESM services. We have implemented a prototype ESM system and carried out experiments to illustrate the effectiveness and performance of our ESM optimization protocol.