The development and management of distributed systems is a complex task that requires expertise in many areas. This complexity increases significantly in swarm systems, which are highly dynamic and heterogeneous, requiring decentralized solutions that adapt to highly dynamic system conditions. The TARDIS project focuses on supporting the proper and efficient development of applications for swarms and decentralized distributed systems by combining a new programming standard with a toolkit to support the development and execution of applications. The programming environment will help in creating correct systems by leveraging behavioral types for the automatic analysis of interactions among components to ensure the correctness of their application while considering the immutability of applications and the properties of the target execution environment.
The underlying TARDIS distributed middleware will provide core services, including data management and decentralized machine learning components. The middleware will hide the heterogeneity and handle the dynamism of the distributed execution environment by orchestrating and adapting the execution of different application components across all devices in an autonomous and intelligent way. The outcomes of TARDIS will be integrated into a development environment, as well as provided as standalone tools, which can be used for the development of applications for swarm systems. The project's results will be validated within the context of four different use cases provided by high-impact industrial partners, ranging from swarm satellites, decentralized dynamic marketplaces, decentralized machine learning solutions for personal assistant applications, and the distributed control process of a smart factory.