Monitoring messages during execution of a message flow

Data processing: software development – installation – and managem – Software program development tool – Testing or debugging

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

Reexamination Certificate

active

06817010

ABSTRACT:

FIELD OF INVENTION
The present invention relates to monitoring program execution and the effects of program execution in a visual programming environment.
BACKGROUND
Visual programming techniques and tools allow computer programs to be developed by manipulation of visual images representing objects, providing an alternative to conventional alphanumeric-character-based programming languages. Such techniques and tools make the task of computer program development easier for programmers than was possible with earlier non-visual programming languages, and make programming accessible to non-expert programmers. Visual programming has enabled more rapid prototyping and application program development, and has generally enabled users to focus on what functions they want their program to perform by greatly reducing the requirement to learn about programming languages and the internal workings of a computer.
Nevertheless, it remains the case that the available visual programming tools and languages, such as VisualBasic from Microsoft Corporation, are mainly used for building a user interface (selecting and positioning user interface components such as buttons, scrollbars, etc, and scripting their behaviour). The user is often required to rely on conventional programming techniques for implementing the main business logic underneath the user interface.
As with other computer programs, programs developed using visual programming techniques require debugging, but in the past many visual programming tools have not enabled visual debugging. That is, the user has been provided with source level debug information which has required a greater level of understanding of languages and systems than the original visual programming task. More recently, it has been recognised that visual programmers should be provided with visual reporting of any problems which require debugging, thereby matching the problem reporting style to the requirements of a typical visual programmer rather than relying on non-intuitive source code level debug information.
PROGRAPH 2, described in Cox et al, “Using a Pictorial Representation to Combine Dataflow and Object-Orientation in a Language Independent programming Mechanism”, Proceedings International Computer Science Conference, pp. 695-704, 1988, is one example of a visual programming environment which has integrated editing and debugging, and in which operations are represented pictorially as nodes of an hierarchical dataflow. Sets of windows can be opened to explore different levels of detail within a program and errors are responded to by opening a window containing the operation in question, flashing the relevant icon and generating an explanatory message.
To enable debugging of an hierarchical program, PROGRAPH 2 and other known visual programming tools rely on access to the program's execution stack to monitor execution of the program and hence to indicate the hierarchical structure and locations within it. A program's execution stack is the data area or buffer of the data processing apparatus on which the program is executing which is used for storing context information of the sequence of invocations for operations that are performed during execution of the program. Storing such context information during program execution is essential for successful execution of an hierarchical (or nested) program—to enable a program which jumps to a subroutine to return to the correct point in the program after executing the subroutine. The reliance of known debuggers on the execution stack is because an hierarchical program is typically “flattened” into a linear flow for execution, such that the context within the hierarchical structure of a particular point in a program is not apparent from the executing program itself (subroutines appear as macros within a linear flow). An interpreter within PROGRAPH 2 shows the state of the execution stack in a special window and can illustrate the executing operations via a set of windows showing different levels of the hierarchy. This is fine for typical visual programmers, because their programs are limited to a single system and the program execution stack is available on the same system as the development and debugging tools. However, such a debugging solution could not be used if the execution stack is inaccessible from the debugger.
Another solution which allows debugging of dataflow diagrams in a unified visual environment without repeatedly switching between build and debug modes of operation is the PANTA development framework from Metrowerks AG (formerly HIWARE AG). The user merely switches between edit and debug windows.
U.S. Pat. No. 6,055,369 discloses a visual programming apparatus for creating a program with a visual user interface made up of multiple screens, including a unit for creating a screen flow comprising a flow of processes which includes a compressed representation of each of the multiple screens. Information can be extracted from the screen flow and used to generate source code. This assists the user in understanding the association between screens and hence designing, creating and testing a visual program.
U.S. Pat. No. 5,850,548 discloses a visual programming environment based on an hierarchical data flow model. Functional code components can be constructed either using conventional programming techniques or using a visual programming language, and these components are then connected together in an hierarchical data flow model for sending “messages” to and receiving “messages” from each other. The on-screen representation of the data flow aids debugging.
SUMMARY OF INVENTION
The present invention provides improved visual execution monitoring capability for computer programs.
The invention according to a first aspect provides a visual execution monitoring tool for monitoring a message processing program or system, wherein the tool enables the contents of a message to be viewed by a user while the message processing program is being executed, enabling the user to monitor the effects of execution.
The invention according to a second aspect enables automated instrumentation of computer programs, inserting execution progress report generator components which send their reports to an execution monitoring controller when certain stages of execution are reached, such that the execution monitoring controller can use the received reports to track execution progress.
According to the first aspect of the present invention, there is provided a visual execution monitoring tool for monitoring execution of a message processing program, comprising: one or more components for generating program execution progress reports upon reaching predefined stages of program execution, the execution progress reports including a representation of the current contents of a message being processed by the message processing program, and for sending the execution progress reports to an execution monitoring controller; an execution monitoring controller which is responsive to receipt of said execution progress reports for generating, during execution of said message processing program, a visual representation of the message contents.
The message contents included in the progress reports and represented visually preferably include message data and information relating to the message structure (e.g. Header fields). This may be an XML representation of the message.
The execution monitoring tool preferably includes means for inputting a test message for testing execution of the message processing program. This may comprise a message generator which is triggered to create and input a message by user definition of message data or message headers, user selection of a message type, or reading a message from an external file. The execution monitoring tool preferably also enables a programmer to change the message content when execution is stopped at a breakpoint in the program, and thus affect further execution.
The execution progress reports preferably include current execution status information from which the execution monitoring controller

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Monitoring messages during execution of a message flow does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Monitoring messages during execution of a message flow, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Monitoring messages during execution of a message flow will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3349727

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.