A simulation tool for timed concurrent processes developed by the AVISPA Research Group


ntccSim is a simulation tool developed in the concurrent constraint programming (CCP) language Mozart-Oz in order to run program specifications in ntcc, a timed CCP process calculus. In brief, ntcc is a description language which allows the description of reactive systems involving discrete time, non-determinism and partial information as constraints. A complete reference to the theory and applications of ntcc is the paper

M. Nielsen, C. Palamidessi, and F. D. Valencia. Temporal concurrent constraint programming: Denotation, logic and applications. Nord. J. Comput., 9(1):145-188, 2002.

ntccSim allows one to simulate the operational behaviour of the basic ntcc constructs as well as to declare procedure and recursive process definitions. An important feature of this tool is that several constraint systems can be included in the same model. For instance, constraints over finite domains (FD) and real intervals (XRI) have been used to implement some constraint-based computational models of biological systems. In the current version of ntccSim only these two constraint systems are supported.

We have succesfully used ntccSim in the analysis of some biological systems. Ongoing work involves the analysis of systems in other areas, such as, for instance, in computer music and semantic multimedia interaction. Also, we are working on the extension of ntccSim with probabilistic information.


You can download the simulator from here. More info is available here

Running and Using ntccSim

How to configure the tool?

In the file ntccSim.oz, edit the path where the file RI.ozf is placed

Compile the file ntccSim.oz (ozc -c ntccSim.oz)

This process generates the file ntccSim.ozf

How to use the tool?

In your source file, edit the path where the file ntccSim.ozf is placed.

In your source file, edit the path where the file RI.ozf is placed.


The FD example (ejemploFD.oz) is executed from the Mozart environment.

The XRI examples (senode.oz, genode.oz, lacode.oz and operon.oz) are executed from a console application by using the makefile. make clean deletes the files generated after a simulation process. For that reason, it must be always executed. make generates the executable file with the simulation. zrall changes the character ~ to - . This must be done to feed gnuplot with the simulation results.

A normal simulation process can be done in this way (case genode.oz):

make clean




gnuplot xygens

showimage xygens.png


We would be happy to hear from your experiences with ntccSim. Please do not hesitate to write to avispa@googlegroups.com

grupos/avispa/ntccsim.txt · Última modificación: 2011/01/24 15:30 (editor externo)
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki