Purdue University
Computer Science
Fig. 1: A ScanEagle UAV with the Boeing PRiSMj software and the Ovm Real-time JVM.
Object-oriented languages provide little support for encapsulating objects. Reference semantics allows objects to escape their defining scope, and the pervasive aliasing that ensues remains a major source of software defects. This paper... more
We study the problem of detecting and eliminating redundancy in a sensor network with a view to improving energy efficiency, while preserving the network's coverage. We also examine the impact of redundancy elimination on the related... more
Scripting is a programming technique in which applications are constructed by composing specially designed, pre-packaged software components using a restricted set of scripting operators. Scripting simplifies programming by cutting down... more
Priority inversion is an important concern in providing robust synchronization in real-time systems. When a highpriority task attempts to acquire a lock held by a low priority task, it is often necessary to momentarily resume the... more
Object-oriented programming techniques are known to improve the flexibility and reusability of certain kinds of software. Libraries of object classes, however, continue to be difficult both to develop and to reuse. We present an approach... more
JavaSeal is a secure mobile agent kernel that provides a small and coherent set of abstractions for constructing agent applications. This paper describes the design of these abstractions and their implementation. We address the... more
Stack-based languages, such as PostScript, present a major challenge to static analysis techniques because of their almost unlimited polymorphism. We introduce a regular expression notation that is used to represent allowed combinations... more