Developing and managing distributed systems is an intricate task that demands expertise across various domains, such as programming languages, hardware, networking, and data management. This complexity is further amplified when dealing with swarm systems, which are highly dynamic and necessitate decentralised solutions to handle their scale and inherent heterogeneity. Configuring a swarm of satellites, coordinating devices in a smart city while ensuring privacy-aware machine learning, or managing autonomous machines in a factory are challenges that exceed the capabilities of the typical software engineer. Developing dependable, secure, and efficient systems in these scenarios demands developers to consider multiple aspects of the system.
TaRDIS addresses these challenges by offering innovative programming models and tools designed specifically for heterogeneous swarms—intelligent, dynamic, decentralised, and heterogeneous systems. Developers need the ability to reason about the overall behaviour of a system where decisions are made on devices or in edge servers while disconnected from other parts of the network. To tackle this challenge, TaRDIS constructs a toolbox of programming tools, libraries, middleware, and theories.
The project is driven by industry leaders' four distinct use cases— from satellite swarms and decentralised energy marketplaces to privacy-preserving ML applications and smart factory controls.
TaRDIS development environment aims to assist developers in building correct and performant systems through advanced software verification techniques. These techniques automatically analyse and validate interactions between components of a distributed system. Our programming environment is supported by a toolset that offers fundamental services and abstractions for constructing and running swarm applications.
Our vision is made possible by the unique expertise of the TaRDIS consortium, which brings together top experts in programming languages, automatic verification, behavioural types, model checking, privacy and security, distributed systems, decentralised protocols, distributed data management solutions, distributed and federated machine learning, and reinforcement learning mechanisms. This project bridges two previously unconnected research communities - behavioural types and machine learning - while involving industry leaders in decentralised systems.
The TaRDIS system represents a significant advancement in the development of distributed and decentralised systems, particularly in managing complex, heterogeneous swarms. By integrating innovative programming models, advanced verification tools, and cutting-edge technologies, TaRDIS addresses the current challenges in the field and lays the groundwork for future developments.