Dissertations / Theses on the topic 'Rust (langage de programmation)'
Create a spot-on reference in APA, MLA, Chicago, Harvard, and other styles
Consult the top 50 dissertations / theses for your research on the topic 'Rust (langage de programmation).'
Next to every source in the list of references, there is an 'Add to bibliography' button. Press on it, and we will generate automatically the bibliographic reference to the chosen work in the citation style you need: APA, MLA, Harvard, Chicago, Vancouver, etc.
You can also download the full text of the academic publication as pdf and read online its abstract whenever available in the metadata.
Browse dissertations / theses on a wide variety of disciplines and organise your bibliography correctly.
Denis, Xavier. "Deductive verification of Rust programs." Electronic Thesis or Diss., université Paris-Saclay, 2023. http://www.theses.fr/2023UPASG101.
Full textRust is a programming language introduced in 2015, which provides the programmer with safety features regarding the use of memory. The goal of this thesis is the development of a deductive verification tool for the Rust language, by leveraging the specificities of its type system, in order to simplify memory aliasing management, among other things. Such a verification approach ensures the absence of errors during the execution of the considered programs, as well as their compliance with a formal specification of the expected functional behavior. The theoretical foundation of the approach proposed in this thesis is to use a notion of prophecy that interprets the mutable borrows in the Rust language as a current value and a future value of this borrow. The Coq proof assistant was used to formalize this prophetic encoding and prove the correctness of the associated proof obligation generation. Furthermore, the approach has been implemented in a verification software for Rust that automates the generation of proof obligations and relies on external solvers to validate these obligations. In order to support Rust iterators, an extension has been developed to manipulate closures, as well as a verification technique for iterators and combinators. The implementation has been experimentally evaluated on relevant algorithm and data structure examples. It has also been validated through a significant case study: the verification of a satisfiability modulo theories (SMT) solver
Rammal, Darine. "Memory safety for synchronous reactive programming." Electronic Thesis or Diss., Orléans, 2024. http://www.theses.fr/2024ORLE1002.
Full textSynchronous Reactive Languages are an excellent choice for IoT programming due to their clear system-environment interaction semantics. However, when it comes to safety- critial or resource-constrained systems, recent proposals like Fairthreads or ReactiveML face a well-known issue. Fairthreads' manual memory management can lead to errors, while ReactiveML's garbage collection ensures memory safety but introduces execution overhead. This thesis aims to address the memory safety issue by developing a reactive programming language specifically designed for real-time systems, incorporating cooperative threads and synchronous execution. Drawing from the robust type system of the Rust programming language, we propose a Rust-like type system for a kernel reactive programming language named MSSL. MSSL features a cooperative threading model and facilitates mutable data sharing between threads while preserving type and borrowing safety. To achieve this, we introduce a novel abstraction called Trc (Thread Reference Counting), which combines the ownership safety of Rust references with the reference counting mechanism of Rust smart pointers. Then, we present the semantics and type system of MSSL to demonstrate its capabilities in maintaining type safety, borrowing safety, and concurrency safety. Furthermore, we extend MSSL by introducing reactive extensions, incorporating the concept of signals that offer powerful, flexible, and reliable means of communication. Finally, we provide a Java implementation of the complete MSSL set, based on the semantic and typing rules of its type system
Алексахіна, Тетяна Олексіївна, Татьяна Алексеевна Алексахина, Tetiana Oleksiivna Aleksakhina, and A. Krivodub. "La langage de programmation." Thesis, Вид-во СумДУ, 2009. http://essuir.sumdu.edu.ua/handle/123456789/16780.
Full textCisneros, Gascon Maria del Pilar Jorrand Philippe. "Programmation parallèle et programmation fonctionnelle propositions pour un langage /." S.l. : Université Grenoble 1, 2008. http://tel.archives-ouvertes.fr/tel-00311709.
Full textMoal, Frédéric. "Langage de biais en apprentissage symbolique." Orléans, 2000. http://www.theses.fr/2000ORLE2051.
Full textFaucher, Colette. "Elaboration d'un langage extensible fondé sur les schémas : le langage Objlog+." Aix-Marseille 3, 1991. http://www.theses.fr/1991AIX30039.
Full textChauveau, Dominique. "Étude d'une extension du langage synchrone SIGNAL aux modèles probabilistes : le langage SIGNalea." Rennes 1, 1996. http://www.theses.fr/1996REN10110.
Full textDekoker, Sylvain. "Alma : un langage de programmation d'agents cognitifs." Paris 6, 2012. http://www.theses.fr/2012PA066076.
Full textThis thesis is about cognitive agents programming. We think this paradigm is an answer to the issues raised in designing, implementing and maintaining complex software systems. Concepts used in multi-agents systems are close to our natural way of thinking. This leads us to some new kind of solutions which are more declarative, adaptable and robust. We believe this paradigm will reach its true value only with the help of dedicated programming languages. This is the underlying goal of this thesis. Cognitive agents need to have a reasoning based on incomplete information. They also need to be able to manage contradictions, and to anticipate the possible actions from this situation. We have designed a solution based on hypothetical reasoning. We will show the consequences of this choice on the components of the agent architecture. The first consequence is the integration of an assumption based belief revision process. Then, we will show how plans are programmed, managed and how a consistent behavior is restored when beliefs have changed. And lastly we will show how we integrate an automated planning mechanism relying on a dynamic belief base. The contribution of this thesis is this agent programming language ALMA that has all those features
Jaber, Ghaleb. "Le langage pascal/relationnel : un langage de programmation de bases de donnees." Toulouse 3, 1987. http://www.theses.fr/1987TOU30222.
Full textJaber, Ghaleb. "Le Langage PASCAL/relationnel un langage de programmation de bases de données /." Grenoble 2 : ANRT, 1987. http://catalogue.bnf.fr/ark:/12148/cb37606132q.
Full textEl, Mokhtari Mounir. "Contribution à l'intégration de C++ et de Prolog à travers la machine abstraite de Warren : le système cop-compilé." Sherbrooke : Université de Sherbrooke, 1997.
Find full textMorel, Eric. "Environnement de programmation parallèle : application au langage Prolog." Phd thesis, Université Joseph Fourier (Grenoble), 1996. http://tel.archives-ouvertes.fr/tel-00346188.
Full textDabrowski, Frederic. "Programmation Réactive Synchrone, Langage et Contrôle des Ressources." Phd thesis, Université Paris-Diderot - Paris VII, 2007. http://tel.archives-ouvertes.fr/tel-00151974.
Full textinteraction permanente avec un environnement donné. La famille des
langages synchrones regroupe un des langages de programmation
dédiés à la conception de tels systèmes. De manière générale, ces langages
permettent de décrire le comportement de composants parallèles qui
s'exécutent de manière synchrone, relativement à une horloge logique sur
laquelle repose un mécanisme de diffusion instantanée de l'information.
La conception de ces langages permet un ordonnancement statique des composants
parallèles et une compilation des programmes vers du code séquentiel, des
automates à états finis ou des circuits. En contrepartie, les contraintes
imposées sur ces langages limitent leur utilisation à des domaines très
spécifiques. La programmation réactive désigne un paradigme de programmation
qui repose sur une relaxation de ces contraintes. Ce paradigme de
programmation, inspiré plus particulièrement par le langage Esterel, propose
un type de programmation concurrente plus général ayant pour objectif la
réalisation, par exemple, de controleurs "event driven", d'interfaces graphiques
, de simulations physiques, de service web et de jeux multi-joueurs.
Ce document porte sur la notion de logiciel sur dans le cadre de la
programmation réactive.
Dans la première partie, nous nous intéressons à la question du
controle statique des ressources nécessaires à l'exécution d'un programme
pour une algèbre de processus synchrone inspirée par le paradigme réactif.
Dans la seconde partie, nous nous intéressons à la question de
l'utilisation de la programmation réactive pour le développement
d'applications adaptées aux architectures multicores.
Plus précisèment, nous nous reposerons sur une analyse statique
des programmes permettant d'étendre dans un cadre plus générale
(vrai concurrence) les avantages d'une approche purement coopérative
de l'ordonnancement des threads choisie par plusieurs implémentations
de langages basés sur le paradigme réactif.
Dabrowski, Frédéric. "Programmation réactive synchrone : langage et contrôle des ressources." Paris 7, 2007. http://www.theses.fr/2007PA077140.
Full textReactive System continuously interact with an environment. Synchronous languages (a family of languages dedicated to the design of such Systems) are used to describe parallel behaviours running in a synchronous way, with respect to a logical clock associated to an instantaneous broadcast of the information. The design of those languages enables a compilation of programs to sequentiel code, finite state automata or circuits. Yet the constraints set on their design to reach this goal restrict their use to very specific fields. Reactive programming is a paradigm based on a relaxation of those constraints. More precisely, il is inspired by the Esterel language and may be used for programming, e. G. , event driven controllers, graphical user interfaces, physical simulations, web services and multi-player games. This document, split into two parts, deals with the notion of safety in the framework of reactive programming. In the first part, we consider the issue of controlling, by means of a static analysis, the resources needed to run programs of a synchronous process algebra inspired by the reactive paradigm. In the second part, we are interested in programming multicore architectures. We propose a programming discipline, enforced by a static analysis, which extends to a more general framework the advantages of the purely cooperative approach (scheduling) used in various languages based on the reactive paradigm
Morel, Eric Briat Jacques. "Environnement de programmation parallèle application au langage Prolog /." S.l. : Université Grenoble 1, 2008. http://tel.archives-ouvertes.fr/tel-00346188.
Full textMorel, Éric. "Environnement de programmation parallèle : application au langage Prolog." Grenoble 1, 1996. https://theses.hal.science/tel-00346188/.
Full textBlay-Fornarino, Mireille, and Anne-Marie Pinna. "Un modèle objet logique et relationnel : le langage Othelo." Nice, 1990. http://www.theses.fr/1990NICE4359.
Full textHufflen, Jean-Michel Jorrand Philippe Bert Didier Verjus Jean-Pierre. "Fonctions et généricité dans un langage de programmation parallèle." S.l. : Université Grenoble 1, 2008. http://tel.archives-ouvertes.fr/tel-00335698.
Full textRogé, Sylvie Sifakis Joseph Jorrand Philippe. "Comparaison des comportements des processus communicants application au langage FP2 /." S.l. : Université Grenoble 1, 2008. http://tel.archives-ouvertes.fr/tel-00322013.
Full textSidhoum, Hafid. "Conception et compilation du langage AMPERE 2 : langage modulaire pour la programmation en physique." Lyon, INSA, 1991. http://www.theses.fr/1991ISAL0053.
Full textAMPERE 2 is a programming language following ampere,an older language devoted to clearness and reliability of scientific programs. For that purpose, amperes integrate dimensional analysis, automatic management of physical units and powerful intervals computation. To prevent the evolution problem introduced by a stiff definition facing various users needs and requests, AMPERE 2 implements the splitted identifiers. So, to define a new procedure is actually to introduce a new instruction. To support significant software developments, we include to AMPERE 2 language the software component notion (module) as well as a genericity for physical types. Combining these mechanisms makes some parts of an application reusable as libraries, insuring the call reliability without instantiation. Finally, we retained for AMPERE 2 language an environment concept, with which the user can enlarge the local context, which permits inter-projects sharing and conceptual clarification. The language was defined with physicians, to implement their needs. The present memory is devoted, first to the language presentation and discussion, second to its associated compiler achieved under UNIX: its development in LET highly facilitated the semantic analysis
Pazat, Jean-Louis. "Génération de code réparti par distribution de données." [S.l.] : [s.n.], 1997. ftp://ftp.irisa.fr/techreports/habilitations/pazat.pdf.
Full textBonniot, Daniel. "Typage modulaire des multi-méthodes." Paris, ENMP, 2005. http://www.theses.fr/2005ENMP1337.
Full textThis thesis presents a modular type system for languages with multi-methods, compatible with a core language a la ML with subtyping and type interference for the core language. Our presentation is modular as well, by defining an algebric type system that includes a core langage with fully abstract types. A language can be built by chosing constants and a language of types with an ordering. We identify conditions that guarantee the resulting language is statically safe. This presentation makes it possible to study more easily extensions in two directions while sharing a part of the safety proof : the formalization of our multi-methods as constants of the core language and the extension of the ML-Sub type system with kinding constraints to express modularly the type of « partially polymorphic » methods. Finally, we study the classical challenge of the « expression problem ». We also give an overview of the implementation of all those ideas in a complete language, Nice
Branski-Cazaban, Jacqueline. "La langue et les langages informatiques." Toulouse 2, 1987. http://www.theses.fr/1988TOU20007.
Full textThe aim of this study is to show what are the different techniques of lexical creation used in the english of computer science and in programming languages. This thesis is divided into five parts. The first part deals with the history of computing and shows the relationship between the development of a science and its consequence upon the formation of a language. The second part shows what are the techniques used in the terminology of computing. The history of programming languages is developed in the third part. The fourth and fifth parts are devoted to the linguistic study of the reserved words in basic and cobol
Dechamboux, Pascal. "Gestion d'objets persistants : du langage de programmation au système." Phd thesis, Grenoble 1, 1993. http://tel.archives-ouvertes.fr/tel-00005124.
Full textHufflen, Jean-Michel. "Fonctions et généricité dans un langage de programmation parallèle." Phd thesis, Grenoble INPG, 1989. http://tel.archives-ouvertes.fr/tel-00335698.
Full textGrande, Johan. "Conception et implémentation d'un langage de programmation concurrente modulaire." Thesis, Nice, 2015. http://www.theses.fr/2015NICE4067/document.
Full textShared-memory concurrency is a classic concurrency model which, among other things, makes it possible to take advantage of multicore processors that are now widespread in personal computers. Concurrent programs are prone to deadlocks which are notoriously hard to predict and debug. Programs using mutexes, a very popular synchronization mechanism, are no exception. In this thesis we studied deadlock avoidance methods with the aim of making programming with mutexes easier. We first studied a method that uses a static analysis by means of a type and effect system, then a variation on this method in a dynamically typed language. We developed more the second method. It mixes deadlock prevention and avoidance to provide an easy-to-use and expressive deadlock-free locking function. We implemented it as a Hop (dialect of Scheme) library. This lead us to develop a starvation-free algorithm to simultaneously acquire an arbitrary number of mutexes, and to identify the concept of asymptotic deadlock. While doing so, we also developped an optimization of exceptions(finally blocks). Our performance tests seem to show that using our library has negligible impact on theperformance of real-life applications. Most of our work could be applied to other structured programming languages such as Java
Hufflen, Jean-Michel. "Fonctions et généricité dans un langage de programmation parallèle." Grenoble : ANRT, 1989. http://catalogue.bnf.fr/ark:/12148/cb37593857z.
Full textDechamboux, Pascal Adiba Michel. "Gestion d'objets persistants du langage de programmation au système /." S.l. : Université Grenoble 1, 2008. http://tel.archives-ouvertes.fr/tel-00005124.
Full textOros, Hernandez Miguel Angel. "Conception, implantation et optimisation d'un langage à objets logiques." Bordeaux 1, 1995. http://www.theses.fr/1995BOR10599.
Full textCAMP, OLIVIER. "Les contraintes en programmation logico-fonctionnelle : application au langage miles." Paris 6, 1994. http://www.theses.fr/1994PA066336.
Full textPark, Seung Kyu Schoellkopf J. P. "Etude de langages interprétables par une machine langage de haut niveau." S. l. : Université Grenoble 1, 2008. http://tel.archives-ouvertes.fr/tel-00300432.
Full textJanot, Stéphane. "Règles d'évaluation équitables en programmation logique." Lille 1, 1991. http://www.theses.fr/1991LIL10062.
Full textBertrand, Frédéric. "Un modèle de contrôle réactif pour les langages à objets concurrents." La Rochelle, 1996. http://www.theses.fr/1996LAROS005.
Full textCanou, Benjamin. "Programmation Web Typée." Phd thesis, Université Pierre et Marie Curie - Paris VI, 2011. http://tel.archives-ouvertes.fr/tel-00640566.
Full textMeysembourg-Männlein, Marie Laurence. "Modèle et langage à objets pour la programmation d'applications réparties." Phd thesis, Grenoble INPG, 1989. http://tel.archives-ouvertes.fr/tel-00333509.
Full textGarneau, Tony. "Langage de programmation pour les simulations géoréférencées à base d'agents." Thesis, Université Laval, 2011. http://www.theses.ulaval.ca/2011/27803/27803.pdf.
Full textIn the last decade, technologies based on software agents have been used in many domains such as video games, movies containing animated characters, virtual reality, in visual interfaces development where “wizards” are supplied and in educative Web applications using virtual characters, just to name a few. In many of these domains, agent-based simulations require the integration of geographic data. These add a spatial dimension and allow the simulation of many complex phenomena such as those included in urban dynamics. This has spawned a new research field: Multi-Agent- Geo-Simulation (MAGS for short). Some of the frameworks developed for MAGS use many different techniques to specify and implement tagent-based simulations. However, the agents’ behaviors that can be specified are usually very limited and are insufficient for the development of geo-referenced simulation of social phenomena. In this type of simulation, the agents must act autonomously and have the ability to perceive the environment in which they evolve, and then take decision based on these perceptions. To benefit from such characteristics, we consider that these agents must minimally have a perception mechanism that is autonomous and unique to each agent which need as well as to be proactive and have autonomous behavior in relation to their virtual environment. The specification of this type of agent is a difficult task and, to the best of our knowledge, none of the existing development environment offers a language able to fulfill it. In the context of the PLAMAGS (Programming LAnguage for Multi-Agent Geo-Simulations) Project, we developed a new agent-oriented programming language, an applied design methodology and an integrated development environment that allow a quick and simple design and execution cycle of agent-based geo-referenced simulations. The main contributions of this work are as follows: - A full-fledged descriptive programming language, procedural and object-oriented that is usable at every stage of the development cycle and that is dedicated to MAGS. This language eliminates the transition and transposition from the theoretical model to the programming language and thus avoids all the difficulties inherent to such a transposition task. - An applied development methodology where the modeling, design and implementation, execution and validation steps are merged and integrated throughout the development cycle. - A behavioral model that is powerful (agent wise), intuitive, modular, extensible and flexible and thus allows a sequential and iterative development using abstractions based on decomposition (sub-behaviors). - A spatialized interaction model that is clearly defined and directly integrated in the primitives of the programming language.
Besson, Michel. "Crop : un langage de programmation interactif en environnement distribue heterogene." Nice, 1994. http://www.theses.fr/1994NICE4813.
Full textLe, Maitre Jacques. "Le langage fonctionnel de programmation pour bases de données GRIFFON." Aix-Marseille 2, 1991. http://www.theses.fr/1992AIX22006.
Full textCounilh, Marie-Christine. "LCH, un langage pour la programmation du calculateur multiprocesseur CHEOPS." Bordeaux 1, 1989. http://www.theses.fr/1989BOR10547.
Full textLazure, Dominique. "Programmation géométrique à parallélisme de données : modèle, langage et compilation." Lille 1, 1995. http://www.theses.fr/1995LIL10021.
Full textZhao, Jie. "Une approche combinée langage-polyédrique pour la programmation parallèle hétérogène." Thesis, Paris Sciences et Lettres (ComUE), 2018. http://www.theses.fr/2018PSLEE062.
Full textNowadays, optimizing compilers are increasingly challenged by the diversity of programming languages and heterogeneity of architectures. The polyhedral model is a powerful mathematical framework for programs to exploit automatic parallelization and locality optimization, playing an important role in the field of optimizing compilers. A long standing limitation of the model has been its restriction to static control affine programs, resulting in an emergent demand for the support of non-affine extensions. This is particularly acute in the context of heterogeneous architectures where a variety of computation kernels need to be analyzed and transformed to match the constraints of hardware accelerators and to manage data transfers across memory spaces. We explore multiple non-affine extensions of the polyhedral model, in the context of a welldefined intermediate language combining affine and syntactic elements. On the one hand, we explain how transformations and code generation for loops with non-affine, data-dependent and dynamic loop bounds are integrated into a polyhedral framework, extending the applicable domain of polyhedral compilation in the realm of non-affine applications. On the other hand, we describe the integration of overlapped tiling for stencil computations into a general polyhedral framework, automating non-affine transformations in polyhedral compilation. We evaluate our techniques on both CPU and GPU architectures, validating the effectiveness of the optimizations by conducting an in-depth performance comparison with state-of-the-art frameworks and manually-written libraries
Meysembourg-Männlein, Marie Laurence Mossière Jacques Krakowiak Sacha. "Modèle et langage à objets pour la programmation d'applications réparties." S.l. : Université Grenoble 1, 2008. http://tel.archives-ouvertes.fr/tel-00333509.
Full textEven, Christian. "Autour du lambda-calcul partiel." Lille 1, 1993. http://www.theses.fr/1993LIL10045.
Full textLoitsch, Florian. "Scheme to JavaScript compilation." Nice, 2009. http://www.theses.fr/2009NICE4066.
Full textCette thèse présente un compilateur de Scheme vers JavaScript. Bien que très proches, ces deux langages diffèrent dans des points majeurs. En particulier, les continuations et la récursivité terminale, qui n'existent que dans Scheme, sont importantes dans le contexte d'une telle compilation. Dans ces travaux nous montrons que, sans ces deux fonctionnalités, produit du code aussi efficace que du code écrit à la main. Cependant, ce langage réduit n'est pas conforme à R5RS, la spécification de Scheme, mais représente un sous-langage pragmatique. Dans cette configuration est utilisé quotidiennement dans notre projet. Bien que désactivé par défaut, permet aussi la récursivité terminale et les continuations. Nous présentons dans cette thèse une implémentation de la récursivité terminale qui se base sur la technique des trampolines. Elle a la propriété intéressante de faciliter la coexistence d'un code généré et d'un code JavaScript existant. Notre implémentation des continuations est une amélioration des continuation à base d'exceptions. Nous avons adapté des techniques développées pour des continuations 'one-shot' (utilisées par exemple pour la migration). Pour capturer l'essence de notre algorithme de compilation des continuations nous avons développé, une version canonique de notre implémentation. Indépendant des fonctionnalités non-standard de Scheme, comme les exceptions, nous proposons comme alternative à CPS. Pour une version simplifiée de Scheme nous avons prouvé que est correct
Jean, David. "CDL+CWS : un langage de prototypes et son environnement." Sherbrooke : Université de Sherbrooke, 1997.
Find full textLadret, Didier. "Construction multistyle de prototypes exploratoires en Prolog : apports de la programmation visuelle et application à la négation." Nice, 1989. http://www.theses.fr/1989NICE4324.
Full textCoste-Manière, Ève. "Synchronisme et asynchronisme dans la programmation des systèmes robotiques : apport du langage Esterel et de concepts objets." Paris, ENMP, 1991. http://www.theses.fr/1991ENMP0273.
Full textHao, Jin-Kao. "Combiner la programmation en logique et la résolution des contraintes par évaluation partielle : Conslog." Besançon, 1991. http://www.theses.fr/1991BESA2012.
Full textEzequel, Philippe. "Décomposition en programmation logique." Montpellier 2, 1990. http://www.theses.fr/1990MON20100.
Full textAbbas, Issam. "Optimisation d'un langage fonctionnel de requêtes pour une base de données orienté-objet." Aix-Marseille 1, 1999. http://www.theses.fr/1999AIX11003.
Full text