• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 81
  • 32
  • 13
  • 1
  • Tagged with
  • 133
  • 133
  • 65
  • 45
  • 41
  • 37
  • 30
  • 27
  • 22
  • 18
  • 16
  • 15
  • 14
  • 13
  • 13
  • About
  • The Global ETD Search service is a free service for researchers to find electronic theses and dissertations. This service is provided by the Networked Digital Library of Theses and Dissertations.
    Our metadata is collected from universities around the world. If you manage a university/consortium/country archive and want to be added, details can be found on the NDLTD website.
51

Expression et composition des motifs de conception avec les aspects

Denier, Simon 09 July 2007 (has links) (PDF)
Les patrons de conception répertorient les bonnes pratiques de la programmation par ob- jets. Les solutions des patrons, appelées motifs, apparaissent avec une densité croissante dans les bibliothèques et cadriciels. Les effets de cette densité sur la modularité, l'adaptation et la réutilisation des programmes sont mal connus. Or la dispersion et le mélange du code lié à l'im- plémentation des motifs rendent difficile l'étude de ces effets. La programmation par aspects est une technique nouvelle dédiée au traitement de ces deux symptômes. En modularisant les motifs dans des aspects, nous pouvons analyser de manière plus fine les problèmes d'implémentation et de composition des motifs liés à leur densité. Cette thèse aborde les problèmes de la densité, de l'implémentation et de la composition des motifs avec AspectJ, une extension de Java pour les aspects. À partir du cas concret du cadri- ciel JHotDraw, nous montrons qu'une forte densité est un facteur de risque sur la modularité et l'adaptation d'un programme objet. Nous présentons la transformation des motifs à l'aide des aspects et nous décrivons les idiomes d'AspectJ supportant leur modularisation. Nous exami- nons la modularité et la réutilisation des compositions de motifs définies avec les aspects. Nous proposons la résolution des interactions entre motifs à l'aide du langage de coupe des aspects. Enfin nous développons une méthode de programmation avec AspectJ basée sur l'usage conjoint des classes et des aspects. Ces travaux nous permettent de conclure sur l'intérêt des aspects comme moyen d'étude et de traitement de la densité des motifs. Ils ouvrent également des pistes pour l'amélioration des langages d'aspects.
52

Spécification Modulaire et Analyse Compositionnelle de Systèmes Stochastiques

Delahaye, Benoît 08 October 2010 (has links) (PDF)
Cette thèse présente des contributions originales pour la conception et la vérification de systèmes non-déterministes et stochastiques. Nos résultats sont divisés selon trois lignes directrices. Premièrement, nous généralisons la théorie des interfaces au cas stochastique, en s'appuyant sur le formalisme classique des chaînes de Markov à intervalles pour construire la première théorie de spécification compositionnelle pour systèmes stochastiques : les chaînes de Markov à contraintes. Deuxièmement, nous étendons la notion de contrats hypothèse-garantie et développons une théorie compositionnelle à base de contrats pour systèmes stochastiques, pour laquelle nous proposons des notions quantitatives de raffinement et de satisfaction. Finalement, nous proposons une méthodologie pour la vérification de systèmes complexes, basée sur une abstraction stochastique. Cette méthodologie, combinée avec le model-checking statistique, est appliquée avec succès à un cas d'étude industriel.
53

Analyses et vérification des programmes à aspects

Djoko Djoko, Simplice 29 June 2009 (has links) (PDF)
La programmation par aspects est un paradigme de programmation qui permet de mieux séparer les préoccupations d'une application. Un aspect est défini pour chaque préoccupation qui ne peut pas être isolée dans un module. Les aspects sont ensuite ajoutés au programme de base par un processus automatique appelé tissage. Cependant, l'expressivité des langages d'aspect généraux permet de modifier totalement la sémantique du programme de base (par ex., un aspect peut remplacer certains appels de méthode par du code arbitraire). Ce comportement peut entraîner la perte des avantages (lisibilité, maintenabilité, réutilisabilité, etc.) d'une meilleure modularisation des préoccupations. Il devient impossible de raisonner sur le programme de base sans regarder le programme tissé. Cette thèse apporte une réponse aux problèmes ci-dessus en définissant des catégories d'aspects dont l'impact sur la sémantique du programme de base reste sous contrôle. Pour chaque catégorie d'aspects, nous déterminons l'ensemble des propriétés du programme de base qui est préservé par tissage. L'appartenance d'un aspect à une catégorie est garantie par construction grâce à des langages d'aspect dédiés pour chaque catégorie. L'utilisation de ces langages assure que le tissage préservera l'ensemble des propriétés associé à la catégorie concernée. Les propriétés préservées sont représentées comme des sous ensembles de LTL et de CTL*. Nous prouvons formellement que quelque soit le programme de base, le tissage de n'importe quel aspect d'une catégorie préserve les propriétés de la catégorie correspondante. Ces langages et catégories sont définis dans un cadre formel indépendant de tout langage de base ou d'aspect. L'expressivité de ce cadre est montrée en décrivant des primitives complexes de langages d'aspect comme AspectJ et CaesarJ et en effectuant une preuve de correction de transformation d'aspect.
54

Gestion de cycle de vie des objets par aspects pour C +++

Sioud, Aymen January 2006 (has links) (PDF)
Les langages tels Java, Simula, Eiffel, Modula III sont des langages orientés objet qui ont gagné leur popularité grâce à la sûreté du traitement des exceptions et à la politique de sécurité qu'ils utilisent, notamment pour la gestion mémoire. En effet, Meyer a placé la gestion automatique de la mémoire en troisième position dans les "sept commandements" de la programmation orientée objet. L'entité utilisée pour assurer la gestion automatique de la mémoire est appelée Garbage Collector ou ramasse-miettes. Certains langages comme C, C++, Ada, Pascal et bien d'autres utilisent une libération explicite de la mémoire. L'avantage majeur de cette libération par rapport au Garbbage Collector est sans doute l'emploi des pointeurs, outil très important permettant un accès direct à certaines zones mémoires et une utilisation plus optimale de l'espace mémoire. Le C++ est l'un des langages de programmation les plus utilisés actuellement. Il est à la fois facile à utiliser et très efficace. Les caractéristiques du C++ en font un langage idéal pour certains types de projets. Il est incontournable dans la réalisation des grands programmes. Les optimisations des compilateurs actuels en font également un langage de prédilection pour ceux qui recherchent les performances. Puisqu'il est une extension de l'ANSI-C, C++ utilise une gestion explicite de la mémoire avec les delete, new, free et malloc. Pour Ellis et Stroustrup, la gestion de mémoire explicite via le Garbbage Collector n'est pas une composante du langage C++. Nous proposons dans notre travail de recherche un outil assurant une gestion implicite de la mémoire basé sur la programmation aspect, notamment avec l'extension AspectC++ qui est un préprocesseur pour un compilateur C++ usuel. L'idée est d'implémenter via AspectC++ des compteurs de références pour les objets nouvellement créés. Il s'agit d'attribuer un compteur de références à un objet, d'incrémenter ce compteur chaque fois qu'un autre objet crée une référence vers le premier objet et de décrémenter ce compteur chaque fois qu'une référence est supprimée. L'objet sera détruit dès que son compteur associé sera à zéro.
55

Hiber, un langage pour décrire les règles de génération de code dans SableCC

Coderre, David January 2007 (has links) (PDF)
SableCC est un générateur de compilateurs. Il permet de construire des analyseurs lexicaux, des analyseurs syntaxiques et des arbres syntaxiques. Il est toutefois limité à la génération de code en langage Java. Dans ce mémoire, nous présentons un outil qui s'intègre à SableCC et qui permet à celui-ci une génération de code dans d'autres langages orientés objets. La méthode que nous proposons pour permettre la génération de code dans un autre langage consiste à construire des scripts et des patrons pour chaque nouveau langage. La rédaction des scripts se fait dans le langage Hiber, un langage que nous avons conçu pour faciliter la tâche de décrire les règles de génération de code. Les scripts sont interprétés par un interpréteur construit avec SableCC. Cet interpréteur reçoit de SableCC une structure de données qui est accessible à partir de scripts. Le principe original de SableCC pour la génération de code est donc conservé. Pour vérifier le bon fonctionnement de l'interpréteur et de la structure de données, nous avons effectué la génération en Java avec notre méthode et nous avons comparé le code généré avec celui de la version originale de SableCC. Par la suite, nous avons ajouté la génération en C++. C'est un langage ayant des similitudes avec Java. Cet exercice nous a permis de raffiner l'interpréteur et la structure de données. Dans le but de démontrer une plus grande maturité de la génération, un troisième langage est ajouté: Python. Ce langage est très différent des deux derniers, ce qui démontre l'adéquation de notre méthode de génération pour les langages orientés objets. La méthode de génération proposée permet de bien séparer les modèles de génération, les règles de génération et la structure de données. Elle rend possible l'ajout d'un nouveau langage destination en écrivant un script qui est peu volumineux, facile à lire et à maintenir. ______________________________________________________________________________ MOTS-CLÉS DE L’AUTEUR : Générateur de compilateur, Interpréteur, Structure de données, Hiber, Script.
56

Une démarche dirigée par les modèles pour la personnalisation des applications embarquées dans les cartes à puce

Bonnet, Stéphane Geib, Jean-Marc. Potonniée, Olivier Marvie, Raphaël January 2007 (has links)
Reproduction de : Thèse de doctorat : Informatique : Lille 1 : 2005. / Résumé en français et en anglais. Titre provenant de la page de titre du document numérisé. Bibliogr. p. 143-155.
57

Ordonnancement interactif basé sur des indicateurs applications à la gestion de commandes incertaines et à l'affectation des opérateurs /

Letouzey, Agnès. Grabot, Bernard January 2004 (has links)
Reproduction de : Thèse de doctorat : Systèmes industriels : Toulouse, INPT : 2001. / Titre provenant de l'écran-titre. Bibliogr. 137 réf.
58

Une méthodologie pour le test de conformité et d'interopérabilité des protocoles de mobilité

Ngani Noudem, Francine Viho, César January 2006 (has links) (PDF)
Thèse doctorat : Informatique : Rennes 1 : 2006. / Bibliogr. p. 115-119.
59

Evaluation parallèle de requêtes relationnelles sur le réseau de stations le système ENKIDU /

Exbrayat, Matthieu Flory, André. January 1999 (has links)
Thèse doctorat : Informatique : Villeurbanne, INSA : 1999. / Titre provenant de l'écran-titre. Bibliogr. p. 165-174.
60

Création de fontes en typographie numérique

André, Jacques January 1993 (has links) (PDF)
Habilitation à diriger des recherches : Informatique : Rennes 1 : 1993. / Bibliogr. p. 105-124.

Page generated in 0.149 seconds