Event-oriented flow control
When using a common debugger an application is controlled by instructions such as step in, step over and step out. Breakpoints can also be set at source code lines. But until a source code line is reached a lot of interesting events can appear: threads can be started or finished, exceptions can be thrown or caught, object monitors can be entered or exited and so on. If you want to stop the application when those events appear, it is inconvenient to think about the source code positions at which these events appear and set breakpoints there. Therefore, many debuggers use different breakpoint types and allow applications to be stopped when special events appear.
jBixbe goes still one step further and changes the point of view: applications are continued not until a certain source code line is reached, but until an interesting event appears. So source code debugging becomes a special case in which the interesting event consists in reaching a certain line of code. This makes flow control very simple for the user. Basically, there is only one flow control operation: continue until the next interesting event appears.
jBixbe determines this event based on the currently opened views (for example opened sequence diagrams and source code views) and their application details to debug. In a sequence diagram for example only those method calls and method returns are traced that belong to the communication system. The communication between objects outside the system disappears until they are included.
As a consequence of this approach, you can define what you want to see and jBixbe controls the application in such a way that no interesting event gets lost. At any time, there is a direct connection between your views and the flow control of application.