Penn Engineering is the birthplace of the modern computer. It was here that the ENIAC, the world's first electronic, large-scale, general-purpose digital computer, was developed in 1946. Since this auspicious beginning more than five decades ago, the field of computer science at Penn has been marked by exciting innovations. Over the last few years, Penn CIS has grown in algorithms, theory of computation, networking, systems and architecture, and artificial intelligence. We are building on these successes to strengthen work on databases, graphics, programming languages, and security, and to deepen our interdisciplinary work in such areas as bioinformatics, cognitive science, robotics, and management.
PublicationA Hierarchical Database Model for a Logic Programming Language(1988-03-01) Finin, Timothy; McGuire, JamesThis paper presents an extended Clausal Database Model for a logic programming language. Instead of being restricted to one global database, as is the case with Prolog, we allow segmentation of the database into database units which are linked together into a semi-lattice. Each database unit defines a database view which includes clauses which have been asserted into that unit as well as clauses inherited from its ancestors higher in the lattice structure. This model supports arbitrary retraction. Retracting a clause in a database unit effectively blocks its inheritance for that unit and all of its descendants. Motivations for using this model are given. We also discuss the implementation of a Prolog meta-interpreter that uses this model. (hereafter referred to as (Phd) or Prolog Hierarchical Database) This meta-interpreter is in the spirit of Prolog and therefore has a version of assert, retract and cut. PublicationThe Shrink-Wrapped VPN Node(2000-01-01) Prevelakis, Vassilis; Keromytis, AngelosThe wide availability of public domain IPsec implementations allows the creation of VPNs based on low-cost platforms. However, setting up a VPN node involves a lot of work such as the creation of IPsec Security Associations and associated tunnels, including the necessary management of keys. Moreover, routing and firewall facilities must be provided to ensure the isolation of the members of the VPN from the public Internet. In this paper we present a drop-in VPN node that is compact, low-cost and requires little administration or maintenance. We discuss the features and advantages of our system. Next, we demonstrate how this system was used for the creation of a VPN linking networks within the University campus with others located in outside locations (e.g. other companies, home networks etc.) Finally, we present our evaluation of the work performed and describe our future plans. PublicationDynamic Network Construction and Updating Techniques for the Diagnoses of Acute Abdominal Pain(1992-08-01) Provan, Gregory; Clarke, John RComputing diagnoses in domains with continuously changing data is a difficult, but essential aspect of solving many problems. To address this task, this paper describes a dynamic influence diagram (ID) construction and updating system, DYNASTY, and its application to constructing a decision-theoretic model to diagnose acute abdominal pain, a domain in which the findings evolve during the diagnostic process. For a system which evolves over time, DYNASTY constructs a parsimonious ID, and then dynamically updates the ID, rather than constructing a new network from scratch for every time interval. In addition, DYNASTY contains algorithms for testing the sensitivity of the constructed network's system parameters. The main contributions of this paper are: (1) presenting an efficient temporal influence diagram technique based on parsimonious model construction; and (2) formalizing the principles underlying a diagnostic tool for acute abdominal pain which explicitly models time-varying findings. PublicationResource Sharing Through Query Process Migration(2001-01-01) Tannen, Val; Tannen, ValIn this paper we focus on systems whose goal is the distribution or exchange of resources such as software packages, scientific data, or multimedia files. To accomplish this goal efficiently, distributed systems find and retrieve resources using combinations of techniques such as brokering, proxying, caching, publish/subscribe, advertising, chaining, referral, recruiting, etc. The resulting architectures are complex and scale with difficulty. We propose two ideas that combine to make such systems much more scalable. One is to encapsulate queries into processes and to use process migration as the basic primitive for cooperation between sites. With this, a generic installer can run at each site, implementing any and all of the techniques mentioned above. The other idea is to describe resource access as "delayed" queries embedded in metadata. Standard distributed database techniques can be applied to the metadata with the additional side-effect of spawning appropriate query processes. We describe a distributed query language that can be obtained by adding our process manipulation primitives to any query language. We discuss installation strategies and we present an algorithm for the site-generic installer on which such a language is based. We also show how to apply query rewriting techniques that allow the installer to perform optimizations. Moreover, we give algorithms that insure that the global amount of installation associated with a given resource retrieval task is bounded. PublicationFast Image Segmentation(1989-07-01) Corke, Peter I; Anderson, Helen IImage segmentation remains one of the greatest problems in machine vision. The technique described here takes an image and a geometric description of the object required, determines multiple binary thresholds to segment the image, and combines the information from the appropriate thresholds. By utilizing region-growing hardware it is possible to achieve segmentation in less than 2 seconds. PublicationCCSR: A Calculus for Communicating Shared Resources(1990-03-12) Lee, Insup; Lee, InsupThe timing behavior of a real-time system depends not only on delays due to process synchronization, but also on the availability of shared resources. Most current real-time models capture delays due to process synchronization; however, they abstract out resource-specific details by assuming idealistic operating environments. On the other hand, scheduling and resource allocation algorithms used for real-time systems ignore the effect of process synchronization except for simple precedence relations between processes. To bridge the gap between these two disciplines, we have developed a formalism called Communicating Shared Resources, or CSR. This paper presents the priority-based process algebra called the Calculus for Communicating Shared Resources (CCSR), which provides an equational characterization of the CSR language. The computation model of CCSR is resource-based in that multiple resources execute synchronously, while processes assigned to the same resource are interleaved according to their priorities. CCSR possesses a prioritized strong equivalence for terms based on strong bisimulation. The paper also describes a producer and consumer problem whose correct timing behavior depends on priority. PublicationLoopy: Programmable and Formally Verified Loop Transformations(2016-07-21) Namjoshi, Kedar S.; Singhania, Nimit; Namjoshi, Kedar S.; Singhania, NimitAbstract. This paper presents a system, Loopy, for programming loop transformations. Manual loop transformation can be tedious and errorprone, while fully automated methods do not guarantee improvements. Loopy takes a middle path: a programmer specifies a loop transformation at a high level, which is then carried out automatically by Loopy, and formally verified to guard against specification and implementation mistakes. Loopy’s notation offers considerable flexibility with assembling transformations, while automation and checking prevent errors. Loopy is implemented for the LLVM framework, building on a polyhedral compilation library. Experiments show substantial improvements over fully automated loop transformations, using simple and direct specifications. PublicationMOSAIC: Multiple Overlay Selection and Intelligent Composition(2007-10-24) Loo, Boon Thau; Ives, Zachary G; Smith, Jonathan M; Loo, Boon Thau; Ives, Zachary G; Smith, Jonathan MToday, the most effective mechanism for remedying shortcomings of the Internet, or augmenting it with new networking capabilities, is to develop and deploy a new overlay network. This leads to the problem of multiple networking infrastructures, each with independent advantages, and each developed in isolation. A greatly preferable solution is to have a single infrastructure under which new overlays can be developed, deployed, selected, and combined according to application and administrator needs. MOSAIC is an extensible infrastructure that enables not only the specification of new overlay networks, but also dynamic selection and composition of such overlays. MOSAIC provides declarative networking: it uses a unified declarative language (Mozlog) and runtime system to enable specification of new overlay networks, as well as their composition in both the control and data planes. Importantly, it permits dynamic compositions with both existing overlay networks and legacy applications. This paper demonstrates the dynamic selection and composition capabilities of MOSAIC with a variety of declarative overlays: an indirection overlay that supports mobility (i3), a resilient overlay (RON), and a transport-layer proxy. Using a remarkably concise specification, MOSAIC provides the benefits of runtime composition to simultaneously deliver application-aware mobility, NAT traversal and reliability with low performance overhead, demonstrated with deployment and measurement on both a local cluster and the PlanetLab testbed. PublicationVideo Rate Visual Servoing for Robots(1989-02-01) Corke, Peter I; Paul, Richard PThis paper presents some preliminary experimental results in robotic visual servoing, utilizing a newly available hardware region-growing and moment-generation unit. A Unix-based workstation in conjunction with special purpose video processing hardware has been used to visually close the robot position loop at video field rate, 60Hz. The architecture and capabilities of the system are discussed. Performance of the closed-loop position control is investigated analytically and via step response tests, and experimental results are presented. Initial results are for 2 dimensional servoing, but extensions to 3 dimensional positioning are covered along with methods for monocular distance determination. Finally some limitations of the approach and areas for further work are covered. PublicationTracking by Planning(2011-01-01) Gong, Haifeng; Sim, Jiwoong; Shi, Jianbo; Shi, JianboWe introduce a method for tracking multiple people in a cluttered street scene. We use global context to address the challenge of long occlusion by endowing each tracked object with a planning agent. This planner uses context of the street scene, people and other moving objects to reason about pedestrian intended behavior for tracking under occlusion and ambiguity. We extract short but robust trajectories called tracklets by tracking people with a simple appearance model. We formulate the tracking problem as a batch mode optimization, linking tracklets into paths, each with supporting evidence by an agent’s goal directed behavior, and image partial matching along the trajectory gap. We propose a global criteria for consistent linking of the tracklet with planning that can correct local ambiguity in linking. We test our algorithm in a challenging real world setting, where we automatically estimate scene context and intended goals, then track multiple people from a moving camera.