142 research outputs found

    Semi-groupes fortement automatiques

    No full text
    International audienceIn this paper, we introduce the notion of strongly automatic semigroup, which implies the usual notion of automaticity. We focus on semigroups of β-adics developpements, for which we obtain a criterion of strong automaticity.Dans cet article, nous introduisons la notion de semi-groupe fortement automatique, qui entraîne la notion d’automaticité des semi-groupes usuelle. On s’intéresse particulièrement aux semi-groupes de développements en base β, pour lesquels on obtient un critère de forte automaticité

    Développement prouvé de composants formels pour un générateur de code embarqué critique pré-qualifié

    Get PDF
    Nous nous intéressons au développement prouvé de composants formels pour un générateur de code pré-qualifié. Ce dernier produit un code séquentiel (C et Ada) pour des modèles d'entrée qui combinent les flots de données et de contrôle et qui présentent des possibilités d'exécution concurrente (Simulink/Stateflow et Scicos). Le développement prouvé permet de réduire le coût des tests et d'augmenter l'assurance des outils développés avec cette approche vis-à-vis de la qualification. Les phases de spécification, de développement et de vérification des outils développés sont effectuées avec l'assistant de preuve Coq. Ce dernier permet d'extraire le contenu calculatoire des composants en préservant les propriétés prouvées en Coq. Ce code extrait est ensuite intégré dans une chaîne complète de développement (chaîne de GeneAuto). Nous présentons un cadre formel, inspiré de l'analyse statique, qui s'appuie sur la sémantique abstraite et qui est instanciable sur plusieurs composants du générateur de code. Nous nous basons sur les ensembles partiellement ordonnés et sur le calcul de point fixe pour définir le cadre et effectuer les différentes analyses des composants du générateur de code. Ce cadre formel comporte toutes les preuves communes aux composants et indépendantes des analyses effectuées. Deux composants sont étudiés : l'ordonnanceur et le typeur des modèles d'entrée. ABSTRACT : We are interested in the proved development of formal components for a pre-qualified code generator. This produces a sequential code (C and Ada) for input models that combine data and control flows, with potential concurrent execution (Simulink/Stateflow and Scicos). The proved development reduces test cost and increases insurance of components developed with this approach regarding the qualification. Phases of specification, development and verification of the developed components are done with the Coq proof assistant. This allows to extract the computational content of the components preserving the properties proved in Coq. The extracted code is then integrated into the complete development tool-chain (GeneAuto tool-chain). We present a formal framework, inspired from static analysis, based on the abstract semantics which is instantiable to several components of the code generator. We rely on partially ordered sets and fixed-point to define de formal framework and to perform the various analysis of components of the code generator. This formal framework includes all proofs common to the components and independent from the performed analyses. Two components are studied : the scheduler and the type checker of input models

    Développement prouvé de composants formels pour un générateur de code embarqué critique pré-qualifié

    Get PDF
    Nous nous intéressons au développement prouvé de composants formels pour un générateur de code pré-qualifié. Ce dernier produit un code séquentiel (C et Ada) pour des modèles d'entrée qui combinent les flots de données et de contrôle et qui présentent des possibilités d'exécution concurrente (Simulink/Stateflow et Scicos). Le développement prouvé permet de réduire le coût des tests et d'augmenter l'assurance des outils développés avec cette approche vis-à-vis de la qualification. Les phases de spécification, de développement et de vérification des outils développés sont effectuées avec l'assistant de preuve Coq. Ce dernier permet d'extraire le contenu calculatoire des composants en préservant les propriétés prouvées en Coq. Ce code extrait est ensuite intégré dans une chaîne complète de développement (chaîne de GeneAuto). Nous présentons un cadre formel, inspiré de l'analyse statique, qui s'appuie sur la sémantique abstraite et qui est instanciable sur plusieurs composants du générateur de code. Nous nous basons sur les ensembles partiellement ordonnés et sur le calcul de point fixe pour définir le cadre et effectuer les différentes analyses des composants du générateur de code. Ce cadre formel comporte toutes les preuves communes aux composants et indépendantes des analyses effectuées. Deux composants sont étudiés : l'ordonnanceur et le typeur des modèles d'entrée.We are interested in the proved development of formal components for a pre-qualified code generator. This produces a sequential code (C and Ada) for input models that combine data and control flows, with potential concurrent execution (Simulink/Stateflow and Scicos). The proved development reduces test cost and increases insurance of components developed with this approach regarding the qualification. Phases of specification, development and verification of the developed components are done with the Coq proof assistant. This allows to extract the computational content of the components preserving the properties proved in Coq. The extracted code is then integrated into the complete development tool-chain (GeneAuto tool-chain). We present a formal framework, inspired from static analysis, based on the abstract semantics which is instantiable to several components of the code generator. We rely on partially ordered sets and fixed-point to define de formal framework and to perform the various analysis of components of the code generator. This formal framework includes all proofs common to the components and independent from the performed analyses. Two components are studied : the scheduler and the type checker of input models.TOULOUSE-INP (315552154) / SudocSudocFranceF

    PROBLEMES DE MODULES FORMELS [d’après Drinfeld, Kontsevich, Hinich, Manetti, Pridham, Lurie ...]

    Get PDF
    International audienceTexte sur l'exposé Bourbaki du 16 Janvier 201

    Une approche formelle de l'interopérabilité pour une famille de langages dédiés

    Get PDF
    In this thesis, we introduce a rigorous formally founded method to address the interoperability of a family of domain specific languages (DSLs). Our approach targets DSLs from the same business domain and consists in constructing a unifying language. The unification is obtained by using a categorical approach. For this, we use the category of algebraic specifications of each language in the family. On this category, we apply the colimit on algebraic specifications of each DSL to generate their unifying. This approach allows us to obtain a set of translators from each family member to the unifying language. Moreover, properties established in the context of a language of the family are transferred to the unifier. The approach experimented in the context of the Specware software for categorical computations and of the Isabelle proof assistant.Dans cette thèse, nous proposons une méthode rigoureuse, formellement fondée pour traiter de l'interopérabilité d'une famille de langages dédiés (DSL) issus d'un même domaine métier. A partir de la sémantique de chacun des DSL, notre démarche construit, par un calcul de co-limite sur des spécifications algébriques, un langage qui unifie les concepts de la famille. L'approche se caractérise notamment par la capacité à traduire automatiquement le code d'un DSL vers le langage unificateur. Un autre bénéfice réside dans la preuve qu'une propriété sur un langage de la famille se décline, par construction, vers l'environnement unifié. La mise en œuvre de la démarche a été outillée ; elle s'appuie principalement sur le logiciel Specware de Kestrel et l'assistant de preuve Isabelle

    Diagnostic, opacité et test de conformité pour des systèmes récursifs

    Get PDF
    L'une des façons les plus efficace de s'assurer du bon fonctionnement d'un système informatique est de les représenter par des modèles mathématiques. De nombreux travaux ont été réalisés en utilisant des automates finis comme modèles, nous essayons ici d'étendre ces travaux à des modèles infinis. Dans cette thèse, nous nous intéressons à quelques problèmes dans lesquels un système est observé de façon incomplète. Dans ce cas, il est impossible d'accéder à certaines informations internes. La diagnosticabilité d'une propriété donnée consiste à vérifier qu'à l'exécution du système, un observateur sera en mesure de déterminer avec certitude que la propriété est vérifiée par le système. L'opacité consiste, réciproquement, à déterminer qu'un doute existera toujours. Une autre application concerne la génération de cas de test. Une fois encore, on considère qu'un observateur n'accède qu'à une partie des événements se produisant dans le système (en général les entrées et les sorties). À partir d'une spécification, on produit automatiquement des cas de test, qui ont pour but de détecter des non-conformités (elles même formalisées de façon précise). Ces trois problèmes ont été étudiés pour des modèles finis. Dans cette thèse, nous étendons leur étude aux modèles récursifs, pour cela nous avons introduit notre propre modèle, les RTS, qui sont une généralisation des automates à pile, et d'autres modèles de la récursivité. Nous adaptons ensuite les techniques utilisées sur des modèles finis, qui servent à résoudre les problèmes qui nous intéressent.An effective way to ensure the proper functioning of a computer system is to represent it by using mathematical models . Many studies have been conducted using finite automata as models, in this thesis we try to extend these works to infinite models. We focus on three problems in which a system is partially observed. In this case, it is impossible to access certain internal informations. Diagnosability of a given property consist in checking, that, during the execution of the system, an observer will be able to determine with certainty that the property is verified by the system. Conversely, the opacity consists in determining if a doubt will always exist. Another application is the generation of test cases. Once again, we consider that an observer accesses only some events of the system (typically the inputs and outputs): from a specification, we automatically generate test cases, which are designed to detect non-conformance. These three problems have been studied for finite models. In this thesis, we extend their study to recursive models. For this purpose, we have introduced a new model, the RTS, which are a generalization of pushdown automata and other models of recursion. In order to solve problems of interest, we adapt the techniques used in finite models.RENNES1-Bibl. électronique (352382106) / SudocSudocFranceF

    Modélisation d'un outil graphique d'aide à la compréhension de résolution de programmes logiques

    Get PDF
    Ce projet de recherche traite du domaine de l’intelligence artificielle, plus précisément de la programmation logique, un type de programmation utilisée pour concevoir des systèmes dits intelligents. Ce type de programmation est toutefois assez complexe à assimiler et il n’existe, à notre connaissance, aucun outil interactif qui permette de montrer efficacement le processus d’exécution d’un programme logique. L’objectif de cette recherche consistait donc à proposer un modèle d’outil facilitant la compréhension de la résolution d’un programme logique. Le modèle proposé permet de représenter graphiquement et dynamiquement la trace de résolution d’un programme logique. Un prototype a été construit pour valider ce modèle avec des programmes écrits en langage Prolog. L’utilisateur peut ainsi suivre les étapes d’exécution à travers l’affichage dynamique d’un arbre de dérivation. Actuellement, le modèle ne permet pas de prendre en compte des programmes écrits avec différents langages de programmation, une telle généralisation serait une bonne amélioration
    corecore