Tips for UseCandidate conventionsExtending Pda

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:

  1. Create an Eclipse plugin project and extend the edu.kestrel.pda.toolPlugin extension point provided by the edu.kestrel.pda plugin
  2. Let the class given in the extension definition extend the class edu.kestrel.pda.ext.ToolPlugin.
  3. In that class, implement the processProtocol() for processing the data structure representing a procotol. The methods getToolPluginId(), 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.
  4. 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.

Last updated: July 17, 2006
Send comments and questions to, For more information, see also Dusko's homepage

Tips for UseCandidate conventionsExtending Pda