Software Components

Data Mining Custom Application Wizard

DMPlugin Wizard Software Package

DMPlugin Wizard User Manual

DMPlugin Wizard Quick Guide page

One of the main design goals in DAME was to make the user able to deploy any own data mining application in the DAME Suite, representing also an easy way to extend Suite tools and algorithms. To do this, the main component named FRAMEWORK (FW) includes a sub-component, named DMPLUGIN, that allows to configure external custom applications and to generate code through an automatic procedure.

 

The following class diagram shows the interaction between DMPlugin and FRAMEWORK

The DMPlugin sub-component

The sub-component DMPlugin borns in order to extend DAME SUITE applications and data mining tools with user own algorithms to be applied to scientific cases by encapsulating them inside the Suite. In this sense this facility extends the canonic use of the Suite: a simple user can upload and build his datasets, configure the data mining models available, execute different experiments in service mode, load graphical views of partial/final results. If you are not considering yourself as a simple user, you think to be a developer. Or at least a scientist who wants to upload and use his application (and possibly to share it with others). Or you don’t trust  someone else’s application. So you want to extend our framework?  In other words, the user wants to become a DM Models Developer but without any need of programming experience behind our package. In this case the following is the basic procedure to be applied:

Download our DM Models library;

Add new low level/DM shared libraries and related new wrapper;

Extend the DM class hierarchy;

Plugin Development

Download our SDK;

Implement and test the DMPlugin abstract class;

Provide a method to produce the plugin description and Submit for Registration;

The same if you want to develop a new driver for a specific environment or storage system. Just implement the Driver Plugin Interface and register it. Let's see how to practically do this.

How to customize your own application

There is a specific GUI, called Application Wizard, providing a step-by-step wizard able to build and generate user own custom data mining application, without the need to write source code or to know internal mechanisms inside the Suite. After creation, the user can choose if to share or not his generated application with the rest of community through DAME gateway.

Classification and/or Regression are the functional use cases that can be chosen by configuring the wizard.

The development of a DMPlugin for your application comes in two different steps: developing a constructor and overriding the run method.

Developing a Constructor

The signature of a DMPlugin Constructor is the following:

  • public pluginName(IDR dr)

The first line of every constructor must be a super (dr) statement, to call the AbstractDMPlugin constructor.

After that, the developer must:

  • create a new Functionality object, filling its params;

  • call the method setInformations with the previously created object;

  • Create an HashMap of running modes. For every running mode the developer needs to fill every info about input files, output files, partial output files, fields, tags and constraints. Refer to the previous section for informations about these structures;

  • Call the method setRunningModes with the previously created hash map;

Overriding the Run method

This method represents the specific execution of a DMPlugin. The Run method will usually need to call the getChosenMode() to get the running mode chosen by the user for the experiment, with its data. After that a DMPlugin may use the driver to download its input files and to translate them to the format needed by a DMM. During the execution the DMPlugin may need to call the driver upload method to store its output files.

The following step-by-step procedure shows how to create a simple DMPlugin for your application. For additional informations refer to the DMPlugin Application Wizard Manual.

Below (fig. 1) there is the starting window of the Wizard. Every field is blank at the moment.

1

DMPLUGIN Wizard fig. 1

In the next image (fig. 2) we've added some information about the DMPlugin using the blank fields and we've created an application use case (Regression) and selected all use cases Train, Test, Run and Full (combination of Train+Test), by checking their boxes. Now we are going to add new DMMFieldParams to the Train running mode by selecting the word “Fields” under the Train tree in the “Components” box and pressing “Add”.

DMPLUGIN Wizard fig. 2

Then in the Field dialog (fig. 3) we can put informations about the Field. Pressing “Save” will create the new DMMFieldParam.

3

DMPLUGIN Wizard fig. 3

The “Components” box updates itself showing the new DMMFieldParam (fig. 4), which can be now deleted or edited by selecting it and pressing the Delete or Edit button.

4

DMPLUGIN Wizard fig. 4

Then let's add a second parameter (fig. 5).

5

DMPLUGIN Wizard fig. 5

Then (fig. 6) the input file (data) for the experiment is included.

6

DMPLUGIN Wizard fig. 6

Finally we have to select the output file to be generated, indicating also if partial output information should be required during execution of the experiment (fig. 7).

DMPLUGIN Wizard fig. 7

Finally, to generate the code click on “File” in the menu bar (fig. 8) and then on “Generate Code”.

DMPLUGIN Wizard fig. 8

 

The DMPLUGIN Application Wizard package is currently under test and it is provided available here (software+user manual)

DMPlugin Wizard Software Package

DMPlugin Wizard User Manual

DMPlugin Wizard Quick Guide page