A Constraint-Based Framework for Prototyping Distributed Virtual Applications Vineet Gupta , Lalita Jategaonkar Jagadeesan , Radha Jagadeesan , Xiaowei Jiang , and Konstantin L¨ aufer PurpleYogi.com, 201 Ravendale, Mountain View, CA 94043 vineet,xjiang @purpleyogi.com Software Production Research Dept., Bell Laboratories, Lucent Technologies 263 Shuman Blvd., Naperville, IL 60566 lalita@research.bell-labs.com Dept. of Mathematical and Computer Sciences, Loyola University Chicago 6525 N. Sheridan Road, Chicago, IL 60626 radha, laufer @cs.luc.edu Abstract. This paper describes the architecture and implementation of a con- straint-based framework for rapid prototyping of distributed applications such as virtual simulations, collaborations and games. Our framework integrates three components based on (concurrent) constraint programming ideas: (1) Hybrid cc, a (concurrent) constraint modeling language for hybrid systems, (2) Sisl,a (discrete) timed constraint language for describing interactive services with flexi- ble user interfaces and (3) Triveni, a process-algebraic language for concurrent programming. The framework is realized as a collection of tools implemented in Java. The utility of the ideas are illustrated by sketching the implementations of simple distributed applications. 1 Introduction The focus of this paper is rapid prototyping in the domain of systems that include hybrid components, concurrency and reactivity, (virtual/code) mobility and distribution. The following systems exemplify the applications of interest: – Consider the computer simulation aspects of NASA’s Airport Surface Development and Test Facility (see http://sdtf.arc.nasa.gov/sdtf), an airport operations simulator. A typical virtual simulation in such a context involves large numbers of planes in large sections of airspace around an airport. – Consider the emerging area of distributed collaborative applications. In their sim- plest forms (Instant Messaging, MSN Messenger Service, ICQ etc.), this consists of contact/buddy lists and automatic notification of presence of contacts and so on. In more sophisticated virtual world scenarios, e.g., Gelernter’s vision of cy- berbodies and lifestreams [19], this idea is generalized to mobile and distributed repositories of information called cyberbodies. Chronological streams are the most common kind of cyberbody, since time and causality are natural ways to organize R. Jagadeesan, X. Jiang and K. L¨ aufer were supported in part by a grant from NSF.