Semi-automatic transformation from formal specifications to programs

As model-based formal methods (e.g. VDM, Z) are becoming popular for the development of safety-critical and complex systems in industry, automatic transformation from formal specifications to programs is an ideal and efficient approach to software production. However, it is impossible in general for this transformation to be fully automatic, because the language of first order logic used for specification is not decidable. This paper uses VDM (Vienna Development Method) as an example to investigate this difficulty, and proposes an approach to address the problem. Rules for automatically transforming abstract level VDM specifications are described and further transformation at a detailed level is discussed. Finally, further work towards the construction of a rule-based software system to support the transformation from VDM specifications to programs in general is addressed.

[1]  C. Q. Lee,et al.  The Computer Journal , 1958, Nature.

[2]  Mark Klein,et al.  Using the Vienna Development Method (VDM) to Formalize a Communication Protocol , 1988 .

[3]  Zohar Manna,et al.  Synthesis: Dreams - Programs , 1979, IEEE Trans. Software Eng..

[4]  Cliff B. Jones,et al.  Specifications are not (necessarily) executable , 1989 .

[5]  Cliff B. Jones,et al.  Systematic software development using VDM , 1986, Prentice Hall International Series in Computer Science.

[6]  Peter Gorm Larsen,et al.  An Executable Subset of Meta-IV with Loose Specification , 1991, VDM Europe.

[7]  Matthew K. O. Lee,et al.  The B-Method , 1991, VDM Europe.

[8]  Eswaran Subrahmanian,et al.  A generator program for models of discrete-event systems , 1981 .

[9]  David A. Duce,et al.  Formal specification of a small example based on GKS , 1988, TOGS.

[10]  John Nicholls,et al.  Z notation , 1994 .

[11]  G. O'Neill Automatic Translation of VDM Specifications into Standard ML Programs (Short Note) , 1992, Comput. J..

[12]  Shaoying Liu,et al.  Structured methodology+object-oriented methodology+formal methods: methodology of SOFL , 1995, Proceedings of First IEEE International Conference on Engineering of Complex Computer Systems. ICECCS'95.

[13]  Alan Burns,et al.  Program Generators and Generation Software , 1986, Comput. J..

[14]  R. J. Crispin Experience Using VDM in STC , 1987, VDM Europe.