Un système de types pour la programmation par réécriture embarquée

Dans le domaine de l'ingénierie du logiciel, les systèmes de types sont souvent considérés pour la prévention de l'occurrence de termes dénués de sens par rapport à une spécification des types. Dans le cadre de l'extension d'un langage de programmation avec des caractéristiques d...

Full description

Bibliographic Details
Main Author: Oliveira Kiermes Tavares, Claudia Fernanda
Other Authors: Université de Lorraine
Language:en
Published: 2012
Subjects:
Online Access:http://www.theses.fr/2012LORR0015/document
id ndltd-theses.fr-2012LORR0015
record_format oai_dc
spelling ndltd-theses.fr-2012LORR00152019-05-24T03:32:18Z Un système de types pour la programmation par réécriture embarquée A type system for embedded rewriting programming Systèmes de types Sous-typage Filtrage de motifs Réécriture Contraintes de type Type systems Subtyping Pattern matching Rewriting Type constraints 005.131 Dans le domaine de l'ingénierie du logiciel, les systèmes de types sont souvent considérés pour la prévention de l'occurrence de termes dénués de sens par rapport à une spécification des types. Dans le cadre de l'extension d'un langage de programmation avec des caractéristiques dédiées, le typage de ces dernières doit être compatible avec les caractéristiques du langage hôte. Cette thèse se situe dans le contexte de la réécriture de termes embarquée dans la programmation orientée objet. Elle vise à développer un système de types avec sous-typage pour le support du filtrage de motifs associatif sur des termes algébriques construits sur des opérateurs variadiques. Ce travail s'appuie sur le langage de réécriture Tom qui fournit des constructions de filtrage de motifs et des stratégies de réécriture à des langages généralistes comme Java. Nous décrivons l'évaluation de code Tom à travers la définition de la sémantique opérationnelle de ce langage en tant qu'élément essentiel de la preuve de la sûreté du système de types. Celui-ci inclut la vérification de types ainsi que l'inférence de types à base de contraintes. Le langage de contraintes est composé d'une part, de contraintes d'égalité, résolues par unification, d'autre part, de contraintes de sous-typage, résolues par la combinaison de phases de simplification, de génération d'une solution et de ramassage de miettes. Le système de types a été intégré au langage Tom, ce qui permet une plus forte expressivité et plus de sûreté a fin d'assurer que les transformations décrites par des règles de réécriture préservent le type des termes In software engineering, type systems are often considered in order to prevent the occurrence of meaningless terms in regard to a type specification. When extending a given programming language with new dedicated features, the typing of these features must be compatible with the ones in the host language. This thesis is situated in the context of term rewriting embedded in object-oriented programming and aims to develop a safe type system featuring subtyping for the support of associative pattern matching on algebraic terms built from variadic operators. In this work we consider the Tom rewriting language that provides associative pattern matching constructs and rewrite strategies for Java. We describe Tom code evaluation through the definition of the operational semantics of the Tom language as an essential element to show that the type system is safe. The type system includes type checking and constraint-based type inference. The constraint language is composed of equality constraints solved by unification and subtyping constraints solved by a combination of simplification, generation of solution and garbage collecting. The type system was integrated in Tom which provides both stronger expressiveness and more safety able to ensure that the transformations described by rewrite rules preserve the type of terms Electronic Thesis or Dissertation Text en http://www.theses.fr/2012LORR0015/document Oliveira Kiermes Tavares, Claudia Fernanda 2012-03-02 Université de Lorraine Kirchner, Claude Moreau, Pierre-Etienne
collection NDLTD
language en
sources NDLTD
topic Systèmes de types
Sous-typage
Filtrage de motifs
Réécriture
Contraintes de type
Type systems
Subtyping
Pattern matching
Rewriting
Type constraints
005.131
spellingShingle Systèmes de types
Sous-typage
Filtrage de motifs
Réécriture
Contraintes de type
Type systems
Subtyping
Pattern matching
Rewriting
Type constraints
005.131
Oliveira Kiermes Tavares, Claudia Fernanda
Un système de types pour la programmation par réécriture embarquée
description Dans le domaine de l'ingénierie du logiciel, les systèmes de types sont souvent considérés pour la prévention de l'occurrence de termes dénués de sens par rapport à une spécification des types. Dans le cadre de l'extension d'un langage de programmation avec des caractéristiques dédiées, le typage de ces dernières doit être compatible avec les caractéristiques du langage hôte. Cette thèse se situe dans le contexte de la réécriture de termes embarquée dans la programmation orientée objet. Elle vise à développer un système de types avec sous-typage pour le support du filtrage de motifs associatif sur des termes algébriques construits sur des opérateurs variadiques. Ce travail s'appuie sur le langage de réécriture Tom qui fournit des constructions de filtrage de motifs et des stratégies de réécriture à des langages généralistes comme Java. Nous décrivons l'évaluation de code Tom à travers la définition de la sémantique opérationnelle de ce langage en tant qu'élément essentiel de la preuve de la sûreté du système de types. Celui-ci inclut la vérification de types ainsi que l'inférence de types à base de contraintes. Le langage de contraintes est composé d'une part, de contraintes d'égalité, résolues par unification, d'autre part, de contraintes de sous-typage, résolues par la combinaison de phases de simplification, de génération d'une solution et de ramassage de miettes. Le système de types a été intégré au langage Tom, ce qui permet une plus forte expressivité et plus de sûreté a fin d'assurer que les transformations décrites par des règles de réécriture préservent le type des termes === In software engineering, type systems are often considered in order to prevent the occurrence of meaningless terms in regard to a type specification. When extending a given programming language with new dedicated features, the typing of these features must be compatible with the ones in the host language. This thesis is situated in the context of term rewriting embedded in object-oriented programming and aims to develop a safe type system featuring subtyping for the support of associative pattern matching on algebraic terms built from variadic operators. In this work we consider the Tom rewriting language that provides associative pattern matching constructs and rewrite strategies for Java. We describe Tom code evaluation through the definition of the operational semantics of the Tom language as an essential element to show that the type system is safe. The type system includes type checking and constraint-based type inference. The constraint language is composed of equality constraints solved by unification and subtyping constraints solved by a combination of simplification, generation of solution and garbage collecting. The type system was integrated in Tom which provides both stronger expressiveness and more safety able to ensure that the transformations described by rewrite rules preserve the type of terms
author2 Université de Lorraine
author_facet Université de Lorraine
Oliveira Kiermes Tavares, Claudia Fernanda
author Oliveira Kiermes Tavares, Claudia Fernanda
author_sort Oliveira Kiermes Tavares, Claudia Fernanda
title Un système de types pour la programmation par réécriture embarquée
title_short Un système de types pour la programmation par réécriture embarquée
title_full Un système de types pour la programmation par réécriture embarquée
title_fullStr Un système de types pour la programmation par réécriture embarquée
title_full_unstemmed Un système de types pour la programmation par réécriture embarquée
title_sort un système de types pour la programmation par réécriture embarquée
publishDate 2012
url http://www.theses.fr/2012LORR0015/document
work_keys_str_mv AT oliveirakiermestavaresclaudiafernanda unsystemedetypespourlaprogrammationparreecritureembarquee
AT oliveirakiermestavaresclaudiafernanda atypesystemforembeddedrewritingprogramming
_version_ 1719192219670282240