17 research outputs found

    La Validation dans le Processus de Développement

    Get PDF
    International audienceThe amelioration of the quality of a system begins by the requirements elicitation. Our goal is to bridge the gap between requirements, those of the client, and the specification, this of the computer scientist. In this paper, we talk about the validation all along the development of a system, taking into account its requirements and its Event-B specification. The verification may also detect incoherences in the requirements. The Rodin platform is important all along to improve the quality and the documentation of the system, both of its specification and its development process. We illustrate our approach on the case study of an aircraft landing system.L'amélioration de la qualité d'un logiciel commence par l'expression de ses exigences en langage naturel. Notre objectif est de combler l'écart entre le cahier des charges, celui du client, et la spécification formelle, celle de l'informaticien. Dans ce papier, nous abordons la validation tout au long du processus de développement, en tenant compte des exigences et la spécification en Event-B du logiciel. La vérification peut aussi détecter des incohérences dans les exigences. La place des outils, notamment avec la plateforme Rodin, est importante au long de ce processus, améliorant sa qualité et sa documentation. Notre approche est illustrée par l'étude de cas d'un système de contrôle du train d'atterrissage d'un avion

    Traduction de B événementiel en C pour la validation par la simulation

    Get PDF
    International audienceCe papier discute un traducteur de B événementiel vers C orienté vers la validation des modèles. Les outils d'animation permettent de valider les modèles simples mais échouent lorsque les événements gèrent des espaces multidimensionnels. Une façon de contourner cette difficulté est de générer des simulateurs, c'est-à-dire, de traduire le modèle B événementiel en C tout en offrant des points d'ancrage pour des fonctions définies manuellement. Nous décrivons comment un mécanisme d'annotations, une stratégie adaptée de traduction des gardes et actions des événements permet d'étendre les traducteur existants. Nous discutons du pilotage et des difficultés techniques qu'il induit. Nous présentons la démarche pragmatique avec laquelle nous avons abordé cette étude

    Premières leçons sur la spécification d'un train d'atterrissage en B événementiel

    Get PDF
    National audienceCe papier présente les leçons préliminaires obtenues en traitant en B Événementiel l'étude de cas proposée par la conférence ABZ 2014. Le problème consiste à modéliser le logiciel de contrôle du train d'atterrissage d'un avion. L'utilisation de B Évémentiel sur cette étude pose des questions intéressantes quant à la nature des invariants, quant au moment de leur introduction, ainsi que quant à l'expression et la vérification des propriétés fonctionnelles. Le raffine- ment est organisé en niveaux d'observation structurés par la description du maté- riel. Le système est vu comme un automate assez simple piloté par des capteurs externes. La description d'un tel système en B Événementiel est simple mais sa validation est beaucoup plus difficile. Cette étape utilise JeB, un simulateur de B Événementiel en JavaScript. L'émulation des capteurs est un point crucial

    Vérification des politiques XACML avec le langage Event-B

    Get PDF
    Les politiques permettent de définir les règles de la sécurité et de la gestion des différents composants du système. Cela implique l'emploi d'un langage pour exprimer les règles d'affaires et les règles non fonctionnelles, et de donner aux utilisateurs la possibilité de tester et de corriger les politiques. Plusieurs langages tels que XACML, Rei ou PONDER, sont utilisés pour exprimer les politiques par rapport aux objectifs du système d'information. Ces langages peuvent définir plusieurs règles et politiques, mais la plupart de ces langages ne donnent pas de mécanisme pour tester et vérifier la présence des conflits et de l'incohérence entre les politiques du système. Ce mémoire vise la vérification des politiques de contrôle d'accès. Notre approche consiste à traduire les politiques XACML sous forme d'un ensemble de machines abstraites de la méthode B. Nous exprimons aussi les propriétés à vérifier par des formules logiques. L'approche offre aux utilisateurs des moyens pour vérifier les politiques afin de s'assurer que les règles expriment bien les objectifs régissant le comportement et les interactions des systèmes gérés. Dans la première phase, les composantes des politiques XACML ont été exprimées avec des expressions formelles basées sur la logique du premier ordre. Par la suite, les outils développés pour la méthode B, comme le langage Event-B sous la plate forme Rodin, ont été utilisés pour vérifier les règles des politiques par rapport à un ensemble de propriétés que nous avons définies. Notre approche est plus flexible et permet aux utilisateurs de tester et de vérifier les règles avant l'implémentation de ces politiques. Une telle vérification est fondée sur les preuves avec logique du premier ordre, où des propriétés importantes de la politique peuvent être énoncées et prouvées. \ud ______________________________________________________________________________ \ud MOTS-CLÉS DE L’AUTEUR : Politique, XACML, Méthode formelle, Event-B, Vérification

    Prouvé ? Et après ?

    Get PDF
    National audienceIn a context of certification, the relationship between formal methods and "correct" soft- ware is fuzzy. To formalists, it is the logical consistency (proof), to certification authorities, it is the appropriate fulfilment of needs and constraints of the anticipated usage (validation). We present and discuss an analysis of difficulties and solutions we encountered while writing specifications in Event-B. We propose a development process which takes into account cer- tification issues. It is still based on the refinement of functional properties as supported by Event-B. Refinement steps should be extended with sub-processes whose aims are: to refine the physical and mathematical model to cast it in a form compatible with proof tools, to check non functional and temporal constraints, and to validate the behaviour of the specification.Dans un contexte de certification, la relation entre méthodes formelles et logiciel " correct " n'est pas claire. Pour le formaliste, c'est la cohérence lo- gique (preuve), pour le certificateur, c'est la bonne adéquation aux besoins et contraintes de l'usage prévu (validation). Nous présentons et discutons une ana- lyse des difficultés et de leur résolution que nous avons rencontrées lors de la rédaction de spécifications en B événementiel. Nous proposons un processus de développement qui prend en compte la certification. Il est toujours fondé sur la notion de raffinement des propriétés fonctionnelles proposée par B événemen- tiel. Les étapes de raffinement doivent être complétées par des sous-processus qui raffinent le modèle physico-mathématique pour l'amener à une forme ac- ceptable par les outils de preuve, qui vérifient les contraintes non-fonctionnelles, principalement temporelles, et qui valident le comportement de la spécification

    Transformation Heuristics for Formal Requirements Validation by Animation

    Get PDF
    International audienceSafety critical software systems are regulated by stringent certification requirements. The use of formal methods is the part of standard recommendations in particular for higher safety integrity levels. An important issue with formal methods is the problem of the validation of requirements: do they accurately capture the stakeholder needs? While proof tools guarantee the consistency of a specification, they are of little help to check if the specification models the desired behavior. This paper addresses the problem of the validation of Event-B specifications by animation. Once the specifications have been verified using the RODIN platform, they have to be transformed in order to be animated by the Brama animator. We propose transformation heuristics in order to produce a derived animatable specification which may be non-provable, but exhibiting the same behavior as the original specification

    Incorporating Animation in Stepwise Development of Formal Specification

    Get PDF
    International audienceThis paper explores the possibility to incorporate validation of formal specifications into their step-wise development process. The key idea in formal methods to assess that an implementation is correct is to break the verification into smaller proofs associated with each refinement step. Likewise, the technique of animation could be used with each refinement step to break its validation into smaller assessments. Animating an abstract specification often requires to alter it in ways that proof obligations cannot be discharged anymore. So, we have developed a process and a set of transformation rules whose application produce an animatable specification which may be non-provable, but which is guaranteed to have the same behavior. 10 rules have been identified; they are presented and discussed with a special emphasis on their validity. We relate how step-wise animation is used in two case studies and what we gain from this
    corecore