Authors:
Lauri Tuovinen
;
Perttu Laurinen
and
Juha Röning
Affiliation:
University of Oulu, Finland
Keyword(s):
Data mining, Application framework, Pipes and filters, Data representation, Data type, Interoperability.
Related
Ontology
Subjects/Areas/Topics:
Artificial Intelligence
;
Computational Intelligence
;
Data Mining
;
Databases and Information Systems Integration
;
Enterprise Information Systems
;
Evolutionary Computing
;
Knowledge Discovery and Information Retrieval
;
Knowledge-Based Systems
;
Machine Learning
;
Sensor Networks
;
Signal Processing
;
Soft Computing
;
Symbolic Systems
Abstract:
Building application frameworks is one of the major approaches to code and design reuse in object-oriented software engineering. Some frameworks target a particular application domain, adopting a number of domain-specific problems to be addressed by the framework in such a fashion that there is no need for application developers to devise solutions of their own to those problems. When the target domain is data mining, one interesting domain-specific problem is management of the data types of model parameters and data variables. This is not trivial because the framework must be able to convert parameter and variable values between different representations, and it would be preferable to have these conversions take place transparently, without involving the application programmer. This is not difficult to achieve if the framework restricts the programmer to a predefined set of allowed data types, but if such a restriction is undesirable, the framework needs an extension mechanism in it
s type management subsystem. Smart Archive, a framework for developing data mining applications in Java or C++, includes such a mechanism, based on a type dictionary document and a type renderer programming interface. These make it possible to handle even highly complex values such as collections of instances of programmer-defined classes in a variety of platform-independent representation formats. The benefits of this approach can be seen in how the framework interfaces with databases through data sinks and in how it exports and imports application configurations.
(More)