HowTo Install DALI

This document guide you through DALI installation. DALI is a multi-platform environment, so this how to is both for Linux and Windows ( there's only a little warning in Windows Vista ).

Have you got a prolog?

DALI interpeter comes in the form of a folder named "DALI_Interpeter" that contains a lot of Sicstus Prolog scripts ( namely, ".pl" files ) and some "other stuff". Before start using DALI, you need a version of Sicstus Prolog. You can download it from here ( evaluation only ).

Install DALI

Please copy the DALI folder in a local folder ( for example, mine is "C:\Programmi\SICStus Prolog 4.1.1\DALI_Interpeter" ). That's All!

How To Load An Agent

You might know that DALI is a distributed system where several modules interact each other by means of messages. Substantially there are two modules that need to be loaded before the agent:

These two modules are ( from a static point of view ) two prolog scripts, namely the "server.pl" and the "user.pl" files in the DALI_Interpeter folder. To load them you can run the batch files contained in DALI_Interpeter/bat_files/ folders ( server.bat and user.bat ). Let's examine togheter these two batch files:

"C:\Programmi\SICStus Prolog 4.1.1\bin\spwin.exe" -l ../active_server_wi.pl --goal go(3010,'../server.txt'). 

In order to make this work, you'll need to modify the path of the Sicstus Prolog ( the red stuff in the example ) to the right location. If you're using linux, you'll have also to escape the "(" and the "'" characters.

And this one is the user module batch file:

"C:\Programmi\SICStus Prolog 4.1.1\bin\spwin.exe" -l ../active_user_wi.pl --goal utente.

Again, you'll need to modify the path of the Sicstus Prolog to the right location.

Agents are loaded with the help of batch files too. Suppose that we create a DALI script for an agent, and that we call it "agent.txt". As first, save it in the DALI_Interpeter/program/ folder.

Proceed creating an initialization file that contains several informations about the agent we intend to create ( as the name of the agent or if she has got ( or not ) an ontology. I suggest to call this file agent.txt. This file must be saved in the DALI_Interpeter/initialization_dali_files/ folder.

agent('../program/agent.txt',Agent_Name,'no',italian,
	['../communication'],['../communication_fipa','../learning','../planasp'],'no','../onto/dali_onto.txt',[]).

This is a template for agent initialization file. The fields of interest, for our purposes, are the first three only:

If the latter ( of these three ) field contains ( as in our example ) 'no', this means that the agent has not an ontology ( this doesn't mean that she will not acquire an ontology in the future! ).

Once the initialization file for the agent is created, we can finally create the batch file that will run the agent. The batch file must be contained in the DALI_Interpeter/bat_files/ folder, and I suggest to call it "agent.bat":

"C:\Programmi\SICStus Prolog 4.1.1\bin\spwin.exe" -l ../active_dali_wi.pl --goal start0('../initialization_dali_files/agent.txt').

Of course, you need to escape the "(" and the "'" characters to make this work under linux.

Now, if we launch the batch files of the server, the user and the agent, you should see that all works.. unless you're under Windows Vista! If you're using Windows Vista, you need also to connect to a net, or Sicstus will return you a "SPIO_NET ERROR" ( or something similar ). Once connected, everything should work.

Good Luck!