Siebog: An Enterprise-Scale Multiagent Middleware
Siebog is an enterprise-scale multiagent middleware consisting of the following main modules:
- Extensible Java EE-based Agent Framework (XJAF): Built using Java EE technologies, XJAF operates on top of computer clusters, offering automatic agent load-balancing, state-replication, and fault-tolerance.
- Radigost: Purely web-based multiagent platform, built using JavaScript and HTML5-related standards. Radigost agents are executed inside web browsers and can be used in a wide variety of hardware and software platforms, including personal computers, smartphones and tablets, Smart TVs, etc.
- Jason interpreter, Enterprise Edition (Jason EE): A port of the popular Jason interpreter to Java EE (i.e. using XJAF as the underlying infrastructure).
- Distributed Non-Axiomatic Reasoning System (DNARS): An advanced reasoning system based on the Non-Axiomatic Logic (NAL) formalism.
Selected Publications
- D. Mitrovic, M. Ivanovic, M. Vidakovic, Z. Budimac. Extensible Java EE-based Agent Framework in Clustered Environements. In J. Mueller, M. Weyrich, and A. L. C. Bazzan, eds., 12th German Conference on Multiagent System Technologies, vol. 8732 of Lecture Notes in Computer Science, pp. 202-215. Springer International Publishing, 2014. The final publication is available at SpringerLink.
- D. Mitrovic, M. Ivanovic, Z. Budimac, M. Vidakovic. Radigost: Interoperable web-based multi-agent platform. Journal of Systems and Software, 90:167-178, 2014.
- M. Vidakovic, M. Ivanovic, D. Mitrovic, Z. Budimac. Extensible Java EE-based agent framework - past, present, future. In M. Ganzha and L. C. Jain, eds., Multiagent Systems and Applications, vol. 45 of Intelligent Systems Reference Library, pp. 55-88. Springer Berlin Heidelberg, 2013.
- D. Mitrovic, M. Ivanovic, Z. Budimac, M. Vidakovic. Supporting heterogeneous agent mobility with ALAS. Computer Science and Information Systems, 9(3):1203-1229, 2012.
Details about non-axiomatic reasoning and NAL can be found here.
Download
Binary distribution of Siebog is available for download (ZIP, ~140MB).
The archive includes the WildFly enterprise application server (formerly: JBoss AS), pre-configured to work with Siebog.
Please note that Siebog requires Java SE Development Kit (JDK) version 8 to run. The Java Runtime Environment (JRE) will not suffice. You may download the latest JDK here.
Finally, to start Siebog, navigate to the unpacked folder, and run siebog.bat
on Windows or ./siebog.sh
on Linux (make sure the file is executable). Once you see the message INFO: Siebog node ready. visit the client application at http://localhost:8080/siebog. From there, you may explore the framework's functionalities and run some of the bundled example agents. For more information about writing your own agents, please consult the wiki pages or the project source code.
Running Siebog in a cluster
Siebog operates in a symmetric cluster: each node is connected to every other node. A single node is recognized as the master and can be used to remotely control the cluster. Other nodes are called slaves.
By default, Siebog is started as a single master node on localhost. This behavior can be changed using the program argument "--node":
- If the node is master, use --node=address, where address is the node's network address.
- Otherwise, use --node=name@address-master, where name is the cluster-wide unique name of the slave node, address is its network address, and master is the network address of a running master node.
Contact
If you have any questions or need additional information about Siebog, please send us an e-mail.