Secondo Plugins
Basic Idea
Secondo is extensible in many ways. One can provide a new algebra, new viewers, new display classes, and extensions of the optimizer. A Secondo plugin is a package of such extensions provided as a single zip-file. Besides the parts containing the source code (i.e. source files and code sections), a plugin contains an XML file containing information about where the new code is to place, the name of the extension etc. This allows for an automatical installation of an extension using a tool which is part of a Secondo distribution. So, if the inventor of a new data structure or of a new algorithm provides it as a Secondo plugin, other researchers can compare their solutions with this approach without the effort of reimplementing the algorithms/data structures.A main motivation for this is to better support experimental research in databases.
Current Restrictions
In the current state, only standard extensions are possible. If changes at the kernel are required to implement a new approach, the plugin mechanism is not sufficient. Further, non-solved problems are name conflicts. For example, if two plugins provide each a new algebra containing a same-named data type, the plugins cannot be installed at the same time. A similar problem occurs if two new algebras provide new operators having the same signature. From the view of the gui, it's not allowed to overwrite existing classes.Installing Plugins
Before installing a new plugin ensure to have a running Secondo system. Additionally to the plugin to install, you need the following two files (these files are also created by typingmake in the $SECONDO_BUILD_DIR/Tools/extensionInstaller
directory in Secondo version 2.9.0 or later):
and a running Java environment (version 1.5 or above). Just copy both files into the directory
of your choice, let us call it X. Then proceed as follows:
- Ensure that the system variable
SECONDO_BUILD_DIRpoints to the root directory of your Secondo installation. To make sure this is the case, open a bash (or an msys-shell on Windows), navigate to thatsecondodirectory, and typesetvar $PWD
- Navigate in a bash or msys shell to the directory X where you put the installer.
- Now install the plugin by entering the following line
secinstall <filename>
wherefilenameis the name of the zip file containing the plugin. If there are any dependencies between plugins, i.e. plugin A requires an already installed plugin B, both plugins can be installed at the same time just by extending the command above by further file names.
Available Plugins
The following plugins are currently available.- Nearest Neighbor
- TB-Tree
- X-Tree and M-Tree
- Periodic
- Spatiotemporal Pattern Queries
Creating Your Own Plugins
If you want to create your own plugin, please visit this page.
Last Changed: 2009-10-05