Dissertations / Theses on the topic 'Méthodes formelles de génie logiciel'

To see the other types of publications on this topic, follow the link: Méthodes formelles de génie logiciel.

Create a spot-on reference in APA, MLA, Chicago, Harvard, and other styles

Select a source type:

Consult the top 50 dissertations / theses for your research on the topic 'Méthodes formelles de génie logiciel.'

Next to every source in the list of references, there is an 'Add to bibliography' button. Press on it, and we will generate automatically the bibliographic reference to the chosen work in the citation style you need: APA, MLA, Harvard, Chicago, Vancouver, etc.

You can also download the full text of the academic publication as pdf and read online its abstract whenever available in the metadata.

Browse dissertations / theses on a wide variety of disciplines and organise your bibliography correctly.

1

Le, Guennec Alain. "Génie logiciel et méthodes formelles avec UML : : spécification, validation et génération de tests." Rennes 1, 2001. http://www.theses.fr/2001REN10156.

Full text
APA, Harvard, Vancouver, ISO, and other styles
2

Fayolle, Thomas. "Combinaison de méthodes formelles pour la spécification de systèmes industriels." Thesis, Paris Est, 2017. http://www.theses.fr/2017PESC1078/document.

Full text
Abstract:
La spécification d’un système industriel nécessite la collaboration d’un ingénieur connaissant le système à modéliser et d’un ingénieur connaissant le langage de modélisation. L'utilisation d'un langage de spécification graphique, tel que les ASTD (Algebraic State Transition Diagram), permet de faciliter cette collaboration. Dans cette thèse, nous définissons une méthode de spécification graphique et formelle qui combine les ASTD avec les langages Event-B et B. L’ordonnancement des actions de la spécification est décrit par les ASTD et le modèle de données est décrit dans la spécification Event-B. La spécification B permet de vérifier la cohérence du modèle : les événements Event-B doivent pouvoir être exécutés lorsque les transitions associées doivent l’être. Un raffinement combiné des ASTD et d’Event-B permet la spécification incrémental du système. Afin de valider son apport, la méthode de spécification a été utilisée pour la spécification de cas d’études
Specifying industrial systems requires collaboration between an engineer that knows how the system works and an engineer that know the specification language. Graphical specification languages can help this collaboration. In this PhD Thesis a method is defined that combines ASTD (Algebraic State Transition Diagram), a formal graphical notation, with B and Event-B langagues. The ordering of actions is specified using ASTD and the data model is specified using Event-B. B specification is used to verify the consistency of the model : Event-B events have to be executed when the corresponding transitions have to be executed. A combined refinement allows to incrementaly design the system
APA, Harvard, Vancouver, ISO, and other styles
3

Couturier, Raphaël. "Utilisation des méthodes formelles pour le développement de programmes parallèles." Nancy 1, 2000. http://docnum.univ-lorraine.fr/public/SCD_T_2000_0001_COUTURIER.pdf.

Full text
Abstract:
Le travail décrit dans cette thèse a pour but d'étudier comment on peut appliquer les méthodes formelles à la parallélisassions, pour développer des programmes parallèles corrects. Comme un de nos objectifs est de travailler sur des applications en grandeur nature, nous avons, durant ce travail, collaboré avec des physiciens et chimistes de notre université afin de paralléliser trois de leurs applications. Ces applications ont été parallélisées, sur l'origin 2000 du centre Charles Hermite, soit avec openmp, soit avec mpi, soit avec ces deux paradigmes à la fois. Afin de prouver qu'une parallèlisation basée sur une décomposition de domaines est correcte, nous avons développé une méthodologie adéquate qui demande à l'utilisateur d'abstraire son code séquentiel afin d'en obtenir une post-condition. Celle-ci nécessite d'être généralisée pour le code parallèle. Ensuite, on doit prouver que les post-conditions du code parallèle, plus la post-condition du code réalisant le collage des informations obtenues en parallèle, impliquent la post-condition du programme séquentiel. Si on ne spécifie pas la post-condition du code réalisant le collage, la preuve échoue, mais les obligations de preuves constituent la post-condition du code d'assemblage des calculs parallèles. Nous avons appliqué cette méthodologie à deux des parallelisations que nous avons effectuées. Pour montrer que l'on peut élaborer un programme à partir d'une spécification formelle et en faire la preuve, nous avons prouvé que le tri bitonique, facilement parallelisable, est correct en utilisant pvs. Nous avons également construit un compilateur qui permet de transformer une spécification unity d'un programme parallèle déterministe en un programme fortran que l'on peut exécuter sur une machine avec openmp.
APA, Harvard, Vancouver, ISO, and other styles
4

Hunel, Philippe. "Conception et réalisation d'un environnement intégré de génie logiciel pour le développement des protocoles." Clermont-Ferrand 2, 1994. http://www.theses.fr/1994CLF21624.

Full text
Abstract:
Le travail présenté dans cette thèse porte sur l'élaboration d'un environnement pour concevoir, spécifier et implanter des protocoles de communication en utilisant la Technique de Description Formelle (TDF) Estelle. Les différents outils courants d'aide au développement, basés sur Estelle, ne couvrent généralement pas l'ensemble des objectifs des différentes phases d'un développement de protocole. En outre, ils présentent souvent des interfaces utilisateur variés. Cette thèse propose une solution pour intégrer les outils Estelle existants ou à venir dans un environnement ouvert. La première partie présente la modélisation du processus de production du logiciel, puis le modèle de référence OSI, et enfin, selon un cycle de vie en V, les spécificités du processus de développement des logiciels pour les protocoles de communication. La seconde partie expose tout d'abord une synthèse sur l'intégration d'outils (par les données, par le contrôle, par la présentation et par le procédé), en insistant sur les interfaces publiques de structures d'accueil (ATIS, CAIS-A, PCTE), puis l'environnement support EAST, basé sur PCTE, retenu pour réaliser l'intégration d'outils Estelle. La troisième partie propose une modélisation PCTE d'une spécification en Estelle pour qu'elle soit partageable entre différents outils, une méthodologie d'intégration d'outils Estelle dans EAST (expérimenté par l'intégration des outils VEDA et Pet & Dingo), et un modèle d'aide au développement pour les étapes de spécification, validation et implémentation, indépendant des outils Estelle utilisés. Les résultats obtenus permettent d'envisager l'intégration d'outils associés à diverses TDF à partir d'une modélisation PCTE des concepts du modèle OSI.
APA, Harvard, Vancouver, ISO, and other styles
5

Hazem, Lotfi. "Développement d'architectures logicielles par application de patrons d'architecture prouvés : définition et application." Versailles-St Quentin en Yvelines, 2007. http://www.theses.fr/2007VERS0005.

Full text
Abstract:
L’objectif visé par cette thèse est la réutilisation de solutions architecturales prouvées en combinant des techniques de développement formelles et semi-formelles pour répondre aux problèmes du développement d’architecture. Notre contribution porte sur la définition, la validation et l’intégration des patrons d’architecture dans les environnements de développement logiciel. Nous proposons de formaliser la définition des patrons d’architecture en prenant en compte non seulement la partie solution mais aussi la partie problème et les liens entre celles-ci. La description fournie s’appuie d’une part sur une spécification en UML/OCL et un ensemble de stéréotypes, d’autre part sur un modèle de qualité qui établit les caractéristiques de qualité en terme de besoins fonctionnels et non-fonctionnels. Les propriétés de qualité sont spécifiées en utilisant le modèle de qualité ISO/IEC 9126-1. Nos patrons sont sémantiquement consolidés par leurs spécifications formelles en B, en suivant un schéma de transformation de UML/OCL vers B. L’intégration de notre démarche dans l’environnement de développement Objecteering UML Modeler, vise à aider les développeurs en fournissant un cadre sémantique pour les patrons d’architecture sans dévoiler l’aspect formel utilisé pour leur validation
The work presented in this thesis aims to reuse proved architectural solutions by combining formal and semi-formal development techniques to solve architectural development problems. Our contribution relates to the definition, the validation and the integration of architectural patterns into software development environments. We propose to formalize architectural patterns definition taking into account the problem part, the solution part and relationships between them. On one hand, the provided description is based on UML/OCL specification and a stereotype set, on the other hand on a quality model who establishes quality characteristics in terms of functional and non-functional requirements. Quality characteristics are specified using the ISO/IEC 9126-1 quality model. Our patterns are semantically consolidated by their B formal specifications following a transformational approach from UML/OCL to B. The integration of our approach in the UML Objecteering Modeler aims at helping the developer by providing a semantic framework for the architectural patterns without revealing the formal aspect used for their validation
APA, Harvard, Vancouver, ISO, and other styles
6

Antignac, Thibaud. "Méthodes formelles pour le respect de la vie privée par construction." Thesis, Lyon, INSA, 2015. http://www.theses.fr/2015ISAL0016/document.

Full text
Abstract:
Le respect de la vie privée par construction est de plus en plus mentionné comme une étape essentielle vers une meilleure protection de la vie privée. Les nouvelles technologies de l'information et de la communication donnent naissance à de nouveaux modèles d'affaires et de services. Ces services reposent souvent sur l'exploitation de données personnelles à des fins de personnalisation. Alors que les exigences de respect de la vie privée sont de plus en plus sous tension, il apparaît que les technologies elles-mêmes devraient être utilisées pour proposer des solutions davantage satisfaisantes. Les technologies améliorant le respect de la vie privée ont fait l'objet de recherches approfondies et diverses techniques ont été développées telles que des anonymiseurs ou des mécanismes de chiffrement évolués. Cependant, le respect de la vie privée par construction va plus loin que les technologies améliorant simplement son respect. En effet, les exigences en terme de protection des données à caractère personnel doivent être prises en compte au plus tôt lors du développement d’un système car elles peuvent avoir un impact important sur l'ensemble de l'architecture de la solution. Cette approche peut donc être résumée comme « prévenir plutôt que guérir ». Des principes généraux ont été proposés pour définir des critères réglementaires de respect de la vie privée. Ils impliquent des notions telles que la minimisation des données, le contrôle par le sujet des données personnelles, la transparence des traitements ou encore la redevabilité. Ces principes ne sont cependant pas suffisamment précis pour être directement traduits en fonctionnalités techniques. De plus, aucune méthode n’a été proposée jusqu’ici pour aider à la conception et à la vérification de systèmes respectueux de la vie privée. Cette thèse propose une démarche de spécification, de conception et de vérification au niveau architectural. Cette démarche aide les concepteurs à explorer l'espace de conception d'un système de manière systématique. Elle est complétée par un cadre formel prenant en compte les exigences de confidentialité et d’intégrité des données. Enfin, un outil d’aide à la conception permet aux concepteurs non-experts de vérifier formellement les architectures. Une étude de cas illustre l’ensemble de la démarche et montre comment ces différentes contributions se complètent pour être utilisées en pratique
Privacy by Design (PbD) is increasingly praised as a key approach to improving privacy protection. New information and communication technologies give rise to new business models and services. These services often rely on the exploitation of personal data for the purpose of customization. While privacy is more and more at risk, the growing view is that technologies themselves should be used to propose more privacy-friendly solutions. Privacy Enhancing Technologies (PETs) have been extensively studied, and many techniques have been proposed such as anonymizers or encryption mechanisms. However, PbD goes beyond the use of PETs. Indeed, the privacy requirements of a system should be taken into account from the early stages of the design because they can have a large impact on the overall architecture of the solution. The PbD approach can be summed up as ``prevent rather than cure''. A number of principles related to the protection of personal data and privacy have been enshrined in law and soft regulations. They involve notions such as data minimization, control of personal data by the subject, transparency of the data processing, or accountability. However, it is not clear how to translate these principles into technical features, and no method exists so far to support the design and verification of privacy compliant systems. This thesis proposes a systematic process to specify, design, and verify system architectures. This process helps designers to explore the design space in a systematic way. It is complemented by a formal framework in which confidentiality and integrity requirements can be expressed. Finally, a computer-aided engineering tool enables non-expert designers to perform formal verifications of the architectures. A case study illustrates the whole approach showing how these contributions complement each other and can be used in practice
APA, Harvard, Vancouver, ISO, and other styles
7

Bon, Philippe. "Du cahier des charges aux spécifications formelles : une méthode basée sur les réseaux de Pétri de haut niveau." Lille 1, 2000. https://pepite-depot.univ-lille.fr/RESTREINT/Th_Num/2000/50376-2000-149.pdf.

Full text
Abstract:
Aujourd'hui, un des points cruciaux dans le développement des logiciels critiques est le passage de l'informel au formel. Le but de cette thèse est de définir ici une méthodologie de développement permettant un passage plus intuitif du cahier de charges (spécifications informelles) aux spécifications formelles d'un système, en tenant compte de son comportement dynamique. Cette méthodologie se base sur l'utilisation d'un modèle lisible et expressif. Notre choix s'est donc porté les réseaux de Pétri de haut niveau qui combinent trois qualités importantes : la représentation graphique, le comportement dynamique et l'abstraction des traitements. Elle peut se décomposer en plusieurs phases. D'abord nous tenterons une représentation graphique du cahier des charges par le réseau de Pétri proprement dit. Puis la phase d'interprétation du cahier des charges où nous annoterons le réseau de Pétri obtenu par du langage naturel. La troisième phase, dite de formalisation, transformera les annotations du réseau de Pétri en formules mathématiques (contraintes). Enfin nous terminerons par une phase de traduction automatique du réseau de Pétri en machine abstraite b et nous poursuivrons par une procédure b classique.
APA, Harvard, Vancouver, ISO, and other styles
8

Belhaouari, Hakim. "Une approche intégrée pour la conception par contrat : vérification statique / dynamique et génération automatique de test." Paris 6, 2010. http://www.theses.fr/2010PA066116.

Full text
Abstract:
Les méthodes formelles légères facilitent l'introduction des outils formels en autorisant une spécification partielle du logiciel. En l'occurrence la granularité des vérifications dépend de la quantité d'information spécifiée. La fusion de ces méthodes semi-formelles (en particulier de la conception par contrat) et du test logiciel conduit à la notion de test basé sur les modèles (MBT). Ainsi, la découverte d'un oracle et la production des données de test peut être automatisée. Dans la génération automatique de tests, il est important de considérer le critère de qualité des tests produits. Cette qualité dépend des différents modes de productions. Le mode offrant la meilleur qualité consiste à analyser finement la spécification à l'aide de techniques de satisfaction de contraintes. Afin d'améliorer la qualité du logiciel, nous proposons dans cette thèse une méthodologie complète reposant sur la conception par contrat et différentes vérifications (dynamique et statique). En particulier, la génération automatique de tests dont l'enjeu est de produire de véritables scénarios de test qui suivent le plus précisément possible les spécifications ainsi qu'une stratégie de test clairement définie. La mise en œuvre des outils repose en grande partie sur un moteur de résolution de contrainte offrant une architecture ouverte. Ainsi l'utilisateur peut intégrer des types complexes qui ne sont pas supportés initialement grâce à la notion de constructeur de type. Nous présentons notamment le support pour deux types complexes: les tableaux bornés et les chaînes de caractères.
APA, Harvard, Vancouver, ISO, and other styles
9

Caffiau, Sybille. "Approche dirigée par les modèles pour la conception et la validation des applications interactives : une démarche basée sur la modélisation des tâches." Phd thesis, Chasseneuil-du-Poitou, Ecole nationale supérieure de mécanique et d'aéronautique, 2009. http://tel.archives-ouvertes.fr/tel-00461497.

Full text
Abstract:
Actuellement, les applications interactives sont utilisées dans de nombreux domaines (guichets automatiques, tours de contrôle...), par des publics très différents (enfants, experts, handicapés...) et par un nombre important d'utilisateurs (interfaces de téléphones portables...) ou au contraire très spécifiques (logiciels conçus spécifiquement pour une entreprise). Elles sont de ce fait très diverses. De par la multiplicité des paramètres à prendre en compte, la conception et le développement des applications interactives sont devenus très coûteux. Afin de réduire ces coûts, des recherches sont actuellement menées sur le processus de conception. Cette thèse s'inscrit dans ces travaux. L'un des axes étudiés pour réduire le coût de production des applications interactives est la détection des erreurs le plus en amont possible pendant le processus de conception. Nous proposons de faciliter la vérification et la validation de la dynamique des applications (plus spécifiquement dénommée dialogue) tout au long de la conception, en fonction des spécifications recueillies auprès des futurs utilisateurs, exprimés sous forme de modèles de tâches. Les modèles de dialogue et les modèles de tâches représentent deux points de vue différents et complémentaires pour une même application. Nous proposons une approche de vérification de cohérence entre ces deux modèles tout au long du cycle de vie de l'application. Pour cela, nous avons défini des règles de cohérence entre les modèles que nous vérifions formellement en utilisant une méta-modélisation des formalismes que nous avons choisis après évaluation de leur utilisation pour une conception centrée-utilisateur.
APA, Harvard, Vancouver, ISO, and other styles
10

Lissy, Alexandre. "Utilisation de méthodes formelles pour garantir des propriétés de logiciels au sein d'une distribution : exemple du noyau Linux." Thesis, Tours, 2014. http://www.theses.fr/2014TOUR4019/document.

Full text
Abstract:
Dans cette thèse nous nous intéressons à intégrer dans la distribution Linux produite par Mandriva une assurance qualité permettant de proposer des garanties de propriétés sur le code exécuté. Le processus de création d’une distribution implique l’utilisation de logiciels de provenances diverses pour proposer un assemblage cohérent et présentant une valeur ajoutée pour l’utilisateur. Ceci engendre une moindre maîtrise potentielle sur le code. Un audit manuel permet de s’assurer que celui-Ci présente de bonnes propriétés, par exemple, en matière de sécurité. Le nombre croissant de composants à intégrer, et la croissance de la quantité de code de chacun amènent à avoir besoin d’outils pour permettre une assurance qualité. Après une étude de la distribution nous choisissons de nous concentrer sur un paquet critique, le noyau Linux : nous proposons un état de l’art des méthodes de vérifications appliquées à ce contexte particulier, et identifions le besoin d’améliorer la compréhension de la structure du code source, la question de l’explosion combinatoire et le manque d’intégration des outils d’analyse de l’état de l’art. Pour répondre à ces besoins nous proposons une représentation du code source sous la forme d’un graphe, et l’utilisons pour aider à la documentation et à la compréhension de l’architecture du code. Des méthodes de détection de communautés sont évaluées sur ce cas pour répondre au besoin de l’explosion combinatoire. Enfin nous proposons une architecture intégrée dans le système de construction de la distribution permettant d’intégrer des outils d’analyse et de vérification de code
In this thesis we are interested in integrating to the Linux distribution produced by Mandriva quality assurance level that allows ensuring user-Defined properties on the source code used. The core work of a distribution and its producer is to create a meaningful aggregate from software available. Those softwares are free and open source, hence it is possible to adapt it to improve end user’s experience. Hence, there is less control over the source code. Manual audit can of course be used to make sure it has good properties. Examples of such properties are often referring to security, but one could think of others. However, more and more software are getting integrated into distributions and each is showing an increase in source code volume: tools are needed to make quality assurance achievable. We start by providing a study of the distribution itself to document the current status. We use it to select some packages that we consider critical, and for which we can improve things with the condition that packages which are similar enough to the rest of the distribution will be considered first. This leads us to concentrating on the Linux kernel: we provide a state of the art overview of code verification applied to this piece of the distribution. We identify a need for a better understanding of the structure of the source code. To address those needs we propose to use a graph as a representation of the source code and use it to help document and understand its structure. Specifically we study applying some state of the art community detection algorithm to help handle the combinatory explosion. We also propose a distribution’s build system-Integrated architecture for executing, collecting and handling the analysis of data produced by verifications tools
APA, Harvard, Vancouver, ISO, and other styles
11

Nemouchi, Yakoub. "Model-based Testing of Operating System-Level Security Mechanisms." Thesis, Université Paris-Saclay (ComUE), 2016. http://www.theses.fr/2016SACLS061/document.

Full text
Abstract:
Le test à base de modèle, en particulier test basé sur des assistants à la preuve, réduit de façon transparente l'écart entre la théorie, le modèle formel, et l’implémentation d'un système informatique. Actuellement, les techniques de tests offrent une possibilité d'interagir directement avec de "vrais" systèmes : via différentes propriétés formelles, les tests peuvent être dérivés et exécutés sur le système sous test. Convenablement, l'ensemble du processus peut être entièrement automatisé. Le but de cette thèse est de créer un environnement de test de séquence à base de modèle pour les programmes séquentiels et concurrents. Tout d'abord une théorie générique sur les monades est présentée, qui est indépendante de tout programme ou système informatique. Il se trouve que notre théorie basée sur les monades est assez expressive pour couvrir tous les comportements et les concepts de tests. En particulier, nous considérons ici : les exécutions séquentielles, les exécutions concurrentes, les exécutions synchronisées, les exécutions avec interruptions. Sur le plan conceptuel, la théorie apporte des notions comme la notion raffinement de test, les cas de tests abstraits, les cas de test concrets, les oracles de test, les scénarios de test, les données de tests, les pilotes de tests, les relations de conformités et les critères de couverture dans un cadre théorique et pratique. Dans ce cadre, des règles de raffinement de comportements et d'exécution symbolique sont élaborées pour le cas générique, puis affinées et utilisées pour des systèmes complexes spécifique. Comme application pour notre théorie, nous allons instancier notre environnement par un modèle séquentiel d'un microprocesseur appelé VAMP développé au cours du projet Verisoft. Pour le cas d'étude sur la concurrence, nous allons utiliser notre environnement pour modéliser et tester l'API IPC d'un système d'exploitation industriel appelé PikeOS.Notre environnement est implémenté en Isabelle / HOL. Ainsi, notre approche bénéficie directement des modèles, des outils et des preuves formelles de ce système
Formal methods can be understood as the art of applying mathematical reasoningto the modeling, analysis and verification of computer systems. Three mainverification approaches can be distinguished: verification based on deductive proofs,model checking and model-based testing.Model-based testing, in particular in its radical form of theorem proving-based testingcite{brucker.ea:2012},bridges seamlessly the gap between the theory, the formal model, and the implementationof a system. Actually,theorem proving based testing techniques offer a possibility to directly interactwith "real" systems: via differentformal properties, tests can be derived and executed on the system under test.Suitably supported, the entire process can fully automated.The purpose of this thesis is to create a model-based sequence testing environmentfor both sequential and concurrent programs. First a generic testing theory basedon monads is presented, which is independent of any concrete program or computersystem. It turns out that it is still expressive enough to cover all common systembehaviours and testing concepts. In particular, we consider here: sequential executions,concurrent executions, synchronised executions, executions with abort.On the conceptual side, it brings notions like test refinements,abstract test cases, concrete test cases,test oracles, test scenarios, test data, test drivers, conformance relations andcoverage criteria into one theoretical and practical framework.In this framework, both behavioural refinement rules and symbolic executionrules are developed for the generic case and then refined and used for specificcomplex systems. As an application, we will instantiate our framework by an existingsequential model of a microprocessor called VAMP developed during the Verisoft-Project.For the concurrent case, we will use our framework to model and test the IPC API of areal industrial operating system called PikeOS.Our framework is implemented in Isabelle/HOL. Thus, our approach directly benefitsfrom the existing models, tools, and formal proofs in this system
APA, Harvard, Vancouver, ISO, and other styles
12

Todorov, Vassil. "Automotive embedded software design using formal methods." Electronic Thesis or Diss., université Paris-Saclay, 2020. http://www.theses.fr/2020UPASG026.

Full text
Abstract:
La part croissante des fonctions d'assistance à la conduite, leur criticité, ainsi que la perspective d'une certification de ces fonctions, rendent nécessaire leur vérification et leur validation avec un niveau d'exigence que le test seul ne peut assurer.Depuis quelques années déjà d’autres domaines comme l’aéronautique ou le ferroviaire sont soumis à des contextes équivalents. Pour répondre à certaines contraintes ils ont localement mis en place des méthodes formelles. Nous nous intéressons aux motivations et aux critères qui ont conduit à l’utilisation des méthodes formelles dans ces domaines afin de les transposer sur des scénarios automobiles et identifier le périmètre potentiel d'application.Dans cette thèse, nous présentons nos études de cas et proposons des méthodologies pour l'usage de méthodes formelles par des ingénieurs non-experts. Le model checking inductif pour un processus de développement utilisant des modèles, l'interprétation abstraite pour démontrer l'absence d'erreurs d'exécution du code et la preuve déductive pour des cas de fonctions critiques de librairie.Enfin, nous proposons de nouveaux algorithmes pour résoudre les problèmes identifiés lors de nos expérimentations. Il s'agit d'une part d'un générateur d'invariants et d'une méthode utilisant la sémantique des données pour traiter efficacement des propriétés comportant du temps long, et d'autre part d'un algorithme efficace pour mesurer la couverture du modèle par les propriétés en utilisant des techniques de mutation
The growing share of driver assistance functions, their criticality, as well as the prospect of certification of these functions, make their verification and validation necessary with a level of requirement that testing alone cannot ensure. For several years now, other industries such as aeronautics and railways have been subject to equivalent contexts. To respond to certain constraints, they have locally implemented formal methods. We are interested in the motivations and criteria that led to the use of formal methods in these industries in order to transpose them to automotive scenarios and identify the potential scope of application.In this thesis, we present our case studies and propose methodologies for the use of formal methods by non-expert engineers. Inductive model checking for a model-driven development process, abstract interpretation to demonstrate the absence of run-time errors in the code and deductive proof for critical library functions.Finally, we propose new algorithms to solve the problems identified during our experiments. These are, firstly, an invariant generator and a method using the semantics of data to process properties involving long-running timers in an efficient way, and secondly, an efficient algorithm to measure the coverage of the model by the properties using mutation techniques
APA, Harvard, Vancouver, ISO, and other styles
13

Martinie, De Almeida Célia. "Une approche à base de modèles synergiques pour la prise en compte simultanée de l'utilisabilité, la fiabilité et l'opérabilité des systèmes interactifs critiques." Toulouse 3, 2011. http://thesesups.ups-tlse.fr/1509/.

Full text
Abstract:
Dans le cadre de la conception et du développement de systèmes interactifs critiques, lorsque le coût d'une erreur potentielle d'utilisation ou d'un dysfonctionnement du système peut dépasser le coût de développement de ce système ou se chiffrer en pertes humaines, les techniques, méthodes et processus actuellement proposés dans le domaine de l'IHM sont difficilement exploitables. D'une part, ils ne permettent pas de garantir simultanément les propriétés d'utilisabilité et de sûreté du système développé. D'autre part, la formation et la qualification des utilisateurs du système avant sa mise en opération n'est pas envisagée. Enfin, ces techniques, méthodes et processus ne fournissent pas les moyens de traçabilité exigés pour le développement de systèmes critiques. L'argumentaire de cette thèse s'appuie sur les avantages et limitations des approches existantes en termes de processus et notations de modélisation. Nous proposons une approche et montrons sa réalisation à travers un processus de développement d'un système interactif critique et de son programme de formation associé. Ce processus fournit un cadre conceptuel, une association d'étapes, des notations, et un environnement logiciel pour : le développement d'un système utilisable et sûr, le développement du programme de formation associé ainsi que la traçabilité des exigences et des choix de conception tout au long des différentes étapes. Il utilise certains principes de la conception centrée utilisateur et exploite de manière synergique les modèles des tâches, les modèles formels du comportement du système et le modèle de développement du programme de formation
In the field of interactive critical systems, the cost of a usage error or of a system failure can overcome the cost of the development of the system itself, and can result in loss of life, injury or damage to the system and its environment. Then, currently available Human Computer Interaction techniques, methods and processes are not sufficient, as they are not handling all of the design and development issues that are associated to interactive critical systems. First of all, these techniques, methods and processes do not enable to guarantee that the system will fulfil both usability and reliability properties. Then, they do not consider training and qualification of the users of the system. At last, they do not provide means for traceability of the needs and requirements through the whole development process. We propose an approach to develop interactive critical systems that are usable, reliable and operable and we describe the associated conceptual framework of our approach. We propose an implementation of this approach with a development process, notations and a software environment. The development process integrates phases for the development of the associated training program, and it provides support for the traceability of requirements and design choices during the whole phases of the process. This approach takes advantages from the User Centered Design paradigm and uses, in a synergistic way, task models, system's behaviour formal models and training program development model
APA, Harvard, Vancouver, ISO, and other styles
14

Garchery, Quentin. "Certification de la transformation de tâches de preuve." Electronic Thesis or Diss., université Paris-Saclay, 2022. http://www.theses.fr/2022UPASG006.

Full text
Abstract:
De nombreux prouveurs et outils de vérification font un usage instensif des transformations logiques afin de ramener un problème exprimé sous la forme d'une tâche de preuve à un certain nombre de tâches de preuve plus simples à valider. Les transformations font souvent partie de la base de confiance de l'outil de vérification. Cette thèse a pour objectif de renforcer la confiance accordée aux transformations logiques. Les transformations sont instrumentées pour produire des certificats puis ceux-ci sont vérifiés par un outil externe: c'est l'approche sceptique. De ce fait, notre méthode est incrémentale et robuste aux modifications apportées au code des transformations. Nous définissons deux formats de certificats; les transformations génèrent des certificats de surface et ces certificats sont traduits en des certificats de noyau qui sont destinés à la vérification finale. L'accent est mis sur la facilité de production des certificats de surface et nous avons fait en sorte qu'ils soient, autant que possible, indépendants des tâches de preuve, facilitant ainsi leur composition et rendant la certification plus modulaire. Les certificats de noyau, au contraire, incluent de nombreux détails tout en restant élémentaires, de sorte que leur vérification est réalisable par un outil simple, dont la confiance est facile à établir. Nous proposons une procédure de traduction d'un certificat de surface en un certificat de noyau qui n'a pas besoin d'être certifiée. Les transformations logiques sont considérées dans une logique d'ordre supérieur avec polymorphisme de type, ce formalisme pouvant être étendu avec des théories interprétées telles que l'égalité ou l'arithmétique entière. Nous appliquons notre méthode à Why3, et notamment à des transformations complexes qui pré-existent à notre travail. Nous implémentons également deux vérificateurs de certificats, le premier reposant sur une approche calculatoire efficace et l'autre s'appuyant sur un encodage superficiel des tâches de preuve dans le framework logique Lambdapi, donnant ainsi de fortes garanties de sa correction
In various provers and deductive verification tools, logical transformations are used extensively in order to reduce a proof task into a number of simpler tasks. Logical transformations are often part of the trusted base of such tools. In this thesis, we develop a framework to improve confidence in their results. We follow a skeptical} approach: transformations are instrumented to produce certificates that are checked by a third-party tool. Thus, we benefit from a modular approach that is also robust to changes in the source code of the transformations. We design two kinds of certificates. Transformations produce surface certificates} that are then translated to kernel certificates} which are destined for final verification. We made sure that surface certificates are easy to produce. Moreover, surface certificates are as independent of the transformation application as possible and this makes for a modular certification. On the contrary, kernel certificates include numerous details about the transformation application and are kept elementary. This helps to define simpler checkers and establish their correctness. We propose a translation procedure from surface certificates to kernel certificates which does not need to be trusted. Logical transformations are considered in a higher-order logic, with type polymorphism and built-in theories such as equality and integer arithmetic. We apply our framework to Why3 and use it to instrument pre-existing and complex transformations. Additionally, we implement two certificate checkers. The first one follows an efficient computational approach while the second is based on a shallow embedding of proof tasks inside the logical framework Lambdapi, thus exhibiting formal guaranties of its correctness
APA, Harvard, Vancouver, ISO, and other styles
15

Bolusset, Thomas. "β-space : raffinement de descriptions architecturales en machines abstraites de la méthode formelle B." Chambéry, 2004. http://www.theses.fr/2004CHAMS028.

Full text
Abstract:
L'architecture d'un logiciel décrit sa structure et son comportement par des composants et des connecteurs, mais leurs langages n'autorisent pas le développement complet de systèmes logiciels complexes. Certaines méthodes de développement formel permettent de raffiner une spécification, pour en obtenir une autre plus proche de l'implémentation, voire du code, sans prendre en compte la description architecturale du système. Nous proposons d'utiliser un mécanisme de raffinement pour transformer la description architecturale en une spécification formelle "classique" disposant d'outils pour achever le développement. Nous développons un système formel ß-SPACE pour la mise en oeuvre de raffinements successifs, menant de la description architecturale de départ (en π-SPACE, langage de description d'architecture fondé sur une algèbre de processus) à une spécification formelle (ensemble de machines abstraites de la méthode B, qui dispose d'outils aidant au développement formel et à la génération du code) telle qu'un développement formel de l'application soit possible dans le cadre de la méthode B, en garantissant que chaque étape de raffinement conserve les propriétés de l'architecturale initiale. La définition formelle du raffinement est basée sur la logique de réécriture, pour représenter les éléments architecturaux abstraits et ceux du langage cible de spécification. Cette logique dispose d'un outil permettant d'automatiser les transformations. Notre approche du raffinement architectural diffère des méthodes existantes en s'intéressant en plus de l'ajout de détails à la description formelle à la transformation de sa structure de contrôle la composition de composants et de connecteurs de l'architecture est transformée pour obtenir une hiérarchie de machines abstraites B. Nous assurons la conservation des propriétés architecturales. C'est une approche originale à la fois sur sa portée architecturale sa formalisation et son articulation avec les méthodes formelles classiques
A software architecture describes its structure and behaviour using components and connectors, but their languages do not support the complete development of complex software systems, from architectural design to executable code. Some formal development methods permit to refine a software specification to obtain another one closer to the implementation, or even code, but without taking into account the system architectural description. We propose to use a refinement, mechanism to transform the architectural description into a "classical" formal specification, already supported by tools allowing the development achievement. We develop a formal system - named ß -SPACE - to bring successive refinements into operation, leading from the starting architectural description (in π-SPACE, a software architecture description language based on a process algebra) to a formal specification (a set of abstract machines of the B method, which is supported by tools to help the formal development and the code generation) to make a formal development of the application possible, in the B method framework, while guaranteeing that each refinement step preserves the initial architectural properties. The formal definition of the refinement is based on the rewriting logic, in which the abstract architectural and the target specification elements are represented. This logic is also supported by a tool which permits to automate the transformations. Our approach of the architectural refinement differs from other existing methods, by being interested not only in the addition of details to the formal description, but also in the transformation of its control structure: the composition of components and connectors in the architecture is transformed to obtain a hierarchy of B abstract machines. We ensure the conservation of the interesting architectural properties. This is an original approach both concerning its architectural range, its formalisation and its connection with the classical formal methods
APA, Harvard, Vancouver, ISO, and other styles
16

Leildé, Vincent. "Aide au diagnostic de vérification formelle de systèmes." Thesis, Brest, École nationale supérieure de techniques avancées Bretagne, 2019. http://www.theses.fr/2019ENTA0011.

Full text
Abstract:
Le model checking est une technique de vérification formelle qui consiste à certifier que le comportement d’un système formel satisfait des propriétés formelles. Son principe est d’explorer l’ensemble des exécutions possibles du système pour découvrir des chemins d’exécution (traces) violant les propriétés. Si c’est le cas, l’ingénieur doit remonter aux causes qui ont produit la trace. L’objectif de la thèse est d’assister l’ingénieur lors de cette phase que l’on appelle diagnostic. Nous proposons un cadre combinant différents types de connaissances et activités cognitives, supporté par une méthode et une infrastructure. Nous illustrons l’approche sur la sécurisation d’un système SCADA. Quand le diagnosticien est vérificateur du modèle, il doit faire face à des traces de grande taille. Il réalise un diagnostic en mobilisant une multitude d’activités cognitives complexes. Pour les outiller, nous proposons une classification de ces activités selon la taxonomie de Bloom. Quand la cause réelle opère sur des connaissances autres que celles du model checking, ces moyens sont alors insuffisants. Quand le diagnosticien est le concepteur du modèle, il dispose ou non de connaissances de domaine permettant de le débloquer en lui offrant des nouveaux regards sur la trace. Pour y parvenir, il faut disposer du domaine et corréler les connaissances du domaine et du model checking pour réduire leur fossé sémantique. Nous proposons des structures pour capturer et réutiliser le domaine. D’un côté le problem case formule le problème que l’on cherche à résoudre et permet de préciser le diagnostic de la solution construite. D’un autre côté les sample, pattern et component cases capturent des éléments de solutions et permettent d’isoler le diagnostic. Quand le diagnosticien est l’architecte du système, il combine des éléments de problèmes et de solutions provenant à la foisde l’ingénierie du domaine et de l’application. Pour progresser de manière fluide dans la solution et enrichir les propriétés à vérifier, nous proposons une méthode de résolution de problème. Alimentée par la base de connaissances issue du domaine, celle-ci réalise des allers-retours entre l’espace du problème et l’espace de la solution, traçant problèmes et solutions choisies, et augmentant la vérification et le diagnostic grâce à de nouvelles propriétés. De manière transversale aux autres phases, le processus de vérification doit être organisé. Nous proposons une infrastructure permettant d’organiser, capitaliser et réutiliser les diverses connaissances (model checking, domaine, méthode). L'infrastructure est divisée en trois niveaux, le niveau physique regroupe les données brutes, le niveau connaissance regroupe des ontologies, et le niveau d’accès fournit des interactions supportées par les connaissances, dont les activités cognitives de diagnostic, organisées suivant la taxonomie de Bloom. Nous proposons un outil de simplification de traces par facettes reposant sur cette infrastructure
Model checking is a formal verification technique verifying that a system behavior satisfies formal properties. This technique explores all the possible executions of the system to discover execution paths (traces) violating formal properties. When a property is violated, the engineer must find the root causes that produced the trace. The goal of this work is to assist the engineer during this phase, which is called diagnosis. Our proposition is a framework combining various kinds of knowledge and cognitive activities, supported by a method and an infrastructure. We apply the approach to securing a SCADA system. When the diagnostician is the model verifier, he generally faces large traces. The diagnosis is obtained by mobilizing a multitude of complex cognitive activities. To tool these activities, we propose to classify them according to the Bloom’s taxonomy. Even so, these means are insufficient when the real cause doesn’t operate on model checking knowledge. When the diagnostician is the model designer, he may or may not have domain knowledge. This knowledge offers new perspectives about the trace, and may unblock the diagnosis. We propose a structure to capture and reuse this knowledge. Correlations can be explicited o reduce the semantic gap between domain and model checking knowledge. On the one hand, the problem case formulates the problem to be solved, and precises the diagnosis of the constructed solution. On the other hand, the sample, pattern and component cases capture elements of solutions, and isolate the diagnosis. When the diagnostician is the system architect, he combines elements of problemsand solutions from both domain and application engineering. To progress smoothly in the solution and enrich the properties to be checked, we propose a problem solving method. Fed by the domain knowledge base, the method goes back and forth between the problem space and the solution space, tracing chosen problems and solutions, and facilitating verification and diagnosis thanks to new properties. We propose an infrastructure to organize, share and reuse various knowledge implied during the verification process (model checking, domain, method). This infrastructure is divided into three levels, the physical level gathers the raw data, the knowledge level gathers ontologies, and the access level provides interactions supported by knowledge. We offer a trace simplification tool diagnosis based on facets, and promoted by our infrastructure
APA, Harvard, Vancouver, ISO, and other styles
17

Aljer, Ammar. "Co-design et raffinement en B : BHDL tool, plateforme pourr la conception de composants numériques." Lille 1, 2004. https://pepite-depot.univ-lille.fr/LIBRE/Th_Num/2004/50376-2004-Aljer.pdf.

Full text
Abstract:
Dans le cadre de la modélisation de systèmes complexes, la conception d'entrée ou appelée système représente le plus haut niveau d'abstraction du système global, ceci avant tout choix en terme d'implantation et de technologies. À ce tout premier stade de la conception, l'utilisation d'un langage formel de spécification est de plus en plus considéré comme le fondement d'un réel processus de validation en particulier dans le cas d'exigences de sûreté. Cette thèse met en lumière la nécessité d'une modélisation par raffinement: de la spécfication la plus abstraite vers un point de description proche de l'implémentation afin d'assurer (1) la traçabilité des besoins et des exigences, (2) une meilleure gestion du développement et (3) surtout une conception sûre des systèmes car générée par construction prouvée et ceci que ces sytèmes fassent appel à des technologies logicielles, numériques ou analogiques, voire autres. Le travail qui a été mené a consisté à mettre en perspective la taxinomie des langages ADL, le modèle de développement utilisé dans le cadre des composants électroniques et la méthode par raffinement, dite Méthode B. Ceci nous a permis de réaliser la plateforme BHDL Tool : plateforme de conception de circuits électroniques intégrant (1) une interface de description structurelle de composants électroniques, (2) un générateur de code VHDL et enfin (3) un traducteur en un langage formel pour les preuves de raffinement sous l'Atelier B.
APA, Harvard, Vancouver, ISO, and other styles
18

Perseil, Isabelle. "Méthode C, une méthode de génie logiciel pour les systèmes avioniques temps-réel." Paris, Télécom ParisTech, 2009. http://www.theses.fr/2009ENST0057.

Full text
Abstract:
Nous proposons ici une méthode de génie logiciel pour les systèmes avioniques temps-réel embarqués distribués (DRE) et tolérants aux fautes, capable de couvrir tout le cycle de vie du logiciel à l'aide d'un processus de développement continu. Nous avons appelé cette méthode la ''Méthode C'' parce que C signifie ''continuum'', le concept phare que nous avons introduit entre chaque phase du cycle de vie. Étant donné que les systèmes ''DRE" possèdent des problématiques de systèmes critiques liés à la sûreté de fonctionnement, ils ont recours aux langages formels (qui permettent des spécifications non ambiguës et rigoureuses) afin d'être en mesure de prouver l'ensemble de leurs propriétés non fonctionnelles. Par conséquent la Méthode C repose sur l'utilisation de langages formels dans les premières étapes de spécification du système ainsi que sur l'utilisation des langages semi-formels pour ce qui concerne les étapes d'analyse, de conception et de programmation. La question fondamentale est de savoir comment intégrer plusieurs langages dont les niveaux d'abstraction et de formalisation sont différents. Dans cette thèse, nous proposons de ''naviguer'' d'un langage à l'autre grâce aux techniques de transformation de modèles pendant l'étape d'analyse, et à la génération de code pendant l'étape de conception lorsque l'on requière une automatisation complète du processus. En prenant en considération les arguments qui précèdent, la Méthode C est ainsi fondée sur la coopération des modèles et des langages, de manière à favoriser la continuité
We present here a software engineering method for avionic fault-tolerant distributed, real-time and embedded (DRE) systems which covers the whole software lifecycle thanks to a seamless process. We have called this method the “C-Method” as C stands for the main notion of “continuum” that we have introduced between each phase of the lifecycle. Because these “DRE” systems have safety critical concerns, they require the use of formal languages (that allow non ambiguous and rigorous specifications) in order to be able to prove their non functional properties. Therefore, the “C-Method” relies on the use of formal languages in the earliest steps of the system specification and on the use of semi-formal languages in the analysis, design and programming steps. The fundamental question is how to integrate several languages with different levels of formalization and abstraction. Here we propose to “navigate” from one language to another one thanks to model transformations techniques at the analysis step and code generation at the design step, when a full mechanization of the process is required. As the systems that we are studying are complex systems, and also because they need modularity, change management (these systems have a long duration), reuse, to be taken into account, the model-driven approach is the most appropriate to start with Considering the previous arguments, the “C-Method” is founded upon the cooperation of models and languages, in a way that enables continuity
APA, Harvard, Vancouver, ISO, and other styles
19

Maïga, Oumar. "An integrated language for the specification, simulation, formal analysis and enactment of discrete event systems." Thesis, Clermont-Ferrand 2, 2015. http://www.theses.fr/2015CLF22662/document.

Full text
Abstract:
Cette thèse propose une méthodologie qui intègre les méthodes formelles dans la spécification, la conception, la vérification et la validation des systèmes complexes concurrents et distribués avec une perspective à événements discrets. La méthodologie est basée sur le langage graphique HILLS (High Level Language for System Specification) que nous avons défini. HiLLS intègre des concepts de génie logiciel et de théorie des systèmes pour une spécification des systèmes. Précisément, HiLLS intègre des concepts et notations de DEVS (Discrete Event System Specification), UML (Unified Modeling Language) et Object-Z. Les objectifs de HILLS incluent la définition d’une syntaxe concrète graphique qui facilite la communicabilité des modèles et plusieurs domaines sémantiques pour la simulation, le prototypage, l’enaction et l’accessibilité à l’analyse formelle. L’Enaction se définit par le processus de création d’une instance du système qui s’exécute en temps réel (par opposition au temps virtuel utilisé en simulation). HiLLS permet la construction hiérarchique et modulaire des systèmes à événements discrets grâce à une description simple et rigoureuse des aspects statiques, dynamiques et fonctionnels des modèles. La sémantique pour simulation de HiLLS est définie en établissant un morphisme sémantique entre HiLLS et DEVS; de cette façon chaque modèle HiLLS peut être simulé en utilisant un simulateur DEVS. Cette approche permet aux utilisateurs DEVS d’utiliser HiLLS comme un langage de spécification dans la phase de modélisation et d’utiliser leurs propres implémentations locales ou distribuées de DEVS en phase de simulation. L’enactment des modèles HiLLS est basé sur une adaptation du patron de conception Observateur pour leur implémentation. La vérification formelle est faite en établissant un morphisme entre chaque niveau d’abstraction de HiLLS et une méthode formelle adaptée pour la vérification formelle des propriétés à ce niveau. Les modèles formels sur lesquels sont faites les vérifications formelles sont obtenus à partir des spécifications HiLLS en utilisant des morphismes. Les trois niveaux d’abstraction de HiLLS sont : le niveau composite, le niveau unitaire et le niveau des traces. Ces niveaux correspondent respectivement aux trois niveaux suivants de la hiérarchie de spécification des systèmes proposée par Zeigler : CN (Coupled Network), IOS (Input Output System) et IORO (Input Output Relation Observation). Nous avons établi des morphismes entre le niveau Composite et CSP (Communicating Sequential Processes), entre le niveau unitaire et Z, et nous utilisons les logiques temporelles telles que LTL, CTL et TCTL pour exprimer les propriétés sur les traces. HiLLS permet à la fois la spécification des modèles à structures statiques et les modèles à structures variables. Dans le cas des systèmes à structures variables, le niveau composite intègre à la fois des propriétés basées sur les états et les processus. Pour prendre en compte ces deux aspects, un morphisme est défini entre le niveau Composite de HiLLS et CSPZ (une combinaison de CSP et Z). Le processus de vérification et de validation combine la simulation, la vérification exhaustive de modèle (model checking) et la preuve de théorèmes (theorem proving) dans un Framework commun. La vérification exhaustive et la preuve de théorèmes sur les modèles HiLLS sont basées sur les outils associés aux méthodes formelles sélectionnées dans les morphismes. Nous appliquons la méthodologie de modélisation de HiLLS à la modélisation du Alternating Bit Protocol (ABP) et à celle d’un guichet automatique de dépôt de billet (Automated Teller Machine) (ATM)
This thesis proposes a methodology which integrates formal methods in the specification, design, verification and validation processes of complex, concurrent and distributed systems with discrete events perspectives. The methodology is based on the graphical language HILLS (High Level Language for System Specification) that we defined. HiLLS integrates software engineering and system theoretic views for the specification of systems. Precisely, HiLLS integrates concepts and notations from DEVS (Discrete Event System Specification), UML (Unified Modeling Language) and Object-Z. The objectives of HILLS include the definition of a highly communicable graphical concrete syntax and multiple semantic domains for simulation, prototyping, enactment and accessibility to formal analysis. Enactment refers to the process of creating an instance of system executing in real-clock time. HILLS allows hierarchical and modular construction of discrete event systems models while facilitating the modeling process due to the simple and rigorous description of the static, dynamic, structural and functional aspects of the models. Simulation semantics is defined for HiLLS by establishing a semantic mapping between HiLLS and DEVS; in this way each HiLLS model can be simulated by a DEVS simulator. This approach allow DEVS users to use HiLLS as a modeling language in the modeling phase and use their own stand alone or distributed DEVS implementation package to simulate the models. An enactment of HiLLS models is defined by adapting the observer design-pattern to their implementation. The formal verification of HiLLS models is made by establishing morphisms between each level of abstraction of HILLS and a formal method adapted for the formal verification of the properties at this level. The formal models on which are made the formal verification are obtained from HILLS specifications by using the mapping functions. The three levels of abstraction of HILLS are: the Composite level, the Unitary level and the Traces level. These levels correspond respectively to the following levels of the system specification hierarchy proposed by Zeigler: CN (Coupled Network), IOS (Input Output System) and IORO (Input Output Relation Observation). We have established morphisms between the Composite level and CSP (Communicating Sequential Processes), between Unitary level and Z and we expect to use temporal logics like LTL, CTL and TCTL to express traces level properties. HiLLS allows the specification of both static and dynamic structure systems. In case of dynamic structure systems, the composite level integrates both sate-based and process-based properties. To handle at the same time state-based and process-based properties, morphism is established between the dynamic composite level and CSPZ (a combination of CSP and Z); The verification and validation process combine simulation, model checking and theorem proving techniques in a common framework. The model checking and theorem proving of HILLS models are based on an integrated tooling framework composed of tools supporting the notations of the selected formal methods in the established morphisms. We apply our methodology to modeling of the Alternating Bit Protocol (ABP) and the Automated Teller Machine (ATM)
APA, Harvard, Vancouver, ISO, and other styles
20

Dahab, Sarah. "An approach to measuring software systems using new combined metrics of complex test." Thesis, Université Paris-Saclay (ComUE), 2019. http://www.theses.fr/2019SACLL015/document.

Full text
Abstract:
La plupart des métriques de qualité logicielle mesurables sont actuellement basées sur des mesures bas niveau, telles que la complexité cyclomatique, le nombre de lignes de commentaires ou le nombre de blocs dupliqués. De même, la qualité de l'ingénierie logicielle est davantage liée à des facteurs techniques ou de gestion, et devrait fournir des indicateurs utiles pour les exigences de qualité. Actuellement, l'évaluation de ces exigences de qualité n'est pas automatisée, elle n'est pas validée empiriquement dans des contextes réels et l'évaluation est définie sans tenir compte des principes de la théorie de la mesure. Par conséquent, il est difficile de comprendre où et comment améliorer le logiciel suivant le résultat obtenu. Dans ce domaine, les principaux défis consistent à définir des métriques adéquates et utiles pour les exigences de qualité, les documents de conception de logiciels et autres artefacts logiciels, y compris les activités de test.Les principales problématiques scientifiques abordées dans cette thèse sont les suivantes: définir des mesures et des outils de support pour mesurer les activités d'ingénierie logicielle modernes en termes d'efficacité et de qualité. La seconde consiste à analyser les résultats de mesure pour identifier quoi et comment s'améliorer automatiquement. Le dernier consiste en l'automatisation du processus de mesure afin de réduire le temps de développement. Une telle solution hautement automatisée et facile à déployer constituera une solution révolutionnaire, car les outils actuels ne le prennent pas en charge, sauf pour une portée très limitée
Most of the measurable software quality metrics are currently based on low level metrics, such as cyclomatic complexity, number of comment lines or number of duplicated blocks. Likewise, quality of software engineering is more related to technical or management factoid, and should provide useful metrics for quality requirements. Currently the assessment of these quality requirements is not automated, not empirically validated in real contexts, and the assessment is defined without considering principles of measurement theory. Therefore it is difficult to understand where and how to improve the software following the obtained result. In this domain, the main challenges are to define adequate and useful metrics for quality requirements, software design documents and other software artifacts, including testing activities.The main scientific problematic that are tackled in this proposed thesis are the following : defining metrics and its supporting tools for measuring modern software engineering activities with respect to efficiency and quality. The second consists in analyzing measurement results for identifying what and how to improve automatically. The last one consists in the measurement process automation in order to reduce the development time. Such highly automated and easy to deploy solution will be a breakthrough solution, as current tools do not support it except for very limited scope
APA, Harvard, Vancouver, ISO, and other styles
21

Bellet, Thomas. "Transformations de graphes pour la modélisation géométrique à base topologique." Thesis, Poitiers, 2012. http://www.theses.fr/2012POIT2261/document.

Full text
Abstract:
De nombreux domaines comme le jeu vidéo, l’architecture, l’ingénierie ou l’archéologie font désormais appel à la modélisation géométrique. Les objets à représenter sont de natures diverses, et leurs opérations de manipulation sont spécifiques. Ainsi, les modeleurs sont nombreux car tous spécialisés à leur domaine d’application. Or ils sont à la fois chers à développer, souvent peu robustes, et difficilement extensibles. Nous avons proposé dans la thèse l’approche alternative suivante :– fournir un langage dédié à la modélisation qui permet de définir les opérations quelque soit le domaine d’application ; dans ce langage, les objets sont représentés avec le modèle topologique des cartes généralisées, dont nous avons étendu la définition aux plongements ; les opérations sont elles définies par des règles de transformation de graphes, issues de la théorie des catégorie ;– garantir les opérations définies dans le langage à l’aide de conditions de cohérence ; une opération dont la définition vérifie ces conditions ne produit pas d’anomalie ;– développer un noyau de modeleur générique qui interprète ce langage ; les opérations définies sont directement appliquées dans le modeleur, sans implantation dans un langage de programmation ; l’outil assure également la vérification automatique des conditions du langage pour prévenir un utilisateur lorsqu’il propose une opération incohérente.Le langage et le modeleur développés se sont révélés performants à la fois en termes de temps de développement et en termes de temps machine. L’implantation d’une nouvelle opération par une règle ne prend que quelques minutes à l’aide des conditions du langage, au contraire de l’approche classi
Geometric modeling is now involved in many fields such as: video games, architecture, engineering and archaeology. The represented objects are very different from one field to another, and so are their modeling operations. Furthermore, many specific types of modeling software are designed for high programing costs, but with a relatively low rate of effectiveness.The following is an alternative approach:– we have conceived a dedicated language for geometric modeling that will allow us to define any operation of any field; objects in this language are defined with the topological model of generalized maps, this definition has been extended to the embedding informations; here the operations are defined as graph transformation rules which originate from the category theory;– we have ensured operation definitions with consistency conditions; these operations that satisfy those conditions do not generate anomalies; – we have designed generic modeling software to serve as an interpreter of this language; the operation definitions are directly applied without the need for more programing; the software also automatically checks the language conditions and warns the user if he designs a non-consistent operation.The provided language and software prove to be efficient, and all for a low programing cost. Designing a new operation takes only minutes thanks to the language conditions, as opposed to hours of programming and debugging with the past approach
APA, Harvard, Vancouver, ISO, and other styles
22

Sadaoui-Mouhoub, Samira. "Aide à la réutilisation de spécifications formelles en LOTOS." Nancy 1, 2000. http://www.theses.fr/2000NAN10030.

Full text
Abstract:
La réutilisation est un moyen permettant d'améliorer la qualité et la productivité des logiciels. Cependant, il existe encore des problèmes non entièrement résolus limitant la pratique de la réutilisation comme la construction d'un composant réutilisable et l'adaptation d'un composant dans une application selon les besoins spécifiques de l'utilisateur. Dans notre travail, nous nous sommes intéressés à la réutilisation de spécifications formelles. Celles-ci permettent, d'une part, une description du système de manière plus abstraite, plus explicite et plus modulaire que le code, et d'autre part, de prouver la correction du nouveau système. Nous nous sommes focalisés sur deux types de spécifications, les types abstraits de données et les processus concurrents, en utilisant le langage LOTOS. Pour supporter la réutilisation de spécifications, nous avons défini des méthodes nouvelles et élaborées : restriction, promotion et généralisation de types de données et également composition et extension de processus. Ces méthodes sont assistées à l'aide d'opérateurs définis dans le modèle Proplane. Nos opérateurs de réutilisation sont basés sur des bases formelles (afin d'engendrer des résultats corrects), sont automatiques (les utilisateurs ne sont pas forcément des experts de méthodes formelles) et inter-actifs (pour supporter l'intuition des utilisateurs). Nous avons appliqué ces opérateurs sur des études de cas
Reuse is a key to improve the quality and the productivity of software. However, there are still problems not entirely resolved limiting the practice of reuse such as construction of a reusable component and adaptation of a component in an application according to the specific needs of the user. In our work, we are interested to the reuse of formal specifications. These specifications allow on one hand a system description to de more abstract, explicit and modular than the code and on the other hand to prove the correction of new system. We focused on two specifications types : abstract data types and concurrent processes using LOTOS language. To support specification reuse, we defined new and complex methods : re-striction, promotion and generalization of data types as well a composition and extension of processes. These methods are aided with operators defined in Proplane model. Reuse operators are based on theories (to produce correct results), are automatic ( the users are not necessarily experts in formal methods) and interactive (to support the user intuition). We applied these operators on case studies
APA, Harvard, Vancouver, ISO, and other styles
23

ANDRE, Pascal. "Méthodes formelles et à objets pour le développement du logiciel :." Phd thesis, Université Rennes 1, 1995. http://tel.archives-ouvertes.fr/tel-00006148.

Full text
Abstract:
Les spécifications formelles et la modélisation par objets sont considérés comme deux champs ayant un fort potentiel d'influence sur l'avenir du génie logiciel. Dans un premier temps, nous étudions cette affirmation en dégageant les caractéristiques essentielles du développement du logiciel. L'intersection des deux champs est un domaine nouveau et prometteur. Nous en étudions les différents variantes et nous synthétisons les choix faits dans les méthodes formelles à objets actuelles. Dans ce contexte, cette thèse propose une méthode de spécification et de conception de composants logiciels destinée à faciliter la formalisation, automatiser partiellement le processus de conception, permettre le contrôle et la réutilisation des classes avant implantation. L'accent est mis sur la séparation entre les niveaux de description pour clarifier le processus de conception et sur l'uniformisation à l'intérieur des niveaux de description pour assurer la cohérence. Deux modèles sont décrits. Le premier modèle, dit des types abstraits graphiques, définit les composants suivant un axe dynamique et suivant un axe fonctionnel. La modélisation dynamique, naturelle pour des objets est donnée en termes d'automates d'états finis gardés. Outre sa lisibilité, le modèle dynamique a pour intérêt majeur la construction guidée de spécifications algébriques, support de l'axe fonctionnel. Le second modèle, dit des classes formelles, est un modèle général, formel et abstrait pour la conception à objets. Basé sur les types abstraits algébriques, il permet le raisonnement abstrait et ma mise en oeuvre dans différents langages de programmation à objets. Les modèles présentés sont indépendants et sont adaptables dans d'autres méthodes de développement. Nous proposons une méthode de transition entre ces deux modèles, qui favorise le contrôle et la réutilisation des spécifications. Plusieurs outils d'écriture et de preuve sont communs aux deux modèles et nous insistons sur l'ouverture vers d'autres environnements de spécification.
APA, Harvard, Vancouver, ISO, and other styles
24

Dufay, Guillaume. "Vérification formelle de la plate-forme Java Card." Nice, 2003. http://www.theses.fr/2003NICE4046.

Full text
Abstract:
Dans cette thèse, nous présentons une formalisation, réalisée dans l'assistant de preuve Coq, de la plate-forme Java Card. Cet environnement de programmation est destiné aux cartes à puces intelligentes et aux impératifs de sécurités qu'elles requièrent. Nous décrivons alors la formalisation de la machine virtuelle Java Card et d'une partie conséquente de son environnement d'exécution. Nous explicitons ensuite comment, à partir de cette machine virtuelle vérifiant dynamiquement la sûreté du typage, obtenir un vérificateur de bytecode et une machine virtuelle plus efficace à l'exécution, mais aussi sûre. Nous apportons pour le BCV un cadre générique, exprimé sous forme de modules, appliquant les techniques les plus récentes de ce domaine et simplifiant les preuves à apporter pour assurer la correction du BCV construit. Nous montrons enfin comment la méthodologie appliquée pour la sûreté du typage peut être généralisée et décrivons les outils réalisés pour automatiser cette tâche
In this thesis, we present a formalization, realized within the Coq proof assistant, of the Java Card platform. This programming environment derived from Java is intended to smart cards and to their security requirements. More precisely, we describe the formalization of the Java Card virtual machine and of a substantial part of its runtime environment. Then, we explain how to obtain, from this virtual machine dynamically verifying type safety, a bytecode verifier (BCV) and a virtual machine more effective for execution but as safe. We bring for the BCV a generic framework, expressed with modules, applying the most recent techniques from this domain and simplifying proofs needed to insure soundness of the built BCV. Finally, we show how the methodology applied for type safety can be generalized and describe tools realized to automate this task
APA, Harvard, Vancouver, ISO, and other styles
25

MARQUESUZAÀ, Christophe. "OMAGE : Outils et Méthode pour la spécification des connaissances au sein d'un Atelier de Génie Educatif." Phd thesis, Université de Pau et des Pays de l'Adour, 1998. http://tel.archives-ouvertes.fr/tel-00003699.

Full text
Abstract:
Les nouvelles technologies de l'information sont entrées au cœur de notre société et provoquent de profonds changements dans notre vie quotidienne, notamment dans le monde du travail. Or le métier d'enseignant n'a pas vraiment évolué, même si les méthodes éducatives changent, car toute tentative d'introduction de l'informatique se heurte à la méfiance des enseignants qui ont peur de perdre leur liberté de choix éducatifs. De plus, les avancées technologiques n'ont d'intérêt que si elles sont intégrées dans un processus global de conception d'applications éducatives. Nos recherches ont donc pour objectif principal de faciliter la tâche de l'enseignant dans la préparation de ses séquences pédagogiques. Nous définissons ainsi le support méthodologique d'un environnement informatique d'aide à la spécification des connaissances éducatives. Nous organisons alors nos travaux autour de trois axes. Tout d'abord, nous proposons la mise en place d'enseignements axés sur la notion de situations-problèmes au sens IUFM car elle met les apprenants en situation de projet tout en répondant aux objectifs pédagogiques fixés. Nous exposons ensuite la nécessité pour les enseignants de se reposer sur un processus de spécification formelle que nous définissons et pour lequel nous proposons un cycle de vie basé sur le prototypage rapide. Nous proposons aussi une ontologie de l'enseignement s'appuyant sur une architecture orientée-objet. Nous montrons enfin que l'utilisation de méta-outils CASE permet de développer un environnement ayant une assistance adaptée et suffisamment flexible pour permettre différentes façons de spécifier et différents points de vue et-ou formalismes de représentation sur une spécification. Le prototype développé couple le méta-outil CASE HARDY, qui fournit une interface diagrammatique supportant les étapes du processus de développement, et le générateur de système expert CLIPS qui assure la cohésion globale en terme de guidage et de flexibilité.
APA, Harvard, Vancouver, ISO, and other styles
26

Voisinet, Jean-Christophe. "Contribution aux processus de développement d'applications spécifiées à l'aide de la méthode B par validation utilisant des vues UML et traduction vers des langages objets." Besançon, 2004. http://www.theses.fr/2004BESA2015.

Full text
Abstract:
Les travaux de recherche dans le domaine du génie logiciel ont permis de concevoir deux types d'approche, les méthodes formelles qui permettent d'écrire et de vérifier une spécification d'un système à l'aide d'une notation issue des mathématiques et les méthodes semi-formelles orientées objet qui permettent de modéliser un système en utilisant des vues graphiques. Le point de départ de nos travaux repose sur une méthode formelle: la méthode B. Nous apportons une contribution dans deux étapes du développement logiciel. Le premier est l'intégration des deux types de méthode par extraction de vues graphiques UML depuis une spécification formelle B. Cette extraction est arrivée à maturité puisqu'elle met en jeu les diagrammes de classes, d'états-transitions et les contraintes OCL comme la plupart des intégrations déjà réalisées telles que la dérivation de notations graphiques vers les méthodes formelles. D'autre part nous avons aussi défini l'extraction de diagrammes plus concrets comme ceux de séquence et d'activités. La deuxième contribution de nos travaux est la traduction des spécifications B en langage compilable et exécutable. Cette traduction est ciblée sur un large domaine car elle est appliquée aux logiciels standard à l'aide de Java et C# mais aussi à l'embarqué en utilisant Java pour JavaCard. Une plate-forme regroupant les outils relatifs à ces deux contributions a été développée afin de factoriser les développements communs d'analyse syntaxique et sémantique des spécifications B
The research works about software engineering allows to think up two approach types, the formal methods which allows to write and verify a system specification with a notation from mathematics and the semi-formal methods object-oriented which allows to model a system using graphic views. The departure of our works is the B formal method. We provide a contribution in two states of the software development. The first is the integration of the two method types by extraction of UML graphics views from a B formal specification. This extraction happen to maturity because it deals with state-charts, classes diagrams and OCL constraints like most integration works already done as graphic notation derivation to formal methods. In addition we also defined the extraction of concrete diagrams like sequence and activity ones. The second contribution of our works is the translation of B specifications to compilable and executable languages. This translation is targeted on a large domain because it is applied on standard software with Java and C# but also on embedded application with Java for JavaCard. A plate-forme merging the two contributions relatives tools was developed in order to factorize the common developments of syntactic and semantic analysis
APA, Harvard, Vancouver, ISO, and other styles
27

Giron, Patricia. "Introduction de méthodes rigoureuses de génie logiciel pour le développement d'applications spatiales embarquées." Toulouse 3, 1996. http://www.theses.fr/1996TOU30235.

Full text
Abstract:
Nous apportons une contribution a l'elaboration de methodes de developpement de logiciels embarques unissant a la fois une methode structuree en l'occurence sa-rt selon hatley et pirbhai et une methode formelle (le modele des systemes de transitions etiquetes). Nous decrivons comment le formalisme des systemes de transitions etiquetes pour fournir une semantique formelle pour les diagrammes de flots de donnees et de flots de controle, assortis de la specification de controle associee. Nous presentons ensuite le programme developpe qui automatise cette transformation et quelques possibilites de verifications sur ce modele grace a l'outil mec. Une comparaison est ensuite faite avec une autre approche consistant a specifier directement le systeme en termes de produits de systemes de transitions etiquetes, et les conclusions en sont titees
APA, Harvard, Vancouver, ISO, and other styles
28

Loulou, Hassan. "Verifying Design Properties at Runtime Using an MDE-Based Approach Models @Run.Time Verification-Application to Autonomous Connected Vehicles." Thesis, Université Paris-Saclay (ComUE), 2017. http://www.theses.fr/2017SACLS405.

Full text
Abstract:
Un véhicule autonome et connecté (ACV – pour Autonomous Connected Vehicle ) est un système cyber-physique où le monde réel et l’espace numérique virtuel se fusionnent. Ce type de véhicule requiert un processus de validation rigoureuse commençant à la phase de conception et se poursuivant même après le déploiement du logiciel. Un nouveau paradigme est apparu pour le monitorat continu des exécutions des logiciels afin d'autoriser des adaptations automatiquement en temps réel, systématiquement lors d’une détection de changement dans l'environnement d'exécution, d’une panne ou d’un bug. Ce paradigme s’intitule : « Models@Run.time ». Cette thèse s’inscrit dans le cadre des ACVs et plus particulièrement dans le contexte des véhicules qui collaborent et qui partagent leurs données d’une manière sécurisée. Plusieurs approches de modélisation sont déjà utilisées pour exprimer les exigences relatives au contrôle d'accès afin d’imposer des politiques de sécurité. Toutefois, leurs outils de validation ne tiennent pas compte les impacts de l'interaction entre les exigences fonctionnelles et les exigences de sécurité. Cette interaction peut conduire à des violations de sécurité inattendues lors de l'exécution du système ou lors des éventuelles adaptations à l’exécution. En outre, l’estimation en temps réel de l’état de trafic utilisant des données de type crowdsourcing pourrait être utilisée pour les adaptations aux modèles de coopération des AVCs. Cette approche n'a pas encore été suffisamment étudiée dans la littérature. Pour pallier à ces limitations, de nombreuses questions doivent être abordées:• L'évolution des exigences fonctionnelles du système doit être prise en compte lors de la validation des politiques de sécurité ainsi que les scénarios d'attaque doivent être générés automatiquement.• Une approche pour concevoir et détecter automatiquement les anti-patrons (antipatterns) de sécurité doit être développée. En outre, de nouvelles reconfigurations pour les politiques de contrôle d'accès doivent également être identifiées, validées et déployées efficacement à l'exécution.• Les ACVs doivent observer et analyser leur environnement, qui contient plusieurs flux de données dite massives (Big Data) pour proposer de nouveaux modèles de coopération, en temps réel.Dans cette thèse, une approche pour la surveillance de l'environnement des ACVs est proposée. L’approche permet de valider les politiques de contrôle d'accès et de les reconfigurer en toute sécurité. La contribution de cette thèse consiste à:• Guider les Model Checkers de sécurité pour trouver automatiquement les scénarios d'attaque dès la phase de conception.• Concevoir des anti-patterns pour guider le processus de validation, et développer un algorithme pour les détecter automatiquement lors des reconfigurations des modèles.• Construire une approche pour surveiller en temps réel les flux de données dynamiques afin de proposer des adaptations de la politique d'accès lors de l'exécution.L’approche proposée a été validée en utilisant plusieurs exemples liés aux ACVs, et les résultats des expérimentations prouvent la faisabilité de cette approche
Autonomous Connected Vehicles (ACVs) are Cyber-physical systems (CPS) where the computationalworld and the real one meet. These systems require a rigorous validation processthat starts at design phase and continues after the software deployment. Models@Runtimehas appeared as a new paradigm for continuously monitoring software systems execution inorder to enable adaptations whenever a change, a failure or a bug is introduced in the executionenvironment. In this thesis, we are going to tackle ACVs environment where vehicles tries tocollaborate and share their data in a secure manner.Different modeling approaches are already used for expressing access control requirementsin order to impose security policies. However, their validation tools do not consider the impactsof the interaction between the functional and the security requirements. This interaction canlead to unexpected security breaches during the system execution and its potential runtimeadaptations. Also, the real-time prediction of traffic states using crowd sourcing data could beuseful for proposition adaptations to AVCs cooperation models. Nevertheless, it has not beensufficiently studied yet. To overcome these limitations, many issues should be addressed:• The evolution of the system functional part must be considered during the validation ofthe security policy and attack scenarios must be generated automatically.• An approach for designing and automatically detecting security anti-patterns might bedeveloped. Furthermore, new reconfigurations for access control policies also must befound, validated and deployed efficiently at runtime.• ACVs need to observe and analyze their complex environment, containing big-datastreams to recommend new cooperation models, in near real-time.In this thesis, we build an approach for sensing the ACVs environment, validating its accesscontrol models and securely reconfiguring it on the fly. We cover three aspects:• We propose an approach for guiding security models checkers to find the attack scenariosat design time automatically.• We design anti-patterns to guide the validation process. Then, we develop an algorithmto detect them automatically during models reconfigurations. Also, we design a mechanismfor reconfiguring the access control model and we develop a lightweight modularframework for an efficient deployment of new reconfigurations.• We build an approach for the real-time monitoring of dynamic data streams to proposeadaptations for the access policy at runtime.Our proposed approach was validated using several examples related o ACVs. the results ofour experimentations prove the feasibility of this approach
APA, Harvard, Vancouver, ISO, and other styles
29

Marquesuzaà, Christophe. "OMAGE : Outils et Méthode pour la spécification des connaissances au sein d'un Atelier de Génie Educatif." Phd thesis, Université de Pau et des Pays de l'Adour, 1998. http://tel.archives-ouvertes.fr/hal-00002957.

Full text
Abstract:
Les nouvelles technologies de l'information sont entrées au cœur de notre société et provoquent de profonds changements dans notre vie quotidienne, notamment dans le monde du travail. Or le métier d'enseignant n'a pas vraiment évolué, même si les méthodes éducatives changent, car toute tentative d'introduction de l'informatique se heurte à la méfiance des enseignants qui ont peur de perdre leur liberté de choix éducatifs. De plus, les avancées technologiques n'ont d'intérêt que si elles sont intégrées dans un processus global de conception d'applications éducatives. Nos recherches ont donc pour objectif principal de faciliter la tâche de l'enseignant dans la préparation de ses séquences pédagogiques. Nous définissons ainsi le support méthodologique d'un environnement informatique d'aide à la spécification des connaissances éducatives. Nous organisons alors nos travaux autour de trois axes. Tout d'abord, nous proposons la mise en place d'enseignements axés sur la notion de situations-problèmes au sens IUFM car elle met les apprenants en situation de projet tout en répondant aux objectifs pédagogiques fixés. Nous exposons ensuite la nécessité pour les enseignants de se reposer sur un processus de spécification formelle que nous définissons et pour lequel nous proposons un cycle de vie basé sur le prototypage rapide. Nous proposons aussi une ontologie de l'enseignement s'appuyant sur une architecture orientée-objet. Nous montrons enfin que l'utilisation de méta-outils CASE permet de développer un environnement ayant une assistance adaptée et suffisamment flexible pour permettre différentes façons de spécifier et différents points de vue et-ou formalismes de représentation sur une spécification. Le prototype développé couple le méta-outil CASE HARDY, qui fournit une interface diagrammatique supportant les étapes du processus de développement, et le générateur de système expert CLIPS qui assure la cohésion globale en terme de guidage et de flexibilité.
APA, Harvard, Vancouver, ISO, and other styles
30

Boussaid, Omar. "Conception et réalisation d'un logiciel graphique d'aide à la simulation." Lyon 1, 1988. http://www.theses.fr/1988LYO10546.

Full text
APA, Harvard, Vancouver, ISO, and other styles
31

Debrat, Henri. "Certification formelle de la correction d'algorithmes distribués avec erreurs de transmission." Thesis, Université de Lorraine, 2013. http://www.theses.fr/2013LORR0268.

Full text
Abstract:
La propension des systèmes informatiques à subir des défaillances matérielles est à l'origine d'une recherche abondante afin de concevoir des systèmes dits tolérants aux pannes. Le procédé couramment retenu consiste à procéder à des réplications, donnant alors naissance à ce que l'on nomme un système distribué. La question se pose alors de savoir si l'on peut garantir que les multiples copies sont cohérentes entre elles. Ainsi, la recherche d'un accord devient-elle un problème à résoudre, à portée paradigmatique : le Consensus. Or, la complexité des algorithmes de Consensus rend la tache ardue : il n'est donc pas rare que l'on commette des erreurs lors de leur conception. De là découle l'idée, développée depuis plus de trente ans, de recourir à des procédés de vérification mécanique des algorithmes et de leurs preuves de correction. Ces procédés prennent place parmi ce que l'on désigne usuellement comme étant des méthodes formelles. C'est à la croisée des recherches en algorithmique distribuée et en méthodes formelles que se situent nos travaux. Plus spécifiquement, il s'agit de faire usage d'un logiciel de certification formelle, Isabelle/HOL, afin de garantir l'exactitude des preuves de correction d'algorithmes de Consensus exprimés dans un cadre formel uniforme du nom de Heard-Of, proposé en 2009 par Charron-Bost et Schiper. Nous montrons que, du fait de leur expression dans un même cadre formel, et du fait de leur proximité, suivant les cas, soit de conception (nombre de rondes, recours à des mécanismes de vote, ...) soit de forme syntaxique, soit d'hypothèses de fonctionnement (synchronisme partiel, ...), ces algorithmes présentent des preuves dont une part conséquente d?arguments sont communs. Cela permet de copier certains d'entre eux d'une preuve à l'autre, afin de réduire l'effort de certification : ces arguments peuvent alors être automatiquement évalués par la machine pour chacun d'entre eux, l'utilisateur n'ayant à intervenir que là où celle-ci est en peine, c'est-à-dire lorsque les différences algorithmiques induisent qu'il faille réviser les détails de l'argumentation. L'exposé que nous faisons de la certification que nous avons effectuée pour six algorithmes distribués dédiés à la résolution du problème du Consensus illustre cette démarche. Par conséquent, nous présentons d'abord les portions communes des démonstrations, puis détaillons ce qui est propre à chacune, l'objectif n'étant pas de permettre une lecture linéaire de chaque démonstration mais de mettre en évidence notre proposition
Computer systems fail. Whatever the reason of these failures, it has been a widespread approach to try and increase the faults-tolerance of a computer system through its replication. The resulting system is said to be a distributed one, in which replicas have to be kept consistent with each others. Hence, reaching agreement, and Consensus in particular, becomes the problem to solve - indeed, the paradigm. Solving Consensus (under various assumptions) is a hard task : algorithms designed on this purpose are subtle and proving their being correct is error-prone - whenever they are, which occasionally appears not to be the case. For more that thirty years, researchers interested in what is called Formal Methods have been working on mechanizing the verification process, in order to increase confidence in the correctness of (distributed) algorithms. The work we present here is at the intersection of distributed algorithms and formal methods. We use the Isabelle/HOL software to certify the correctness proof of various Consensus algorithms expressed in a uniform framework based on the Heard-Of Model, introduced by Charron-Bost and Schiper in 2009. Expressed in a common model, these algorithms, which, depending on the case, share some common mecanisms (number of steps, intermediate votes, ...), some elements of syntax, or types of assumptions (partial synchronism...), can be proved using some common arguments. As a consequence, the certification effort can be reduced by copying some intermediate lemmas from one proof to another and let the computer automatically parse them until some manual adaptation is required. This lead to the idea of certifying the correctness of multiple algorithms all together, instead of proving them one after the other, as one would do on paper in a traditional way. The effort of translation in the formal language of the proof assistant is then possibly reduced. Of course, each proof will also contain specific arguments, which will have to be isolated and translated into the software. Here, we illustrate this proposition through the presentation of formal certificates of correctness for six Consensus algorithms. As a consequence, on should not expect to find here a comprehensive linear presentation of each proof : we first show the arguments shared by multiple proofs, followed by those which are specific to each o them
APA, Harvard, Vancouver, ISO, and other styles
32

Boender, Jaap. "Etude formelle des distributions de logiciel libre." Phd thesis, Université Paris-Diderot - Paris VII, 2011. http://tel.archives-ouvertes.fr/tel-00698622.

Full text
Abstract:
Dans les deux dernières décennies, le logiciel libre a pris un essor considérable. Des distributions qui au début comptaient une centaine de paquets, en ont maintenant des dizaines de milliers, tous de provenance très différente. Ceci engendre des problèmes pour la gestion de qualité. Les outils et procédures ne sont plus adaptés à la taille et la complexité des distributions d'aujourd'hui. Dans cette thèse, nous commençons par présenter une modélisation mathématique des points communs entre les différents types de distribution (Debian et RPM); notamment le concept des paquets et des relations qui existent entre eux: les dépendances et les conflits. Cette modélisation est en partie formalisé avec l'assistant de preuves Coq. Cette modélisation sera ensuite utilisée pour proposer des relations 'sémantiques', qui sont plus adaptés que les relations existantes pour repérer et corriger des erreurs dans les distributions. Nous présentons aussi des algorithmes pour calculer ces relations d'une façon efficace, et nous utiliserons Coq pour prouver formellement les théorèmes les plus importantes utilisées par ces algorithmes. Finalement, nous avons validé les algorithmes sur des distributions existantes. Nous présenterons une analyse de la structure des distributions qui est le résultat de cette validation, ainsi qu'une discussion de la phénomène du "petit monde" en rapport avec les distributions.
APA, Harvard, Vancouver, ISO, and other styles
33

Kintz, Michel. "Etude et mise en place d'un environnement de production de logiciels à dominante temps reel : démarche, mesures et modèles, méthodes." Mulhouse, 1988. http://www.theses.fr/1988MULH0075.

Full text
Abstract:
Les principaux domaines abordés sont ceux: 1) de la démarche à adopter pour faire évoluer l'environnement de production; 2) des mesures prises et des modèles applicables à la production du logiciel; 3) des méthodes de conduite et d'étude des projets logiciels
APA, Harvard, Vancouver, ISO, and other styles
34

Toussaint, Yannick. "Méthodes informatiques et linguistiques pour l'aide à la specification de logiciel." Toulouse 3, 1992. http://www.theses.fr/1992TOU30105.

Full text
Abstract:
La phase de conception dans le cycle de developpement en genie logiciel est determinante dans un projet informatique. Elle requiert une collaboration etroite entre differents types d'intervenants dont les connaissances et la culture informatique sont tres diverses. Des systemes d'aide et des langages formels ont ete mis au point afin d'assurer une meilleure qualite dans les specifications et pallier des erreurs graves dans le developpement d'un systeme. Dans cette phase ou toutes les ressources mentales des ingenieurs sont fortement sollicitees, le langage naturel reste neanmoins le mode d'expression le plus direct et le plus adapte a la communication entre client et developpeur. La premiere partie de la these concerne l'analyse automatique de specifications en vue d'extraire le contenu informationnel des exigences en langage naturel. Elle permet d'integrer les connaissances du domaine technique de reference et produit l'interpretation conceptuelle sous forme de reseau semantique. La seconde partie est constituee par un module de raisonnement utilisant les interpretations conceptuelles. La tracabilite est un element essentiel dans le developpement de logiciel et le module de raisonnement defini et mis en uvre vise a aider a la construction de liens de tracabilite. Ces travaux constituent une premiere etape dans la maitrise du materiau linguistique dans le cadre de la specification de logiciel
APA, Harvard, Vancouver, ISO, and other styles
35

Zighed, Djamel Abdelkader. "Méthodes et outils pour les processus d'interrogation non arborescents." Lyon 1, 1985. http://www.theses.fr/1985LYO10498.

Full text
Abstract:
Sur une population x on cherche une segmentation visant a decrire une variable omega au moyen d'un ensemble de variables explicatives discretes. Dans le cas ou la taille de l'ensemble d'apprentissage est reduite, une structure d'interrogation latticielle permet generalement une meilleure description qu'une structure arborescente. Nous proposons des criteres globaux permettant la construction de tels processus. Nous presentons un logiciel interactif base sur ce modele et utilisant un de ces criteres au choix de l'utilisateur. Un langage de communication simple et une syntaxe peu contraignante, ainsi que des sorties graphiques rendent son utilisation interessante pour le depouillement d'enquete, particulierement dans le domaine medical
APA, Harvard, Vancouver, ISO, and other styles
36

Bartzia, Evmorfia-Iro. "A formalization of elliptic curves for cryptography." Thesis, Université Paris-Saclay (ComUE), 2017. http://www.theses.fr/2017SACLX002/document.

Full text
Abstract:
Le sujet de ma thèse s’inscrit dans le domaine des preuves formelleset de la vérification des algorithmescryptographiques. L’implémentation des algorithmes cryptographiquesest souvent une tâche assez compliquée, parce qu’ils sont optimiséspour être efficaces et sûrs en même temps. Par conséquent, il n’estpas toujours évident qu’un programme cryptographique en tant quefonction, corresponde exactement à l’algorithme mathématique,c’est-à-dire que le programme soit correct. Les erreurs dans lesprogrammes cryptographiques peuvent mettre en danger la sécurité desystèmes cryptographiques entiers et donc, des preuves de correctionsont souvent nécessaires. Les systèmes formels et les assistants depreuves comme Coq et Isabelle-HOL sont utilisés pour développer despreuves de correction des programmes. Les courbes elliptiques sontlargement utilisées en cryptographie surtout en tant que groupecryptographique très efficace. Pour le développement des preuvesformelles des algorithmes utilisant les courbes elliptiques, unethéorie formelle de celles-ci est nécessaire. Dans ce contexte, nousavons développé une théorie formelle des courbes elliptiques enutilisant l’assistant de preuves Coq. Cette théorie est par la suiteutilisée pour prouver la correction des algorithmes de multiplicationscalaire sur le groupe des points d’une courbe elliptique.Plus précisément, mes travaux de thèse peuvent être divisées en deuxparties principales. La première concerne le développement de lathéorie des courbes elliptiques en utilisant l'assistant des preuvesCoq. Notre développement de plus de 15000 lignes de code Coqcomprend la formalisation des courbes elliptiques données par uneéquation de Weierstrass, la théorie des corps des fonctionsrationnelles sur une courbe, la théorie des groupes libres et desdiviseurs des fonctions rationnelles sur une courbe. Notre résultatprincipal est la formalisation du théorème de Picard; une conséquencedirecte de ce théorème est l’associativité de l’opération du groupedes points d’une courbe elliptique qui est un résultat non trivial àprouver. La seconde partie de ma thèse concerne la vérification del'algorithme GLV pour effectuer la multiplication scalaire sur descourbes elliptiques. Pour ce développement, nous avons vérifier troisalgorithmes indépendants: la multiexponentiation dans un groupe, ladécomposition du scalaire et le calcul des endomorphismes sur unecourbe elliptique. Nous avons également développé une formalisationdu plan projectif et des courbes en coordonnées projectives et nousavons prouvé que les deux représentations (affine et projective) sontisomorphes.Notre travail est à la fois une première approche à la formalisationde la géométrie algébrique élémentaire qui est intégré dans lesbibliothèques de Ssreflect mais qui sert aussi à la certification devéritables programmes cryptographiques
This thesis is in the domain of formalization of mathematics and ofverification of cryptographic algorithms. The implementation ofcryptographic algorithms is often a complicated task becausecryptographic programs are optimized in order to satisfy bothefficiency and security criteria. As a result it is not alwaysobvious that a cryptographique program actually corresponds to themathematical algorithm, i.e. that the program is correct. Errors incryprtographic programs may be disastrous for the security of anentire cryptosystem, hence certification of their correctness isrequired. Formal systems and proof assistants such as Coq andIsabelle-HOL are often used to provide guarantees and proofs thatcryptographic programs are correct. Elliptic curves are widely usedin cryptography, mainly as efficient groups for asymmetriccryptography. To develop formal proofs of correctness forelliptic-curve schemes, formal theory of elliptic curves is needed.Our motivation in this thesis is to formalize elliptic curve theoryusing the Coq proof assistant, which enables formal analysis ofelliptic-curve schemes and algorithms. For this purpose, we used theSsreflect extension and the mathematical libraries developed by theMathematical Components team during the formalization of the FourColor Theorem. Our central result is a formal proof of Picard’stheorem for elliptic curves: there exists an isomorphism between thePicard group of divisor classes and the group of points of an ellipticcurve. An important immediate consequence of this proposition is theassociativity of the elliptic curve group operation. Furthermore, wepresent a formal proof of correctness for the GLV algorithm for scalarmultiplication on elliptic curve groups. The GLV algorithm exploitsproperties of the elliptic curve group in order to acceleratecomputation. It is composed of three independent algorithms:multiexponentiation on a generic group, decomposition of the scalarand computing endomorphisms on algebraic curves. This developmentincludes theory about endomorphisms on elliptic curves and is morethan 5000 lines of code. An application of our formalization is alsopresented
APA, Harvard, Vancouver, ISO, and other styles
37

Humbert, Sophie. "Déclinaison d'exigences de sécurité, du niveau système vers le niveau logiciel, assistée par des modèles formels." Bordeaux 1, 2008. http://www.theses.fr/2008BOR13580.

Full text
Abstract:
Les turbomoteurs d'hélicoptère incluent des logiciels de contrôle de plus en plus élaborés et complexes. Pour répondre aux exigences de sécurité de ce type de système, il convient de décliner précisément les exigences système en exigences logicielles. Nos travaux ont porté sur l'amélioration de cette phase de déclinaison d'exigences. Nous proposons une démarche en deux étapes. La première consiste à modéliser, en language AltaRIca, les propagations de pannes potentielles de composants du système, en intégrant des hypothèses de modes de défaillance sur les parties matérielles et logicielles. L'analyse de ce modèle permet d'évaluer la sûreté de l'architecture du système envisagée, et de déduire des exigences élémentaires, en particulier sur les fonctions logicielles. Ces exigences imposent que certains comportements logiciels ne se produisent pas. La seconde étape porte sur le raffinement de ces exigences afin de les rendre vérifiables sur le modèle de conception SCADE du logiciel.
APA, Harvard, Vancouver, ISO, and other styles
38

Jourdan, Jacques-Henri. "Verasco : a Formally Verified C Static Analyzer." Sorbonne Paris Cité, 2016. http://www.theses.fr/2016USPCC021.

Full text
Abstract:
Afin de développer des logiciels plus sûrs pour des applications critiques, certains analyseurs statiques tentent d'établir, avec une certitude mathématique, l'absence de certains types de bugs dans un programme donné. Une limite possible à cette approche est l'éventualité d'un bug affectant la correction de l'analyseur lui-même, éliminant ainsi les garanties qu'il est censé apporter. Dans cette thèse, nous proposons d'établir des garanties formelles sur l'analyseur lui-même : nous présentons la conception, l'implantation et la preuve de sûreté en Coq de Verasco, un analyseur statique formellement vérifié utilisant l'interprétation abstraite pour le langage ISO C99 avec l'arithmétique flottante IEEE754 (à l'exception de la récursion et de l'allocation dynamique de mémoire). Verasco a pour but d'établir l'absence d'erreur à l'exécution des programmes donnés. Il est conçu selon une architecture modulaire et extensible contenant plusieurs domaines abstraits et des interfaces bien spécifiées. Nous détaillons le fonctionnement de l'itérateur abstrait de Verasco, son traitement des entiers bornés de la machine, son domaine abstrait d'intervalles, son domaine abstrait symbolique et son domaine abstrait d'octogones. Verasco a donné lieu au développement de nouvelles techniques pour implémenter des structures de données avec partage dans Coq
In order to develop safer software for critical applications, some static analyzers aim at establishing, with mathematical certitude, the absence of some classes of bug in the input program. A possible limit to this approach is the possibility of a soundness bug in the static analyzer itself, which would nullify the guarantees it is supposed to deliver. In this thesis, we propose to establish formal guarantees on the static analyzer itself: we present the design, implementation and proof of soundness using Coq of Verasco, a formally verified static analyzer based on abstract interpretation handling most of the ISO C99 language, including IEEE754 floating-point arithmetic (except recursion and dynamic memory allocation). Verasco aims at establishing the absence of erroneous behavior of the given programs. It enjoys a modular extendable architecture with several abstract domains and well-specified interfaces. We present the abstract iterator of Verasco, its handling of bounded machine arithmetic, its interval abstract domain, its symbolic abstract domain and its abstract domain of octagons. Verasco led to the development of new techniques for implementing data structure with sharing in Coq
APA, Harvard, Vancouver, ISO, and other styles
39

Delmas, David. "Static analysis of program portability by abstract interpretation." Electronic Thesis or Diss., Sorbonne université, 2022. http://www.theses.fr/2022SORUS342.

Full text
Abstract:
Les logiciels tendent à être utilisés plus longtemps que prévu lors de leur conception, et dans une plus grande variété d'environnements. L'adaptation d'un logiciel à de nouvelles utilisations peut s'avérer difficile et coûteuse. Assurer la portabilité des programmes est un enjeu majeur : garantir que leur compilation et leur exécution dans un environnement différent a un effet maîtrisé sur leur sémantique. Cette thèse vise au développement d'analyses statiques par interprétation abstraite pour vérifier de telles propriétés de portabilité. Vérifier la portabilité consiste à prouver l'équivalence de deux versions syntaxiquement proches d'un programme, qui s'exécutent dans des environnements différents. Nous abordons d'abord le cas particulier de la vérification de non régression, qui vise à prouver l'équivalence de deux versions qui s'exécutent dans le même environnement. Nous proposons une analyse statique de patchs logiciels capable d'inférer de telles équivalences, notamment dans le contexte de programmes C de bas niveau comme ceux utilisés dans les systèmes embarqués. Puis nous construisons une analyse portabilité comme une extension de l'analyse de patchs. Notre analyse infère deux propriétés liées à la représentation de la mémoire : la portabilité vis-à-vis d'un changement de représentation des scalaires (endianisme), et vis-à-vis d'une organisation différente de la mémoire (offsets des champs scalaires des structures C). Nous avons implanté un analyseur statique prototype sur la plateforme MOPSA, l'avons expérimenté sur des logiciels open sources et industriels. Il analyse avec succès de grands logiciels avioniques (jusqu'à un million de lignes de C)
Computer programs tend to be used much longer than expected at design time, and in a wider variety of environments. Adapting a software product for new usage may turn out to be difficult and costly. Ensuring the portability of programs is a major stake: it amounts to ensuring that their compilation and execution in a different environment will have small controlled impact on their semantics. The goal of this thesis is to develop a novel class of static analyses by abstract interpretation, allowing to verify portability properties of low-level C programs. Portability verification aims at proving the equivalence of two syntactically close versions of a program running in different environments. We first focus on the particular case of regression verification, which aims at proving the equivalence of two program versions running in the same environment. We propose a static analysis of software patches that is able to infer such equivalence properties, in particular in the context of low-level C programs such as those used in embedded software. Then we develop an approach to portability analysis of C programs that is designed as an extension of patch analysis. We focus on two portability properties, related to the representation of the computer memory specified by the ABI: portability against different representations of scalars (endianness), and against different memory layouts (offsets of scalar fields in C structs). We implemented a prototype static analyzer on top of the MOPSA platform, and experimented it on real-world open source and industrial software. It allows successful analyses of large, real-world avionics software up to one million lines of C
APA, Harvard, Vancouver, ISO, and other styles
40

Wilke, Pierre. "Compilation formellement vérifiée de code C de bas-niveau." Thesis, Rennes 1, 2016. http://www.theses.fr/2016REN1S088/document.

Full text
Abstract:
Cette thèse présente une extension du compilateur CompCert permettant de fournir des garanties formelles de préservation sémantique à des programmes auxquels CompCert n'en donne pas. CompCert est un compilateur pour le langage C vers différentes architectures qui fournit, en plus d'un exécutable compilé, des garanties formelles concernant le comportement du programme assembleur généré. En particulier, tout programme C ayant une sémantique définie selon le standard C est compilé en un programme assembleur équivalent, c'est-à-dire qui a la même sémantique. En revanche, ce théorème n'assure aucune garantie lorsque le programme source n'a pas de sémantique définie : on parle en C de comportement indéfini. Toutefois, des programmes C issus de réels projets largement utilisés contiennent des comportements indéfinis. Cette thèse détaille dans un premier temps un certain nombre d'exemples de programmes C qui déclenchent des comportements indéfinis. Nous argumentons que ces programmes devraient tout de même bénéficier du théorème de préservation sémantique de CompCert, d'abord parce qu'ils apparaissent dans de vrais projets et parce que leur utilisation des comportements indéfinis semble légitime. Dans ce but, nous proposons d'abord un modèle mémoire pour CompCert qui définit l'arithmétique arbitraire de pointeurs et la manipulation de données non initialisées, à l'aide d'un formalisme de valeurs symboliques qui capturent la sémantique d'opérations non définies dans le standard. Nous adaptons l'intégralité du modèle mémoire de CompCert avec ces valeurs symboliques, puis nous adaptons les sémantiques formelles de chacun des langages intermédiaires de CompCert. Nous montrons que ces sémantiques symboliques sont un raffinement des sémantiques existantes dans CompCert, et nous montrons par ailleurs que ces sémantiques capturent effectivement le comportement des programmes sus-cités. Enfin, afin d'obtenir des garanties similaires à celles que CompCert fournit, nous devons adapter les preuves de préservation sémantique à notre nouveau modèle. Pour ce faire, nous généralisons d'importantes techniques de preuves comme les injections mémoire, ce qui nous permet de transporter les preuves de CompCert sur nos nouvelles sémantiques. Nous obtenons ainsi un théorème de préservation sémantique qui traite plus de programmes C
This thesis presents an extension of the CompCert compiler that aims at providing formal guarantees about the compilation of more programs than CompCert does. The CompCert compiler compiles C code into assembly code for various architectures and provides formal guarantees about the behaviour of the compiled assembly program. It states that whenever the C program has a defined semantics, the generated assembly program behaves similarly. However, the theorem does not provide any guarantee when the source program has undefined semantics, or, in C parlance, when it exhibits undefined behaviour, even though those behaviours actually happen in real-world code. This thesis exhibits a number of C idioms, that occur in real-life code and whose behaviour is undefined according to the C standard. Because they happen in real programs, our goal is to enhance the CompCert verified compiler so that it also provides formal guarantees for those programs. To that end, we propose a memory model for CompCert that makes pointer arithmetic and uninitialised data manipulation defined, introducing a notion of symbolic values that capture the meaning of otherwise undefined idioms. We adapt the whole memory model of CompCert with this new formalism and adapt the semantics of all the intermediate languages. We prove that our enhanced semantics subsumes that of CompCert. Moreover, we show that these symbolic semantics capture the behaviour of the previously undefined C idioms. The proof of semantic preservation from CompCert needs to be reworked to cope with our model. We therefore generalize important proof techniques such as memory injections, which enable us to port the whole proof of CompCert to our new memory model, therefore providing formal guarantees for more programs
APA, Harvard, Vancouver, ISO, and other styles
41

Fleurquin, Régis. "Proposition d'une démarche qualité logicielle pour le PME. Un modèle d'évaluation de la qualité et des critères et conseils permettant sa mise en oeuvre à travers les outils et les méthodes." Toulouse, INSA, 1996. http://www.theses.fr/1996ISAT0037.

Full text
Abstract:
Le changement de comportement des clients et les nouvelles contraintes economiques imposent la qualite comme un enjeu cle de la survie des entreprises concevant des logiciels. De nombreuses demarches qualite sont donc actuellement proposees dans le domaine du logiciel (mise en conformite iso 9001, cmm, etc. ). Les demarches existantes sont cependant mal adaptees aux p. M. E. Car complexes, trop lourdes, et insuffisamment guidees. De plus, les pratiques decrites dans les modeles sur lesquelles s'appuient ces demarches sont concues pour repondre aux besoins des grandes entreprises. Elles sont donc souvent disproportionnees et irrealistes dans le cadre d'une p. M. E. Apres une evaluation des demarches existantes et l'identification des besoins des p. M. E. , nous proposons une demarche qualite specifiquement concue pour ce type d'entreprise. Cette demarche simple et a cycle court s'appuie sur un modele d'evaluation de processus reprenant le meilleur des modeles existants (chemin de maturite, profil de maturite, flexibilite, pratiques generiques, etc. ) et compatible avec l'iso 9001. Pour faciliter les etapes de planification et de mise en uvre des actions des campagnes d'amelioration, nous proposons ensuite la definition de differentes formes d'assistances. Nous decrivons ainsi en detail une assistance pour l'adoption d'outils de genie logiciel et esquissons une aide similaire pour les methodes de developpement. Nous concluons enfin en presentant les premiers resultats obtenus suite a l'utilisation de la demarche qualite proposee dans une petite entreprise concevant des logiciels temps-reel embarques
APA, Harvard, Vancouver, ISO, and other styles
42

Duplouy, Yann. "Applying Formal Methods to Autonomous Vehicle Control." Thesis, Université Paris-Saclay (ComUE), 2018. http://www.theses.fr/2018SACLN048/document.

Full text
Abstract:
Cette thèse s'inscrit dans le cadre de la conception de véhicules autonomes, et plus spécifiquement de la vérification de contrôleurs de tels véhicules. Nos contributions à la résolution de ce problème sont les suivantes : (1) fournir une syntaxe et une sémantique pour un modèle de systèmes hybrides, (2) étendre les fonctionnalités du model checker statistique Cosmos à ce modèle et (3) valider empiriquement la pertinence de notre approche sur des cas d'étude typiques du véhicule autonome.Nous avons choisi de combiner le modèle des réseaux de Petri stochastiques de haut niveau (qui était le formalisme d'entrée de Cosmos) avec le formalisme d'entrée de Simulink afin d'atteindre un pouvoir d'expression suffisant. En effet Simulink est très largement utilisé dans le domaine automobile et de nombreux contrôleurs sont spécifiés avec cet outil. Or Simulink n'a pas de sémantique formellement définie. Ceci nous a conduit à concevoir une telle sémantique en deux temps : tout d'abord en introduisant une sémantique dite exacte mais qui n'est pas opérationnelle puis en la complétant par une sémantique approchée intégrant le facteur d'approximation recherché.Afin de combiner le modèle à événements discrets des réseaux de Petri et le modèle continu spécifié en Simulink, nous avons proposé au niveau syntaxique une interfacereposant sur de nouveaux types de transitions et au niveau sémantique une extension de la boucle de simulation. L'évaluation de ce nouveau formalisme a été entièrement implémentée dans Cosmos.Grace à ce nouveau formalisme, nous avons développé et étudié les deux cas d'étude suivants : d'une part une circulation dense sur une section d'autoroute et d'autre part l'insertion du véhicule dans une voie rapide. L'analyse des modélisations correspondantes a démontré la pertinence de notre approche
This thesis takes place in the context of autonomous vehicle design, and concerns more specifically the verification of controllers of such vehicles. Our contributions are the following: (1) give a syntax and a semantics for a hybrid system model, (2) extend the capacities of the model-checker Cosmos to that kind of models, and (3) empirically confirm the relevance of our approach on typical case studies handling autonomous vehicles.We chose to combine high-level stochastic Petri nets (which is the input formalism of Cosmos) with the input formalism of Simulink, to obtain an adequate expressive power. Indeed, Simulink is largely used in the automotive industry and numerous controllers have been specified using this tool. However, there is no formal semantics for Simulink, which lead us to define such a semantics in two steps:first, we propose an exact (but not operational) semantics, then we complete it by an approximate semantics that includes the targeted approximation level.In order to combine the discrete event model of Petri nets and the continous model specified in Simulink, we define a syntactic interface that relies on new transition types; its semantics consists of an extension of the simulation loop. The evaluation of this new formalism has been entirely implemented into Cosmos.Using this new formalism, we have designed and studied the two following case studies: on one hand, a heavy traffic on a motorway segment, and on the other hand the insertion of a vehicle into a motorway. Our approach has been validated by the analysis of the corresponding models
APA, Harvard, Vancouver, ISO, and other styles
43

Le, Louarn Catherine. "Étude et réalisation d’un outil de simulation et de test pour le logiciel temps réel." Compiègne, 1986. http://www.theses.fr/1986COMPI224.

Full text
Abstract:
Le test de logiciel temps réel tend à mettre en évidence des erreurs de traitement, le non respect de spécifications fonctionnelles ou de contraintes liées au code. Dans une optique « analyse de sûreté », ce test doit pouvoir être effectué indépendamment du matériel cible (dont l’acquisition n’est pas envisageable) mais doit cependant permettre d’étudier le comportement du logiciel testé en présence de défaillances simulées du matériel. Le test est utile au long des phases de développement, de validation et de maintenance d’un produit. Nous présentons ici un outil, appelé OST, qui simule l’exécution du code et le comportement de son environnement logiciel et matériel. L’exécution du test est surveillée et de nombreuses informations sont collectées automatiquement. Dans ce mémoire, nous présentons les mécanismes et objets internes qui régissent le fonctionnement de l’outil. Ensuite nous décrivons les moyens dont dispose l’utilisateur pour construire les jeux d’essais et l’environnement du logiciel sous-test. Nous définissons les moyens interactifs mis à sa disposition. Enfin la réalisation d’un prototype de l’outil est présentée ainsi que les essais d’utilisation qui ont été faits.
APA, Harvard, Vancouver, ISO, and other styles
44

Deléage, Gilbert. "Méthodes de prédiction de la structure secondaire des protéines : application à un modèle l'ATPase F1 mitochondriale : études des propriétés électriques et optiques de l'ATPase F1." Lyon 1, 1988. http://www.theses.fr/1988LYO10080.

Full text
Abstract:
Une nouvelle methode de prediction a ete developpee qui donne 61% des acides amines bien predit. Cette methode a ete combinee avec celle de levin et al. Decrite en 1986 et 70% des acides amines copredits sont bien predits. Ces methodes sont incorporees dans un logiciel integre destine a la prediction des sites antigeniques potentiels d'une proteine: l'application de ces methodes a ete effectuee sur les sous-unites de l'atpase f1
APA, Harvard, Vancouver, ISO, and other styles
45

El, Ayeb Béchir. "Méthodes, langages et outils de spécification et de construction des systèmes de diagnostic." Nancy 1, 1989. http://www.theses.fr/1989NAN10054.

Full text
Abstract:
Spécification et construction méthodiques de systèmes de diagnostic pour les grandes installations industrielles. Recherche d'un langage de spécification et des outils de construction des systèmes de diagnostic. Proposition d'une méthode de spécification pour structurer une installation en hiérarchies et graphes de composants abstraits, ainsi qu'un langage pour spécifier les différents composants
APA, Harvard, Vancouver, ISO, and other styles
46

Duclos, Mathilde. "Méthodes pour la vérification des protocoles cryptographiques dans le modèle calculatoire." Thesis, Université Grenoble Alpes (ComUE), 2016. http://www.theses.fr/2016GREAM002/document.

Full text
Abstract:
Les échanges des informations confidentielles ou critiques dans un environnement public, et donc potentiellement hostile, nécessitent l'emploi de techniques cryptographiques (protocoles et primitives). Malheureusement, l'expérience montre qu'une mauvaise conception, ou une expression peu claire des propriétés et hypothèses de sécurité attendues conduisent à des attaques, et qu'il faut parfois des années avant que celles-ci soient découvertes et corrigées. D'où l'adoption croissante de la sécurité prouvable, où on donne une définition rigoureuse des objectifs de sécurité et des démonstrations mathématiques que ceux-ci sont remplis. Par ailleurs, la complexité et la diversité des systèmes cryptographiques croît également. Il est donc largement admis qu'il n'est plus viable d'écrire ou vérifier manuellement des démonstrations cryptographiques (Bellare& Rogaway 2004, Shoup 2004, Halevi 2005) et qu'il faut développer des méthodes de vérification des systèmes cryptographiques assistées par ordinateur. L'objectif de cette thèse est d'effectuer des progrès significatifs dans cette direction. Plus précisement on s'interesse à la preuve formelle de protocoles cryptographiques. Vérifier des protocoles cryptographiques requiert le développement d'un cadre théorique qui doit permettre: - une modélisation précise des protocoles cryptographiques et des propriétés de sécurité qu'on veut prouver dans le modèle calculatoire. - mise en place de stratégies d'automatisation de preuves. - prise en compte des modèles plus réalistes pour l'adversaire (canaux cachés, ressources de calcul). A la fin de la thèse on a obtenu un cadre formel et un ensemble de méthodes logicielles capable d'aider à la vérification des protocoles cryptographiques
Critical and private information are exchanged on public environment. To protect it from dishonest users, we use cryptographic tools. Unfortunately, bad conception, poorly written security properties and required security hypothesis lead to attacks, and it may take years before one discover the attack and fix the security schemes involved. In this context, provable security provides formal definitions for security objectives and implied mathematical proofs that these objectives are fullfilled. On another hand, complexity and variety of cryptographic systems are increasing, and proofs by hand are too complicated to write and to verify (Bellare& Rogaway 2004, Shoup 2004, Halevi 2005). Thus, we need computer-assisted verification methods for cryptographic systems. The aim of this thesis is to progress in this direction. More precisely we want significant progress over formal proofs on cryptographic protocols. To verify cryptographic protocols we need to develop a theoritical framework providing: - a precise modelisation for cryptographic protocols and security properties we want to prove in the computationnal model, - designing tactics to automate proofs, - taking into account realistic models for adversary (side-channels...). By the end of the thesis we have enhanced a theoretical framework and computing tools helping verifying cryptographic protocols
APA, Harvard, Vancouver, ISO, and other styles
47

Mashkoor, Atif. "Ingénierie Formelle de Domaine: Des Spécifications à la Validation." Phd thesis, Université Nancy II, 2011. http://tel.archives-ouvertes.fr/tel-00614269.

Full text
Abstract:
Le thème principal de cette recherche est d'étudier et développer des techniques pour la modélisation des systèmes où la sécurité est critique. Cette thèse est focalisé sur l'étape de la spécification du domaine où de tels systèmes vont fonctionner, et de sa validation. La contribution de cette thèse est double. D'abord, nous modélisons le domaine des transports terrestres, un bon candidat pour cette étude en raison de sa nature critique vis-à-vis de la sécurité, dans le cadre formel de B événementiel et proposent quelques directives pour cette activité. Ensuite, nous présentons une approche, basée sur les techniques de l'animation et des transformations, pour la validation par étapes des spécifications formelles.
APA, Harvard, Vancouver, ISO, and other styles
48

Methni, Amira. "Méthode de conception de logiciel système critique couplée à une démarche de vérification formelle." Electronic Thesis or Diss., Paris, CNAM, 2016. http://www.theses.fr/2016CNAM1057.

Full text
Abstract:
Avec l'évolution des technologies, la complexité des systèmes informatiques ne cesse de s'accroître. Parmi ces systèmes, on retrouve les logiciels critiques qui doivent offrir une garantie de sûreté de fonctionnement qui s'avère crucial et pour lesquels un dysfonctionnement peut avoir des conséquences graves. Les méthodes formelles fournissent des outils permettant de garantir mathématiquement l'absence de certaines erreurs. Ces méthodes sont indispensables pour assurer les plus hauts niveaux de sûreté. Mais l'application de ces méthodes sur un code système bas niveau se heurte à des difficultés d'ordre pratique et théorique. Les principales difficultés concernent la prise en compte des aspects bas niveau, comme les pointeurs et les interactions avec le matériel spécifique. De plus, le fait que ces systèmes soient concurrents conduit à une augmentation exponentielle du nombre de comportements possibles, ce qui rend plus difficile leur vérification. Dans cette thèse, nous proposons une méthodologie pour la spécification et la vérification par model-checking de ce type de systèmes, en particulier, ceux implémentés en C. Cette méthodologie est basée sur la traduction de la sémantique de C en TLA+, un langage de spécification formel adapté à la modélisation de systèmes concurrents. Nous avons proposé un modèle de mémoire et d'exécution d'un programme C séquentiel en TLA+. En se basant sur ce modèle, nous avons proposé un ensemble de règles de traduction d'un code C en TLA+ que nous avons implémenté dans un outil, appelé C2TLA+. Nous avons montré comment ce modèle peut s'étendre pour modéliser les programmes C concurrents et gérer la synchronisation entre plusieurs processus ainsi que leur ordonnancement. Pour réduire la complexité du model-checking, nous avons proposé une technique permettant de réduire significativement la complexité de la vérification. Cette réduction consiste pour un code C à agglomérer une suite d'instructions lors de la génération du code TLA+, sous réserve d'un ensemble de conditions.Nous avons appliqué la méthodologie proposée dans cette thèse sur un cas d'étude réel issu de l'implémentation d'un micronoyau industriel,sur lequel nous avons vérifié un ensemble de propriétés fonctionnelles. L'application de la réduction a permis de réduire considérablement le temps de la vérification, ce qui la rend utilisable en pratique.Les résultats ont permis d'étudier le comportement du système, de vérifier certaines propriétés et de trouver des bugs indétectables par des simples tests
Software systems are critical and complex. In order to guarantee their correctness, the use of formal methodsis important. These methods can be defined as mathematically based techniques, languages and tools for specifying and reasoning about systems. But, the application of formal methods to software systems, implemented in C, is challenging due to the presence of pointers, pointer arithmetic andinteraction with hardware. Moreover, software systems are often concurrent, making the verification process infeasible. This work provides a methodology to specify and verify C software systems usingmodel-checking technique. The proposed methodology is based on translating the semantics of Cinto TLA+, a formal specification language for reasoning about concurrent and reactive systems. We define a memory and execution model for a sequential program and a set of translation rules from C to TLA+ that we developed in a tool called C2TLA+. Based on this model, we show that it can be extended to support concurrency, synchronization primitives and process scheduling. Although model-checking is an efficient and automatic technique, it faces the state explosion problem when the system becomes large. To overcome this problem, we propose a state-space reduction technique. The latter is based on agglomerating a set of C instructions during the generation phase of the TLA+ specification. This methodology has been applied to a concrete case study, a microkernel of an industrial real-time operating system, on which a set of functional properties has been verified. The application of the agglomeration technique to the case study shows the usefulness of the proposed technique in reducing the complexity of verification. The obtained results allow us to study the behavior of the system and to find errors undetectable using traditional testing techniques
APA, Harvard, Vancouver, ISO, and other styles
49

Matoussi, Abderrahman. "Construction de spécifications formelles abstraites dirigée par les buts." Thesis, Paris Est, 2011. http://www.theses.fr/2011PEST1036/document.

Full text
Abstract:
Avec la plupart des méthodes formelles, un premier modèle peut être raffiné formellement en plusieurs étapes, jusqu'à ce que le raffinement final contienne assez de détails pour une implémentation. Ce premier modèle est généralement construit à partir de la description des besoins obtenue dans la phase d'analyse des exigences. Cette transition de la phase des exigences à la phase de spécification formelle est l'une des étapes les plus délicates dans la chaîne de développement formel. En fait, la construction de ce modèle initial exige un niveau élevé de compétence et beaucoup de pratique, d'autant qu'il n'existe pas de processus bien défini pour aider les concepteurs. Parallèlement à ce problème, il s'avère également que les exigences non-fonctionnelles sont largement marginalisées dans le processus de développement logiciel. Les pratiques industrielles actuelles consistent généralement à spécifier seulement les exigences fonctionnelles durant les premières phases de ce processus et à laisser la prise en compte des exigences non-fonctionnelles au niveau de l'implémentation. Pour surmonter ces problèmes, la thèse vise à définir un couplage entre un modèle d'exigences exprimé en SysML/KAOS et des spécifications formelles abstraites, tout en garantissant une distinction entre les exigences fonctionnelles et non-fonctionnelles dès la phase d'analyse des exigences. Pour cela, la thèse propose tout d'abord deux approches différentes (l'une dédiée au B classique et l'autre à Event-B) dans lesquelles des modèles formels abstraits sont construits progressivement à partir du modèle de buts fonctionnels SysML/KAOS. La thèse se focalise par la suite sur l'approche dédiée à Event-B afin de la compléter et l'enrichir en se servant de deux autres modèles SysML/KAOS qui décrivent les buts non-fonctionnels et leurs impacts sur les buts fonctionnels. Nous présentons différentes manières permettant d'injecter ces buts non-fonctionnels et leurs impacts dans les modèles abstraits Event-B déjà obtenus. Des liens de correspondance entre les buts non-fonctionnels et les différents éléments Event-B sont également établis afin de faciliter la gestion de l'évolution de ces buts. Les différentes approches proposées dans cette thèse ont été appliquées pour la spécification du composant de localisation qui est une partie critique d'un système de transport terrestre. L'approche dédiée à Event-B est implémentée dans l'outil SysKAOS2EventB, permettant ainsi de générer une architecture de raffinement Event-B à partir d'un modèle de buts fonctionnels SysML/KAOS. Cette mise en œuvre s'appuie principalement sur les technologies de transformation de modèles à modèles
With most of formal methods, an initial formal model can be refined in multiple steps, until the final refinement contains enough details for an implementation. Most of the time, this initial model is built from the description obtained by the requirements analysis. Unfortunately, this transition from the requirements phase to the formal specification phase is one of the most painful steps in the formal development chain. In fact, building this initial model requires a high level of competence and a lot of practice, especially as there is no well-defined process to assist designers. Parallel to this problem, it appears that non-functional requirements are largely marginalized in the software development process. The current industrial practices consist generally in specifying only functional requirements during the first levels of this process and in leaving the consideration of non-functional requirements in the implementation level. To overcome these problems, this thesis aims to define a coupling between a requirement model expressed in SysML/KAOS and an abstract formal specification, while ensuring a distinction between functional and non-functional requirements from the requirements analysis phase. For that purpose, this thesis proposes firstly two different approaches (one dedicated to the classical B and the other to Event-B) in which abstract formal models are built incrementally from the SysML/KAOS functional goal model. Afterwards, the thesis focuses on the approach dedicated to Event-B in order to complete it and enrich it by using the two other SysML/KAOS models describing the non-functional goals and their impact on functional goals. We present different ways to inject these non-functional goals and their impact into the obtained abstract Event-B models. Links of correspondance between the non-functional goals and the different Event-B elements are also defined in order to improve the management of the evolution of these goals. The different approaches proposed in this thesis have been applied to the specification of a localization component which is a critical part of a land transportation system. The approach dedicated to Event-B is implemented in the SysKAOS2EventB tool, allowing hence the generation of an Event-B refinement architecture from a SysML/KAOS functional goal model. This implementation is mainly based on the model-to-model transformation technologies
APA, Harvard, Vancouver, ISO, and other styles
50

Azem, Sadia. "Ordonnancement des systemes flexibles de production sous contraintes de disponibilite des ressources." Phd thesis, Ecole Nationale Supérieure des Mines de Saint-Etienne, 2010. http://tel.archives-ouvertes.fr/tel-00611830.

Full text
Abstract:
La majeure partie des travaux sur les problèmes d'ordonnancement se placent dans le contexte où les ressources sont disponibles en permanence. Ce qui en réalité n'est pas toujours le cas. Nous nous plaçons dans le contexte d'indisponibilités connues ; nous nous intéressons plus particulièrement aux problèmes de type job shop avec des périodes d'indisponibilité flexibles et des tâches pouvant éventuellement être interrompues par les périodes d'indisponibilité. L'intégration de ces contraintes rend les problèmes d'ordonnancement nettement plus difficiles à résoudre. La flexibilité que nous considérons peut être relative à au moins l'un des points suivants : déplacement de la période d'indisponibilité dans une fenêtre de temps, modification de la durée de la période d'indisponibilité, interruption d'une tâche par une période d'indisponibilité, ensuite reprise avec une éventuelle pénalité.Dans cette thèse, nous avons proposé des modèles mathématiques pour le problème. En plus de la résolution des problèmes considérés, le but de ces modélisations est de permettre d'analyser l'impact des différentes contraintes et d'évaluer la qualité des méthodes approchées que nous proposons. Ces dernières permettent de construire très rapidement un ordonnancement en se basant sur des règles de priorité. Les solutions sont aussi utilisées pour notre approche basée sur la génération de colonnes. Cette approche s'adapte bien à différents fonctions objectif et permet d'intégrer relativement facilement plusieurs contraintes. De nombreuses expérimentations ont été menées pour valider les méthodes proposées.
APA, Harvard, Vancouver, ISO, and other styles
We offer discounts on all premium plans for authors whose works are included in thematic literature selections. Contact us to get a unique promo code!

To the bibliography