Dash 3.6.1-SNAPSHOT API

Dash is a debugger for Yaposh plans, it can display the plan of debugged agent.

See:
          Description

Packages
cz.cuni.amis.dash Package contains mostly classes responsible for displaying plan of debugged agent.
cz.cuni.amis.pogamut.sposh.dbg.engine  
cz.cuni.amis.pogamut.sposh.dbg.exceptions  
cz.cuni.amis.pogamut.sposh.dbg.lap  
cz.cuni.amis.pogamut.sposh.dbg.view  
cz.cuni.sposh.debugger In this package are actions that are plugged into NetBeans as menu or toolbar actions.

 

Dash is a debugger for Yaposh plans, it can display the plan of debugged agent.

Dash provides three main functions:

How does Dash get the info about engine?

Through coopoeration of PoshEngine (Yaposh engine) and NetBeans Debugger API. Example: Dash wants to be informed every time some node of the plan is evaluated. We know that right before the node is evaluated by the engine, it calls EngineLog#pathReached, so Dash uses NetBeans Debugger API to add breakpoint there and listens on it. When breakpoint is reached, the listener is notified. The listener knows that some logic thread is evaluating engine and has reached the node, it only needs to filter such events by thread and now we are informed each time the engine tries to evaluate some node.

Phases of engine

Goal of this plugin is basically to create a class that represents planner engine(implementor IDebugEngine, for Yaposh it is YaposhEngine), connect it to the engine and show state of execution of planner in DashWindow. IDebugEngine has listeners that are notified when e.g. engine reaches some path. That way, the widgets and DashWindow can be updated.

Lifecycle of IDebugEngine, it must notify its listeners about changes in its lifecycle



Copyright © 2014 AMIS research group, Faculty of Mathematics and Physics, Charles University in Prague, Czech Republic. All Rights Reserved.