Catálogo de publicaciones - libros
Integrated Formal Methods: 6th International Conference, IFM 2007, Oxford, UK, July 2-5, 2007. Proceedings
Jim Davies ; Jeremy Gibbons (eds.)
En conferencia: 6º International Conference on Integrated Formal Methods (IFM) . Oxford, UK . July 2, 2007 - July 5, 2007
Resumen/Descripción – provisto por la editorial
No disponible.
Palabras clave – provistas por la editorial
No disponibles.
Disponibilidad
Institución detectada | Año de publicación | Navegá | Descargá | Solicitá |
---|---|---|---|---|
No detectada | 2007 | SpringerLink |
Información
Tipo de recurso:
libros
ISBN impreso
978-3-540-73209-9
ISBN electrónico
978-3-540-73210-5
Editor responsable
Springer Nature
País de edición
Reino Unido
Fecha de publicación
2007
Información sobre derechos de publicación
© Springer-Verlag Berlin Heidelberg 2007
Cobertura temática
Tabla de contenidos
Algebraic Approaches to Formal Analysis of the Mondex Electronic Purse System
Weiqiang Kong; Kazuhiro Ogata; Kokichi Futatsugi
Mondex is a payment system that utilizes smart cards as electronic purses for financial transactions. This paper first reports on how the Mondex system can be modeled, specified and interactively verified using an equation-based method – the OTS/CafeOBJ method. Afterwards, the paper reports on, as a complementarity, a way of automatically falsifying the OTS/CafeOBJ specification of the Mondex system, and how the falsification can be used to facilitate the verification. Differently from related work, our work provides alternative ways of (1) modeling the Mondex system using an OTS (Observational Transition System), a kind of transition system, and (2) expressing and verifying (and falsifying) the desired security properties of the Mondex system directly in terms of invariants of the OTS.
Pp. 393-412
Capturing Conflict and Confusion in CSP
Christie Marr (née Bolton)
Traditionally, developers of concurrent systems have adopted two distinct approaches: those with semantics and those with semantics. In the coarser interleaving interpretation parallelism can be captured in terms of non-determinism whereas in the finer, truly concurrent interpretation it cannot. Thus processes ∥ and . + . are identified within the interleaving approach but distinguished within the truly concurrent approach.
In [5] we explored the truly concurrent notions of , whereby transitions can occur individually but not together from a given state, and , whereby the conflict set of a given transition is altered by the occurrence of another transition with which it does not interfere. We presented a translation from the truly concurrent formalism of Petri nets to the interleaving process algebra CSP and demonstrated how the CSP model-checker FDR can be used to detect the presence of both conflict and confusion in Petri nets. This work is of interest firstly because, to the author’s knowledge, no existing tool for Petri nets can perform these checks, and secondly (and perhaps more significantly) because we bridged the gap between truly concurrent and interleaving formalisms, demonstrating that true concurrency can be captured in what is typically considered to be an interleaving language.
In this paper we build on the work presented in [5] further embedding the truly concurrent notions of conflict and confusion in the interleaving formalism CSP by extending the domain of our translation from the simplistic subset of Petri nets, in which each place can hold at most one token, to standard Petri nets, in which the number of tokens in each place is unbounded.
Pp. 413-438
A Stepwise Development Process for Reasoning About the Reliability of Real-Time Systems
Larissa Meinicke; Graeme Smith
This paper investigates the use of the probabilistic and continuous extensions of action systems in the development and calculation of reliability of continuous, real-time systems. Rather than develop a new semantics to formally combine the existing extensions, it investigates a methodology for using them together, and the conditions under which this methodology is sound. A key feature of the methodology is that it simplifies the development process by separating the probabilistic calculations of system reliability from the details of the system’s real-time, continuous behaviour.
Pp. 439-458
Decomposing Integrated Specifications for Verification
Björn Metzler
Integrated formal specifications are intrinsically difficult to (automatically) verify due to the combination of complex data and behaviour. In this paper, we present a method for specifications into several smaller parts which can be independently verified. Verification results can then be combined to make a global result according to the original specification.
Instead of relying on an given structure of the system such as a parallel composition of components, we compute the decomposition by ourselves using the technique of . With less effort, significant properties can be verified for the resulting specification parts and be applied to the full specification. We prove correctness of our method and exemplify it according to a specification from the rail domain.
Pp. 459-479
Validating Z Specifications Using the Animator and Model Checker
Daniel Plagge; Michael Leuschel
We present the architecture and implementation of the tool to validate high-level Z specifications. The tool was integrated into , by providing a translation of Z into B and by extending the kernel of to accommodate some new syntax and data types. We describe the challenge of going from the tool friendly formalism B to the more specification-oriented formalism Z, and show how many Z specifications can be systematically translated into B. We describe the extensions, such as record types and free types, that had to be added to the kernel to support a large subset of Z. As a side-effect, we provide a way to animate and model check records in . By incorporating into , we have inherited many of the recent extensions developed for B, such as the integration with CSP or the animation of recursive functions. Finally, we present a successful industrial application, which makes use of this fact, and where was able to discover several errors in Z specifications containing higher-order recursive functions.
Pp. 480-500
Verification of Multi-agent Negotiations Using the Alloy Analyzer
Rodion Podorozhny; Sarfraz Khurshid; Dewayne Perry; Xiaoqin Zhang
Multi-agent systems provide an increasingly popular solution in problem domains that require management of uncertainty and a high degree of adaptability. Robustness is a key design criterion in building multi-agent systems. We present a novel approach for the design of robust multi-agent systems. Our approach constructs a model of the design of a multi-agent system in Alloy, a declarative language based on relations, and checks the properties of the model using the Alloy Analyzer, a fully automatic analysis tool for Alloy models. While several prior techniques exist for checking properties of multi-agent systems, the novelty of our work is that we can check properties of coordination and interaction, as well as properties of complex data structures that the agents may internally be manipulating or even sharing. This is the first application of Alloy to checking properties of multi-agent systems. Such unified analysis has not been possible before. We also introduce the use of a formal method as an integral part of testing and validation.
Pp. 501-517
Integrated Static Analysis for Linux Device Driver Verification
Hendrik Post; Wolfgang Küchlin
We port verification techniques for device drivers from the Windows domain to Linux, combining several tools and techniques into one integrated tool-chain. Building on ideas from Microsoft’s (SDV) project, we extend their specification language and combine its implementation with the public domain bounded model checker CBMC as a new verification back-end. We extract several API conformance rules from Linux documentation and formulate them in the extended language SLICx. Thus SDV-style verification of temporal safety specifications is brought into the public domain. In addition, we show that SLICx, together with CBMC, can be used to simulate preemption in multi-threaded code, and to find race conditions and to prove the absence of deadlocks and memory leaks.
Pp. 518-537
Integrating Verification, Testing, and Learning for Cryptographic Protocols
Martijn Oostdijk; Vlad Rusu; Jan Tretmans; R. G. de Vries; T. A. C. Willemse
The verification of cryptographic protocol is an active research topic and has received much attention from the formal verification community. By contrast, the black-box testing of actual of protocols, which is, arguably, as important as verification for ensuring the correct functioning of protocols in the “real” world, is little studied. We propose an approach for checking secrecy and authenticity properties not only on protocol specifications, but also on black-box implementations. The approach is compositional and integrates ideas from verification, testing, and learning. It is illustrated on the Basic Access Control protocol implemented in biometric passports.
Pp. 538-557
Translating FSP into LOTOS and Networks of Automata
Gwen Salaün; Jeff Kramer; Frédéric Lang; Jeff Magee
Many process calculi have been proposed since Robin Milner and Tony Hoare opened the way more than 25 years ago. Although they are based on the same kernel of operators, most of them are incompatible in practice. We aim at reducing the gap between process calculi, and especially making possible the joint use of underlying tool support. is a widely-used calculus equipped with , a graphical and user-friendly tool. is the only process calculus that has led to an international standard, and is supported by the verification toolbox. We propose a translation from to . Since composite processes are hard to encode into , they are translated into networks of automata which are another input language accepted by . Hence, it is possible to use jointly and to validate specifications. Our approach is completely automated by a translator tool we implemented.
Pp. 558-578
Common Semantics for Use Cases and Task Models
Daniel Sinnig; Patrice Chalin; Ferhat Khendek
In this paper, we introduce a common semantic framework for developing and formally modeling use cases and task models. Use cases are the notation of choice for functional requirements specification and documentation, whereas task models are used as a starting point for user interface design. Based on their intrinsic characteristics we devise an intermediate semantic domain for use cases and for task models, respectively. We describe how the intermediate semantic domain for each model is formally mapped into a common semantic domain which is based on sets of partial order sets. We argue that a two-step mapping results in a semantic framework that can be more easily validated, reused and extended. As a partial validation of our framework we provide a semantics for ConcurTaskTrees (CTT) one of the most popular task model notations as well as our own DSRG use case formalism. Furthermore we use the common semantic model to formally define a satisfiability relation between task model and use case specifications.
Pp. 579-598