YaTiSeWoBe is heavily based on a plug-in architecture. Almost any aspect and functionality of the application relies on the existence of small program modules that know very little one about the other, and only communicate through a small sets of method calls, and/or through a shared pool of information, the shared properties.
Figure 3.3. Plug-in overview
This is the general picture of the basic features. Note that each functionality is provided by a set of plugin types that are described further in the text.
![]() | Note |
---|---|
The details about plug-ins are obtained and modified through the plug-in manager which details can be found in Section 5.2.1, “Plug-in manager”. |
In YaTiSeWoBe, plug-ins handle different types of operations, which will be described in the following sections, along with an explanation of their singularities.
Import type plug-ins. Import plug-ins take care to load data from a URI to the application. They handle details about data format and data localization.
Export type plug-ins. The data that YaTiSeWoBe is handling can be exported at any time to a specific format and location by the way of the export plug-ins.
![]() | Future feature |
---|---|
As of version 0.1.2, functionalities described in this section have not been fully implemented yet, but are already planned for future releases of YaTiSeWoBe. See Section 6.8.2, “Forseable releases” for more details. |
![]() | Warning |
---|---|
Is it not a functional duplicate of data filters? |
to be written...
View type plug-ins. Views are the main feature of YaTiSeWoBe: they are used to represent the data in a graphic or textual way to the user.
Tool type plug-ins. Direct actions of the user on views are managed through Tools, small pieces of software that have the possibility to dynamically interact with views.
Window type plug-ins. Window plug-ins are free to have any desired impact on YaTiSeWoBe has they obtain their own windows and can build their own GUI to interact with users.
To ease installation and maintenance of YaTiSeWoBe in a network of workstations, the plug-ins are loaded from several locations at runtime. Priority is given to the final user to decide which plug-ins to use through the Plug-in Manager (c.f. Section 5.2.1, “Plug-in manager”).
Special plug-ins are required for YaTiSeWoBe to work properly. They are all coming from the org.nhrg.apps.rv.special package. The application relies on their existence. They cannot be in-activated*. The following plug-ins are actually maintained as special level plug-ins:
"Episode Type Selector" window plug-in. Probably the most important plug-in, this window allows you to select which episodes are going to be displayed by that application. It lists all the sources that have been imported to the data store, and the list of episode types from these sources.
"Plug-in Manager" window plug-in. Through this window, you can control which plug-ins are available and started when the application is launched. This plug-in and its functionalities are described further in Section 5.2.1, “Plug-in manager”
"Task Monitor" window plug-in. Lists all the activities the application is currently performing, and the completion state for each of them. As YaTiSeWoBe is completely multi-threaded, this plug-in gives you a glimpse to what is going on in the back.
"None" tool plug-in. A tool that does nothing.
"None" view plug-in. A view that does not draw a thing on screen.
"Raster Plot" view plug-in. The primary role of this application is to draw raster views for the selected episodes around the selected trigger.
Some plug-ins are delivered as part of the YaTiSeWoBe distribution. They have no special meaning for the application, but are maintained and tested by the same people developing YaTiSeWoBe. The following plug-ins are actually maintained as built-in level plug-ins:
"Console" window plug-in. A terminal like command line interface (CLI) interpreter that can be used to perform batch scripts. This plug-in and its functionalities are described further in Section 5.3, “Jython console”
"Log" window plug-in. The application log are displayed by this plug-in.
"Memory Usage" window plug-in. A small utility plug-in that shows the current memory usage status, and allows to perform garbage collection.
"Offset Changer" window plug-in. With a slider, this plug-in allows you to modify the offset of the selected views on the fly. Note that some views might not support this functionality and not react to the changes.
"Magnet" tool plug-in. By interacting directly with the view, this plug-in allows you to modify the offset of the view under the mouse pointer on the fly. Note that some views might not support this functionality and not react to the changes.
"Ruler" tool plug-in. By interacting directly with the view, this plug-in allows you to measure some aspects of the view under the mouse pointer on the fly. Note that some views might not support this functionality and not react to the changes.
"Autocorrelogram" view plug-in. Computes and displays an autocorrelation histogram for the selected episodes types.
"Fourier Transform" view plug-in. Computers and displays a instantaneous Fourier transform for the selected episodes.
"Histogram" view plug-in. Computes and displays a peri-trigger time histogram for the selected episodes types.
"Inter-Spike Intervals" view plug-in. Computes and displays an inter-episode interval return map for the selected episodes types.
System administrators can exploit this level of plug-ins to maintained on a shared system directory a set of plug-ins that will be collectively used by the community of users having access to this shared directory.
You will find more information concerning installing and managing group plug-ins in Section 5.2, “Managing distributed installations”.
Each user has the possibility to develop or download its own plug-ins and load them into YaTiSeWoBe at runtime, without need for the complete application to be recompiled.
![]() | Future feature |
---|---|
As of version 0.1.2, functionalities described in this section have not been fully implemented yet, but are already planned for future releases of YaTiSeWoBe. See Section 6.8.2, “Forseable releases” for more details. |
to be written...