Javascript must be enabled to continue!
Varda : a language for programming distributed systems by composition
View through CrossRef
Varda : un langage pour la programmation de systèmes distribués par composition
Les grands systèmes distribués sont souvent construits en assemblant des composants prêts à l’emploi (OTS), c’est-à-dire des composants, des services, des processus, etc., développés indépendamment. La pratique actuelle consiste à interconnecter manuellement leurs API. Cette méthode est ad hoc, complexe, fastidieuse et sujette aux erreurs. Les langages de programmation offrent une approche prometteuse pour résoudre ce problème. Premièrement, ils permettent de réduire l’apparition de bogues. Le développeur spécifie formellement le système. Ensuite, le compilateur assure des garanties de correction et génère une implémentation correcte par construction. Deuxièmement, les langages contribuent à améliorer la productivité des programmeurs. La génération de code automatise l’interconnexion des composants et peut optimiser l’implémentation générée. Dans cette thèse, nous proposons un nouveau langage, Varda, à l’intersection entre langages de programmation et de spécification. Un programme Varda décrit l’interconnexion de composants en une architecture cohérente. Le développeur isole un composant OTS derrière un shield. Celui-ci restreint le comportement du composant en spécifiant son interface, son protocole (c’est-à-dire ce qu’il peut envoyer ou recevoir, et dans quel ordre), ainsi que des pre/post-conditions. Les composants peuvent être logiquement imbriqués. Un composant externe orchestre ses composants internes, en créant ou en tuant des instances, en les interconnectant et en supervisant leurs erreurs ; il peut intercepter et manipuler leurs communications. Varda fournit des garanties solides, grâce à de l’analyse statique et à de l’injection de tests dynamiques. Pour être utile en pratique au développement de systèmes distribués, Varda adopte une approche pragmatique. Un shield peut contenir du code non-Varda (par ex, Java) afin d’incorporer des composants en boîte noire. Varda permet de contrôler les propriétés non fonctionnelles qui sont importantes pour la performance et la tolérance aux pannes, par exemple l’élasticité, le placement et l’intégration. Le compilateur Varda automatise la génération du code d’interconnexion et d’orchestration. Varda prend en charge l’exécution non-stop, grâce à des mécanismes de supervision. Nous démontrons l’expressivité et l’ergonomie de Varda en programmant des structures distribuées classiques (par exemple, le contrôle d’accès). Pour illustrer l’emploi en condition réelle de Varda, nous implémentons un clone du datastore géorépliqué AntidoteDB. Les applications Varda sont compactes et présentent une conception modulaire et réutilisable. Nos expériences montrent que le surcoût d’exécution est modeste, grâce à la vérification et à l’optimisation au moment de la compilation.
Title: Varda : a language for programming distributed systems by composition
Description:
Varda : un langage pour la programmation de systèmes distribués par composition
Les grands systèmes distribués sont souvent construits en assemblant des composants prêts à l’emploi (OTS), c’est-à-dire des composants, des services, des processus, etc.
, développés indépendamment.
La pratique actuelle consiste à interconnecter manuellement leurs API.
Cette méthode est ad hoc, complexe, fastidieuse et sujette aux erreurs.
Les langages de programmation offrent une approche prometteuse pour résoudre ce problème.
Premièrement, ils permettent de réduire l’apparition de bogues.
Le développeur spécifie formellement le système.
Ensuite, le compilateur assure des garanties de correction et génère une implémentation correcte par construction.
Deuxièmement, les langages contribuent à améliorer la productivité des programmeurs.
La génération de code automatise l’interconnexion des composants et peut optimiser l’implémentation générée.
Dans cette thèse, nous proposons un nouveau langage, Varda, à l’intersection entre langages de programmation et de spécification.
Un programme Varda décrit l’interconnexion de composants en une architecture cohérente.
Le développeur isole un composant OTS derrière un shield.
Celui-ci restreint le comportement du composant en spécifiant son interface, son protocole (c’est-à-dire ce qu’il peut envoyer ou recevoir, et dans quel ordre), ainsi que des pre/post-conditions.
Les composants peuvent être logiquement imbriqués.
Un composant externe orchestre ses composants internes, en créant ou en tuant des instances, en les interconnectant et en supervisant leurs erreurs ; il peut intercepter et manipuler leurs communications.
Varda fournit des garanties solides, grâce à de l’analyse statique et à de l’injection de tests dynamiques.
Pour être utile en pratique au développement de systèmes distribués, Varda adopte une approche pragmatique.
Un shield peut contenir du code non-Varda (par ex, Java) afin d’incorporer des composants en boîte noire.
Varda permet de contrôler les propriétés non fonctionnelles qui sont importantes pour la performance et la tolérance aux pannes, par exemple l’élasticité, le placement et l’intégration.
Le compilateur Varda automatise la génération du code d’interconnexion et d’orchestration.
Varda prend en charge l’exécution non-stop, grâce à des mécanismes de supervision.
Nous démontrons l’expressivité et l’ergonomie de Varda en programmant des structures distribuées classiques (par exemple, le contrôle d’accès).
Pour illustrer l’emploi en condition réelle de Varda, nous implémentons un clone du datastore géorépliqué AntidoteDB.
Les applications Varda sont compactes et présentent une conception modulaire et réutilisable.
Nos expériences montrent que le surcoût d’exécution est modeste, grâce à la vérification et à l’optimisation au moment de la compilation.
Related Results
Hubungan Perilaku Pola Makan dengan Kejadian Anak Obesitas
Hubungan Perilaku Pola Makan dengan Kejadian Anak Obesitas
<p><em><span style="font-size: 11.0pt; font-family: 'Times New Roman',serif; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-langua...
Učinak poučavanja razrednomu jeziku u izobrazbi nastavnika njemačkoga
Učinak poučavanja razrednomu jeziku u izobrazbi nastavnika njemačkoga
The actual use of classroom language is principally limited to the classroom environment. As far as foreign language learning is concerned, the classroom often turns out to be the ...
Increased life expectancy of heart failure patients in a rural center by a multidisciplinary program
Increased life expectancy of heart failure patients in a rural center by a multidisciplinary program
Abstract
Funding Acknowledgements
Type of funding sources: None.
INTRODUCTION Patients with heart failure (HF)...
Agnès Varda, Sara Gómez, and the Communist Semidocumentary
Agnès Varda, Sara Gómez, and the Communist Semidocumentary
Abstract: Taking Sara Gómez's cameo in Agnès Varda's 1963 photomontage documentary Salut les Cubains (France) as a starting point, this article juxtaposes Varda's work with Gómez's...
Agnès Varda
Agnès Varda
Both a precursor to and a critical member of the French New Wave, Agnès Varda weaves documentary and fiction into tapestries that portray distinctive places and complex human being...
Programming model abstractions for optimizing I/O intensive applications
Programming model abstractions for optimizing I/O intensive applications
This thesis contributes from the perspective of task-based programming models to the efforts of optimizing I/O intensive applications. Throughout this thesis, we propose programmin...
Expanded Cinema, Recycled Cinema
Expanded Cinema, Recycled Cinema
VALIE EXPORT and Agnès Varda both made moving-image installations about ping pong (EXPORT’s 1968 Ping Pong and Varda’s 2006 “Ping Pong, Tong, et Camping”), a subject each returned ...
A Wideband mm-Wave Printed Dipole Antenna for 5G Applications
A Wideband mm-Wave Printed Dipole Antenna for 5G Applications
<span lang="EN-MY">In this paper, a wideband millimeter-wave (mm-Wave) printed dipole antenna is proposed to be used for fifth generation (5G) communications. The single elem...

