scispace - formally typeset
Search or ask a question

Showing papers presented at "Formal Methods for Industrial Critical Systems in 2010"


Book ChapterDOI
20 Sep 2010
TL;DR: A formal model of Identity Mixer is described that is well-suited for automated protocol verification tools in the spirit of black-box cryptography models.
Abstract: Identity Mixer is an anonymous credential system developed at IBM that allows users for instance to prove that they are over 18 years old without revealing their name or birthdate. This privacy-friendly technology is realized using zero-knowledge proofs. We describe a formal model of Identity Mixer that is well-suited for automated protocol verification tools in the spirit of black-box cryptography models.

44 citations


Book ChapterDOI
20 Sep 2010
TL;DR: This paper demonstrates how formal verification may add value to the specification, design and development of business process models in an industrial setting through an algorithmic translation from BPMN to Event-B, a widely used formal language supported by the Rodin platform which offers a range of simulation and verification technologies.
Abstract: The use of business process models has gone far beyond documentation purposes. In the development of business applications, they can play the role of an artifact on which high level properties can be verified and design errors can be revealed in an effort to reduce overhead at later software development and diagnosis stages. This paper demonstrates how formal verification may add value to the specification, design and development of business process models in an industrial setting. The analysis of these models is achieved via an algorithmic translation from the de-facto standard business process modeling language BPMN to Event-B, a widely used formal language supported by the Rodin platform which offers a range of simulation and verification technologies.

34 citations


Book ChapterDOI
20 Sep 2010
TL;DR: This paper presents the formal verification of the compression function which is a core element of the clock synchronization service of TTEthernet and uses the model checker sal-inf-bmc incorporating the YICES SMT solver to improve the automatized verification process and, thus, reduces the manual verification overhead.
Abstract: TTEthernet is a communication infrastructure for mixed-criticality systems that integrates dataflow from applications with different criticality levels on a single network. For applications of highest criticality, TTEthernet provides a synchronization strategy that tolerates multiple failures. The resulting fault-tolerant timebase can then be used for time-triggered communication to ensure temporal partitioning on the shared network. In this paper, we present the formal verification of the compression function which is a core element of the clock synchronization service of TTEthernet. The compression function is located in the TTEthernet switches: it collects clock readings from the end systems, performs a fault-tolerant median calculation, and feedbacks the result to the end systems. While traditionally the formal proof of these types of algorithms is done by theorem proving, we successfully use the model checker sal-inf-bmc incorporating the YICES SMT solver. This approach improves the automatized verification process and, thus, reduces the manual verification overhead.

30 citations


Book ChapterDOI
20 Sep 2010
TL;DR: In this paper, the authors present a formal development of an Attitude and Orbit Control System (AOCS) undertaken within the ICT DEPLOY project, which is a complex mode-rich system, which has an intricate mode-transition scheme.
Abstract: To ensure dependability of on-board satellite systems, the designers should, in particular, guarantee correct implementation of the mode transition scheme, i.e., ensure that the states of the system components are consistent with the global system mode. However, there is still a lack of scalable approaches to formal verification of correctness of complex mode transitions. In this paper we present a formal development of an Attitude and Orbit Control System (AOCS) undertaken within the ICT DEPLOY project. AOCS is a complex mode-rich system, which has an intricate mode-transition scheme. We show that refinement in Event B provides the engineers with a scalable formal technique that enables both development of mode-rich systems and proof-based verification of their mode consistency.

26 citations


Book ChapterDOI
20 Sep 2010
TL;DR: Process-Partitioned CPNs (PP-CPNs) is introduced which is a subclass of CPN's equipped with an explicit separation of process control flow, message passing, and access to shared and local data.
Abstract: Automatic code generation based on Coloured Petri Net (CPN) models is challenging because CPNs allow for the construction of abstract models that intermix control flow and data processing, making translation into conventional programming constructs difficult.We introduce Process-Partitioned CPNs (PP-CPNs) which is a subclass of CPNs equipped with an explicit separation of process control flow, message passing, and access to shared and local data. We show how PP-CPNs caters for a four phase structure-based automatic code generation process directed by the control flow of processes. The viability of our approach is demonstrated by applying it to automatically generate an Erlang implementation of the Dynamic MANET On-demand (DYMO) routing protocol specified by the Internet Engineering Task Force (IETF).

20 citations


Book ChapterDOI
20 Sep 2010
TL;DR: Steady-state analysis provides an additional criterion for comparing protocols, which complements the verification of their functional properties and carefully re-examined the functional properties, whose accurate formulation as temporal logic formulas in the action-based setting turns out to be quite involved.
Abstract: Mutual exclusion protocols are an essential building block of concurrent systems: indeed, such a protocol is required whenever a shared resource has to be protected against concurrent non-atomic accesses. Hence, many variants of mutual exclusion protocols exist in the shared-memory setting, such as Peterson's or Dekker's well-known protocols. Although the functional correctness of these protocols has been studied extensively, relatively little attention has been paid to their nonfunctional aspects, such as their performance in the long run. In this paper, we report on experiments with the performance evaluation of mutual exclusion protocols using Interactive Markov Chains. Steady-state analysis provides an additional criterion for comparing protocols, which complements the verification of their functional properties. We also carefully re-examined the functional properties, whose accurate formulation as temporal logic formulas in the action-based setting turns out to be quite involved.

17 citations


Book ChapterDOI
20 Sep 2010
TL;DR: A technique for automatically detecting and correcting software bugs is presented, implemented on top of the Java Pathfinder Framework, to find a combination of alternatives yielding a correct program.
Abstract: We present a technique for automatically detecting and correcting software bugs. The programmer is required to define a catalog of hotspots, syntactic constructs she considered to be error prone (e.g. i < N), together with suitable alternatives (e.g. i < (N + 1) and i < (N - 1)). Given a faulty program, search techniques are then applied to find a combination of alternatives yielding a correct program. The technique is implemented on top of the Java Pathfinder Framework.

16 citations


Book ChapterDOI
20 Sep 2010
TL;DR: Quantitative results are presented to assess the overall strategy: the effort required by the design activities is balanced by the effectiveness of the verification tasks enabled by model based development and automatic code generation.
Abstract: This paper reports on the Simulink/Stateflow based development of the on-board equipment of the Metro Rio Automatic Train Protection system. Particular focus is given to the strategies followed to address formal weaknesses and certification issues of the adopted tool-suite. On the development side, constraints on the Simulink/Stateflow semantics have been introduced and design practices have been adopted to gradually achieve a formal model of the system. On the verification side, a two-phase approach based on model based testing and abstract interpretation has been followed to enforce functional correctness and runtime error freedom. Quantitative results are presented to assess the overall strategy: the effort required by the design activities is balanced by the effectiveness of the verification tasks enabled by model based development and automatic code generation.

15 citations


Book ChapterDOI
20 Sep 2010
TL;DR: In this article, a relational binary-code semantics is presented, which can be used to compute program invariants in terms of bit-level congruences, as well as information about strided indirect memory accesses.
Abstract: Bitwise instructions, loops and indirect data access pose difficult challenges to the verification of microcontroller programs. In particular, it is necessary to show that an indirect write does not mutate registers, which are indirectly addressable. To prove this property, among others, this paper presents a relational binary-code semantics and details how this can be used to compute program invariants in terms of bit-level congruences. Moreover, it demonstrates how congruences can be combined with intervals to derive accurate ranges, as well as information about strided indirect memory accesses.

14 citations


Book ChapterDOI
20 Sep 2010
TL;DR: This paper presents the first timed automata model of its physical layer protocol, and automatic verification is used to prove fault tolerance under several error models and hardware assumptions.
Abstract: The FlexRay standard, developed by a cooperation of leading companies in the automotive industry, is a robust communication protocol for distributed components in modern vehicles. In this paper, we present the first timed automata model of its physical layer protocol, and we use automatic verification to prove fault tolerance under several error models and hardware assumptions. The key challenge in the analysis is that the correctness of the protocol relies on the interplay of the bit-clock alignment mechanism with the precise timing behavior of the underlying asynchronous hardware. We give a general hardware model that is parameterized in low-level timing details such as hold times and propagation delays. Instantiating this model for a realistic design from the Nangate Open Cell Library, and verifying the resulting model using the real-time model checker UPPAAL, we show that the communication system meets, and in fact exceeds, the fault-tolerance guarantees claimed in the FlexRay specification.

13 citations


Book ChapterDOI
20 Sep 2010
TL;DR: This work automatically generates a software behavior model from a network protocol implementation in a WSN development and deployment platform (TinyOS), which is used to rigorously verify the protocol and made the verification process scalable in the size of the code by abstraction and by simplification heuristics.
Abstract: We investigate the application of the software bounded model checking tool CBMC to the domain of wireless sensor networks (WSNs). We automatically generate a software behavior model from a network protocol (ESAWN) implementation in a WSN development and deployment platform (TinyOS), which is used to rigorously verify the protocol. Our work is a proof of concept that automatic verification of programs of practical size (≈ 21 000 LoC) and complexity is possible with CBMC and can be integrated into TinyOS. The developer can automatically check for pointer dereference and array index out of bound errors. She can also check additional, e.g., functional, properties that she provides by assume- and assert-statements. This experience paper shows that our approach is in general feasible since we managed to verify about half of the properties. We made the verification process scalable in the size of the code by abstraction (eg, from hardware) and by simplification heuristics. The latter also achieved scalability in data type complexity for the properties that were verifiable. The others require technical advancements for complex data types within CBMC's core.

Book ChapterDOI
20 Sep 2010
TL;DR: An automated translator, YAWL2DVEt, is presented, which takes as input a time constrained workflow model built with the graphical modeling tool YAWl, and outputs the model in DVE, the system specification language for the distributed LTL model checker DiVinE.
Abstract: Workflows have proven to be a useful conceptualization for the automation of business processes. While formal verification methods (e.g., model checking) can help ensure the reliability of workflow systems, the industrial uptake of such methods has been slow largely due to the effort involved in modeling and the memory required to verify complex systems. Incorporation of time constraints in such systems exacerbates the latter problem. We present an automated translator, YAWL2DVEt, which takes as input a time constrained workflow model built with the graphical modeling tool YAWL, and outputs the model in DVE, the system specification language for the distributed LTL model checker DiVinE. The automated translator, together with the graphical editor and the distributed model checker, provides a method for rapid design, verification and refactoring of time constrained workflow systems. We present a realistic case study developed through collaboration with the local health authority.

Book ChapterDOI
20 Sep 2010
TL;DR: In this paper, the authors report on their experiences in formally specifying several core components of one of their commercially available products while writing the formal specification, they experienced several issues that had a noticeable consequences on their work While most of these issues can be attributed to the specific method and tools used, they do consider some of the problems as more general, impeding the practical application of formal methods, especially by non-experts, in large scale industrial development
Abstract: Many software companies still seem to be reluctant to use formal specifications in their development processes Nevertheless, the trend towards implementing critical business applications in distributed environments makes such applications an attractive target for formal methods Additionally, the rising complexity also increases the willingness of the development teams to apply formal techniques In this paper, we report on our experiences in formally specifying several core components of one of our commercially available products While writing the formal specification, we experienced several issues that had a noticeable consequences on our work While most of these issues can be attributed to the specific method and tools we have used, we do consider some of the problems as more general, impeding the practical application of formal methods, especially by non-experts, in large scale industrial development

Book ChapterDOI
20 Sep 2010
TL;DR: Three novel embedded network protocols are presented: a sliding window protocol, a protocol for opening and closing connections, and a bandwidth reservation protocol that is tailored to the low power and low cost requirements of mobile devices.
Abstract: Embedded networks for chip-to-chip networks are emerging as communication infrastructure in mobile devices. We present three novel embedded network protocols: a sliding window protocol, a protocol for opening and closing connections, and a bandwidth reservation protocol. The design of these protocols is tailored to the low power and low cost requirements of mobile devices. The model checker SPIN played an important role in the design and analysis of these protocols. Large instances of the protocols could be analyzed successfully using the distributed model checker DIVINE.