An Automatic Code Generator Expert System Using Proprietary Language for Wider Business Application

: The proposed System is an automatic front-end Code Generator Expert System (CGES) for ensuring wider business application for the generation of GUI with a source code for Databases. Safe keeping of data for smooth transaction in business has always been a matter of concern. With the help of the proposed CGES, with economy of effort and time, a customizable database application may be produced with a simple wizard. The CGES requires a database as a pre-requisite input. Once the normalized database is featured with a diagram, the CGES shall apply techniques according to the pre-defined algorithm; the complete application with source code in various modules shall automatically produce. By selecting the CGES solutions, an N-tier application shall give rise to a product, comprising of SQL server queries, Object Oriented features and modules. The results prove on a test working principles of the system are written in MS SQL Server and on the Visual Basic.NET source code generated by CGES.


INTRODUCTION
Every organization and enterprise have their own precious data and it is very necessary to organize this data in normalize form.Various software applications are the need of enterprises.To meet the demand of enterprise or organization the software companies are required to develop more and more application in short time (Krikellas et al., 2010;McConnel, 1996).
In database application mostly a large number of similar data forms are required.In this case, front-end generator system is required to increase the process of application development (Helman and Fertalj, 2004;Fratemali, 1999).
By using front-end generator the quality of the software can be improved with less coding mistakes and shorten development life cycle which decrease the programmer services.
Such System is required that can generate a complete application along with source code which is customizable and have programming flexibility and have all the modules libraries required for a desktop database application.The software development companies try to develop computer application in short time with different methodologies (Krešimir et al., 2002;Lolong and Kistijantoro, 2011;Fertalj et al., 1999).
This study presents the customized Code Generator Expert System which use the object oriented methodology.The C Sharp Programming Language is Objected Oriented programming language used for the development of the CGES and the CGES generate front end with source code and the resultant desktop application is also an object oriented application which source code is in Visual Basic.Net.For this generation we required a DBMS (MSSQL Server) and CGES and Visual Basic.Net for customization of development of various application.

LITERATURE REVIEW
In the light of the growing market needs for maximum accuracy and rapid development of business software in order to keep track of information, a comprehensive solution was the need of the day.For this purpose various techniques have been devised ranging from manual to automatics solutions.Few of such attempts mentioned below.In Krešimir et al. (2002) procedures are given in order to produce a database modeled application in the meta-base for a proprietary specification (Helman and Fertalj, 2004).This study is about the generation of a source code on template bases following user defined parameters to ensure proprietary application generation (Krikellas et al., 2010;Smith, 2004).
In Lolong and Kistijantoro (2011) it is mentioned that a java desktop-based database application can be used by employing DSL to map out My SQL into java swing UI by further application for the Automatic Generation of an application.
In Kilov (1998) there is a model description for Auto Code Generation for tree-ER-schema.
Above all, this study is an attempt for automatic code generation based on customized source code in VB.Net for MS SQL Server Databases with a front-end solution.

PROPOSED METHODOLOGY
The working principle of the proposed system is illustrated by the figures below.The programmer/ Developer will have to develop a database in MS SQL Server DBMS incorporating Database Schema.The CGES take the Database as an input after processing produces the source codes modules as an output (Fig. 1).
The input database must be well normalized and have the necessary constraints like primary key, foreign key etc. the Code Expert system initiate the code writing process.After completing the process as a result the CGES produce the source code including all necessary modules.The detail process is depicted in Fig. 2.
The input database must be in MS SQL Server in normalized form.The CGES can search the input database in local computer and in network as well.It requires the authentication credential of MS SQL Server.After providing credential the database list appeared and required to be select one as an input to the system.To facilitate the programmer the CGES provide various templates to develop a front end as according the user needs.After selecting template the CGES start the code generation process according to the algorithm and pre-defined procedures.
The CGES creates code files as an output.These files are in Visual Basic.Net and the generated code files are according to the VB.Net architecture.The vb.net front-end windows form consists of three basic files described below: .resx : This is the resource file which contains all the external imported components..vb: This is the code file in which we write the instruction and SQL queries..designer.vb: This is the GUI file which contains all the control use by the end user on a front end.e.g., text box, button, data grid etc.
During this process the CGES interact with database, analyze database schema and accordingly update the code and design files.
Module is the global area in vb.net which is accessible anywhere in the project and help the programmer in code reduction.The programmer can reuse the same code in a various places in the project by simply calling the function in a module which is needed.The CGES provides different modules for the ease of program.The connection module contains different ADO.Net classes for interaction with the database.The Template Module contains various kinds of template for the designer that facilitates the designer to design the graphical user interface according to the user need.
Code generation process: This is the main process from the application generation.This process takes the database schema and writes code for each table using self-defined code pattern (Giatsoglou et al., 2010;Kilov, 1998).This process is performed in various steps.
Step 3: Generating the .resxfile: The primary goals of this format are to allow a simple XML format that is mostly human readable.

.</ resheader>
Step 4: Generating the modules: After the Code generations the CGES also generate code modules using ado.netfeatures for the forms interaction with database.And with the new developed codes also the template modules is generated for the customization of front-end.For reporting purposes the output report of each form is produced in MS Excel file format.

DISCUSSION
In the preceding section we proposed model that depict the code generation process.This model has been applied in actual database for test purposed.The database was design in MS SQL Server for a small business.The CGES take the database schema as an A single form from the generated application is displayed in the Fig. 3.The different controls are displayed on the form discussed in the code generation steps.

CONCLUSION
Based on the result of testing, the proposed method is helpful in automatic source code generation.This study is found effective and efficient in code generation for DMBS MS SQL Server database with Visual Basic.Net environment.We are confident that our work minimizes the coding mistakes and is equally a helpful tool to accelerate the development process.This study can be extended to generate source code in C Sharp and also for DBMS other than MS SQL Server Databases.

Fig. 3 :
Fig. 3: Windows form generated by CGES for input database input and produce a customizable window application with source code.The generated application code is VB.Net.A single form from the generated application is displayed in the Fig.3.The different controls are displayed on the form discussed in the code generation steps.