Extending Pda
In order to communicate with other tools, Pda uses the Eclipse mechanism of defining extension points to provide an interface for tool developers to hook up their tools to Pda. In the current version, only the direction from Pda to an external tool is provided by the interface, but future version will provide for a tighter integration between external tools and Pda.
An example tool plugin for generating s-expressions from protocol descriptions is available at the Pda update site as an additional Eclipse plugin that can be installed on top of Pda. This plugiin also serves for now as the main source of documentation about how to use the interface and about the API for accessing the data provided at the tool plugin interface.
In general, the following things need to be done in order to provide a Pda tool plugin:
-
Create an Eclipse plugin project and extend the
edu.kestrel.pda.toolPlugin
extension point provided by theedu.kestrel.pda
plugin -
Let the class given in the extension definition extend the class
edu.kestrel.pda.ext.ToolPlugin
. -
In that class, implement the
processProtocol()
for processing the data structure representing a procotol. The methodsgetToolPluginId()
,getToolPluginName()
,getProcessProtocolActionLabel()
should also be implemented and just return suitable strings. The latter is used as a label in the context menu of the protocol. -
If deployed, the
processProtocol()
method will be invoked using the corresponding context menu entry on a protocol in a Pda diagram.
The Java api documentation for the interface classes can be found here