Translating VDM to Alloy

The Vienna Development Method is one of the longest established formal methods. Initial software design is often best described using implicit specifications but limited tool support exists to help with the difficult task of validating that such specifications capture their intended meaning. Traditionally, theorem provers are used to prove that specifications are correct but this process is highly dependent on expert users. Alternatively, model finding has proved to be useful for validation of specifications. The Alloy Analyzer is an automated model finder for checking and visualising Alloy specifications. However, to take advantage of the automated analysis of Alloy, the model-oriented VDM specifications must be translated into a constraint-based Alloy specifications. We describe how a subset of VDM can be translated into Alloy and how assertions can be expressed in VDM and checked by the Alloy Analyzer.

[1]  Jim Woodcock,et al.  Software engineering mathematics , 1988 .

[2]  Jonathan P. Bowen,et al.  ZB 2002:Formal Specification and Development in Z and B , 2002, Lecture Notes in Computer Science.

[3]  Cliff B. Jones,et al.  Case studies in systematic software development , 1990 .

[4]  Dines Bjørner,et al.  The Vienna Development Method: The Meta-Language , 1978, Lecture Notes in Computer Science.

[5]  Indrakshi Ray,et al.  On challenges of model transformation from UML to Alloy , 2008, Software & Systems Modeling.

[6]  Nick Battle,et al.  The overture initiative integrating tools for VDM , 2010, ACM SIGSOFT Softw. Eng. Notes.

[7]  Daniel Jackson,et al.  Software Abstractions - Logic, Language, and Analysis , 2006 .

[8]  Cliff B. Jones,et al.  Systematic software development using VDM (2. ed.) , 1990, Prentice Hall International Series in Computer Science.

[9]  Paul Ammann A safety kernel for traffic light control , 1996 .

[10]  Peter Gorm Larsen,et al.  Recent industrial applications of VDM in Japan , 2007 .

[11]  Jean-Raymond Abrial,et al.  The B-book - assigning programs to meanings , 1996 .

[12]  Peter Gorm Larsen,et al.  The formal semantics of ISO VDM-SL , 1995 .

[13]  Peter Gorm Larsen,et al.  Vienna Development Method , 2008, Wiley Encyclopedia of Computer Science and Engineering.

[14]  Peter Gorm Larsen,et al.  VDMTools: advances in support for formal modeling in VDM , 2008, SIGP.

[15]  Cliff B. Jones,et al.  Proof in the Analysis of a Model of a Tracking System , 1998, Proof in VDM.

[16]  Benjamin W. Wah,et al.  Wiley Encyclopedia of Computer Science and Engineering , 2009, Wiley Encyclopedia of Computer Science and Engineering.

[17]  Peter Gorm Larsen,et al.  An overview of the ISO/VDM-SL standard , 1992, SIGP.

[18]  Donald Sannella,et al.  Extended ML: Past, Present, and Future , 1990, ADT.

[19]  Sarfraz Khurshid,et al.  Proceedings of the Third international conference on Abstract State Machines, Alloy, B, VDM, and Z , 2012 .

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

[21]  Lindsay Groves,et al.  Translating Z to Alloy , 2010, ASM.

[22]  Jim Woodcock,et al.  Software engineering mathematics : formal methods demystified , 1988 .

[23]  Peter Gorm Larsen,et al.  Modelling Systems: Practical Tools and Techniques in Software Development , 1998 .

[24]  Sten Agerholm,et al.  Proof in VDM: Case Studies , 1998, Formal Approaches to Computing and Information Technology (FACIT).

[25]  Abz,et al.  Abstract State Machines, B and Z, First International Conference, ABZ 2008, London, UK, September 16-18, 2008. Proceedings , 2008, ABZ.

[26]  Michael J. Butler,et al.  An Approach to Combining B and Alloy , 2002, ZB.

[27]  Joao Marques-Silva,et al.  Model Checking Event-B by Encoding into Alloy , 2008, ABZ.