35 research outputs found

    Courtage sémantique de services de calcul

    Get PDF
    La recherche du ou des services de calcul scientifique disponibles sur une grille qui répondent aux besoins d'un utilisateur, aussi appelée courtage de services, est une activité complexe. En effet, les services disponibles sont souvent conçus pour répondre de manière efficace à de nombreux besoins différents. Ceux-ci comportent donc en général de nombreux paramètres et la simple signature du service ne suffit pas pour que l'utilisateur puisse le trouver. La solution proposée dans ces travaux consiste à utiliser une description formelle du domaine d'application comportant l'ensemble des données et des opérateurs du domaine ainsi que les propriétés des opérateurs. Dans le cadre de cette thèse, cette description est effectuée sous la forme d'une spécification algébrique. Un service ou une requête sont alors des termes de l'algèbre associée. En ce qui concerne les signatures, nous combinons le sous-typage des sortes et la surcharge des opérateurs selon le système de type proposé par G. Castagna pour le λ&-calcul. Le courtage consiste alors à effectuer un filtrage modulo la théorie équationnelle associée à la spécification, entre le terme représentant le service souhaité et les termes représentant les services disponibles. Nous proposons et avons implanté deux algorithmes différents inspirés d'un parcours de l'arbre de recherche des solutions contraint par une quantité d'énergie (nombre d'équations et/ou de compositions applicables). Le premier algorithme est directement dérivé des travaux de Gallier et Snyder sur l'unification équationnelle. Nous avons montré sa correction et argumenté sa complétude (ou exhaustivité). Le second algorithme découle d'une définition constructive de l'ensemble des services qui peuvent répondre à la requête d'un utilisateur. L'algorithme consiste alors en un parcours particulier de l'arbre construit pour engendrer le service requis. Nous avons également montré sa correction, et sa complétude pour certaines formes d'équations. Nous illustrons notre approche dans les domaines applicatifs suivants : algèbre linéaire et optimisation, et nous nous intéressons au traitement de la combinaison de domaines applicatifs. ABSTRACT : The search for a computing service available on a grid which corresponds to an user's needs, also called trading services, is a complex activity. Indeed available services are often implemented to fulfill efficiently different requirements.These services offer many parameters and their signature is often not enough for a precise description. The object of this work consists in using a formal description of the dedicated domain : the data, the operators and their properties. This description is carried out as an algebraic specification. Services and requests are then terms of the associated algebra. For the signatures, we combine sub-sorting and overloading of operators by using the type system proposed by G. Castagna for the λ&-calculus. Trading is then implemented as an equational matching modulo the theory associated to the specification, between the term representing the required service and the terms representing the available services. We propose two algorithms inspired from a traversal of the solution search tree constrained by an amount of energy. The first one is directly inspired from the work of Gallier and Snyder on equational unification. We have proved its correctness and argued its completeness. The second one is derived from a constructive definition of the set of services which answer the user request. We have proved its correctness and its completeness for some kind of equations. We illustrate our approach with applications to linear algebra and optimization and an interaction between these two domains

    Analyse critique de la notion de variable. Points de vue sémiotique et formel

    Get PDF
    For B. Russell “The variable is perhaps the most distinctively mathematical of all notions ; it is certainly also one of the most difficult to understand” (The Principles of Mathematics, 1903). The aim of this paper is to highlight the meaning of variable in different fields of Mathematics: the expression of equations in Algebra with indeterminate entities; the analytical expression of functions in Analysis; the expression of quantification in Logic… We give a historical survey of this notion from Viète and Descartes to Frege’s representations of a concept, viewed as a non numerical function, yielding to the modern theory of quantification in first order languages. On one hand, the Peirce’s theory of signs, and on the other hand, with Church’s functional types, λ-calculus “with bound variables” and Curry’s combinatory logic “without bound variables”, are very useful tools for investigating different kinds of variables in Mathematics, in Logic and in theoretical Computer Sciences. For instance, it was showed that “bound variables” were not semiotic tools necessary to formulate quantification (in Frege’s sense) in “classical” Logic. Indeed, a simple quantifier is an operator which applies to a predicate by building a proposition; restricted quantifiers are derived from simple quantifiers by formal combinations with logical connectors (conditional or conjunction operators). We propose to take into account and to formalize, inside the framework of Combinatory Logic with types, (i) the “old logical notions” of “extension / intension”; (ii) determination operations from Port Royal’s Logic; (iii) the distinction from the anthropology and cognitive psychology between “typical” and “atypical” instances of a concept, which brings us to define new quantifiers, called “star quantifiers”, conceived as determination operators acting on terms. These quantifiers are more adequate than the fregean quantifiers, for a natural languages processing. Thus, we are able to give a conceptual distinction between the meanings of “Whatever” and “Indeterminate”, implicitly used in Gentzen’s Natural Deduction; thanks to this distinction, we can clarify an apparent “paradox” emerging with the universal quantifier introduction rule.Pour B. Russell, la variable est peut-être une des notions les plus difficiles à comprendre en mathématiques (The Principles of Mathematics, 1903). En effet, la variable est fondamentalement polysémique. Sa signification varie avec les domaines d’utilisation ; tantôt elle est utilisée pour indiquer une indétermination d’un signe dans une équation ; tantôt elle sert à décrire analytiquement une fonction en Analyse, tantôt, on l’utilise en logique pour exprimer la quantification au moyen de « variables liées ». Nous donnons une brève analyse historique de l’évolution de cette notion en mathématiques, depuis sa création avec l’Algèbre de Viète et Descartes pour l’expression des équations, jusqu’à la représentation formelle d’un concept, formalisé par Frege comme une fonction non numérique, ce qui a donné naissance aux modernes langages du premier ordre. D’une part, la théorie des signes de Peirce et d’autre part, les types fonctionnels de Church, le λ-calcul « avec variables liées » ainsi que la logique combinatoire de Curry « sans variables liées », sont d’excellents instruments qui sont convoqués pour examiner les différentes sortes de variables aussi bien en mathématiques, qu’en logique ou en informatique théorique. Par exemple, nous montrons que la notion de « variable liée » n’est pas nécessaire pour la formulation de la quantification en logique et son analyse dans le fonctionnement des langues naturelles : un quantificateur simple est avant tout un opérateur qui s’applique à un prédicat afin de construire une proposition ; un quantificateur restreint est dérivé d’un quantificateur simple, obtenu par une composition fonctionnelle avec un connecteur logique (les opérateurs d’implication ou de conjonction). Nous proposons de prendre en compte et de formaliser à l’intérieur du cadre formel de la logique combinatoire typée :(i) les « vielles notions » logiques « extension / intension », (ii) les distinctions issues de la psychologie cognitive et de l’anthropologie, entre les exemplaires « typiques » ou « atypiques » d’un concept, (iii) l’opération de détermination » de la Logique de Port Royal,, ce qui nous a conduit à définir les quantificateurs « star », considérés comme des opérateurs qui viennent apporter des déterminations supplémentaires aux termes, en particulier aux termes nominaux. Ces nouveaux quantificateurs sont plus adéquats à l’analyse logique des langues naturelles que les quantificateurs frégéens. Nous sommes ainsi capables de donner une distinction nette entre les significations de « quelconque » et «indéterminé », qui sont implicitement mises en œuvre dans la Déduction Naturelle de Gentzen. Cela nous conduit à donner une solution à un paradoxe apparent qui surgit avec la règle d’introduction du quantificateur universel

    Analyse critique de la notion de variable. Points de vue sémiotique et formel

    Get PDF
    For B. Russell “The variable is perhaps the most distinctively mathematical of all notions ; it is certainly also one of the most difficult to understand” (The Principles of Mathematics, 1903). The aim of this paper is to highlight the meaning of variable in different fields of Mathematics: the expression of equations in Algebra with indeterminate entities; the analytical expression of functions in Analysis; the expression of quantification in Logic… We give a historical survey of this notion from Viète and Descartes to Frege’s representations of a concept, viewed as a non numerical function, yielding to the modern theory of quantification in first order languages. On one hand, the Peirce’s theory of signs, and on the other hand, with Church’s functional types, λ-calculus “with bound variables” and Curry’s combinatory logic “without bound variables”, are very useful tools for investigating different kinds of variables in Mathematics, in Logic and in theoretical Computer Sciences. For instance, it was showed that “bound variables” were not semiotic tools necessary to formulate quantification (in Frege’s sense) in “classical” Logic. Indeed, a simple quantifier is an operator which applies to a predicate by building a proposition; restricted quantifiers are derived from simple quantifiers by formal combinations with logical connectors (conditional or conjunction operators). We propose to take into account and to formalize, inside the framework of Combinatory Logic with types, (i) the “old logical notions” of “extension / intension”; (ii) determination operations from Port Royal’s Logic; (iii) the distinction from the anthropology and cognitive psychology between “typical” and “atypical” instances of a concept, which brings us to define new quantifiers, called “star quantifiers”, conceived as determination operators acting on terms. These quantifiers are more adequate than the fregean quantifiers, for a natural languages processing. Thus, we are able to give a conceptual distinction between the meanings of “Whatever” and “Indeterminate”, implicitly used in Gentzen’s Natural Deduction; thanks to this distinction, we can clarify an apparent “paradox” emerging with the universal quantifier introduction rule.Pour B. Russell, la variable est peut-être une des notions les plus difficiles à comprendre en mathématiques (The Principles of Mathematics, 1903). En effet, la variable est fondamentalement polysémique. Sa signification varie avec les domaines d’utilisation ; tantôt elle est utilisée pour indiquer une indétermination d’un signe dans une équation ; tantôt elle sert à décrire analytiquement une fonction en Analyse, tantôt, on l’utilise en logique pour exprimer la quantification au moyen de « variables liées ». Nous donnons une brève analyse historique de l’évolution de cette notion en mathématiques, depuis sa création avec l’Algèbre de Viète et Descartes pour l’expression des équations, jusqu’à la représentation formelle d’un concept, formalisé par Frege comme une fonction non numérique, ce qui a donné naissance aux modernes langages du premier ordre. D’une part, la théorie des signes de Peirce et d’autre part, les types fonctionnels de Church, le λ-calcul « avec variables liées » ainsi que la logique combinatoire de Curry « sans variables liées », sont d’excellents instruments qui sont convoqués pour examiner les différentes sortes de variables aussi bien en mathématiques, qu’en logique ou en informatique théorique. Par exemple, nous montrons que la notion de « variable liée » n’est pas nécessaire pour la formulation de la quantification en logique et son analyse dans le fonctionnement des langues naturelles : un quantificateur simple est avant tout un opérateur qui s’applique à un prédicat afin de construire une proposition ; un quantificateur restreint est dérivé d’un quantificateur simple, obtenu par une composition fonctionnelle avec un connecteur logique (les opérateurs d’implication ou de conjonction). Nous proposons de prendre en compte et de formaliser à l’intérieur du cadre formel de la logique combinatoire typée :(i) les « vielles notions » logiques « extension / intension », (ii) les distinctions issues de la psychologie cognitive et de l’anthropologie, entre les exemplaires « typiques » ou « atypiques » d’un concept, (iii) l’opération de détermination » de la Logique de Port Royal,, ce qui nous a conduit à définir les quantificateurs « star », considérés comme des opérateurs qui viennent apporter des déterminations supplémentaires aux termes, en particulier aux termes nominaux. Ces nouveaux quantificateurs sont plus adéquats à l’analyse logique des langues naturelles que les quantificateurs frégéens. Nous sommes ainsi capables de donner une distinction nette entre les significations de « quelconque » et «indéterminé », qui sont implicitement mises en œuvre dans la Déduction Naturelle de Gentzen. Cela nous conduit à donner une solution à un paradoxe apparent qui surgit avec la règle d’introduction du quantificateur universel

    Construction des machines à état abstrait à partir des modèles VHDL

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

    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
    corecore