DALI Multi Agent Systems Framework
DALI is a meta interpreter built on top of Sicstus Prolog (R) (at the moment).
DALI is built upon the SICStus Prolog interpreter, for which you a need a valid license. You may use any latest SICStus version at your own risk, but DALI has been tested to work reasonably well with the 4.6.0 version.
Also some OS-specific instructions:
OS X & Linux:
You can download DALI and test it by running an example DALI MAS:
git clone https://github.com/AAAI-DISIM-UnivAQ/DALI.git
cd DALI/Examples/advanced
bash startmas.sh
You will see different windows opening:
- Prolog LINDA server (active_server_wi.pl)
- Prolog FIPA client (active_user_wi.pl)
- 1 instance of DALI metaintepreter for each agent (active_dali_wi.pl)
Windows:
You can download DALI from https://github.com/AAAI-DISIM-UnivAQ/DALI.git.
- Unzip the repository, go to the folder "DALI/Examples/basic", and test if DALI works by duble clicking "startmas.bat" file (this will launch an example DALI MAS).
You will see different windows opening: - Prolog LINDA server (active_server_wi.pl)
- Prolog FIPA client (active_user_wi.pl)
- 1 instance of DALI metaintepreter for each agent (active_dali_wi.pl)
You can find some examples into the Example folder, where examples are divided into 3 subfolders:
- basic: aimed at basic Windows-based setup, no agent types, every agent living in a separated sicstus window.
- advanced: more complex, aimed at Unix-like based environment, with agent type, instances, each agent living in a separated xterm console.
- more: MAS examples derived from our students projects.
To create a new DALI MAS, you can use an example as a boilerplate:
- Create a folder to contain your project, for example let's call it "projectFolder"
- Copy the folder "DALI/src" into "projectFolder"
- In "projectFolder", create a folder that will contain your DALI app, for example let's call it "DALIappFolder"
- Copy the content of "DALI/Examples/advanced" folder in "projectFolder/DALIappFolder"
- Rewrite the files contained in "projectFolder/DALIappFolder/mas/instances" and in "projectFolder/DALIappFolder/mas/instances" in a proper way (see DALI documentation), in order to create your DALI MAS.
- Open the "startmas" file and change the following variables according to your paths:
- sicstus_home: The SICStus prolog path
- main_home: # The "projectFolder" path, in relation to the "startmas" file position (in this example it is "..")
- dali_home: # The "projectFolder/src" folder path, in relation to the "startmas" file position (in this example it is "../src")
- conf_dir: # The "projectFolder/conf" folder path, in relation to the "startmas" file position (in this example it is "conf")
Check release history page.
Giovanni De Gasperis – @giodegas – giovanni.degasperis-at-univaq-it
Distributed under the Apache License 2.0. See LICENSE
for more information.
http://github.com/AAAI-DISIM-UnivAQ
To complete
- Fork it (https://github.com/AAAI-DISIM-UnivAQ/DALI/fork)
- Create your feature branch (
git checkout -b feature/fooBar
) - Commit your changes (
git commit -am 'Add some fooBar'
) - Push to the branch (
git push origin feature/fooBar
) - Create a new Pull Request
- in Robotics: coordination among store delivery robots: Video from S. Valentini:
- DALI 1.0 original URL: http://www.di.univaq.it/stefcost/Sito-Web-DALI/WEB-DALI (no more active)
- COSTANTINI, Stefania. The DALI Agent-Oriented Logic Programming Language: Summary and References 2015.
- COSTANTINI S, TOCCHIO A. A logic programming language for multi-agent systems. Logics in Artificial Intelligence, Springer Berlin Heidelberg, 2002, pp:1-13.
- COSTANTINI S, TOCCHIO A. The DALI logic programming agent-oriented language. In Logics in Artificial Intelligence Springer Berlin Heidelberg, 2004, pp:685-688.
- COSTANTINI S, TOCCHIO A. DALI: An Architecture for Intelligent Logical Agents. In: AAAI Spring Symposium: Emotion, Personality, and Social Behavior. 2008. pp:13-18.
- BEVAR V, COSTANTINI S, TOCCHIO A, DE GASPERIS G. A multi-agent system for industrial fault detection and repair. In: Advances on Practical Applications of Agents and Multi-Agent Systems. Springer Berlin Heidelberg, 2012. pp:47-55.
- DE GASPERIS, G, BEVAR V, COSTANTINI S, TOCCHIO A, PAOLUCCI A. Demonstrator of a multi-agent system for industrial fault detection and repair. In: Advances on Practical Applications of Agents and Multi-Agent Systems. Springer Berlin Heidelberg, 2012. pp:237-240.
- DE GASPERIS Giovanni. DETF 1st Release (Version 14.08a). Zenodo. , 2014, August 6.
- COSTANTINI, Stefania; DE GASPERIS, Giovanni; NAZZICONE, Giulio. DALI for cognitive robotics: principles and prototype implementation. In: International Symposium on Practical Aspects of Declarative Languages. Springer, Cham, 2017. p. 152-162.
- COSTANTINI, Stefania, DE GASPERIS, Giovanni, PITONI Valentina, SALUTARI Agnese. DALI: A multi agent system framework for the web, cognitive robotic and complex event processing., CILC 2017, 32nd Italian Conference on Computational Logic 26-28 September 2017, Naples, Italy
- RAFANELLI, Andrea; COSTANTINI, Stefania; DE GASPERIS, Giovanni. A Multi-Agent-System framework for flooding events. 2022. WOA 2022: 23rd Workshop From Objects to Agents, September 1–2, Genova, Italy
- COSTANTINI, Stefania. *Ensuring trustworthy and ethical behaviour in intelligent logical agents. Journal of Logic and Computation, 2022, 32.2: 443-478.