14 research outputs found

    Preliminary Design of JML: A Behavioral Interface Specification Language for Java

    Get PDF
    JML is a behavioral interface specification language tailored to Java(TM). Besides pre- and postconditions, it also allows assertions to be intermixed with Java code; these aid verification and debugging. JML is designed to be used by working software engineers; to do this it follows Eiffel in using Java expressions in assertions. JML combines this idea from Eiffel with the model-based approach to specifications, typified by VDM and Larch, which results in greater expressiveness. Other expressiveness advantages over Eiffel include quantifiers, specification-only variables, and frame conditions. This paper discusses the goals of JML, the overall approach, and describes the basic features of the language through examples. It is intended for readers who have some familiarity with both Java and behavioral specification using pre- and postconditions

    Real-time systems refinement : application to the verification of web services

    Get PDF
    Les services Web sont des applications distribuées qui sont conçus pour atteindre une tâche spécifique de l'entreprise sur le web. Afin d'augmenter la qualité et d'élever la sécurité des services Web, la vérification de BPEL, un service web langage de composition est considérée. Dans ce contexte, le model checking est une des techniques de vérification les plus utilisés en raison de son exhaustivité, son application facile et automatique. Cependant, un inconvénient majeur du model checking est l'explosion combinatoire en cas de grands modèles. Le raffinement est une des techniques utilisées pour combattre au problème d'explosion. Dans cette thèse, nous étudions le raffinement des systèmes temporisés et son application à des situations réelles, à savoir les modèles BPEL. Pour cela, nous proposons d'abord une technique automatique pour la vérification de la simulation faible temporisée entre des systèmes de transitions temporisé basée sur des modèles issus d'un langage de spécification formelle, FIACRE. La technique est une méthode basée sur l'observation, dans laquelle deux systèmes de transitions temporisés sont composées avec un observateur temporisé. Une propriété de mu-calcul qui capte la simulation faible temporisée est ensuite vérifiée sur le résultat de la composition. En deuxième étape, afin de valider les modèles BPEL, nous proposons une technique qui consiste dans les étapes suivantes: premièrement, les activités BPEL qui ont besoin d'être abstrait sont fournis avec leurs abstractions. Deuxièmement, la source BPEL est transformé en FIACRE en fonction des choix précédents. Troisièmement, les propriétés d'exigences sont vérifiées sur le modèle de FIACRE abstrait. Enfin, les relations de simulation sont prouvés entre les composants concrets et abstraits du modèle.Web services are distributed applications which are designed to achieve a specific business task over the web. In order to increase the security and to elevate the safety of web services, the verification of BPEL, a web services composition language is considered. In this context, model checking is one of the most used verification techniques because of its thoroughness, its easy application, and automatic approach. However, a major drawback of model checking is the combinatory explosion in case of large models. Refinement is one of the used techniques to alleviate the model checking problem. In this PhD, we study the refinement of timed systems and its application to real life scenarios, namely to BPEL models. For this, we first suggest an automatic technique for checking the timed weak simulation between timed transition systems based on models originating from a formal specification language, FIACRE. The technique is an observation-based method in which two timed transition systems are composed with a timed observer. A μ\mu-calculus property that captures the timed weak simulation is then verified upon the result of the composition. At the second stage, in order to validate BPEL models, we suggest a technique that consists in the following steps : first, BPEL activities to-be-abstracted are provided along with their abstractions. Second, the BPEL source is transformed to FIACRE according to the previous choices. Third, domain properties are verified on the abstract FIACRE model. Finally, simulation relations are proven between concrete and abstract parts of the model

    Conception et vérification d'exigences de sûreté temporisées à base de contrats dans les modèles SysML

    Get PDF
    De nos jours, les systèmes informatiques croissent en taille et en complexité. Intégrés dans des dispositifs de différents domaines tels que l'avionique, l'aéronautique, l'électronique grand public, etc., ils sont souvent considérés comme critiques à l'égard de la vie humaine, des coûts et de l'environnement. Concevoir des systèmes embarqués temps-réel critiques sûrs et fiables est une tâche difficile, étant donné que leurs modèles sont souvent source d'erreurs. Une façon pour les concepteurs de contourner cette difficulté consiste à s'appuyer sur la modélisation compositionnelle de composants logiciels pilotée par les exigences. Le raisonnement à base de contrats permet de construire des composants sûrs à partir des exigences globales du système en interposant des spécifications abstraites et partielles entre les besoins du système et les composants eux-mêmes. Informellement, un contrat modélise le comportement abstrait d'un composant du point de vue de l'exigence à satisfaire (c.a.d garantie) dans un contexte donné (c.a.d. hypothèse). Les contrats peuvent être exploités pour décomposer et tracer les exigences au cours d'un développement itératif, mais aussi pour effectuer une vérification compositionnelle de la satisfaction des exigences. Dans cette thèse, nous présentons une méthodologie de raisonnement à base de contrats pour la conception et la vérification de systèmes sûrs développés en SysML. Ainsi, nous définissons en UML/SysML la syntaxe des contrats et des relations de raffinement entre contrats et/ou composants qui sont utilisées pour prouver la correction du système par rapport aux exigences. Ensuite, nous proposons un cadre formel qui modélise la sémantique d'un modèle UML/SysML étendu par des contrats selon une variante d'automates temporisés entrée/sortie et nous définissons la correspondance entre ces concepts. Nous formalisons les relations de raffinement par la relation d'inclusion de traces et nous prouvons leurs propriétés compositionnelles ce qui assure la correction de la méthodologie. L'approche est instanciée pour le profil OMEGA et la boîte à outils IFx2 qui génère partiellement les obligations de preuve. Finalement, plusieurs études de cas dont une issue de l'industrie complètent la théorie pour évaluer l'approche à base de contrats et ses résultats et les comparer aux méthodes classiques de model-checking.Nowadays computer systems grow larger in size and more complex. Embedded in devices from different domains like avionics, aeronautics, consumer electronics, etc., they are often considered critical with respect to human life, costs and environment. A development that results in safe and reliable critical real-time embedded systems is a challenging task, considering that errors are accidentally inserted in the design. A way for system designers to tackle this issue is to use a compositional design technique based on components and driven by requirements: it allows to infer from global requirements, component properties that must locally hold. Contract-based reasoning allows to compositionally derive correct components from global system requirements by interposing abstract and partial specifications for components. Informally, a contract models the abstract behavior a component exhibits from the point of view of the requirement to be satisfied (i.e. guarantee) in a given context (i.e. assumption). Contracts can be used to decompose and trace requirements during iterative design, but also to perform compositional verification of requirement satisfaction. In this thesis, we present a methodology for reasoning with contracts during system design and verification within SysML. Thus, we define the syntax for contracts in UML/SysML, as well as a set of refinement relations between contracts and/or components in order to prove the system's correctness with respect to requirements. Next, we provide a formal framework that models the semantics of a UML/SysML model extended with contracts as a mapping of the language concepts to a variant of Timed Input/Output Automata. The refinement relations are formalized based on the trace inclusion relation and compositional properties are proved to hold which ensures the soundness of the methodology. The approach is instantiated for the OMEGA Profile and IFx2 toolset with partial automatic generation of proof obligations. Finally, the approach is applied on several case studies, including an industry-grade system model, which show its efficiency by comparative verification results

    Modelling, analysing and model checking commit protocols

    Get PDF
    corecore