DE eng

Search in the Catalogues and Directories

Page: 1 2
Hits 1 – 20 of 25

1
Automatic Guide Generation for Stan via NumPyro
In: PROBPROG 2021 - Third International Conference on Probabilistic Programming ; https://hal.archives-ouvertes.fr/hal-03401708 ; PROBPROG 2021 - Third International Conference on Probabilistic Programming, Oct 2021, Virtual, United States (2021)
BASE
Show details
2
Bootstrap-Based Language Development: Turning an existing VM into a polyglot VM ; Développement de langages basé l’amorçage
Phillips, Carolina. - : HAL CCSD, 2021
In: https://tel.archives-ouvertes.fr/tel-03511998 ; Computer Science [cs]. Université de Lille; IMT Lille Douai, 2021. English (2021)
Abstract: Programming languages need to evolve as software requirements change, but their prototyping and extension comes at the cost of great development efforts. Reflective languages which are able to modify their own semantics provide a high-level approach to language implementation. While easy to use, the reflective approach has a limited range of languages it can produce, because modifications to core system elements can break circular references and leave the system in an inconsistent state. To overcome this limitation the system’s kernel architecture must be re-built in a bootstrap process. Bootstrap has been shown effective to produce a family of similar languages. However, adapting an existing bootstrap implementation to generate new languages is challenging. This difficulty is caused by a lack of proper abstractions for language specification and, similarly to other techniques, a late manifestation of errors together with abstraction leaps during debugging tasks.In this dissertation, we study the design of a bootstrap-based language development technique that supports the generation of multiple languages with low effort. For this, we introduce MetaL, a bootstrapping framework where language specification is based on metamodels and high-level reflective initialization instructions. A Meta-Object Protocol (MOP) that is aware of VM constraints keeps the abstraction level high, providing operations to build the model of the language and then the kernel. Our MOP ensures model correctness by construction and ensures kernel health, detecting corruption early during the generation process.To validate our approach, we report on the successful generation of seven object-oriented language kernels, plus an experiment by an external user. These experiments show that MetaL: (i) removes the need for expertise with virtual machines,(ii) reduces the abstraction gap in debugging tasks, (iii) it is positively perceived as meeting the need for easy-to-use bootstrapping solutions, and (iv) it is applicable in real world scenarios. Nevertheless, this experience also shows that using the metamodel for language specification hinders code reuse since a semantic feature implementation is spread across multiple metamodel classes. To solve the previous limitation we propose using Aspect-Oriented Programming (AOP) to bootstrap. For this, we implemented AspectMetaL, an aspect-oriented layer on top of MetaL that allows language specification at the level of semantic features. To validate AspectMetaL, we generated 3 kernels by combining both predefined and custom semantic features, learning that AOP is effective for improving code reuse and rising the abstraction level for language specification in bootstrap. ; 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 à un 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’efforts. 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 classes 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.
Keyword: [INFO.INFO-PL]Computer Science [cs]/Programming Languages [cs.PL]; [INFO]Computer Science [cs]; bootstrapping; conception de langages de programmation; initialisation de l'execution d’un langage; langages reflectifs; language runtime initialization; programming language design; reflective languages
URL: https://tel.archives-ouvertes.fr/tel-03511998/file/HernPhDThesis.pdf
https://tel.archives-ouvertes.fr/tel-03511998
https://tel.archives-ouvertes.fr/tel-03511998/document
BASE
Hide details
3
Computing with relations, functions, and bindings ; Calculer avec des relations, des fonctions et des lieurs
Gerard, Ulysse. - : HAL CCSD, 2019
In: https://hal.archives-ouvertes.fr/tel-02414237 ; Logic in Computer Science [cs.LO]. Institut Polytechnique de Paris, 2019. English. ⟨NNT : 2019IPPAX005⟩ (2019)
BASE
Show details
4
Bridging High-Level Synthesis and Application-Specific Arithmetic: The Case Study of Floating-Point Summations
In: 27th International Conference on Field-Programmable Logic and Applications (FPL) ; https://hal.inria.fr/hal-01373954 ; 27th International Conference on Field-Programmable Logic and Applications (FPL), IEEE, Sep 2017, Gent, Belgium. pp.8 (2017)
BASE
Show details
5
Semantic-Directed Clumping of Disjunctive Abstract States *
In: POPL 2017 - 44th ACM SIGPLAN Symposium on Principles of Programming Languages ; https://hal.inria.fr/hal-01648679 ; POPL 2017 - 44th ACM SIGPLAN Symposium on Principles of Programming Languages, Jan 2017, Paris, France. pp.32-45, ⟨10.1145/3009837.3009881⟩ (2017)
BASE
Show details
6
SawjaCard: A Static Analysis Tool for Certifying Java Card Applications
In: 21st International Static Analysis Symposium (SAS 2014) ; https://hal.inria.fr/hal-01093327 ; 21st International Static Analysis Symposium (SAS 2014), 2014, Munich, Germany. pp.51 - 67, ⟨10.1007/978-3-319-10936-7_4⟩ (2014)
BASE
Show details
7
A Precise and Abstract Memory Model for C Using Symbolic Values
In: 12th Asian Symposium on Programming Languages and Systems (APLAS 2014) ; https://hal.inria.fr/hal-01093312 ; 12th Asian Symposium on Programming Languages and Systems (APLAS 2014), 2014, Singapore, Singapore. pp.449 - 468, ⟨10.1007/978-3-319-12736-1_24⟩ (2014)
BASE
Show details
8
The Package Blueprint: visually analyzing and quantifying package dependencies
In: ISSN: 0167-6423 ; Science of Computer Programming ; https://hal.inria.fr/hal-00957695 ; Science of Computer Programming, Elsevier, 2014, 89 (Part C), pp. 298-319. ⟨10.1016/j.scico.2014.02.016⟩ (2014)
BASE
Show details
9
Logically timed specifications in the AADL : a synchronous model of computation and communication (recommendations to the SAE committee on AADL)
In: https://hal.inria.fr/hal-00970244 ; [Technical Report] RT-0446, INRIA. 2014, pp.27 (2014)
BASE
Show details
10
Constraint satisfaction programming for video summarization
In: IEEE International Symposium on Multimedia ; https://hal.inria.fr/hal-00909370 ; IEEE International Symposium on Multimedia, Dec 2013, Anaheim, California, United States (2013)
BASE
Show details
11
Proofs You Can Believe In. Proving Equivalences Between Prolog Semantics in Coq
In: 15th International Symposium on Principles and Practice of Declarative Programming (PPDP) ; https://hal.inria.fr/hal-00908848 ; 15th International Symposium on Principles and Practice of Declarative Programming (PPDP), Sep 2013, Madrid, Spain. pp.37-48 (2013)
BASE
Show details
12
A Component-Based Approach for Specifying DSML's Concrete Syntax
In: 2nd Workshop on Graphical Modeling Language Development (GMLD 2013) ; https://hal.inria.fr/hal-00829173 ; 2nd Workshop on Graphical Modeling Language Development (GMLD 2013), Jul 2013, Montpellier, France. pp.3-11, ⟨10.1145/2489820.2489822⟩ (2013)
BASE
Show details
13
Flexible Object Layouts: enabling lightweight language extensions by intercepting slot access
In: Proceedings of 26th International Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA '11) ; https://hal.inria.fr/hal-00641716 ; Proceedings of 26th International Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA '11), Nov 2011, Portland, United States (2011)
BASE
Show details
14
Towards robust word discovery by self similarity matrix comparison
In: IEEE International Conference on Acoustics, Speech and Signal Processing ; https://hal.inria.fr/inria-00563418 ; IEEE International Conference on Acoustics, Speech and Signal Processing, May 2011, Prague, Czech Republic (2011)
BASE
Show details
15
A Certified Denotational Abstract Interpreter
In: International Conference on Interactive Theorem Proving (ITP) ; https://hal.inria.fr/inria-00537810 ; International Conference on Interactive Theorem Proving (ITP), 2010, Edimburgh, United Kingdom. pp.9-24 (2010)
BASE
Show details
16
Language Boxes: Bending the Host Language with Modular Language Changes.
In: Software Language Engineering: Second International Conference, SLE 2009 ; https://hal.inria.fr/inria-00531044 ; Software Language Engineering: Second International Conference, SLE 2009, Oct 2009, Denver, United States. pp.274-293, ⟨10.1007/978-3-642-12107-4_20⟩ (2009)
BASE
Show details
17
Growing a Domain Specific Language with Split Extensions
In: https://hal.inria.fr/inria-00175805 ; [Research Report] RR-6314, INRIA. 2007 (2007)
BASE
Show details
18
Proceedings of the First Domain-Specific Aspect Languages Workshop - ACM International Conference on Generative Programming and Component Engineering (GPCE 2006)
In: https://hal.inria.fr/inria-00468283 ; [Research Report] 2006, pp.40 (2006)
BASE
Show details
19
Developing efficient parsers in Prolog: the CLF manual (v1.0)
In: https://hal.inria.fr/inria-00120518 ; [Technical Report] RT-0328, INRIA. 2006, pp.18 (2006)
BASE
Show details
20
When Categorial Grammars meet Regular Grammatical Inference
In: 5th International Conference on Logical Aspects of Computational Linguistics ; https://hal.inria.fr/inria-00536698 ; 5th International Conference on Logical Aspects of Computational Linguistics, 2005, Bordeaux, France. pp.317-332 (2005)
BASE
Show details

Page: 1 2

Catalogues
0
0
0
0
0
0
0
Bibliographies
0
0
0
0
0
0
0
0
0
Linked Open Data catalogues
0
Online resources
0
0
0
0
Open access documents
25
0
0
0
0
© 2013 - 2024 Lin|gu|is|tik | Imprint | Privacy Policy | Datenschutzeinstellungen ändern