Formal Methods in System Design

, Volume 31, Issue 1, pp 1-33

First online:

Refinement preserving approximations for the design and verification of heterogeneous systems

  • Roberto PasseroneAffiliated withCadence Design SystemsDepartment of Information and Communication Technology, University of Trento
  • , Jerry R. BurchAffiliated withSynopsys, Inc.
  • , Alberto L. Sangiovanni-VincentelliAffiliated withDepartment of EECS, University of California

Rent the article at a discount

Rent now

* Final gross prices may vary according to local VAT.

Get Access


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.


Refinement Preserving Approximation Abstraction Verification Heterogeneous Reuse Polymorphism Model of computation Galois connection Abstract interpretation Conservative approximation Continuous time Discrete time Refinement Concretization