Abstract
This paper describes the architecture and implementation of a constraint-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 flexible 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.
R. Jagadeesan, X. Jiang and K. Läufer were supported in part by a grant from NSF.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
L. Alenius and V. Gupta. Modeling an AERCam: A case study in modeling with concurrent constraint languages. In CP’98 Workshop on Modeling and Computation in the Concurrent Constraint Languages, October 1998.
R. Alur, C. Coucoubetis, N. Halbwachs, T.A. Henzinger, P.-H. Ho, X. Nicollin, A. Olivero, J. Sifakis, and S. Yovine. The algorithmic analysis of hybrid systems. Theoretical Computer Science, 138:3–34, 1995.
T. Ball, C. Colby, P. Danielsen, L. J. Jagadeesan, R. Jagadeesan, K. Läufer, P. Mataga, and K. Rehor. Sisl: Several interfaces, single logic. Intl. J. of Speech Technology, 2000. Kluwer Academic Publishers, to appear.
H. Barringer, M. Fisher, D. Gabbay, G. Gough, and R. Owens. Metatem: A framework for programming in temporal logic. In J. W. de Bakker, W. P. de Roevere, and G. Rozenberg, editors, Stepwise Refinement of Distributed Systems-Models, Formalisms, Correctness. Springer-Verlag, 1990. LNCS 430.
M. Baudinet. Temporal logic programming is complete and expressive. In Proc. ACM Symp. on Principles of Programming Languages, 1989.
A. Benveniste and G. Berry. The synchronous approach to reactive and real-time systems. In Special Issue on Another Look at Real-time Systems, Proc. IEEE, September 1991.
C. Brzoska. Temporal logic programming and its relation to constraint logic programming. In V. A. Saraswat and K. Ueda, editors, Logic Programming: Proc. 1991 Intl. Symp., pages 661–677, 1991.
L. Cardelli and A. D. Gordon. Mobile ambients. In Foundations of Software Science and Computational Structures, LNCS 1378, 1998.
B. Carlson and V. Gupta. Hybrid CC and interval constraints. In T. A. Henzinger and S. Sastry, editors, Hybrid Systems 98: Computation and Control, LNCS 1386. Springer Verlag, April 1998.
E. M. Clarke and R. P. Kurshan. Computer-Aided Verification. IEEE Spectrum 33 (6), pages 61–67, (1996).
R. Cleaveland, J. Parrow, and B. Steffen. The concurrency workbench: A semantics based tool for the verification of concurrent systems. ACM Transactions on Prog. Lang. and Systems, 15(1), 1993.
C. Colby, L. J. Jagadeesan, R. Jagadeesan, K. Läufer, and C. Puchol. Design and implementation of Triveni: A process-algebraic API for threads + events. In Proc. IEEE Intl. Conf. on Computer Languages. IEEE Computer Press, 1998.
C. Colby, L. J. Jagadeesan, R. Jagadeesan, K. Läufer, and C. Puchol. Objects and concurrency in Triveni: A telecommunication case study in Java. In Proc. Fourth USENIX Conf. on Object Oriented Technologies and Systems, 1998.
C. Colby, L. J. Jagadeesan, R. Jagadeesan, K. Läufer, and C. Puchol. Semantics of Triveni: A process-algebraic API for threads + events. Electronic Notes in Theoretical Computer Science, 14, 1999.
C. Colby, R. Jagadeesan, K. Läufer, and C. Sekharan. Interaction, concurrency, and oop in the curriculum: a sophomore course. In Proc. 1998 OOPSLA Educators Workshop, 1998.
L. K. Dillon and Q. Yu. Oracles for checking temporal properties of concurrent systems. Software Engineering Notes, 19(5):140–153, December 1994. Proc. 2nd ACM SIGSOFT Symp. on Foundations of Software Engineering.
C. Elliott and P. Hudak. Functional reactive animation. In A CM SIGPLAN Intl. Conf. on Functional Programming, 1997.
C. Fournet, G. Gonthier, J.-J. Lévy, L. Maranget, and D. Rémy. A calculus of mobile agents. In 7th Intl. Conf. on Concurrency Theory (CONCUR’96), pages 406–421, Pisa, Italy, August 26–29 1996. Springer-Verlag. LNCS 1119.
D. Gelernter. Now that the PC is dead. Wall Street Journal, Jan 1 2000. http://www.mirrorworlds.com/.
P. Godefroid. Model checking for programming languages using VeriSoft. In Proc. 24th ACM Symp. on Principles of Programming Languages, pages 174–186, 1997.
P. Godefroid, L. J. Jagadeesan, R. Jagadeesan, and K. Läufer. Automated systematic testing for constraint-based interactive services. In Proc. 8th Intl. Symp. on the Foundations of Software Engineering, November 2000. To appear.
S. Gregory. A declarative approach to concurrent programming. In Proc. 9th Intl. Symp. on Programming Languages, Implementations, Logics, and Programs, 1997.
P. Le Guernic, M. Le Borgne, T. Gauthier, and C. Le Maire. Programming real time applications with signal. In Special Issue on Another Look at Real-time Systems, Proc. IEEE, September 1991.
V. Gupta, R. Jagadeesan, and V. Saraswat. Hybrid cc, hybrid automata, and program verification. LNCS 1066, 1996.
V. Gupta, R. Jagadeesan, V. Saraswat, and D. G. Bobrow. Programming in hybrid constraint languages. LNCS 999, 1995.
V. Gupta, R. Jagadeesan, and V. A. Saraswat. Computing with continuous change. Science of Computer Programming, 30((1,2)):3–49, 1998.
Vineet Gupta, Vijay Saraswat, and Peter Struss. A model of a photocopier paper path. In Proc. 2nd IJCAI Workshop on Engineering Problems for Qualitative Reasoning, August 1995.
N. Halbwachs. Synchronous programming of reactive systems. The Kluwer International Series in Engineering and Computer Science. Kluwer Academic Publishers, 1993.
N. Halbwachs, P. Caspi, and D. Pilaud. The synchronous programming language lustre. In Special Issue on Another Look at Real-time Systems, Proc. IEEE, September 1991.
D. Harel. Statecharts: A visual approach to complex systems. Science of Computer Programming, 8:231–274, 1987.
C. A. R. Hoare. Communicating Sequential Processes. Prentice-Hall, 1985.
J. Jaffar and J. L. Lassez. Constraint logic programming. In Proc. 14th Annual ACM Symp. on Principles of Programming Languages, 1987.
G. Krasner and S. Pope. A cookbook for using the model-view-controller user interface. J. Object-Oriented Programming, 1(3):26–49, August/September 1988.
R. P. Kurshan. Computer-aided Verification of Coordinating Processes: the automata-theoretic approach. Princeton U. Press, 1994.
Z. Manna and A. Pnueli. The Temporal Logic of Reactive and Concurrent Systems. Springer-Verlag, 1991. 427 pp.
R. Merz. Efficiently executing temporal logic programs. In Fisher and R. Owens, editors, Proc. of IJCAI, 1993.
R. Milner. Communication and Concurrency. Prentice-Hall, 1989.
R. Milner, J. Parrow, and D. Walker. Mobile processes. Technical report, U. Edinburgh, 1989.
B. Moszkowski. Executing Temporal Logic Programs. Cambridge Univ. Press, 1986.
R. V. Renesse, K. P. Birman, and S. Maffeis. Horus, a flexible group communication system. Communications of the ACM, April 1996.
V. A. Saraswat. Concurrent Constraint Programming. Logic Programming and Doctoral Dissertation Award Series. MIT Press, March 1993.
V. A. Saraswat, R. Jagadeesan, and V. Gupta. Timed Default Concurrent Constraint Programming. J. Symbolic Computation, 22:475–520, 1996. Extended abstract appeared in the Proc. 22nd ACM Symp. on Principles of Programming Languages, San Francisco, January 1995.
E. Shapiro. The family of concurrent logic programming languages. ACM Computing Surveys, 21(3):413–510, September 1989.
M. Y. Vardi and P. Wolper. An automata-theoretic approach to automatic program verification. In Proc. IEEE Symp. on Logic in Computer Science, pages 322–331, 1986.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2000 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Gupta, V., Jagadeesan, L.J., Jagadeesan, R., Jiang, X., Läufer, K. (2000). A Constraint-Based Framework for Prototyping Distributed Virtual Applications. In: Dechter, R. (eds) Principles and Practice of Constraint Programming – CP 2000. CP 2000. Lecture Notes in Computer Science, vol 1894. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45349-0_16
Download citation
DOI: https://doi.org/10.1007/3-540-45349-0_16
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-41053-9
Online ISBN: 978-3-540-45349-9
eBook Packages: Springer Book Archive