Patent ID: 6986124

Claim:
A method of providing a debugging environment in a computing environment that includes first and second virtual machines, the method comprising: inputting a formal specification written in a debugging specification language into a program code generator, the formal specification defining a high level debugging communication protocol for communication between the first and second virtual machines; parsing the formal specification using the program code generator; automatically generating a front-end debugger program portion from the formal specification based on the parsing of the formal specification, the front-end debugger program running on a first virtual machine, the front-end debugger program portion corresponding to a platform independent programming language which provides a high level debugging interface which can be accessed by a debugger application operating on a first virtual machine; automatically generating a back-end debugger program code portion from the formal specification based on the parsing of the formal specification, the back-end debugger program code portion implementing a virtual machine debugging interface which provides the capability to control and communicate with a second virtual machine, the back-end debugger program code portion corresponding to a platform-specific programming language; and wherein the front-end debugger program portion and the back-end debugger program code that are generated from the formal specification are compatible with each other and comply with the formal specification, thereby implementing the high-level communication protocol between the first and second virtual machines.