• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 258
  • 94
  • 25
  • 3
  • 2
  • 2
  • 1
  • Tagged with
  • 394
  • 156
  • 150
  • 146
  • 143
  • 72
  • 66
  • 65
  • 63
  • 49
  • 47
  • 45
  • 43
  • 42
  • 41
  • 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.
101

Un cadre formel pour le développement orienté aspect : modélisation et vérification des interactions dues aux aspects

Mostefaoui, Farida January 2008 (has links)
Thèse numérisée par la Division de la gestion de documents et des archives de l'Université de Montréal
102

Génération de Transformations de Modèles : une approche basée sur les treillis de Galois

Dolques, Xavier 18 November 2010 (has links) (PDF)
La transformation de modèles est une opération fondamentale dans l'ingénierie dirigée par les modèles. Elle peut être manuelle ou automatisée, mais dans ce dernier cas elle nécessite de la part du développeur qui la conçoit la maîtrise des méta-modèles impliqués dans la transformation. La génération de transformations de modèles à partir d'exemples permet la création d'une transformation de modèle en se basant sur des exemples de modèles sources et cibles. Le fait de travailler au niveau modèle permet d'utiliser les syntaxes concrètes définies pour les méta-modèles et ne nécessite plus une maîtrise parfaite de ces derniers.Nous proposons une méthode de génération de transformations de modèles à partir d'exemples basée sur l'Analyse Relationnelle de Concepts (ARC) permettant d'obtenir un ensemble de règles de transformations ordonnées sous forme de treillis. L'ARC est une méthode de classification qui se base sur des liens de correspondances entre les modèles pour faire émerger des règles. Ces liens étant un problème commun à toute les méthodes de génération de transformation de modèles à partir d'exemples, nous proposons une méthode basée sur des méthodes d'alignement d'ontologie permettant de les générer.
103

Des spécifications en langage naturel aux spécifications formelles via une ontologie comme modèle pivot

Sadoun, Driss 17 June 2014 (has links) (PDF)
Le développement d'un système a pour objectif de répondre à des exigences. Aussi, le succès de sa réalisation repose en grande partie sur la phase de spécification des exigences qui a pour vocation de décrire de manière précise et non ambiguë toutes les caractéristiques du système à développer.Les spécifications d'exigences sont le résultat d'une analyse des besoins faisant intervenir différentes parties. Elles sont généralement rédigées en langage naturel (LN) pour une plus large compréhension, ce qui peut mener à diverses interprétations, car les textes en LN peuvent contenir des ambiguïtés sémantiques ou des informations implicites. Il n'est donc pas aisé de spécifier un ensemble complet et cohérent d'exigences. D'où la nécessité d'une vérification formelle des spécifications résultats.Les spécifications LN ne sont pas considérées comme formelles et ne permettent pas l'application directe de méthodes vérification formelles.Ce constat mène à la nécessité de transformer les spécifications LN en spécifications formelles.C'est dans ce contexte que s'inscrit cette thèse.La difficulté principale d'une telle transformation réside dans l'ampleur du fossé entre spécifications LN et spécifications formelles.L'objectif de mon travail de thèse est de proposer une approche permettant de vérifier automatiquement des spécifications d'exigences utilisateur, écrites en langage naturel et décrivant le comportement d'un système.Pour cela, nous avons exploré les possibilités offertes par un modèle de représentation fondé sur un formalisme logique.Nos contributions portent essentiellement sur trois propositions :1) une ontologie en OWL-DL fondée sur les logiques de description, comme modèle de représentation pivot permettant de faire le lien entre spécifications en langage naturel et spécifications formelles; 2) une approche d'instanciation du modèle de représentation pivot, fondée sur une analyse dirigée par la sémantique de l'ontologie, permettant de passer automatiquement des spécifications en langage naturel à leur représentation conceptuelle; et 3) une approche exploitant le formalisme logique de l'ontologie, pour permettre un passage automatique du modèle de représentation pivot vers un langage de spécifications formelles nommé Maude.
104

Amélioration des processus de vérification de programmes par combinaison des méthodes formelles avec l'ingénierie dirigée par les modèles

Fernandes Pires, A. 26 June 2014 (has links) (PDF)
Lors d'un développement logiciel, et plus particulièrement d'un développement d'applications embarquées avioniques, les activités de vérification représentent un coût élevé. Une des pistes prometteuses pour la réduction de ces coûts est l'utilisation de méthodes formelles. Ces méthodes s'appuient sur des fondements mathématiques et permettent d'effectuer des tâches de vérification à forte valeur ajoutée au cours du développement. Les méthodes formelles sont déjà utilisées dans l'industrie. Cependant, leur difficulté d'appréhension et la nécessité d'expertise pour leur mise en pratique sont un frein à leur utilisation massive. Parallèlement au problème des coûts liés à la vérification logicielle, vient se greffer la complexification des logiciels et du contexte de développement. L'Ingénierie Dirigée par les Modèles (IDM) permet de faire face à ces difficultés en proposant des modèles, ainsi que des activités pour en tirer profit. Le but des travaux présentés dans cette thèse est d'établir un lien entre les méthodes formelles et l'IDM afin de proposer à des utilisateurs non experts une approche de vérification formelle et automatique de programmes susceptible d'améliorer les processus de vérification actuels. Nous proposons de générer automatiquement sur le code source des annotations correspondant aux propriétés comportementales attendues du logiciel, et ce, à partir de son modèle de conception. Ces annotations peuvent ensuite être vérifiées par des outils de preuve déductive, afin de s'assurer que le comportement du code est conforme au modèle. Cette thèse CIFRE s'inscrit dans le cadre industriel d'Atos. Il est donc nécessaire de prendre en compte le contexte technique qui s'y rattache. Ainsi, nous utilisons le standard UML pour la modélisation, le langage C pour l'implémentation et l'outil Frama-C pour la preuve du code. Nous tenons également compte des contraintes du domaine du logiciel avionique dans lequel Atos est impliqué et notamment les contraintes liées à la certification. Les contributions de cette thèse sont la définition d'un sous-ensemble des machines à états UML dédié à la conception comportementale de logiciel avionique et conforme aux pratiques industrielles existantes, la définition d'un patron d'implémentation C, la définition de patrons de génération des propriétés comportementales sur le code à partir du modèle et enfin l'implémentation de l'approche dans un prototype compatible avec l'environnement de travail des utilisateurs potentiels en lien avec Atos. L'approche proposée est finalement évaluée par rapport à l'objectif de départ, par rapport aux attentes de la communauté du génie logiciel et par rapport aux travaux connexes.
105

Algèbres de Kleene, réécriture modulo AC et circuits en coq

Braibant, Thomas 17 February 2012 (has links) (PDF)
Cette thèse décrit trois travaux de formalisation en Coq. Le premier chapitre s'intéresse à l'implémentation d'une procédure de décision efficace pour les algèbres de Kleene, pour lesquelles le modèle des langages réguliers est initial : il est possible de décider la théorie équationelle des algèbres de Kleene via la construction et la comparaison d'automates finis. Le second chapitre est consacré à la définition de tactiques pour la réécriture modulo associativité et commutativité en utilisant deux composants : une procédure de décision réflexive pour l'égalité modulo AC, ainsi qu'un greffon OCaml implémentant le filtrage modulo AC. Le dernier chapitre esquisse une formalisation des circuits digitaux via un plongement profond utilisant les types dépendants de Coq ; on s'intéresse ensuite à prouver la correction totale de circuits paramétriques.
106

Méthode pour la spécification de responsabilité pour les logiciels : Modelisation, Tracabilité et Analyse de dysfonctionnements

Sampaio elesbao mazza, Eduardo 26 June 2012 (has links) (PDF)
Malgré les progrès importants effectués en matière de conception de logiciels et l'existence de méthodes de développement éprouvées, il faut reconnaître que les défaillances de systèmes causées par des logiciels restent fréquentes. Il arrive même que ces défaillances concernent des logiciels critiques et provoquent des dommages significatifs. Considérant l'importance des intérêts en jeu, et le fait que la garantie de logiciel "zéro défaut" est hors d'atteinte, il est donc important de pouvoir déterminer en cas de dommages causés par des logiciels les responsabilités des différentes parties. Pour établir ces responsabilités, un certain nombre de conditions doivent être réunies: (i) on doit pouvoir disposer d'éléments de preuve fiables, (ii) les comportements attendus des composants doivent avoir été définis préalablement et (iii) les parties doivent avoir précisé leurs intentions en matière de répartition des responsabilités. Dans cette thèse, nous apportons des éléments de réponse à ces questions en proposant un cadre formel pour spécifier et établir les responsabilités en cas de dysfonctionnement d'un logiciel. Ce cadre formel peut être utilisé par les parties dans la phase de rédaction du contrat et pour concevoir l'architecture de logs du système. Notre première contribution est une méthode permettant d'intégrer les définitions formelles de responsabilité et d'éléments de preuves dans le contrat juridique. Les éléments de preuves sont fournis par une architecture de logs dite "acceptable" qui dépend des types de griefs considérés par les parties. La seconde contribution importante est la définition d'une procédure incrémentale, qui est mise en ?uvre dans l'outil LAPRO, pour l'analyse incrémentale de logs distribués.
107

Interaction entre algèbre linéaire et analyse en formalisation des mathématiques

Cano, Guillaume 04 April 2014 (has links) (PDF)
Dans cette thèse nous présentons la formalisation de trois résultats principaux que sont la forme normale de Jordan d'une matrice, le théorème de Bolzano-Weierstraß et le théorème de Perron-Frobenius. Pour la formalisation de la forme normale de Jordan nous introduisons différents concepts d'algèbre linéaire tel que les matrices diagonales par blocs, les matrices compagnes, les facteurs invariants, ... Ensuite nous définissons et développons une théorie sur les espaces topologiques et métriques pour la formalisation du théorème de Bolzano-Weierstraß. La formalisation du théorème de Perron-Frobenius n'est pas terminée. La preuve de ce théorème utilise des résultats d'algèbre linéaire, mais aussi de topologie. Nous montrerons comment les précédents résultats seront réutilisés.
108

Certification of an Instruction Set Simulator

Shi, Xiaomu 10 July 2013 (has links) (PDF)
Cette thèse expose nos travaux de certification d'une partie d'un programme C/C++ nommé SimSoC (Simulation of System on Chip), qui simule le comportement d'archi- tectures basées sur des processeurs tels que ARM, PowerPC, MIPS ou SH4. Un simulateur de System on Chip peut être utilisé pour developper le logiciel d'un système embarqué spécifique, afin de raccourcir les phases des développement et de test, en particulier quand la vitesse de simulation est réaliste (environ 100 millions d'instructions par seconde par cœur dans le cas de SimSoC). Les réductions de temps et de coût de développement obtenues se traduisent par des cycles de conception interactifs et rapides, en évitant la lourdeur d'un système de développement matériel. SimSoC est un logiciel complexe, comprenant environ 60 000 de C++, intégrant des parties écrites en SystemC et des optimisations non triviales pour atteindre une grande vitesse de simulation. La partie de SimSoC dédiée au processeur ARM, l'un des plus répandus dans le domaine des SoC, transcrit les informations contenues dans un manuel épais de plus de 1000 pages. Les erreurs sont inévitables à ce niveau de complexité, et certaines sont passées au travers des tests intensifs effectués sur la version précédente de SimSoC pour l'ARMv5, qui réussissait tout de même à simuler l'amorçage complet de linux. Un problème critique se pose alors : le simulateur simule-t-il effectivement le matériel réel ? Pour apporter des éléments de réponse positifs à cette question, notre travail vise à prouver la correction d'une partie significative de SimSoC, de sorte à augmenter la confiance de l'utilisateur en ce similateur notamment pour des systèmes critiques. Nous avons concentré nos efforts sur un composant particulièrement sensible de SimSoC : le simulateur du jeu d'instructions de l'ARMv6, faisant partie de la version actuelle de SimSoC. Les approches basées sur une sémantique axiomatique (logique de Hoare par exemple) sont les plus répandues en preuve de programmes impératifs. Cependant, nous avons préféré essayer une approche moins classique mais plus directe, basée sur la sémantique opérationnelle de C : cela était rendu possible en théorie depuis la formalisation en Coq d'une telle sémantique au sein du projet CompCert et mettait à notre disposition toute la puissance de Coq pour gérer la complexitité de la spécification. À notre connaissance, au delà de la certification d'un simulateur, il s'agit de la première expérience de preuve de correction de programmes C à cette échelle basée sur la sémantique opérationnelle. Nous définissons une représentation du jeu d'instruction ARM et de ses modes d'adressage formalisée en Coq, grâce à un générateur automatique prenant en entrée le pseudo-code des instructions issu du manuel de référence ARM. Nous générons égale- ment l'arbre syntaxique abstrait CompCert du code C simulant les mêmes instructions au sein de Simlight, une version allégée de SimSoC. À partir de ces deux représentations Coq, nous pouvons énoncer et démontrer la correction de Simlight, en nous appuyant sur la sémantique opérationnelle définie dans CompCert. Cette méthodologie a été appliquée à au moins une instruction de chaque catégorie du jeu d'instruction de l'ARM. Au passage, nous avons amélioré la technologie disponible en Coq pour effectuer des inversions, une forme de raisonnement utilisée intensivement dans ce type de situation.
109

L'amélioration de la qualité rédactionnelle des textes législatifs. Approche comparée droit français - droit de l'Union européenne / The Improvement of the quality of drafting of degislative texts. Comparative study of french law and European Union Law

Prokopiak, Marie 01 December 2015 (has links)
La critique de la qualité rédactionnelle des textes législatifs s’est intensifiée depuis la fin des années quatre-vingt. Dans de nombreux systèmes juridiques nationaux comme dans l’ordre juridique de l’Union européenne, la doctrine et les pouvoirs publics ne cessent de déplorer la perte de normativité, le pointillisme, le manque de clarté des énoncés législatifs. En particulier, la sécurité juridique s’en trouve menacée, l’effectivité de la loi passablement affaiblie et l’égalité des citoyens devant la loi compromise. L’approche comparée, justifiée par l’étroite imbrication du système juridique français et du système juridique de l’Union européenne en matière normative, vise à apporter un éclairage nouveau et plus global sur les moyens de remédier à ce problème récurrent. La première voie d’amélioration est celle de la rénovation de l’ensemble des techniques, des méthodes, des procédures concourant à l’élaboration des textes législatifs. Cette préoccupation trouve d’ailleurs un écho favorable auprès des juges français et européen qui se réservent la possibilité de sanctionner, sur le fondement d’une argumentation juridique similaire, les malfaçons rédactionnelles nuisant à la compréhension des textes. La seconde voie d’amélioration, complémentaire, est celle de la clarification de la législation existante. Parce que l’accès matériel et intellectuel à cette dernière devient de plus en plus complexe, sont envisagées sa codification et, le cas échéant, sa révision selon un processus itératif. Ainsi, l’étude comparée des expériences française et européenne dessine les traits d’un modèle pour mieux rédiger les textes législatifs, lequel se développe bien au-delà des deux systèmes juridiques. Il n’est toutefois pas exempt de certaines contradictions, insuffisances et écueils, si bien qu’une réflexion commune sur les causes profondes de la dégradation de la qualité rédactionnelle des textes législatifs doit encore être menée. / The criticism of the quality of drafting of legislation has been increasing since the 1980s. In many national legal systems as in the legal order of the European Union, authors and public authorities never stop denouncing the loss of normativity, the punctiliousness and the lack of clarity of legislation statement. In particular, the legal security is threatened, the effectiveness of the law is weakened and the equality of citizens before the law is compromised. The comparative study, justified by the close interlinking of the French legal system and that of the European Union, aims to provide a new and more global perspective on ways to address this recurring problem. The first means of improvement is the reform of all the techniques, methods and procedures that contribute to the preparation of legislation. This approach also finds a favorable response from the French and European judges, who reserve the right to sanction on the basis of similar legal arguments, the writing defects that affect the understanding of texts. The second, complementary, means of improvement is the clarification of existing legislation. As the material and intellectual access to it is becoming more and more complicated, its codification and, if required, its revision within the framework of an iterative process are being contemplated. Thus, the comparative study of French and European Union experiences outlines a model to better draft the legislation, which grows beyond the two legal systems. It is, however, not free of contradictions, deficiencies and pitfalls, therefore a Europe-wide reflexion on the underlying causes of the degradation of the quality of drafting of legislation needs to be undertaken
110

Environnement pour le développement et la preuve de correction systèmatiques de programmes parallèles fonctionnels / Environment for the systematic development and proof of correction of functional parallel programs

Tesson, Julien 08 November 2011 (has links)
Concevoir et implanter des programmes parallèles est une tâche complexe, sujette aux erreurs. La vérification des programmes parallèles est également plus difficile que celle des programmes séquentiels. Pour permettre le développement et la preuve de correction de programmes parallèles, nous proposons de combiner le langage parallèle fonctionnel quasi-synchrone BSML, les squelettes algorithmiques - qui sont des fonctions d’ordre supérieur sur des structures de données réparties offrant une abstraction du parallélisme – et l’assistant de preuve Coq, dont le langage de spécification est suffisamment riche pour écrire des programmes fonctionnels purs et leurs propriétés. Nous proposons un plongement des primitives BSML dans la logique de Coq sous une forme modulaire adaptée à l’extraction de programmes. Ainsi, nous pouvons écrire dans Coq des programmes BSML, raisonner dessus, puis les extraire et les exécuter en parallèle. Pour faciliter le raisonnement sur ceux-ci, nous formalisons le lien entre programmes parallèles, manipulant des structures de données distribuées, et les spécifications, manipulant des structures séquentielles. Nous prouvons ainsi la correction d’une implantation du squelette algorithmique BH, un squelette adapté au traitement de listes réparties dans le modèle de parallélisme quasi synchrone. Pour un ensemble d’applications partant d’une spécification d’un problème sous forme d’un programme séquentiel simple, nous dérivons une instance de nos squelettes, puis nous extrayons un programme BSML avant de l’exécuter sur des machines parallèles. / Parallel program design and implementation is a complex, error prone task. Verifying parallel programs is also harder than verifying sequential ones. To ease the development and the proof of correction of parallel programs, we propose to combine the functional bulk synchronous parallel language BSML; the algorithmic skeleton, that are higher order function on distributed data structures which offer an abstraction of the parallelism ; and the Coq proof assistant, who’s specification language is rich enough to write purely functional programs together with their properties. We propose an embedding of BSML primitives in the Coq logic in a modular form, adapted to program extraction. So we can write BSML programs in Coq, reason on them, extract them and then execute them in parallel. To ease the specification of these programs, we formalise the relation between parallel programs using distributed data structures and specification using sequential data structure. We prove the correctness of an implementation of the BH skeleton. This skeleton is devoted to the treatment of distributed lists in the BSP model. For a set of application, starting from a sequential specification of a problem, we derive an instance of our skeletons, then extract a BSML program which is executed on parallel machines.

Page generated in 0.0522 seconds