45 research outputs found

    Compilation certifiée de SCADE/LUSTRE

    Get PDF
    Les langages synchrones sont apparus autour des annĂ©es quatre-vingt, en rĂ©ponse Ă  un besoin d avoir un modĂšle mathĂ©matique simple pour implĂ©menter des systĂšmes temps rĂ©el critiques. Dans ce modĂšle, le temps est dĂ©coupĂ© en instants discrets durant lesquels tous les composants du systĂšme reçoivent et produisent une donnĂ©e. Cette modĂ©lisation permet des raisonnements beaucoup plus simples en Ă©vitant de devoir prendre en compte le temps de calcul de chaque opĂ©ration. Dans le monde du logiciel critique, la fiabilitĂ© du matĂ©riel et de son fonctionnement sont primordiaux, et on accepte d ĂȘtre plus lent si on devient plus sĂ»r. Afin d augmenter cette fiabilitĂ©, plutĂŽt que de concevoir manuellement tout le systĂšme, on utilise des machines qui synthĂ©tisent automatiquement le systĂšme souhaitĂ© Ă  partir d une description la plus concise possible. Dans le cas du logiciel, ce mĂ©canisme s appelle la compilation, et Ă©vite des erreurs introduites par l homme par inadvertance. Elle ne garantit cependant pas la bonne correspondance entre le systĂšme produit et la description donnĂ©e. Des travaux rĂ©cents menĂ©s par une Ă©quipe INRIA dirigĂ©e par Xavier Leroy ont abouti en 2008 au compilateur CompCert d un sous-ensemble large de C vers l assembleur PowerPC pour lequel il a Ă©tĂ© prouvĂ© dans l assistant de preuve Coq que le code assembleur produit correspond bien Ă  la description en C du programme source. Un tel compilateur offre des garanties fortes de bonne correspondance entre le systĂšme synthĂ©tisĂ© et la description donnĂ©e. De plus, avec les compilateurs utilisĂ©s pour le temps rĂ©el critique, la plupart des optimisations sont dĂ©sactivĂ©es afin d Ă©viter les erreurs qui y sont liĂ©es. Dans CompCert, des optimisations elles aussi prouvĂ©es sont proposĂ©es, ce qui pourrait permettre ces passes dans la production de systĂšmes temps rĂ©el critiques sans en compromettre la fiabilitĂ©. Le but de cette thĂšse est d avoir une approche similaire mais spĂ©cifique Ă  un langage synchrone, donc plus appropriĂ© Ă  la description de systĂšmes temps rĂ©el critiques que ne l est le C. Un langage synchrone flots de donnĂ©es semblable Ă  Lustre, nommĂ© Ls, et un langage impĂ©ratif semblable au langage C, nommĂ© Obc y sont proposĂ©s ainsi que leur sĂ©mantique formelle et une chaĂźne de compilation avec des preuves de prĂ©servation de sĂ©mantique le long de cette chaĂźne.Synchronous languages first appeared during the 80 s, in order to provide a mathematical model for safety-critical systems. In this model, time is discrete. At each instant, all components of the system simultaneously receive and produce some data. This model allows simpler reasonning on the behaviour of the system, as it does not involve the time required for each of the operations for every component. In safety-critical systems, safety is the rule, so a poor performance behaviour can be allowed if it improves safety. In order to improve safety, rather than conceiving directly the system, machines are used to automatically design the system from a given concise description. In the case of software, this machine is called a compiler, and avoids issues due to some human inadvertence. But it does not ensure that the produced system and the description specification really show the same behaviour. Some recent work from an INRIA team lead by Xavier Leroy achieved in 2008 the realisation of the CompCert compiler from a large subset of C to PowerPC assembly, for which it was proven inside of the Coq proof assistant that the produced system fits its source description. Such a compiler offers strong guarantees that the produced system and its given description by the programmer really fit. Furthermore, most current compiler s optimizations are disabled when dealing with safety-critical systems in order to avoid tedious compilation errors that optimizations may introduce. Proofs for optimizations may allow their use in this domain without affecting the faith we could place in the compiler. The aim of this thesis is to follow a similar path, but this one on a language which would be more suited for safety-critical systems than the C programming language. Some dataflow synchronous programming language very similar to Lustre, called Ls is described with its formal semantics, as well as an imperative programming language similar to a subset of C called Obc. Furthermore some compilation process is described as well as some proofs that the semantics is preserved during the compilation process.PARIS11-SCD-Bib. Ă©lectronique (914719901) / SudocSudocFranceF

    Propriétés combinatoires des f-palindromes

    Get PDF
    Ce mĂ©moire fait partie du domaine de la combinatoire des mots et plus particuliĂšrement\ud de l'Ă©tude de la complexitĂ© palindromique (le nombre de facteurs palindromes) des mots infinis. La conjecture de Hof, Knill et Simon, Ă©noncĂ©e pour la premiĂšre fois en 1995, donne une caractĂ©risation des points fixes dont la complexitĂ© palindromique est infinie. RĂ©cemment, elle a Ă©tĂ© rĂ©solue pour les points fixes sur un alphabet binaire (Tan, 2007). Dans ce mĂ©moire, nous la dĂ©montrons pour les points fixes de morphismes uniformes\ud sur un alphabet binaire (ce n'est pas plus gĂ©nĂ©ral que le rĂ©sultat de Tan). De plus, notre approche permet d'obtenir une dĂ©monstration d'un rĂ©sultat similaire pour les points fixes contenant une infinitĂ© d'antipalindromes. Afin d'atteindre notre objectif, nous Ă©tablissons un ensemble de rĂ©sultats combinatoires sur les mots. En effet, nous faisons une Ă©tude des ƒ-palindromes et de certaines Ă©quations qui en contiennent. Ensuite, nous introduisons les morphismes de classe P, PÂč et ƒ-P et nous dĂ©montrons notamment que l'ensemble des morphismes de classe PÂč est un monoĂŻde. Nous rassemblons Ă©galement les rĂ©sultats d'un travail prĂ©cĂ©dent sur les morphismes conjuguĂ©s. Finalement, nous Ă©tudions les chevauchements de mots et nous construisons un graphe de chevauchements, assise de notre dĂ©monstration de la conjecture. Toutes ces recherches ont contribuĂ© au dĂ©veloppement d'un outil informatique vouĂ© Ă  l'Ă©tude de questions soulevĂ©es en combinatoire des mots. Ce dernier est constituĂ©\ud d'un ensemble de classes et de fonctions Ă©crites en langage Python annexĂ©es Ă  ce mĂ©moire. Elles seront bientĂŽt incluses dans un paquetage sur la combinatoire des mots associĂ© au logiciel libre Sage. ______________________________________________________________________________ MOTS-CLÉS DE L’AUTEUR : Combinatoire des mots, ƒ-palindrome, ComplexitĂ© palindromique, Conjecture de Hof, Knill et Simon, Point fixe de morphisme, Chevauchement, Automates

    Profil d'application Normetic 2.0 (v0.9)

    Get PDF
    TirĂ© de l'Ă©cran-titre (visionnĂ© le 27 juin 2017).Cette étude a été réalisée avec le soutien financier du Groupe de travail québécois sur les normes et standards en TI pour l’apprentissage, l’éducation et la formation (GTN-Québec). Le contenu de ce rapport demeure la responsabilité des auteurs. Les opinions qui y sont exprimées ne reflètent pas nécessairement celles du GTN-Québec

    Algorithmique & programmation en langage C - vol.2: Sujets de travaux pratiques

    Get PDF
    LicenceCe document regroupe 64 sujets de travaux pratiques (TP) et d’examen, Ă©crits pour diffĂ©rents enseignements d’algorithmique et de programmation en langage C donnĂ©s Ă  la FacultĂ© d’ingĂ©nierie de l’UniversitĂ© Galatasaray (Istanbul, Turquie), entre 2005 et 2014. Il s’agit du deuxiĂšme volume d’une sĂ©rie de 3 documents, comprenant Ă©galement le support de cours (volume 1) et un recueil des corrigĂ©s de ces sujets (volume 3).Les sujets d’examen ont Ă©tĂ© retravaillĂ©s pour prendre la forme de sujets de TP. Les 64 sujets proposĂ©s ont Ă©tĂ© ordonnĂ©s de maniĂšre Ă  correspondre Ă  la progression des concepts parallĂšlement Ă©tudiĂ©s en cours (cf. le volume 1). En ce qui concerne les concepts les plus simples, il est difficile de sortir des exercices assez classiques, d’autant plus que les Ă©tudiants ne disposent Ă  ce moment-lĂ  du cours que d’un bagage technique trĂšs rĂ©duit. Cependant, nous avons tentĂ© d’aborder des thĂšmes plus originaux dans les sujets venant plus tard. Nous nous sommes particuliĂšrement attachĂ©s Ă  proposer des exercices basĂ©s sur une approche graphique de l’algorithmique, grĂące Ă  l’utilisation de la bibliothĂšque SDL (Simple DirectMedia Layer).Le volume horaire d’un (ou mĂȘme de deux) cours classique(s) ne permet bien entendu pas d’effectuer tous les TP proposĂ©s ici. Il faut remarquer que si certains sujets introduisent un concept nouveau, d’autres, au contraire, se concentrent sur l’approfondissement d’une ou plusieurs notions dĂ©jĂ  utilisĂ©es. L’idĂ©e est plutĂŽt, pour l’enseignant, de disposer d’un assortiment d’exercices divers, dans lequel il peut choisir ce dont il a besoin, en fonction des Ă©tudiants, de la progression effective et des objectifs de son cours. Pour les Ă©tudiants, il s’agit de proposer des exercices pouvant offrir une vision alternative Ă  celle donnĂ©e dans le cours suivi, ou bien d’approfondir certains points vus en cours

    Le trope de l'antiquité

    Get PDF
    Le trope de l'antiquit

    Mise à jour de la famille des générateurs minimaux des treillis de concepts et des icebergs

    Full text link
    Mémoire numérisé par la Direction des bibliothÚques de l'Université de Montréal

    On Infinite Words Determined by Stack Automata

    Get PDF
    We characterize the infinite words determined by one-way stack automata. An infinite language L determines an infinite word alpha if every string in L is a prefix of alpha. If L is regular or context-free, it is known that alpha must be ultimately periodic. We extend this result to the class of languages recognized by one-way nondeterministic checking stack automata (1-NCSA). We then consider stronger classes of stack automata and show that they determine a class of infinite words which we call multilinear. We show that every multilinear word can be written in a form which is amenable to parsing. Finally, we consider the class of one-way multihead deterministic finite automata (1:multi-DFA). We show that every multilinear word can be determined by some 1:multi-DFA, but that there exist infinite words determined by 1:multi-DFA which are not multilinear
    corecore