A Unifying Approach to Data-Independence
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.
- 1.K. M. Chandy and J. Misra. Parallel Program Design, A Foundation. Addison-Wesley, 1988.Google Scholar
- 2.E. M. Clarke, R. Enders, T. Filkorn, and S. Jha. Exploiting Symmetry in Temporal Logic Model Checking. In , pages 77–104, 1996. Kluwer.Google Scholar
- 3.E. M. Clarke, O. Grumberg, and D. Peled. Model Checking. MIT Press, 1999.Google Scholar
- 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.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.E. A. Emerson (editor). Formal Methods in System Design 9(1–2) (Special Issue on Symmetry in Automatic Verification). Kluwer, 1996.Google Scholar
- 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.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.C. N. Ip and D. L. Dill. Better verification through symmetry. In , pages 41–75, 1996.Google Scholar
- 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.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.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.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.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.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.A. W. Roscoe. The Theory and Practice of Concurrency. Prentice Hall, 1998.Google Scholar
- 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.W. Thomas. Automata on Infinite Objects. In , chapter 4, pages 133–191. Elsevier Science Publishers B. V., 1990.Google Scholar
- 21.J. van Leeuwen. Handbook of Theoretical Computer Science, volume B: Formal Models and Semantics. Elsevier Science Publishers B. V., 1990.Google Scholar
- 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.P. Wolper. Expressing Interesting Properties of Programs in Propositional Temporal Logic. In Conference Record of POPL, pages 184–193, 1986. ACM.Google Scholar