42 research outputs found
Model-Checking with Edge-Valued Decision Diagrams
We describe an algebra of Edge-Valued Decision Diagrams (EVMDDs) to encode arithmetic functions and its implementation in a model checking library along with state-of-the-art algorithms for building the transition relation and the state space of discrete state systems. We provide efficient algorithms for manipulating EVMDDs and give upper bounds of the theoretical time complexity of these algorithms for all basic arithmetic and relational operators. We also demonstrate that the time complexity of the generic recursive algorithm for applying a binary operator on EVMDDs is no worse than that of Multi-Terminal Decision Diagrams. We have implemented a new symbolic model checker with the intention to represent in one formalism the best techniques available at the moment across a spectrum of existing tools: EVMDDs for encoding arithmetic expressions, identity-reduced MDDs for representing the transition relation, and the saturation algorithm for reachability analysis. We compare our new symbolic model checking EVMDD library with the widely used CUDD package and show that, in many cases, our tool is several orders of magnitude faster than CUDD
Automated Verification of Specifications with Typestates and Access Permissions
We propose an approach to formally verify Plural specifications based on access permissions and typestates, by model-checking automatically generated abstract state-machines. Our exhaustive approach captures all the possible behaviors of abstract concurrent programs implementing the specification. We describe the formal methodology employed by our technique and provide an example as proof of concept for the state-machine construction rules. The implementation of a fully automated algorithm to generate and verify models, currently underway, provides model checking support for the Plural tool, which currently supports only program verification via data flow analysis (DFA)
A Machine-Checked Proof of A State-Space Construction Algorithm
This paper presents the correctness proof of Saturation, an algorithm for generating state spaces of concurrent systems, implemented in the SMART tool. Unlike the Breadth First Search exploration algorithm, which is easy to understand and formalise, Saturation is a complex algorithm, employing a mutually-recursive pair of procedures that compute a series of non-trivial, nested local fixed points, corresponding to a chaotic fixed point strategy. A pencil-and-paper proof of Saturation exists, but a machine checked proof had never been attempted. The key element of the proof is the characterisation theorem of saturated nodes in decision diagrams, stating that a saturated node represents a set of states encoding a local fixed-point with respect to firing all events affecting only the node s level and levels below. For our purpose, we have employed the Prototype Verification System (PVS) for formalising the Saturation algorithm, its data structures, and for conducting the proofs
In-Trail Procedure (ITP) Algorithm Design
The primary objective of this document is to provide a detailed description of the In-Trail Procedure (ITP) algorithm, which is part of the Airborne Traffic Situational Awareness In-Trail Procedure (ATSA-ITP) application. To this end, the document presents a high level description of the ITP Algorithm and a prototype implementation of this algorithm in the programming language C
Kinetics of Carbon Dioxide Absorption into Aqueous Solution of a Polyamine
Published in an open access journal this article is also available online at http://www.chemicalbulletin.ro/admin/articole/54742art_1(1-4).pdfInternational audienceThe absorption of CO2 into an aqueous solution with 1.45 mol/L 1, 5, 8, 12- tetraazadodecane (APEDA) polyamine has been studied at three temperature (298, 313, 333 K) in a Lewis type absorber with a constant gas- liquid interface area of (15.34 卤 0.05) x 10-4 m2. The experimental results have been interpreted using the equations derived from the two film model with the assumption that the absorption occurred in the fast pseudo- first- order kinetic regime. The results confirmed the validity of this assumption for the experimental conditions: the enhancement factor was always greater than 3. The rate constant derived from the experimental data (kov, s-1) was correlated through the Arrhenius plot (ln kov = A- B/T), and the optimal values of the constants A and B were obtained by the linear regression. The absorption of CO2 from flue gas into APEDA solution is a promising process for practical application at least from the kinetic point of view. The rate constant derived from experiments is of the same order of magnitude as that for the absorption into 2- amino- 2- methyl- 1- propanol (AMP) activated with piperazine (PZ) which was found to be the most advanced system among the published data up to now
Automated Verification of Specifications with Typestates and Access Permissions
We propose an approach to formally verify Plural specifications聽 of concurrent programs based on access permissions and聽 typestates, by model-checking automatically generated abstract聽 state-machines. Our approach captures all possible relevant聽 behaviors of abstract concurrent programs implementing the聽 specification. We describe the formal methodology employed in聽 our technique and provide an example as proof of concept for the聽 state-machine construction rules.聽 We implemented the fully automated algorithm to generate and聽 verify models as a freely available plug-in of the Plural tool,聽 called Pulse. 聽We tested Pulse on the full specification of a聽 Multi Threaded Task Server commercial application and showed聽 that this approach scales well and is efficient in finding聽 errors in specifications that could not be previously detected聽 with the Data Flow Analysis (DFA) capabilities of Plural
Model Checking Abstract PLEXIL Programs with SMART
We describe a method to automatically generate discrete-state models of abstract Plan Execution Interchange Language (PLEXIL) programs that can be analyzed using model checking tools. Starting from a high-level description of a PLEXIL program or a family of programs with common characteristics, the generator lays the framework that models the principles of program execution. The concrete parts of the program are not automatically generated, but require the modeler to introduce them by hand. As a case study, we generate models to verify properties of the PLEXIL macro constructs that are introduced as shorthand notation. After an exhaustive analysis, we conclude that the macro definitions obey the intended semantics and behave as expected, but contingently on a few specific requirements on the timing semantics of micro-steps in the concrete executive implementation
A Methodology for Evaluating Artifacts Produced by a Formal Verification Process
The goal of this study is to produce a methodology for evaluating the claims and arguments employed in, and the evidence produced by formal verification activities. To illustrate the process, we conduct a full assessment of a representative case study for the Enabling Technology Development and Demonstration (ETDD) program. We assess the model checking and satisfiabilty solving techniques as applied to a suite of abstract models of fault tolerant algorithms which were selected to be deployed in Orion, namely the TTEthernet startup services specified and verified in the Symbolic Analysis Laboratory (SAL) by TTTech. To this end, we introduce the Modeling and Verification Evaluation Score (MVES), a metric that is intended to estimate the amount of trust that can be placed on the evidence that is obtained. The results of the evaluation process and the MVES can then be used by non-experts and evaluators in assessing the credibility of the verification results
Solving the AI Planning Plus Scheduling Problem Using Model Checking via Automatic Translation from the Abstract Plan Preparation Language (APPL) to the Symbolic Analysis Laboratory (SAL)
This paper describes a translator from a new planning language named the Abstract Plan Preparation Language (APPL) to the Symbolic Analysis Laboratory (SAL) model checker. This translator has been developed in support of the Spacecraft Autonomy for Vehicles and Habitats (SAVH) project sponsored by the Exploration Technology Development Program, which is seeking to mature autonomy technology for the vehicles and operations centers of Project Constellation
Distributed Saturation
The Saturation algorithm for symbolic state-space generation, has been a recent break-through in the exhaustive veri cation of complex systems, in particular globally-asyn- chronous/locally-synchronous systems. The algorithm uses a very compact Multiway Decision Diagram (MDD) encoding for states and the fastest symbolic exploration algo- rithm to date. The distributed version of Saturation uses the overall memory available on a network of workstations (NOW) to efficiently spread the memory load during the highly irregular exploration. A crucial factor in limiting the memory consumption during the symbolic state-space generation is the ability to perform garbage collection to free up the memory occupied by dead nodes. However, garbage collection over a NOW requires a nontrivial communication overhead. In addition, operation cache policies become critical while analyzing large-scale systems using the symbolic approach. In this technical report, we develop a garbage collection scheme and several operation cache policies to help on solving extremely complex systems. Experiments show that our schemes improve the performance of the original distributed implementation, SmArTNow, in terms of time and memory efficiency