C o m p u t a t i o n a l    L o g i c

Concurrent Constraint Programming for Time Critical Applications


Concurrent Constraint Programming for Time Critical Applications

ESPRIT Working Group

F.S. de Boer


Many applications in, for example, robotics, worldwide information networks, decision support systems, distributed multimedia computing and deductive temporal databases have time-critical aspects. However, programming concepts related to time have been mainly developed in the context of imperative programming. On the other hand a declarative programming style, since it reduces the gap between specifications and programs, facilitates the development, maintenance and modification of programs. Declarative programming is supported both by functional and logic languages. Logic languages have the further advantage that they allow simple concurrent extensions and they can naturally be integrated with constraint programming. Moreover, due to their explicit logical nature, they allow quite simple methodologies for program correctness. For these reasons, we believe that logic languages are natural candidates to deal with the difficulties of time-critical applications: Some of these difficulties can be better resolved within a framework which facilitates the transition from specifications to programs, supports rapid prototyping, allows simple paralellization and results in smaller programs.

The objective of this project is thus the investigation of time-critical applications within the paradigm of concurrent logic and constraint languages. More specifically, we aim at the design and development of a declarative logic language based on extensions of concurrent constraint programming. These extensions will consist of the introduction of real-time control structures and constraint domains for temporal reasoning. The design decisions will be based on the particular applications we will consider. Furthermore, we aim at the development of techniques for verification and analysis of programs, extending the existing methodologies for logic languages.

Approach and methodology

The overall approach is to develop and integrate programming concepts related to time with existing concurrent (constraint) logic languages. More specifically, the overall approach will be structured along the following lines: First we aim at an identification and classification of the kind of industrial time-critical applications most suited for a declarative programming style. The resulting classes of possible applications then will form the basis of an investigation of what are the most promising extensions of which existing constraint logic languages. This latter investigation will result in an outline of the design issues involved and will thus provide the necessary input for the actual development, implementation and application of the languages outlined, which includes also the development of techniques for verification and analysis of programs.

The research activities of the working group are coordinated by the organisation of a workshop of four days each nine months. Besides these workshops the main scientific interactions will take place in the form of exchanges of personnel, i.e. visits of researchers from one site to another site.

In order to identify industrially relevant applications and to maintain interaction with the synchronous community we have installed a steering committee with representatives of both industry and the synchronous community.

Exploitation of expected results

Most industrial applications involve in a critical sense timing constraints. In particular, the commitment to a declarative programming style will be especially important for applications arising in robotics (including the area of intelligent software agents), worldwide information networks, temporal deductive databases, distributed multimedia computing, decision support systems.

University of Utrecht,

Department of Computer Science

P.O. Box 80089

3508 TB Utrecht

The Netherlands.

Tel: 30 2533193, Fax: 30 2513791

Email: frankb@cs.ruu.nl.

Coordinator's Report ] Logic-Based Composition of Logic Languages ] Verification, Model Checking and Abstract Interpretation ] [ Concurrent Constraint Programming for Time Critical Applications ] Domain Theory in Abstract Interpretation ] Verification Techniques for Logic Programming: A Short Survey ]

Home ] Automated Deduction Systems ] Computational Logic & Machine Learning ] Concurrent & Constraint Logic Programming ] Language Design, Semantics & Verification Methods ] Logic Based Databases ] Program Development ] Knowledge Representation & Reasoning ]