Thèse soutenue

Un environnement pour le développement rigoureux de composants répartis : formalisation et outils logiciels

FR  |  
EN
Auteur / Autrice : Oleksandra Kulankhina
Direction : Éric Madelaine
Type : Thèse de doctorat
Discipline(s) : Informatique
Date : Soutenance le 14/10/2016
Etablissement(s) : Université Côte d'Azur (ComUE)
Ecole(s) doctorale(s) : École doctorale Sciences et technologies de l'information et de la communication (Nice ; 1992-....)
Partenaire(s) de recherche : établissement de préparation : Université de Nice (1965-2019)
Laboratoire : Institut national de recherche en informatique et en automatique (France). Unité de recherche (Sophia Antipolis, Alpes-Maritimes) - Laboratoire Informatique, signaux et systèmes (Sophia Antipolis, Alpes-Maritimes) - Models and methods of analysis and optimization for systems with real-time and embedding constraints - Safe Composition of Autonomous applications with Large-SCALE Execution environment
Jury : Président / Présidente : Frédéric Mallet
Examinateurs / Examinatrices : Éric Madelaine, Frédéric Mallet, Radu Mateescu, František Plášil, Ludovic Henrio, Simon Bliudze
Rapporteurs / Rapporteuses : Radu Mateescu, František Plášil

Résumé

FR  |  
EN

Dans cette thèse, nous proposons une approche rigoureuse pour la conception et le développement de systèmes à base de composants hiérarchiques distribués. L’idée de base du travail présenté est de combiner les techniques de conception de logiciels dirigées par les modèles, bien connues des programmeurs, avec des méthodes de vérification formelles puissantes, capables d’assurer les propriétés fonctionnelles d’un système distribué et de détecter les erreurs dès le stade de la conception. Tout d’abord, nous introduisons un formalisme graphique basé sur UML pour l’architecture et le comportement des composants hiérarchiques de modélisation. Deuxièmement, nous spécifions formellement un ensemble de contraintes qui assurent la correction de la composition des composants, en mettant l’accent sur la séparation entre les aspects fonctionnels et non-fonctionnels. Troisièmement, nous expliquons comment nos modèles graphiques peuvent être traduits automatiquement dans le formalisme d’entrée d’un model-checker. Nous nous concentrons ensuite sur le codage des fonctionnalités avancées de composants distribués, comme communications de 1 vers N, la reconfiguration et les communications asynchrones basées sur les appels de procédures distants. Enfin, nous mettons en oeuvre cette approche dans une plateforme intégrée orienté modèle qui comprend un ensemble d’éditeurs graphiques, un module de validation de la décision correcte de l’architecture statique, un module traduisant le modèle conceptuel dans une entrée pour la plateforme de vérification CADP, et enfin un générateur de code exécutable