How it Works

The Visual Execution Analyzer enables you to generate a Sequence Diagram.  The diagram below illustrates the output of a Sequence Diagram for a program that calculates the price of books.  The diagram creates a visual representation of the execution of an application, outlining what functions are being called, types of messages being sent, key data structure used and the relationships between different classes.  The diagram makes it much simpler to Understand how information is moved throughout the system and what values are being passed by various functions.  The first loop structure is executed four times and is being used to add four books to the book database.  The arrows indicate information flow and demonstrate the change of states over time.

Generated Sequence Diagram

A Sequence diagram provides easy to understand visual information including:

  • An understanding of how information is passed throughout a system.
  • The sequence of various functions and their corresponding parameters.
  • A clear understanding of how different classes interact to create behavior.
  • A visual overview of how data structures are used to produce results.

If an application crashes, data corruption such as a stack overflow can prevent you from diagnosing and rectifying the problem.  However the Visual Execution Analyzer allows you to record a given execution sequence and provide a reliable source of information that may further explain why a crash occurred. Enterprise Architect can record arguments to functions, record calls to external modules or capture state transitions based on any given constraint. This information can be integrated with existing system knowledge and test data to optimize code execution, reduce errors and understand why application failure and system crashes occur.

A Sequence Diagram extends traditional analysis to help identify errors in logic, explain unexpected system behavior and identify data flow inconsistencies.  The Visual Execution Analyzer extends analysis through the use of a comprehensive array of reports that detail everything from state transitions through to the contents of the stack at a given time. A Sequence Diagram can convey more detail and provide greater understanding than reading unfamiliar code that has potentially been written by someone else.  It also makes it easier to document existing code when a Sequence Diagram illustrates functions are being called and the specific sequence of events that occur to produce a particular type of system behavior.