17 research outputs found
Model Checking at Scale: Automated Air Traffic Control Design Space Exploration
Many possible solutions, differing in the assumptions and implementations of the components in use, are usually in competition during early design stages. Deciding which solution to adopt requires considering several trade-offs. Model checking represents a possible way of comparing such designs, however, when the number of designs is large, building and validating so many models may be intractable.
During our collaboration with NASA, we faced the challenge of considering a design space with more than 20,000 designs for the NextGen air traffic control system. To deal with this problem, we introduce a compositional, modular, parameterized approach combining model checking with contract-based design to automatically generate large numbers of models from a possible set of components and their implementations. Our approach is fully automated, enabling the generation and validation of all target designs. The 1,620 designs that were most relevant to NASA were analyzed exhaustively. To deal with the massive amount of data generated, we apply novel data-analysis techniques that enable a rich comparison of the designs, including safety aspects. Our results were validated by NASA system designers, and helped to identify novel as well as known problematic configurations
Symbolic Model Checking and Safety Assessment of Altarica models
Altarica is a language used to describe critical systems. In this paper we present a novel approach to the analysis of Altarica models, based on a translation into an extended version of NuSMV. This approach opens up the possibility to carry out functional verification and safety assessment with symbolic techniques. An experimental evaluation on a set of industrial case studies demonstrates the advantages of the approach over currently available tools.
LLHD: A Multi-level Intermediate Representation for Hardware Description Languages
Modern Hardware Description Languages (HDLs) such as SystemVerilog or VHDL
are, due to their sheer complexity, insufficient to transport designs through
modern circuit design flows. Instead, each design automation tool lowers HDLs
to its own Intermediate Representation (IR). These tools are monolithic and
mostly proprietary, disagree in their implementation of HDLs, and while many
redundant IRs exists, no IR today can be used through the entire circuit design
flow. To solve this problem, we propose the LLHD multi-level IR. LLHD is
designed as simple, unambiguous reference description of a digital circuit, yet
fully captures existing HDLs. We show this with our reference compiler on
designs as complex as full CPU cores. LLHD comes with lowering passes to a
hardware-near structural IR, which readily integrates with existing tools. LLHD
establishes the basis for innovation in HDLs and tools without redundant
compilers or disjoint IRs. For instance, we implement an LLHD simulator that
runs up to 2.4x faster than commercial simulators but produces equivalent,
cycle-accurate results. An initial vertically-integrated research prototype is
capable of representing all levels of the IR, implements lowering from the
behavioural to the structural IR, and covers a sufficient subset of
SystemVerilog to support a full CPU design
Scalable Safety and Reliability Analysis via Symbolic Model Checking: Theory and Applications
Assuring safety and reliability is fundamental when developing a safety critical system. Road, naval and avionic transportation; water and gas distribution; nuclear, eolic, and photovoltaic energy production are only some examples where it is mandatory to guarantee those properties. The continuous increasing in the design complexity of safety critical system calls for a never ending sought of new and more advanced analytical techniques. In fact, they are required to assure that undesired consequences are highly improbable. In this Thesis we introduce a novel methodology able to raise the bar in the area of automated safety and reliability analysis. The proposed approach integrates a series of techniques, based on symbolic model checking, into the current development process of safety critical systems. Moreover, our methodology and the resulting techniques are thereafter applied to a series of real-world case studies, developed in collaboration with authoritative entities such as NASA and the Boeing Company
Automated Analysis of Reliability Architectures
The development of complex and critical systems calls for a rigorous
and thorough the evaluation of reliability aspects. Over the years,
several methodologies have been introduced in order to aid the
verification and analysis of such systems. Despite this fact, current
technologies are still limited to specific architectures, without
providing a generic evaluation of redundant system definitions.
In this paper we present a novel approach able to assess the
reliability of an arbitrary combinatorial redundant system. We rely
on an expressive modeling language to represent a wide class of
architectural solutions to be assessed. On such models, we provide a
portfolio of automatic analysis techniques: we can produce a fault
tree, that represents the conditions under which the system fails to
produce a correct output; based on it, we can provide a function over
the components reliability, which represents the failure probability
of the system.
At its core, the approach relies on the logical formalism of equality
and uninterpreted functions; it relies on automated reasoning
techniques, in particular Satisfiability Modulo Theories decision
procedures, to achieve efficiency.
We carried out an extensiver experimental evaluation of the proposed
approach on a wide class of multi-stage redunded systems. On the one
hand, we are able to automatically obtain all the results that are
manually obtained in [1]; on the other, we
provide results for a much wider class of architectures, including the
cases of non-uniform probabilities and of two voters per stage
Efficient Analysis of Reliability Architectures via Predicate Abstraction
The overall safety of critical systems is often based on the
use of redundant architectural patterns, such as Triple Modular Redundancy. Certification procedures in various application domains require
an explicit evaluation of the reliability, and the production of various
artifacts. Particularly interesting are Fault Trees (FT), that represent in
a compact form all the combinations of (basic) faults that are required
to cause a (system-level) failure. Yet, such activities are essentially based
on manual analysis, and are thus time consuming and error prone.
A recently proposed approach opens the way to the automated analysis of
reliability architectures. The approach is based on the use of Satisfiability
Modulo Theories (SMT), using the theory of Equality and Uninterpreted
Functions (EUF) to represent block diagrams. Within this framework,
the construction of FTs is based on the existential quantification of an
EUF formula. Unfortunately, the off-the-shelf application of available
techniques, based on the translation into an AllSMT problem, suffers
from severe scalability issues.
In this paper, we propose a compositional method to solve this problem,
based on the use of predicate abstraction. We prove that our method is
sound and complete for a wide class of system architectures. The presented approach greatly improves the overall scalability with respect to
the monolithic case, obtaining speed-ups of various orders of magnitude.
In practice, this approach allows for the verification of architectures of
realistic systems
Model-based Safety Assessment of a Triple Modular Generator with XSAP
The system design process needs to cope with the increasing complexity and size of systems, motivating the
replacement of labor intensive manual techniques with automated and semi-automated approaches. Recently, formal
methods techniques, such as model-based verification and safety assessment, have been increasingly used to model
systems under fault and to analyze them, generating artifacts such as fault trees and FMEA tables.
In this paper, we show how to apply model-based techniques to a realistic case study from the avionics domain: a
high integrity power distribution system, the Triple Modular Generator (TMG). The TMG is composed of a redundant
and reconfigurable plant and a controller that must guarantee a high level of reliability. The case study is a significant
challenge, from the modeling perspective, since it implements a complex reconfiguration policy, specified via a
number of requirements in natural language, including a set of mutually dependent and potentially conflicting priority
constraints. Moreover, from the verification standpoint, the controller must be able to handle an exponential number
of possible faulty configurations.
Our contribution is twofold. First, we formalize and validate the requirements and, using a constraint-based modeling
style, we synthesize a correct by construction controller, avoiding the enumeration of all possible fault configurations,
as is currently done by manual approaches. Second, we describe a comprehensive methodology and process,
supported by the XSAP safety analysis platform that targets the modeling and safety assessment of faulty systems.
Using XSAP, we are able to automatically extract minimal cut sets for the TMG. We demonstrate the scalability of
our approach by analyzing a parametric version of the TMG case study that contains more than 700 variables and 90
faults
Model Checking at Scale: Automated Air Traffic Control Design Space Exploration
Many possible solutions, differing in the assumptions and implementations of the components in use, are usually in competition during early design stages. Deciding which solution to adopt requires considering several trade-offs. Model checking represents a possible way of comparing such designs, however, when the number of designs is large, building and validating so many models may be intractable.
During our collaboration with NASA, we faced the challenge of considering a design space with more than 20,000 designs for the NextGen air traffic control system. To deal with this problem, we introduce a compositional, modular, parameterized approach combining model checking with contract-based design to automatically generate large numbers of models from a possible set of components and their implementations. Our approach is fully automated, enabling the generation and validation of all target designs. The 1,620 designs that were most relevant to NASA were analyzed exhaustively. To deal with the massive amount of data generated, we apply novel data-analysis techniques that enable a rich comparison of the designs, including safety aspects. Our results were validated by NASA system designers, and helped to identify novel as well as known problematic configurations