Les systèmes distribués sont souvent construits en assemblant des composants prêts à l’emploi (OTS) développés indépendamment. La pratique actuelle consiste à interconnecter manuellement leurs API. Cette méthode est complexe, fastidieuse et sujette aux erreurs.
Pour résoudre ce problème, Varda propose un langage de haut niveau prenant en compte la correction des systèmes dès la conception. Un programme Varda décrit l’architecture du système à l’aide d’entités et de contraintes formelles. Le compilateur vérifie statiquement l’architecture, génère une implémentation correcte et injecte des tests dynamiques. Pour gagner en productivité, Varda automatise la génération du code d’interconnexion. Pour améliorer les performances, le compilateur applique des optimisations préservant la sémantique du système.
Nos expériences montrent que les applications Varda sont compactes, modulaires, et ont un surcoût modeste à l’exécution.