next up previous contents
Next: Role of Front-end Engine Up: Knowledge Discovery Schema Compiler(KDSC) Previous: Implementation

Compilation Process

The Knowledge Discovery Schema Compiler validates the information given by the user and stores the compiled schema as Metadata[1].

The compilation procedure comprises the following things:

1. Access on the specified database schema

For validation of the database details given by the user, an understanding is required between Knowledge Discovery in Database Systems and the Database Management Systems. The validation task may involve communication over network if the database is located at a different machine. The compiler has to establish a connection with the DBMS. The compiler uses the communication capabilities of the Front-end Engine to do so. The compiler checks whether we have got access to read the database schema of specified database. Permission to peek into the database schema should already have been granted to the compiler by the target database otherwise the compilation is aborted.

2. Validity of relation name

The compiler reads the database schema and checks whether the relation specified in the schema actually exist in the schema. If it doesn't, the user is informed that the table doesn't exist in the schema and the compilation process is aborted. If there is any error in the database schema entry, then that error is also reported by the KDSC.

3. Validity of the attributes

Now, if the table does exist, the compiler reads the attributes and checks whether the given attributes exist in that table. In case some discrepancy is found, the user is informed about it, and the compilation process is aborted. If the attribute is specified as * in the knowledge discovery schema, the compiler does nothing but reads the attributes of the specified table from the database schema and stores them.

4. Validity of Hierarchy attribute

In a similar manner, the validity of the hierarchy attribute is also checked and in case of discrepancy, the compilation process is aborted.

5. Getting authorization from DBMS for accumulation process

After all the above checks are cleared, the compiler seeks authorization from DBMS for data access later required by the accumulation process. The compiler creates the metadata only if the user gets authorization from the DBMS.

6. Noting user inputs

Some of the user inputs like schema name, knowledge type, periodicity, priority, etc. which determine the behavior of the accumulating process in the Core layer are simply noted.

7. Compilation of Selection, Cleaning and Transformation Functions

If required, the selection, cleaning and transformation functions are compiled by the compiler using appropriate software tools. Thereafter, the compiler requests the Front-end Engine to install the compiled functions in their respective libraries in the Core layer. The Metadata preserves the indexes to these functions, which are used during accumulation phase.

Finally, the necessary data structures are created by the compiler and the compiled entry(Metadata) is stored. This Metadata for the user given schema has all the user given information in addition to the information generated for internal usage by accumulation and mining processes. The compiler also constructs the data structures to store the Knowledge Concentrates, which are stored on the disk. These data structures obviously are specific not only to the type of knowledge desired to be mined, but also to the mining algorithm to be used.

 
Figure: Role of Front-End Engine (FEE)


next up previous contents
Next: Role of Front-end Engine Up: Knowledge Discovery Schema Compiler(KDSC) Previous: Implementation
Deepak Goel
1/5/2000