Skip to main content

A Constraint-Based Framework for Prototyping Distributed Virtual Applications

  • Conference paper
  • First Online:
  • 576 Accesses

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1894))

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

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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.

    Google Scholar 

  2. 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.

    Article  MATH  MathSciNet  Google Scholar 

  3. 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.

    Google Scholar 

  4. 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.

    Google Scholar 

  5. M. Baudinet. Temporal logic programming is complete and expressive. In Proc. ACM Symp. on Principles of Programming Languages, 1989.

    Google Scholar 

  6. 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.

    Google Scholar 

  7. 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.

    Google Scholar 

  8. L. Cardelli and A. D. Gordon. Mobile ambients. In Foundations of Software Science and Computational Structures, LNCS 1378, 1998.

    Chapter  Google Scholar 

  9. 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.

    Google Scholar 

  10. E. M. Clarke and R. P. Kurshan. Computer-Aided Verification. IEEE Spectrum 33 (6), pages 61–67, (1996).

    Article  Google Scholar 

  11. 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.

    Google Scholar 

  12. 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.

    Google Scholar 

  13. 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.

    Google Scholar 

  14. 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.

    Google Scholar 

  15. 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.

    Google Scholar 

  16. 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.

    Google Scholar 

  17. C. Elliott and P. Hudak. Functional reactive animation. In A CM SIGPLAN Intl. Conf. on Functional Programming, 1997.

    Google Scholar 

  18. 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.

    Google Scholar 

  19. D. Gelernter. Now that the PC is dead. Wall Street Journal, Jan 1 2000. http://www.mirrorworlds.com/.

  20. P. Godefroid. Model checking for programming languages using VeriSoft. In Proc. 24th ACM Symp. on Principles of Programming Languages, pages 174–186, 1997.

    Google Scholar 

  21. 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.

    Google Scholar 

  22. S. Gregory. A declarative approach to concurrent programming. In Proc. 9th Intl. Symp. on Programming Languages, Implementations, Logics, and Programs, 1997.

    Google Scholar 

  23. 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.

    Google Scholar 

  24. V. Gupta, R. Jagadeesan, and V. Saraswat. Hybrid cc, hybrid automata, and program verification. LNCS 1066, 1996.

    Google Scholar 

  25. V. Gupta, R. Jagadeesan, V. Saraswat, and D. G. Bobrow. Programming in hybrid constraint languages. LNCS 999, 1995.

    Google Scholar 

  26. V. Gupta, R. Jagadeesan, and V. A. Saraswat. Computing with continuous change. Science of Computer Programming, 30((1,2)):3–49, 1998.

    Article  MATH  MathSciNet  Google Scholar 

  27. 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.

    Google Scholar 

  28. N. Halbwachs. Synchronous programming of reactive systems. The Kluwer International Series in Engineering and Computer Science. Kluwer Academic Publishers, 1993.

    Google Scholar 

  29. 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.

    Google Scholar 

  30. D. Harel. Statecharts: A visual approach to complex systems. Science of Computer Programming, 8:231–274, 1987.

    Article  MATH  MathSciNet  Google Scholar 

  31. C. A. R. Hoare. Communicating Sequential Processes. Prentice-Hall, 1985.

    Google Scholar 

  32. J. Jaffar and J. L. Lassez. Constraint logic programming. In Proc. 14th Annual ACM Symp. on Principles of Programming Languages, 1987.

    Google Scholar 

  33. 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.

    Google Scholar 

  34. R. P. Kurshan. Computer-aided Verification of Coordinating Processes: the automata-theoretic approach. Princeton U. Press, 1994.

    Google Scholar 

  35. Z. Manna and A. Pnueli. The Temporal Logic of Reactive and Concurrent Systems. Springer-Verlag, 1991. 427 pp.

    Google Scholar 

  36. R. Merz. Efficiently executing temporal logic programs. In Fisher and R. Owens, editors, Proc. of IJCAI, 1993.

    Google Scholar 

  37. R. Milner. Communication and Concurrency. Prentice-Hall, 1989.

    Google Scholar 

  38. R. Milner, J. Parrow, and D. Walker. Mobile processes. Technical report, U. Edinburgh, 1989.

    Google Scholar 

  39. B. Moszkowski. Executing Temporal Logic Programs. Cambridge Univ. Press, 1986.

    Google Scholar 

  40. R. V. Renesse, K. P. Birman, and S. Maffeis. Horus, a flexible group communication system. Communications of the ACM, April 1996.

    Google Scholar 

  41. V. A. Saraswat. Concurrent Constraint Programming. Logic Programming and Doctoral Dissertation Award Series. MIT Press, March 1993.

    Google Scholar 

  42. 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.

    Article  MATH  MathSciNet  Google Scholar 

  43. E. Shapiro. The family of concurrent logic programming languages. ACM Computing Surveys, 21(3):413–510, September 1989.

    Google Scholar 

  44. 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.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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

Publish with us

Policies and ethics