Opened 7 years ago

#105 new defect

rethink transmission of step information/step data to bridge

Reported by: ke Owned by: jd
Priority: minor Milestone:
Component: core Version:
Keywords: Cc:

Description

The bridge interfaces are somewhat messy: some "central" step information is transmitted in the bridge(...) methods, some "less central" information is transmitted in various specialized methods with names such as registerStepSourceCodeLocation or registerMessage.

A concrete problem with this is that the bridge has no way of knowing when a bunch of such method calls (typically, they happen immediately after each other when the step hits a call or exit port) is over, thus has to update the views (by firing a selection event via selectIfPaused(int)) in each method call. This leads to a lot of unnecessary events and GUI activity, which is even visible as jiggling of layer 0 of the layered tree view.

A possible solution would be to equip each bridge with call and exit methods that accept many arguments, taking all of the step information for that port at once. In the course of doing this, the step (and, for TraleSLD, its variant registerRuleApplication) should probably be removed and the call methods should take care of creating the step instead. + just one Jasper call per port, these calls are bottlenecks

  • clients (tralesld_hooks.pl, kahinasicstus.pl, kahinaswi.pl) need more invasive adapting

Another possible solution would be to introduce a new bridge method portDone to mark the end of step data transmission for the current port. Only when this method is called should a selection event be fired.

  • more instead of less Jasper calls

+ clients need less invasive adapting

Change History (0)

Note: See TracTickets for help on using tickets.