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 typing make
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_DIR
points
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 that secondo
directory, and type
setvar $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>
where filename
is 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.
After installing the plugin, the system has to be recompiled.
Available Plugins
The following plugins are currently available.
- Nearest Neighbor
- TB-Tree
- X-Tree and M-Tree
- Periodic
- Spatiotemporal Pattern Queries
Descriptions and sources of these plugins can be found here.
Creating Your Own Plugins
If you want to create your own plugin, please visit this page.