Types of Modules

Although there are several types of modules, they can all be classified into one of two families: computational and user interface. Special care must be taken to distinguish between these two families of modules because they work differently and require a slightly different programmatic interface. The specific differences will be discussed later in this document.

Modules are also classified at a finer level by the kind of operation they perform. This classification scheme is really for the benefit of the people who create itineraries from existing modules. Each module type is represented with a different module icon in the D2K Toolkit, making for a more intuitive interface.

Modules are divided into the six types:

Model Modules

Data mining may be described as a process of searching for mechanisms that will enable the automated classification of certain characteristics given some related inputs. The problem is that the relationship between the data provided, and the desired prediction or classification may be obfuscated by the shear volume of data at hand. Data mining techniques often use machine learning algorithms to identify relationships between inputs and the result we wish to predict. A learning algorithm may process huge volumes of data to statistically quantify some pattern that will allow reasonably accurate predictions. The resulting function can then be used to classify other objects where the outcome is not known. This function is what we call a model. D2K Modules can be developed to actually output another module which implements this model. This mechanism is described in the section on building models.