A Unifying Approach to Data-Independence

  • Ranko Lazić
  • David Nowak
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1877)

Abstract

A concurrent system is data-independent with respect to a data type when the only operation it can perform on values of that type is equality testing. The system can also assign, input, nondeterministically choose, and output such values. Based on this intuitive definition, syntactic restrictions which ensure data-independence have been formulated for a variety of different formalisms. However, it is difficult to see how these are related.

We present the first semantic definition of data-independence which allows equality testing, and its extension which allows constant symbols and predicate symbols. Both are special cases of a definition of when a family of labelled transition systems is parametric. This provides a unified approach to data-independence and its extensions.

The paper also contains two theorems which, given a system and a specification which are data-independent, enable the verification for all instantiations of the data types (and of the constant symbols and the predicate symbols, in the case of the extension) to be reduced to the verification for a finite number of finite instantiations.

We illustrate the applicability of the approach to particular formalisms by a programming language similar to UNITY.

References

  1. 1.
    K. M. Chandy and J. Misra. Parallel Program Design, A Foundation. Addison-Wesley, 1988.Google Scholar
  2. 2.
    E. M. Clarke, R. Enders, T. Filkorn, and S. Jha. Exploiting Symmetry in Temporal Logic Model Checking. In [6], pages 77–104, 1996. Kluwer.Google Scholar
  3. 3.
    E. M. Clarke, O. Grumberg, and D. Peled. Model Checking. MIT Press, 1999.Google Scholar
  4. 4.
    P. Cousot and R. Cousot. Abstract Interpretation: A Unified Lattice Model for Static Analysis of Programs by Construction of Approximation of Fixed Points. In Proc. of POPL, pages 238–252, 1977. ACM.Google Scholar
  5. 5.
    S. J. Creese and A. W. Roscoe. Formal Verification of Arbitrary Network Topologies. In Proc. of PDPTA, Volume II, 1999. CSREA Press.Google Scholar
  6. 6.
    E. A. Emerson (editor). Formal Methods in System Design 9(1–2) (Special Issue on Symmetry in Automatic Verification). Kluwer, 1996.Google Scholar
  7. 7.
    R. Hojati and R. K. Brayton. Automatic Datapath Abstraction In Hardware Systems. In Proc. of CAV, volume 939 of LNCS, pages 98–113, 1995. Springer Verlag.Google Scholar
  8. 8.
    R. Hojati, D. L. Dill, and R. K. Brayton. Verifying linear temporal properties of data insensitive controllers using finite instantiations. In Proc. of CHDL, 1997.Google Scholar
  9. 9.
    C. N. Ip and D. L. Dill. Better verification through symmetry. In [6], pages 41–75, 1996.Google Scholar
  10. 10.
    B. Jonsson and J. Parrow. Deciding Bisimulation Equivalences for a Class of Non-Finite-State Programs. Information and Computation, 107(2):272–302, 1993.MATHCrossRefMathSciNetGoogle Scholar
  11. 11.
    Y. Kinoshita, P. W. O’Hearn, A. J. Power, and M. Takeyama. An Axiomatic Approach to Binary Logical Relations with Applications to Data Refinement. volume 1281 of LNCS, page 191, 1997.CrossRefGoogle Scholar
  12. 12.
    R. S. Lazić. A Semantic Study of Data Independence with Applications to Model Checking. D.Phil. thesis, Oxford University Computing Laboratory, 1999.Google Scholar
  13. 13.
    R. S. Lazić and D. Nowak. A Unifying Approach to Data-independence. PRG Technical Report, Oxford University Computing Laboratory, 2000. Available at http://www.comlab.ox.ac.uk/oucl/publications/tr/index.html╚L.
  14. 14.
    R. S. Lazić and A. W. Roscoe. Verifying Determinism of Concurrent Systems Which Use Unbounded Arrays. In Proc. of INFINITY, Report TUM-I9825, Technical University of Munich, 1998. A fuller version is the Technical Report PRGTR-2-98, Oxford University Computing Laboratory.Google Scholar
  15. 15.
    R. S. Lazić and A. W. Roscoe. Data Independence with Generalised Predicate Symbols. In Proc. of PDPTA, Volume I, pages 319–325, 1999. CSREA Press.Google Scholar
  16. 16.
    K. S. Namjoshi and R. P. Kurshan. Syntactic Program Transformations for Automatic Abstraction. In Proc. of CAV, volume 1855 of LNCS, 2000. Springer Verlag.Google Scholar
  17. 17.
    J. C. Reynolds. Types, Abstraction and Parametric Polymorphism. In Proc. of the IFIP 9th World Congress, pages 513–523, 1983. Elsevier Science Publishers B. V. (Norht-Holland).Google Scholar
  18. 18.
    A. W. Roscoe. The Theory and Practice of Concurrency. Prentice Hall, 1998.Google Scholar
  19. 19.
    A. W. Roscoe and P. J. Broadfoot. Proving security protocols with model checkers by data independence techniques. In J. of Comp. Sec., Special Issue CSFW11, page 147, 1999. IOS Press.Google Scholar
  20. 20.
    W. Thomas. Automata on Infinite Objects. In [21], chapter 4, pages 133–191. Elsevier Science Publishers B. V., 1990.Google Scholar
  21. 21.
    J. van Leeuwen. Handbook of Theoretical Computer Science, volume B: Formal Models and Semantics. Elsevier Science Publishers B. V., 1990.Google Scholar
  22. 22.
    M. Y. Vardi and P. Wolper. An Automata-Theoretic Approach to Automatic Program Verification. In LICS, pages 332–345, 1986. IEEE Computer Society Press.Google Scholar
  23. 23.
    P. Wolper. Expressing Interesting Properties of Programs in Propositional Temporal Logic. In Conference Record of POPL, pages 184–193, 1986. ACM.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2000

Authors and Affiliations

  • Ranko Lazić
    • 1
    • 2
  • David Nowak
    • 1
  1. 1.Oxford University Computing LaboratoryOxfordUK
  2. 2.The Mathematical InstituteBelgrade

Personalised recommendations