Javascript must be enabled to continue!
Boostrap-Based Language Development : Turning an existing VM into a polygot VM
View through CrossRef
Les langages de programmation doivent évoluer au fur et à mesure que les exigences des logiciels changent, mais leur prototypage et leur extension se font au prix de grands efforts de développement. Les langages réflectifs, qui sont capables de modifier leur propre sémantique, offrent une approche de haut niveau pour l’implémentation des langages. Bien que facile à utiliser, l’approche réflexive ne peut produire qu’une gamme limitée de langages, car les modifications apportées aux éléments centraux du système peuvent briser les références circulaires et laisser le système dans un état incohérent. Pour surmonter cette limitation, l’architecture du noyau du système doit être reconstruite avec un processus d’amorçage (bootstrap). Cette technique s’est avérée efficace pour produire une famille de langages similaires. Cependant, l’adaptation d’une implémentation de bootstrap existante pour générer de nouveaux langages est un défi. Cette difficulté est due à une manque d’abstractions appropriées pour la spécification des langages et, comme pour d’autres techniques, à une manifestation tardive des erreurs avec des sauts d’abstraction pendant les tâches de débogage.Dans cette thèse, nous étudions la conception d’une technique de développement de langages basée sur le bootstrap qui permet de générer plusieurs langages avec peu d’effort. Pour cela, nous introduisons MetaL, un cadriciel d’amorçage où la spécification du langage est basée sur des métamodèles et des instructions d’initialisation réflectives de haut niveau. Un Meta-Object Protocol (MOP) réifie les contraintes de la machine virtuelle (VM) et assure un niveau d’abstraction élevé, fournissant des opérations pour construire un modèle de langage et ensuite un noyau. Notre MOP garantit la correction du modèle par construction et assure la cohérence du noyau, en détectant la corruption au début du processus de génération.Pour valider notre approche, nous rapportons la génération réussie de sept noyaux de langages orientés objet, ainsi qu’une expérience par un utilisateur externe. Ces expériences montrent que MetaL : (i) supprime le besoin d’expertise sur la VM (ii), réduit le fossé d’abstraction dans les tâches de débogage, (iii) est perçu positivement comme répondant au besoin de solutions d’amorçage faciles à utiliser, (iv) est applicable dans des scénarios du monde réel. Néanmoins, cette expérience montre également que l’utilisation du métamodèle pour la spécification du langage entrave la réutilisation du code, car l’implémentation d’une fonctionnalité sémantique est répartie sur plusieurs classe du métamodèle. Pour résoudre cette limitation, nous proposons AspectMetaL, une couche orientée aspect (POA) au-dessus de MetaL qui permet de spécifier un langage au niveau des fonctionnalités sémantiques. Pour valider AspectMetaL, nous avons généré 3 noyaux en combinant des caractéristiques sémantiques prédéfinies et personnalisées. Nous avons ainsi pu montrer que la POA est efficace pour améliorer la réutilisation du code et augmenter le niveau d’abstraction pour la spécification du langage.
Title: Boostrap-Based Language Development : Turning an existing VM into a polygot VM
Description:
Les langages de programmation doivent évoluer au fur et à mesure que les exigences des logiciels changent, mais leur prototypage et leur extension se font au prix de grands efforts de développement.
Les langages réflectifs, qui sont capables de modifier leur propre sémantique, offrent une approche de haut niveau pour l’implémentation des langages.
Bien que facile à utiliser, l’approche réflexive ne peut produire qu’une gamme limitée de langages, car les modifications apportées aux éléments centraux du système peuvent briser les références circulaires et laisser le système dans un état incohérent.
Pour surmonter cette limitation, l’architecture du noyau du système doit être reconstruite avec un processus d’amorçage (bootstrap).
Cette technique s’est avérée efficace pour produire une famille de langages similaires.
Cependant, l’adaptation d’une implémentation de bootstrap existante pour générer de nouveaux langages est un défi.
Cette difficulté est due à une manque d’abstractions appropriées pour la spécification des langages et, comme pour d’autres techniques, à une manifestation tardive des erreurs avec des sauts d’abstraction pendant les tâches de débogage.
Dans cette thèse, nous étudions la conception d’une technique de développement de langages basée sur le bootstrap qui permet de générer plusieurs langages avec peu d’effort.
Pour cela, nous introduisons MetaL, un cadriciel d’amorçage où la spécification du langage est basée sur des métamodèles et des instructions d’initialisation réflectives de haut niveau.
Un Meta-Object Protocol (MOP) réifie les contraintes de la machine virtuelle (VM) et assure un niveau d’abstraction élevé, fournissant des opérations pour construire un modèle de langage et ensuite un noyau.
Notre MOP garantit la correction du modèle par construction et assure la cohérence du noyau, en détectant la corruption au début du processus de génération.
Pour valider notre approche, nous rapportons la génération réussie de sept noyaux de langages orientés objet, ainsi qu’une expérience par un utilisateur externe.
Ces expériences montrent que MetaL : (i) supprime le besoin d’expertise sur la VM (ii), réduit le fossé d’abstraction dans les tâches de débogage, (iii) est perçu positivement comme répondant au besoin de solutions d’amorçage faciles à utiliser, (iv) est applicable dans des scénarios du monde réel.
Néanmoins, cette expérience montre également que l’utilisation du métamodèle pour la spécification du langage entrave la réutilisation du code, car l’implémentation d’une fonctionnalité sémantique est répartie sur plusieurs classe du métamodèle.
Pour résoudre cette limitation, nous proposons AspectMetaL, une couche orientée aspect (POA) au-dessus de MetaL qui permet de spécifier un langage au niveau des fonctionnalités sémantiques.
Pour valider AspectMetaL, nous avons généré 3 noyaux en combinant des caractéristiques sémantiques prédéfinies et personnalisées.
Nous avons ainsi pu montrer que la POA est efficace pour améliorer la réutilisation du code et augmenter le niveau d’abstraction pour la spécification du langage.
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)...
Effects of multi-pass turning on surface properties of AISI 52100 bearing steel
Effects of multi-pass turning on surface properties of AISI 52100 bearing steel
Abstract
Hard turning is extensively used in the machining of bearings. The turning process has a significant influence on the properties of machined surface. In this paper...
Exploring Language Features of Male and Female Speakers in Pakistani TEDx Talks: A Corpus-based Comparative Analysis
Exploring Language Features of Male and Female Speakers in Pakistani TEDx Talks: A Corpus-based Comparative Analysis
The study explores the linguistic patterns in Pakistani TEDx Talks. It is based on gender-based language use. It consists of ten talks selected from YouTube and applies both quanti...
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...
Visual Cues for Turning in Parkinson’s Disease
Visual Cues for Turning in Parkinson’s Disease
Turning is a common impairment of mobility in people with Parkinson’s disease (PD), which increases freezing of gait (FoG) episodes and has implications for falls risk. Visual cues...
Navigating Language Ideologies Through Translanguaging in EAL Classrooms of Pakistan: A Sociolinguistics Perspective
Navigating Language Ideologies Through Translanguaging in EAL Classrooms of Pakistan: A Sociolinguistics Perspective
Language is a tool for instructing and expressing a variety of perspectives. This study aimed to explore the ideologies navigated through translanguaging in Pakistani institutions ...

