Experimenting with Stochastic Prolog as a Simulation Language

   page       BibTeX_logo.png   
23º Convegno Italiano di Logica Computazionale (CILC'08), pages 237–251
July 2008

While simulation is an established tool for scientific analysis, it is recently gaining more interest also in other contexts, such as software engineering.  Hence, more and more attention is devoted to the development of suitable simulation languages (and tools), and their exploitation in application development and run-time can become increasingly pervasive.  As already experienced in the context of general-purpose programming languages, we envision future developments towards expressiveness, with performance issues becoming less and less relevant.

Along this direction, we propose a preliminary stochastic simulation framework developed on top of a logic programming language, called Stochastic Prolog: this framework allows us to run simulations directly from Prolog-based specifications.  Our objective, in this work, is to put the basis for future research on logic stochastic language used for simulation purpose.  In our approach Prolog clauses can be labelled with rates modelling temporal/probabilistic aspects.  The main advantage of using Prolog is that it is significantly more expressive than other languages typically used in simulation, allowing to more easily encode complex specifications.  In order to evaluate our framework, we compare it with the stochastic language defined by the PRISM tool, by discussing as case study the collective sorting problem, a decentralised sorting strategy for multiagent systems (MAS) inspired by behaviours observed in social insects.