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 the
edu.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 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.
- 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 ma@kestrel.edu, dusko@kestrel.edu. For more information, see also Dusko's homepage