30 research outputs found
Actes des 14e journées sur les Approches Formelles dans l'Assistance au Développement de Logiciels
National audienceCet ouvrage présente les actes des 14èmes journées sur les Approches Formelles dans l'Assistance au Développement de Logiciels (AFADL'2015) qui se sont tenues à Bordeaux les 9 et 10 juin 2015
Méthodes formelles de haut niveau pour la conception de systèmes électroniques fiables
Thèse numérisée par la Direction des bibliothèques de l'Université de Montréal
Programmation sûre de plates-formes embarquées de type multi/pluri-cœurs
The purpose of this document is to describe an overview of my work on the topic of "programming mutli/many-core COTS in the context of aeronautics" and to propose future research work.L’objectif de ce document est de décrire une synthèse des travaux que j’ai menés autour du thème de "la programmation sûre de plates-formes embarquées" et de proposer des perspectives de recherche pour les années à venir
Covérification des systèmes intégrés
Thèse numérisée par la Direction des bibliothèques de l'Université de Montréal
Alloy4PV : un Framework pour la Vérification de Procédés Métiers
In this thesis, we realized a study of the start-of-the-art on different process domains (business, software, military, medical, etc.). The aim was to identify and categorize critical properties that can be verified on any process model. This study resulted in a library of generic and configurable properties. As a second step, we have defined a framework for process verification called Alloy4PV. This framework uses a subset of UML 2 Activity Diagram as a process modeling language. For process verification, (1) we defined a formal model of UML 2 Activity Diagram based on the fUML semantics, the OMG standard that gives a semantic to a subset of UML 2. This was achieved using first-order logic, (2) we implemented this formalization using the Alloy language in order to perform bounded model-checking, and (3) we automatized in a graphical tool integrated to Eclipse, the possibility to express and verify properties on all the perspectives of a process model. This contribution resulted in a tool which is under evaluation by our MerGE project’s partners and to five publications in conferences proceedings.Dans cette thèse, nous avons tout d'abord fait une étude de l'état de l'art dans les différents domaines des procédés (métier, logiciel, militaire, médical, etc) afin d'identifier et de catégoriser les principales propriétés à garantir. À partir de cette étude, nous avons défini une bibliothèque de propriétés générique et paramétrable pour tout modèle de procédé. Ensuite, nous avons défini un framework pour la vérification de procédés appelé Alloy4PV. Il utilise un sous-ensemble des diagrammes d'activités UML 2 comme langage de modélisation. Afin d'effectuer la vérification de procédés, nous avons (1) défini un modèle formel des diagrammes d'activités basé sur la sémantique fUML (le standard de l'OMG donnant une sémantique à un sous-ensemble de UML) en utilisant la logique de premier ordre, (2) implémenté cette formalisation en utilisant le langage Alloy afin d'effectuer du model-checking borné, et (3) automatisé, dans un outil graphique intégré à Eclipse, la possibilité d'exprimer et de vérifier des propriétés sur toutes les perspectives du procédé
Une approche par composants pour l'analyse visuelle interactive de résultats issus de simulations numériques
Component-based approaches are increasingly studied and used for the effective development of the applications in software engineering. They offer, on the one hand, safe architecture to developers, and on the other one, a separation of the various functional parts and particularly in the interactive scientific visualization applications. Modeling such applications enables the behavior description of each component and the global system’s actions. Moreover, the interactions between components are expressed through a communication schemes sometimes very complex with, for example, the possibility to lose messages to enhance performance. This thesis describes ComSA model (Component-based approach for Scientific Applications) that relies on a component-based approach dedicated to interactive and dynamic scientific visualization applications and its formalization in strict Colored FIFO Nets (sCFN). The main contributions of this thesis are, first, the definition of a set of tools to model the component’s behaviors and the various application communication policies. Second, providing some properties on the application to guarantee it starts properly. It is done by analyzing and detecting deadlocks. This ensures the liveness throughout the application execution. Finally, we present dynamic reconfiguration of visual analytics applications by adding or removing on the fly of a component without stopping the whole application. This reconfiguration minimizes the number of unavailable services.Les architectures par composants sont de plus en plus étudiées et utilisées pour le développement efficace des applications en génie logiciel. Elles offrent, d’un côté, une architecture claire aux développeurs, et de l’autre, une séparation des différentes parties fonctionnelles et en particulier dans les applications de visualisation scientifique interactives. La modélisation de ces applications doit permettre la description des comportements de chaque composant et les actions globales du système. De plus, les interactions entre composants s’expriment par des schémas de communication qui peuvent être très complexes avec, par exemple, la possibilité de perdre des messages pour gagner en performance. Cette thèse décrit le modèle ComSA (Component-based approach for Scientific Applications) qui est basé sur une approche par composants dédiée aux applications de visualisation scientifique interactive et dynamique formalisée par les réseaux FIFO colorés stricts (sCFN). Les principales contributions de cette thèse sont dans un premier temps, un ensemble d’outils pour modéliser les différents comportements des composants ainsi que les différentes politiques de communication au sein de l’application. Dans un second temps, la définition de propriétés garantissant un démarrage propre de l’application en analysant et détectant les blocages. Cela permet de garantir la vivacité tout au long de l’exécution de l’application. Finalement l’étude de la reconfiguration dynamique des applications d’analyse visuelle par ajout ou suppression à la volée d’un composant sans arrêter toute l’application. Cette reconfiguration permet de minimiser le nombre de services non disponibles
Synthèse de EFSM observatrices à partir de spécifications HAAD
Mémoire numérisé par la Direction des bibliothèques de l'Université de Montréal
Model-Checking symbolique pour la vérification de systèmes et son application aux tables de décision et aux systèmes d'éditions collaboratives distribuées
Résumé
Dans le cycle de vie de tout système logiciel, une phase cruciale de formalisation et de
validation au moyen de vérification et/ou de test induit une identification d'erreurs probables
infiltrées durant sa conception. Cette détection d'erreurs et leur correction sont
avantageuses dans les premières phases de développement du système afin d'éviter tout
retour aux travaux ardus d'analyse de spécifications et de modélisation du système
précédant sa réalisation. Par conséquent, cette étape mise en oeuvre à travers des
mĂ©thodes et des outils formels dans les phases amont de la conception contribue Ă
augmenter la confiance des concepteurs et utilisateurs vis-à -vis de la fonctionnalité du
système.
L'objectif de cette maîtrise s'insère dans le cadre d'une recherche qui vise à exploiter une
technique formelle spécifique d'analyse de programmes et de spécifications: l'exécution
symbolique combinée au model-checking. Cette technique représente une approche
émergente à laquelle les chercheurs ont porté une attention particulière ces dernières
années.
D'une part, l'exécution symbolique permet d'explorer les chemins d'exécution possibles d'un
programme modélisant un système avec des variables d'entrée non initialisées, en d'autres
termes en manipulant des variables abstraites ou "symboliques". Ces chemins caractérisent
ainsi le comportement du programme de manière abstraite. D'autre part, le model-checking
permet d'explorer systématiquement ces différents chemins d'exécution à l'aide d'une
énumération exhaustive des états accessibles afin de générer ultérieurement des contreexemples
en cas de violation de propriétés du système.
De ce fait, l'exécution symbolique combinée au model-checking englobe les points forts de
ces deux techniques octroyant aux concepteurs du système une compréhension accrue des
situations d'erreur dans les contre-exemples ainsi générés.----------Abstract
Verification is one crucial activity in any software life cycle. Its major role is to ensure an
identification of potential design and implementation flaws integrated in the software system
during its development process. Such an identification leads to eventual corrections in the
early steps of the development cycle, thus avoiding tedious work otherwise required in the
system requirements' reanalysis as well as in its remodelling preceding its deployment. As a
consequence, the verification step is rigorously put into practice through formal methods
and tools. Given such a formalisation contributes to give another level of insurance to both
the system's designers and users.
This thesis is related to a research which aims at applying one specific formal method in
program and requirements analysis: symbolic execution intertwined with model checking.
This technique has known a major development in the past few years, thus raising interest
among researchers in the field.
On one hand, symbolic execution explores all possible execution paths of a program
modelling a system using uninitialised input variables. As its name implies, this specific
execution deals with abstract or "symbolic" variables. Hence, those visited paths
characterise the abstract program behaviour. On another hand, model checking ensures a
systematic exploration of those different execution paths through an exhaustive visit of all
reachable states. This approach is necessary for subsequent generation of counterexamples
in case of property violations within the system.
Therefore, symbolic execution along with model checking is a resulting approach enforced
with advantages of both techniques. This yields a higher degree of interpreting the retrieved
flaws provided through generated counterexamples, for even the most sophisticated
systems
Assistance à la validation et vérification de systèmes critiques : ontologies et intégration de composants
Les activités de validation et vérification de modèles sont devenues essentielles dans le développement de systèmes complexes. Les efforts de formalisation de ces activités se sont multipliés récemment étant donné leur importance pour les systèmes embarqués critiques. Notre travail s’inscrit principalement dans cette voie. Nous abordons deux visions complémentaires pour traiter cette problématique. La première est une description syntaxique implicite macroscopique basée sur une ontologie pour aider les concepteurs dans le choix des outils selon leurs exigences. La seconde est une description sémantique explicite microscopique pour faciliter la construction de techniques de vérification compositionnelles. Nous proposons dans la première partie de cette thèse une ontologie pour expliquer et expliciter les éléments fondateurs du domaine que nous appelons VVO. Cette ontologie pourra avoir plusieurs autres utilisations : une base de connaissance, un outil de formation ou aussi un support pour le choix de la méthode à appliquer et l’inférence de correspondance entre outils. Nous nous intéressons dans la seconde partie de cette thèse à une formalisation dans un assistant à la preuve de l’introduction de composants dans un langage de modélisation et des liens avec les activités de validation et vérification. Le but est d’étudier la préservation des propriétés par composition : les activités de vérification sont généralement coûteuses en terme de temps et d’effort, les faire d’une façon compositionnelle est très avantageux. Nous partons de l’atelier formel pour l’Ingénierie Dirigée par les Modèles Coq4MDE. Nous suivons la même ligne directrice de développement prouvé pour formaliser des opérateurs de composition et étudier la conservation des propriétés par assemblage. Nous nous intéressons au typage puis à la conformité de modèles par rapport au métamodèle et nous vérifions que les opérateurs définis permettent de conserver ces propriétés. Nous nous focalisons sur l’étude d’opérateurs élémentaires que nous exploitons pour spécifier des opérateurs de plus haut niveau. Les préconditions des opérateurs représentent les activités de vérification non compositionnelles qui doivent être effectuées en plus de la vérification des composants pour assurer la postcondition des opérateurs qui est la propriété souhaitée. Nous concluons en présentant des perspectives pour une formalisation algébrique en théorie des catégories
Contribution à la gestion de l'évolution des processus métiers
La gestion de l'évolution des processus métier exige une compréhension approfondie des cause des changements, de leurs niveaux d'application ainsi que de leurs impacts sur le reste du système. Dans cette thèse, nous proposons une approche de gestion et de contrôle de l'éolution des processus métier permettant d'analyser ces changements et de comprendre leurs impacts. Cela assistera les concepteurs et les chargés de l'évolution des processus métier à établir une évaluation a priori de l'impact pour réduire les risques et les coûts liés à ces changements et d'améliorer le service et la qualité des processus métier. Ce travail consiste à proposer un ensemble de contributions permettant une vérification de la cohérence et de la conformité des modèles de processus métier après chaque changement, mais aussi d'établir une éaluation a priori de l'impact structurel et qualificatif des modifications. Les différentes approches proposées sont en cours d'expérimentation et de validation à travers le développement d'une plate-forme basée sur l'environnement EclipseThe evolution management of the business processes requires an exhaustive understanding of the change. An evolution engineer needs to understand reasons of a change, its application levels, and subsequently its impact on the whole system. In this thesis, we propose an approach for an a priori change impact analysis, to better control the business process evolution. This may help the business experts and the process designers to evaluate change impact in order to reduce the associated risks and estimate the related costs. It may also help to improve the service and quality of the business processes. This work contributes an eventual improvement, in regard, to verify the coherence and the compliance of the business process models, after each change. It leads to evaluate an a priori change impact analysis in structural and qualitatie aspects. The multiple-perspectives of the proposed approach have been reviewed experimentally. The validation of the approach is evaluated by exteding the Eclipse Development Environment, with the help of a set of plug-ins, as a prototype plate-form.DUNKERQUE-SCD-Bib.electronique (591839901) / SudocSudocFranceF