Abstract
The reasons for translating a description of a model in one notation into another are reviewed. This includes both translating entire models and describing different aspects of a system using different notations.
In order to demonstrate the ideas, the VeriTech framework for translation is described. A system being analyzed is seen as a collection of versions, along with a description of how the versions are related. 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, based on experience with over ten separate compiler translations among formal methods notations. Additional information gathered during translation is described, to facilitate optimizations, error tracing, and analysis.
The concept is presented of a faithful relation among models and families of properties true of those models. In this framework families of properties are provided with uniform syntactic transformations, in addition to the translations of the models. This framework is shown appropriate for common instances of relations among translations previously treated in an ad hoc way. The classes of properties that can be faithful for a given translation provide a measure of the usefulness of the translation. Open research directions are suggested concerning faithful transformations, additional information, error tracing, and optimizing translations.
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
This research was partially supported by the Fund for the Support of Research at the Technion and by the Bar-Nir Bergreen Software Technology Center of Excellence.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
K. R. Apt, N. Francez, and S. Katz. Appraising fairness in languages for distributed programming. Distributed Computing, 2:226–241, 1988.
Saddek Bensalem, Vijay Ganesh, Yassine Lakhnech, César Muñoz, Sam Owre, Harald Rueß, John Rushby, Vlad Rusu, Hassen Saïdi, N. Shankar, Eli Singerman, and Ashish Tiwari. An overview of SAL. In C. Michael Holloway, editor, LFM 2000: Fifth NASA Langley Formal Methods Workshop, pages 187–196, Hampton, VA, June 2000. Available at http://shemesh.larc.nasa.gov/fm/Lfm2000/Proc/.
M. Berg and S. Katz. Property transformations for translations. Technical Report CS-2002-05, Computer Science Department, The Technion, 2002.
N. Bjorner, A. Browne, E. Chang, M. Colon, A. Kapur, Z. Manna, H.B. Simpa, and T.E. Uribe. Step: The stanford temporal prover-user’s manual. Technical Report STAN-CS-TR-95-1562, Department of Computer Science, Stanford University, November 1995.
T. Bolognesi and E. Brinksma. Introduction to the ISO specification language LOTOS. Computer Networks and ISDN Systems, 14:25–59, 1987.
T. Bolognesi, J.v.d. Legemaat, and C.A. Vissars (eds.). LOTOSphere: software development with LOTOS. Kluwer Academic Publishers, 1994.
G. Brat, K. Havelund, S. Park, and W. Visser. Model checking programs. In In IEEE International Conference on Automated Software Engineering (ASE), September 2000.
J.R. Burch, E.M. Clarke, K.L. McMillan, D. Dill, and L.J. Hwang. Symbolic model checking: 1020 states and beyond. Information and Computation, 98:142–170, 1992.
E.M. Clarke, O. Grumberg, and D.A. Peled. Model Checking. MIT press, December 1999.
C. Demartini, R. Iosif, and R. Sisto. dSPIN: A dynamic extension of SPIN. In SPIN, pages 261–276, 1999.
O. Grumberg and S. Katz. VeriTech: translating among specifications and verification tools-design principles. In Proceedings of third Austria-Israel Symposium Software for Communication Technologies, pages 104–109, April 1999. http://www.cs.technion.ac.il/Labs/veritech/.
O. Grumberg and D.E. Long. Model checking and modular verification. ACM Trans. on Programming Languages and Systems, 16(3):843–871, 1994.
D. Harel. Statecharts: a visual formalism for complex systems. Science of Computer Programming, 8:231–274, 1987.
D. Harel, H. Lachover, A. Naamad, A. Pnueli, M. Politi, R. Sherman, A. Shtull-Trauring, and M. Trakhtenbrot. Statemate: a working environment for the development of complex reactive systems. IEEE Trans. on Software Eng., 16(4):403–414, April 1990.
J. Hatcliff and M. Dwyer. Using the bandera tool set to model-check properties of concurrent java software. In International Conference on Concurrency Theory (CONCUR), June 2001. Invited tutorial paper.
K. Havelund and T. Pressburger. Model checking JAVA programs using JAVA PathFinder. International Journal on Software Tools for Technology Transfer, 2(4):366–381, 2000.
C.A.R. Hoare and He Jifeng. Unifying Theories of Programming. Prentice-Hall, 1998.
G. Holzmann. Design and Validation of Computer Protocols. Prentice-Hall International, 1991.
G.J. Holzmann and D. Peled. The state of SPIN. In Proceedings of CAV96, volume 1102 of LNCS, pages 385–389. Springer-Verlag, 1996.
C.N. Ip and D.L. Dill. Better verification through symmetry. Formal Methods in System Design, 9:41–75, 1996.
S. Katz. Refinement with global equivalence proofs in temporal logic. In D. Peled, V. Pratt, and G. Holzmann, editors, Partial Order Methods in Verification, pages 59–78. American Mathematical Society, 1997. DIM ACS Series in Discrete Mathematics and Theoretical Computer Science, vol. 29.
S. Katz. Faithful translations among models and specifications. In Proceedings of FME2001: Formal Methods for Increasing Software Productivity, volume 2021 of LNCS, pages 419–434. Springer-Verlag, 2001.
S. Katz and D. Peled. Interleaving set temporal logic. Theoretical Computer Science, 75:263–287, 1990. Preliminary version appeared in the 6th ACM-PODC, 1987.
K. Korenblat, O. Grumberg, and S. Katz. Translations between texual transition systems and petri nets. In Third international conference on Integrated Formal Methods (IFM’02), Turku, Finland, May 2002.
R.P. Kurshan. Computer-aided Verification of Coordinating Processes. Princeton University Press, 1994.
Z. Manna and A. Pnueli. The Temporal Logic of Reactive and Concurrent Systems: Specification. Springer-Verlag, 1992.
K. L. McMillan. Symbolic Model Checking: An Approach to the State Explosion Problem. Kluwer Academic Publishers, 1993.
http://wwwbrauer.informatik.tu-muenchen.de/gruppen/theorie/KIT/.
Sam Owre, John Rushby, Natarajan Shankar, and Friedrich von Henke. Formal verification for fault-tolerant architectures: Prolegomena to the design of PVS. IEEE Transactions on Software Engineering, 21(2):107–125, February 1995.
B. Potter, J. Sinclair, and D. Till. An introduction to Formal Specification and Z. Prentice Hall, 1991.
W. Reisig. Elements of Distributed Algorithms-Modeling and Analysis with Petri Nets. Springer-Verlag, 1998.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2002 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Katz, S., Grumberg, O. (2002). A Framework for Translating Models and Specifications. In: Butler, M., Petre, L., Sere, K. (eds) Integrated Formal Methods. IFM 2002. Lecture Notes in Computer Science, vol 2335. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-47884-1_9
Download citation
DOI: https://doi.org/10.1007/3-540-47884-1_9
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-43703-1
Online ISBN: 978-3-540-47884-3
eBook Packages: Springer Book Archive