# Computers.

Self Organizing Sensor Networks Maximal Coverage Using Autonomous Mobil Nodes. Swapna Ghanekar, Fatma Mili and Imad Elhajj, Oakland University, Computer Science and Engineering, Rochester, MI

Advances in sensing and communication technology make sensor networks a convenient and cost effective tool for collecting data in hard to reach and hazardous areas. Increasingly, sensor networks are used to monitor the environment and enable swift and accurate intervention. Environmental monitoring is characterized by the facts that the area under surveillance tend to be large whereas incidents tend to be both sparse in time and localized. In this research, we investigate means by which we get full coverage, so that we do not miss events of interest, and low cost, so that we do not deploy too many sensors in areas where nothing is happening. To solve this problem, we propose using a combination of static and mobile sensor nodes. Initially, all nodes would be randomly deployed. The mobile sensor nodes are constantly on the lookout for "interesting" events. They move to areas where they can contribute useful and relevant information. As the dynamics of the events move, so do they. This paper describes the algorithm a node uses to determine whether it should move or not and to decide if it is in a sufficiently interesting area. We also discuss simulation results.

Proof Correctness Methods Applied to an Algorithm for Finding an Integer's Smallest Prime Divisor. Mike Zeiger, Eastern Michigan University, Department of Computer Science, Ypsilanti, MI 48197

In formal methods theory, a well-known theorem on loop correctness is usually used in the derivation of programs. In this paper, we present an example where we start with a program whose correctness seems plausible and actually prove its correctness a posteriori. The problem is to write a program which finds the smallest prime divisor of an integer N > 1. E. W. Dijkstra considered this problem in his monograph "A Discipline of Programming" but our approach is very different from his. The idea behind our program is to find a speedy algorithm based on the fact that we need only test factors of N up to and including its square root. The program we present was actually first written in C++, tested, and then translated into the language used in formal methods theory. The key to the proof of the program's correctness is coming up with suitable pre- and post-conditions and with an invariant and bound function which satisfy the conditions of the above-mentioned theorem. Before going through the proof, various examples are considered first.

Personality Traits in Successful Pair Programming. Gulgunes Atli and Joseph Chao, Bowling Green State University, Department of Computer Science, Bowling Green, OH 43402

Agile software development is a new set of software methodologies, lead by eXtreme Programming (XP), which promises to produce better software more quickly and more cheaply. Pair Programming (PP) is one of major practice in XP, where two programmers work together using one single computer. Recent studies show that PP increases the quality of software products. Some findings also show that pairs have higher productivity than solo programmers. Since PP involves human interactions, its success may be affected by the pairs' personality traits. The aim of the research is to find out which personality traits are critical to the success in PP. The hypothesis is that if we match PP partners based on their personality traits, PP becomes more applicable and will be helpful in producing high quality software products. We first conduct an online survey to software developers in the industry and find out which five personality traits they consider as the most important personality traits for pair programming partners. The result of this survey is the basis for my experiments which will determine the significance of personality traits in pair programming. The experiments are to be conducted among Computer Science students at Bowling Green State University.

Attack Prevention, Detection, and Recovery in Optical Networks. Nitin Bhargava and Leszek Lilien, Western Michigan University, Department of Computer Science, Kalamazoo, MI 49008-5466

This paper reviews a range of attacks on optical networks and available countermeasures. Attacks are divided into physical and logical. Physical attacks attempt to gain access to data on the physical level, and can be categorized as direct or indirect attacks. Logical attacks, also named database attacks, seek understanding of the meaning of data. Security solutions for protection of resources in optical networks require new approaches for prevention, detection and recovery from different attacks. First, we discuss general prevention schemes. For physical attacks, we show how hardware measures can be employed to alleviate service disruptions. Prevention schemes discussed for logical attacks include authentication, encryption and enforcement of privacy policies. Second, we survey a range of countermeasures for detection of physical and logical attacks. The former include power detection methods and pilot tone methods. The latter include anomaly detection and misuse detection. Third, we present recovery mechanisms needed in case an attack succeeds. Recovery from physical attacks could involve dynamic discovery of an alternate route. Recovery from logical attacks could enable user to restore committed data. The main contribution of this paper is systematic presentation of prevention, detection and recovery mechanisms for different kinds of attacks on optical networks.

No Piano No Problem: Dynamic Music Playback Without a Keyboardist Using a New MIDI Standard. (presentation and poster). Scott Everett Lynn and Susan Haynes, Eastern Michigan University, Department of Computer Science, Ypsilanti, MI 48197

The MIDI standard established in the early 1980's quickly changed the way many musicians recorded and performed arrangements. It became possible to combine instruments, arrange and modify sequences, and create radically different sound combinations using computer synthesizers. After over two decades, digital music has become pervasive, yet the power of MIDI is rarely used outside of the world of recording and performing. If dynamic MIDI playback were available it could provide a full and consistent music source that gives the experience of live music with minimal limitations. This paper will outline efforts towards establishing a restricted MIDI standard to provide dynamic MIDI playback. The paper will also discuss inherent timing issues and relevant data structures required to accomplish playback. There are several applications for dynamic MIDI playback, for example, churches, community theater, and educational settings. Any situation in which one has to resort to "canned" music (e.g., CDs) when live music is preferred can benefit from the more realistic experience of a dynamic MIDI playback. The paper concludes by reviewing experiences of several churches using this technology.

Windows DLL, Hooks and Related Security Issues. Augustine Ikeji, Eastern Michigan University, Computer Science Department, Ypsilanti, MI 48197

This presentation focuses on the Windows operating system Dynamic Link Libraries (DLLs) and Hooks. DLLs provide programmers with a way to dynamically link new code into that of a currently executing process. A primary advantage of this approach is that only the necessary libraries may be loaded during program execution. This saves both time and space. Using hooks, a process may have one or more of its methods "hijacked" and tricked into executing a different method rather than the original method. The new method is provided in the form of a callback function. Many processes in Windows including those handling Windows messages, keyboards and mouse events can be hooked. This opens up a lot of security holes especially since the hooks may be running behind the scene and users of the machine may not be aware of the activity. The presentation will give an overview of DLLs and Hooks and then show some examples based on the C/C++ programming language. Lastly, the security issues and how to detect if a process has been "hijacked" will be discussed.

On Synchronizing Instructions and Edge Coloring of Digraphs. Ranjan Chaudhuri, Eastern Michigan University, Department of Computer Science, Ypsilanti, MI 48197

Let G = (V, E) be a strongly connected digraph such that the outdegree of each vertex is two. A red-blue coloring of G is a coloring of the edges with two colors red(R) and blue (B) such that one red edge and one blue edge originates at each vertex. We define a string I belonging to {R, B}* to be an instruction. For a vertex v in V, let I (v) denote the vertex w that is reached from v if one follows the directed path labeled by the colors in I. We say that the graph G has a synchronizing instruction if there exists an instruction I such that for all v in V, I (v) = w for some w in V. Properties of digraphs having synchronizing instructions are studied in this paper.

A Comparison of the Computer Programming Languages. Morteza Marzjarani, Saginaw Valley State University, Computer Science Department, University Center, MI 48710

There are numerous computer programming languages available today, and every day we hear another language is added to the list. These languages are introduced primarily based on their applications, and where the language would be suitable to use. There are also situations where more than one language would suit the project. In this paper, a comparison is made among several newly introduced to the market. The comparison would involve features such as type checking, modularity (structured), encapsulation, and portability. In some cases, where languages share common features, a recommendation will be made as which language to use for a particular application.

Has the Dial-Up Modem Speed Reached Its Plateau? Aby Tehranipour, Eastern Michigan University, Department of Computer Science, Ypsilanti, MI 48197

The advances in networking technologies have significantly improved the bandwidth of networks from Mbps to Gbps. The increased bandwidth has culminated in the development of many new Internet applications and protocols like voice over IP, streaming video, etc. The bandwidth requirements of these and the next generation of applications is huge, and requires high speed Internet connections otherwise their performance deteriorates in quality. Although the use of broadband technologies (Cable and DSL) is becoming more common in industrialized nations, in reality, for most Internet users around the world, dial-up modems are still the primary means of access. Difficulties arise because the speed of dial-up modems have not increased since the late 90s, and is currently maxed at 56Kbps. With this speed, Internet users can't utilize these new applications effectively. This paper focuses on the history of modems in general and dial-up modems in particular. The most recent standards for dial-up modems (V.90 and V.92) as well as cable and DSL modems will be discussed. The reasons why dial-up modem technology has not kept pace with the other networking/hardware technologies will be articulated, and finally ways of improving and possibly breaking the 56Kbps speed barrier will be outlined.