Refinement preserving approximations for the design and verification of heterogeneous systems

  • Authors:
  • Roberto Passerone;Jerry R. Burch;Alberto L. Sangiovanni-Vincentelli

  • Affiliations:
  • Cadence Design Systems, Berkeley, USA 94709 and Department of Information and Communication Technology, University of Trento, Povo, Italy 38050;Synopsys, Inc., Hillsboro, USA 97124;Department of EECS, University of California, Berkeley, USA 94720

  • Venue:
  • Formal Methods in System Design
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

Embedded systems are electronic devices that function in the context of a real environment, by sensing and reacting to a set of stimuli. Because of their close interaction with the environment, and to simplify their design, different parts of an embedded system are best described using different notations and different techniques. In this case, we say that the system is heterogeneous. We informally refer to the notation and the rules that are used to specify and verify the elements of heterogeneous systems and their collective behavior as a model of computation. In this paper, we consider different classes of relationships between models of computation and discuss their preservation properties with respect to the model's refinement relation and composition operator. In particular, we focus on abstraction and refinement relationships in the form of abstract interpretations and introduce the notion of conservative approximation. We show that, unlike abstract interpretations, conservative approximations preserve refinement verification results from an abstract to a concrete model while avoiding false positives. We also characterize the relationship between abstract interpretations and conservative approximations, and derive necessary and sufficient conditions to obtain a conservative approximation from a pair of abstract interpretations. In addition, we use the inverse of a conservative approximation to identify components that can be used indifferently in several models, thus enabling reuse across models of computation. The concepts described in this paper are illustrated with examples from continuous time and discrete time models of computation.