VeriTech: a framework for translating among model description notations

Regular Contributions

Abstract

The reasons for translating a description of a model in one notation into another are reviewed. Such model descriptions are used as input to formal verification tools or as design-level descriptions for protocols or hardware. Translations are used to produce input to a different tool to verify properties not verified in the source model, and to connect notations that have no associated verification tool to those that do.

The VeriTech framework for translation is described. A system being analyzed is seen as a collection of versions, along with a characterization of how the versions are related, and properties known to be true of each version. The versions are given in different notations connected through a core notation by compilers from and to the notations of existing tools and specification methods. The reasons that translations cannot always be exact are analyzed. To facilitate optimizations during retranslation, error tracing, and analysis, additional information is gathered during translation, and is also included with the system being analyzed.

The concept of a faithful relation among models and families of properties true of those models is presented. In this framework families of properties are provided with uniform syntactic transformations, in addition to the translations of the models. This framework generalizes common instances of relations among translations previously treated in an ad hoc way. The example of refinement translations is shown in detail. The classes of properties that can be faithful for a given translation provide a measure of the usefulness of the translation.

Keywords

Translating model notations Incompatibilities in translations Faithful translations Additional information about translations 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Katz, S.: Faithful translations among models and specifications. In: Proceedings of FME2001: Formal Methods for Increasing Software Productivity, vol. 2021 of LNCS, pp. 419–434. Springer, Berlin Heidelberg New York (2001)Google Scholar
  2. 2.
    Grumberg, O., Katz, S.: VeriTech: translating among specifications and verification tools–design principles. In: Third Austria-Israel Symposium Software for Communication Technologies, April 1999 pp. 104–109, At http://www.cs.technion.ac.il/Labs/ssdl/veritech/Google Scholar
  3. 3.
    Korenblat, K., Grumberg, O., Katz, S.: Translations between textual transition systems and Petri nets. In: Proceedings of third IFM conference, vol. 2355 of LNCS, pp. 339–359. Springer Berlin Heidelberg New York (2002)Google Scholar
  4. 4.
    Katz, S., Grumberg, O.: A framework for translating models and specifications. In: Proceedings of third integrated formal methods (IFM) Conference, vol. 2355 of LNCS, pp. 145–164. Springer, Berlin Heidelberg New York (2002)Google Scholar
  5. 5.
    Berg, M., Katz, S.: Property transformations for translations. Technical Report CS-2002-05, Computer Science Department, The Technion (2002)Google Scholar
  6. 6.
    Burch J.R., Clarke E.M., McMillan K.L., Dill D., Hwang L.J. (1992). Symbolic model checking: 1020 states and beyond. Inf. Comput. 98:142–170MATHCrossRefMathSciNetGoogle Scholar
  7. 7.
    McMillan, K.L.: Symbolic model checking: an approach to the state explosion problem. Kluwer (1993)Google Scholar
  8. 8.
    Owre S., Rushby J., Shankar N., von Henke F. (1995). Formal verification for fault-tolerant architectures: prolegomena to the design of PVS. IEEE Trans. Softw Eng. 21(2):107–125CrossRefGoogle Scholar
  9. 9.
    Ip C.N., Dill D.L. (1996). Better verification through symmetry. For. Methods Syst Des. 9: 41–75CrossRefGoogle Scholar
  10. 10.
    Holzmann G. (1991). Design and Validation of Computer Protocols. Prentice-Hall International, New JerseyGoogle Scholar
  11. 11.
    Holzmann, G.J., Peled, D.: The state of SPIN. In: Proceedings of CAV96, vol. 1102 of LNCS, pp. 385–389. Springer, Berlin Heidelberg New York (1996)Google Scholar
  12. 12.
    Kurshan R.P. (1994). Computer-aided Verification of Coordinating Processes. Princeton University Press, PrimetonGoogle Scholar
  13. 13.
    Reisig W. (1998). Elements of distributed algorithms– modeling and analysis with Petri Nets. Springer, Berlin Heidelberg New YorkMATHGoogle Scholar
  14. 14.
    Bolognesi, T., Legemaat, J.v.d., Vissars C.A. (eds.): LOTO Sphere: software development with LOTOS. Kluwer oston, (1994)Google Scholar
  15. 15.
    Bjorner, N., Browne, A., Chang, E., Colon, M., Kapur, A., Manna, Z., Simpa, H.B., Uribe, T.E.: Step: The stanford temporal prover - user’s manual. Technical Report STAN-CS-TR-95-1562, Department of Computer Science, Stanford University, November (1995)Google Scholar
  16. 16.
    Manna Z., Pnueli A. (1992). The Temporal Logic of Reactive and Concurrent Systems: Specification. Springer, Berlin Heidelberg New YorkGoogle Scholar
  17. 17.
    Hatcliff, J., Dwyer, M.: Using the bandera tool set to model-check properties of concurrent java software. In: International Conference on Concurrency Theory (CONCUR), June 2001. Invited tutorial paperGoogle Scholar
  18. 18.
    Demartini, C., Iosif, R., Sisto, R.: dSPIN: a dynamic extension of SPIN. In: SPIN, pp. 261–276 (1999)Google Scholar
  19. 19.
    Havelund K., Pressburger T. (2000). Model checking JAVA programs using JAVA PathFinder. Int. J. Softw. Tools. Technol. Transf. 2(4):366–381MATHCrossRefGoogle Scholar
  20. 20.
    Brat, G., Havelund, K., Park, S., Visser, W.: Model checking programs. In: In IEEE International Conference on Automated Software Engineering (ASE), September (2000)Google Scholar
  21. 21.
    Corbett J.C. (1996). Evaluating deadlock detection methods for concurrent software. IEEE Trans. Softw. Eng. 22(3):161–180CrossRefGoogle Scholar
  22. 22.
    Bensalem, S., Ganesh, V., Lakhnech, Y., Muñoz, C., Owre, S., Rueß, H., Rushby, J., Rusu, V., Saïdi, H., Shankar, , E., Tiwari, A.: An overview of SAL. In: Michael Holloway, C. (ed.) LFM 2000: Fifth NASA Langley Formal Methods Workshop, pp. 187–196, Hampton June 2000. Available at http://shemesh.larc.nasa.gov/fm/Lfm2000/Proc/Google Scholar
  23. 23.
    Bozga, M., Fernandez, J., Ghirva, L., Graf, S., Krimm, J., Mounier, L.: IF: a validation environment for timed asynchronous systems. In: CAV 2000, LNCS 1855, pp. 543–547, July (2000) http://www-verimag.imag.fr/DIST_SYS/IF/index.htmlGoogle Scholar
  24. 24.
    http://wwwbrauer.informatik.tu-muenchen.de/gruppen/theorie/KIT/Google Scholar
  25. 25.
    Garavel, H., Lang, F.,Mateescu, R.: An overview of CADP2001. In: EASST Newsletter, pp. 13–24 (2002)Google Scholar
  26. 26.
    Margaria T. (2005). Web services-based tool integration in the ETI platform. J. Softw. Syst. Model. (SoSyM) 4:141–156CrossRefGoogle Scholar
  27. 27.
    Magaria, T., Nagel, R., Steffan, B.: Remote integration and coordination of verification tools in JETI. In: International Conference on Engineering of Computer-Based Systems (ECBS05), pp. 431–436 (2005)Google Scholar
  28. 28.
    http://www.cs.technion.ac.il/Labs/ssdl/veritech/Google Scholar
  29. 29.
    Clarke E.M., Grumberg O., Peled D.A. (1999). Model checking. MIT press, CambridgeGoogle Scholar
  30. 30.
    Katz, S. Refinement with global equivalence proofs in temporal logic. In: Peled, D., Pratt, V., Holzmann, G. (eds.) Partial Order Methods in Verification, DIMACS Series in Mathematics and Theoretical Computer Science, vol. 29, pp. 59–78. American Mathematical Society (1997)Google Scholar
  31. 31.
    Harel D. (1987). Statecharts: a visual formalism for complex systems. Sci. Comput. Program. 8:231–274MATHCrossRefMathSciNetGoogle Scholar
  32. 32.
    Harel D., Lachover H., Naamad A., Pnueli A., Politi M., Sherman R. Shtull-Trauring A., Trakhtenbrot M. (1990). Statemate: a working environment for the development of complex reactive systems. IEEE Trans. Softw. Eng. 16(4):403–414CrossRefGoogle Scholar
  33. 33.
    Hoare C.A.R., He Jifeng. (1998). Unifying Theories of Programming. Prentice-Hall, New JerseyGoogle Scholar
  34. 34.
    Potter B., Sinclair J., Till D. (1991). An Introduction to Formal Specification and Z. Prentice Hall, New JerseyMATHGoogle Scholar
  35. 35.
    Bolognesi T., Brinksma E. (1987). Introduction to the ISO specification language LOTOS. Comput. Netw. ISDN Syst. 14:25–59CrossRefGoogle Scholar
  36. 36.
    Hughes G.E., Cresswell M.J. (1977). Introduction to Modal Logic. Methuen, LondonGoogle Scholar
  37. 37.
    Grumberg O., Long D.E. (1994). Model checking and modular verification. ACM Trans. on Program. Lang. Syst. 16(3):843–871CrossRefGoogle Scholar

Copyright information

© Springer-Verlag 2006

Authors and Affiliations

  1. 1.Computer Science DepartmentThe TechnionHaifaIsrael

Personalised recommendations