CS-Prolog II distributed Prolog system is being developed from 1995. The syntax and the built-in procedures of the language are based on the standard ISO/IEC 13211-1. It is extended with features that were not included in the standard, like modularity, multitasking, real-time programming and network communication.
CS-Prolog II, supports the communicating sequential process programming methodology in a Prolog environment. On a single processor machine the concurrent processes are controlled by a time-sharing scheduler. The inter-process communication is ensured by a rendezvous mechanism (synchronous message passing through communication channels). Processes can backtrack, however communication is not backtrackable.
The channel based communication had recently been extended with networking capabilities. This makes possible message passing between different CS-Prolog II applications across the Internet. CS-Prolog II also provides communication with foreign (non CS-Prolog) applications, an interface to relational data base systems, real time programming methods like cyclic behaviour, reaction to predefined events, timed interrupts, etc.
The system consists of three main components: a compiler, a linker and a runtime system. The compiler contains a pre-processor similar to what is found in C compilers. The integrated development environment is based on OSF/Motif and runs on UNIX platforms. The main advantage of this environment is the multi-window trace utility in which the debugging messages of separate processes appear in separate windows.