Software Developed
(A) Software to realize Cyber-Physical Systems
(i) TarJan: Currently under test
A Static cum Mobile Agent Platform running on Tartarus (see below). Facilitates Agents (both static and mobile) to be programmed and released into a network on-the-fly. It can be run on Windows, Ubuntu, Mac and also be used in conjunction with real robots and Raspberry Pi. It uses Janus as an interface between Python and Prolog. In addition, it also supports Webots, an industry standard robot simulator.
(ii) TarPy – A Mobile Agent Platform running on Tartarus (see below). Facilitates Agents (mobile & static) to be programmed and released into a network on-the-fly. It can be run on Windows, Ubuntu and also be used in conjunction with real robots and Raspberry Pi and uses PySwip as the interface between Python and Prolog. In addition, it also supports Webots, an industry standard robot simulator. This version proved to be unstable since PySwip updates do not seem to be compatible with all versions of SWI Prolog. A new platform using Janus is thus, being investigated.
(ii) Tartarus – A threaded mobile agent platform using SWI Prolog (Made open source on 30th January 2017).
This is an enhanced version of Typhon which supports both mobile and static agents. Using Tartarus one can emulate virtual overlay networks wherein nodes and agents (mobile and static) run as threads.
The platform when hosted on either Windows/Linux OS based PCs/Laptops or an Embedded System provides facilities for:
1. Creating an overlay type (static/dynamic) network of nodes across a LAN/Wifi
2, Creating and programming Static Agents within each of the nodes populating the network
3. Creating and programming Mobile Agents (agents can be programmed made to move autonomously)
4. Cloning of mobile agents
5. Mobile agents with payload (Payloads could be data/evolvable code)
6. On-the-fly programming – Agents can be injected (created) into the system or killed without bringing the system (network) down, thus altering its nature/behaviours during run time.
5. Agent-Agent-Machine communications
6. Logging all (asynch) events/activities within the network
7. Hardware-in-the-loop: The platform can be used in conjunction with Lego NXT Mindstorms and related sensors and Raspberry Pi boards and Intel's Galilieo.
8. Realization of Centralized/Decentralized/Distributed Control using agents (static and mobile)
9. Realization of IoTs and Cyber- Physical Systems
In addition one may also find hop times across the nodes, kill or create and inject agents on-the-fly. Tartarus also features writing evolvable code (a feature inherited due to the use of Prolog).
(iii) AgPi: Tartarus implementation for Raspberry Pi.
Facilitates Tartarus agents to access to hardware (i/o, sensors, etc.) via Wiring Pi. Mobile and static agents in AgPi can thus be programmed for real hardware-in-the-loop scenarios.
(iv) Typhon(not Typhoon) – A mobile agent platform using LPA Prolog and the associated Chimera agent system. The platform supports mobile agent creation, migration, cloning, autonomy, etc. Typhon has been used in a variety of applications to emulate and control real robots that form an IoT/Cyber-Physical System.
TarJan/Tartarus Applications:
What have we used them for:
1. Realizing Networked Robots and nodes (embedded or otherwise)
2. Synchronizing asynchronous tasks
3. Learning algorithms that run concurrently and also share information to facilitate faster convergence
4. Emulating Idiotypic Networks
5. Artificial Immune systems for Robot navigation
6. Decentralized and Distributed Collective of Robots
7. Emulating Bio-Inspired Algorithms
8. Resource discovery and service
9. Smart Rooms & Intelligent Systems
10. Raspberry Pi boards as nodes
11. Cyber Physical Systems/Internet of Things and many more.
12. Traffic emulation (Green corridor)
13. IoT for Railways
14. Indoor Localization
15. Embodied Life-long-learning
16. Decentralized Federated Learning
Envisaged Applications
1. Parallel/Concurrent processing
2. Concurrent (Centralized/decentralized/distributed) control applications for the real world
3. Agent based auctioning and related applications
4. Emulate Population based algorithms: Emulate Island or others models in GA where each solution could be an individual agent just as in Nature; PSO, ACO for real world applications, Genetic Programming & Evolvable programs
6. Running algorithms in real environments (with even hardware-in-the-loop)
7. Emulating graph algorithms
8. Recommendation systems
9. Tutoring Systems
10. Networked Collective of Robotics
Chakshu for the Visually Challenged:
Chakshu, a freeware for the Visually Challenged, was developed by two M.Tech. students as part of their M.Tech. project. The project was co-supervised by me (other Supervisors being – Profs. P. K. Das & J. K. Deka, Dept. of Computer Science and Engineering). The visually challenged students were given a hands-on training to facilitate its use. The software was also demonstrated and supplied to an NGO based in Guwahati and to other schools and colleges across the country.