This paper describes jcc, an integration of the timed default concurrent constraint programming framework [16] (Timed Default cc) into JAVA [7]. jcc is intended for use in education and research, for the programming of embedded reactive systems, for parallel/distributed simulation and modelling (particularly for space, robotics and systems biology applications), and to support the development of constraint-based program analysis and type-checking tools. In fully implementing the Timed Default cc framework, jcc supports the notion of (typed) logical variables (called "promises", after [5]), allows the programmer to add his/her own constraint system (an implementation of the Herbrand constraint system is provided), implements (instantaneous) defaults via backtracking, implements a complete renewal of the constraint-store at each time instant, and implements bounded-time execution of the Timed cc control constructs. jcc implements the notion of reactive vats [5] as single threads of execution within the JVM; a vat may be thought of as encapsulating a single synchronous, reactive Timed cc computation. A computation typically consists of a dynamically changing collection of interacting vats (some of which could potentially be located at different JVMs), with dynamically changing connectivity. jcc programs fully inter-operate with JAVA programs, and compile into standard JVM byte-code. jcc programs fully respect the JAVA type system; logical variables are typed. jcc is compatible with the Generic Java [3] extensions, thereby allowing the use of parameterized types. Indeed, jcc may be viewed as an extension of JAVA which replaces JAVA'S notoriously difficult imperative thread-based concurrency with the notion of reactive vats interacting via constraints on logical variables. jcc source code is available under the Lesser GNU licence through SourceForge. © Springer-Verlag Berlin Heidelberg 2003.
CITATION STYLE
Saraswat, V., Jagadeesan, R., & Gupta, V. (2003). jcc: Integrating timed default concurrent constraint programming into JAVA. Lecture Notes in Computer Science (Including Subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), 2902, 156–170. https://doi.org/10.1007/978-3-540-24580-3_23
Mendeley helps you to discover research relevant for your work.