Authored by Pavle Vasiljević, Miroslav Popović (University of Novi Sad, Faculty of Technical Sciences)

Recently, researchers at UNS developed the PTB-FLA adapter for Babel, and by plugging PTB-FLA onto Babel, over the adapter, they created PTB-FLA-Babel – the first TaRDIS free-form software stack (profile). The top-half of this stack comprises the PTB-FLA application and the PTB-FLA federated learning framework, whereas the bottom-half comprises Babel communication protocols framework atop the random tour, the anti-entropy, the eager push gossip broadcast, the overlay management (HyParView), and the libp2p middleware.
The PTB-FLA adapter consists of two components: Doppelgangers, which mimic remote PTB-FLA applications, and BabelAdapterApp, which transmits messages using network protocols implemented in Babel. These components communicate via TCP, using JSON as the message format to ensure cross-language compatibility between Python and Java.
BabelAdapterApp relies on primitives such as eager push gossip broadcast mechanism to facilitate communication between devices on a local network. It manages both device discovery and end-to-end message delivery to all participants, enabling seamless communication across the network.
A Doppelganger instance represents an exact duplicate of the remote PTB-FLA application for communication purposes. It serves as a bridge between Python’s multiprocessing communication primitives and BabelAdapterApp, ensuring message delivery to the correct PTB-FLA application instance.
Feel free to checkout out the PTB-FLA Babel Adapter demo and repository.