IDEF0-DIAGRAM INTO DATABASE CONVERSION APPROACH DEVELOPMENT

2017. Т. 17, No 1. С. 153–159 153 Introduction One of the basic stages of information systems (IS) development is a modeling of business processes of the organization. CA Erwin Process Modeler is one of the popular design tools of business processes. This tool uses methodology of the IDEF0. IDEF0 is a system’s functional model, which describes a complex of system functions and defines system morphology (its structure) – composition of the subsystems, their relationship. This model regards the system as a set of operations; each of them converts some object or collection of objects [1]. In this article a new approach to the conversion IDEF0-diagram into MySQL database (DB) by analysis of *.XML file is proposed. This approach is used to include business processes diagram data to IS as a structural part with subsequent distribution between departments of company. Purpose of the research is approach development to the conversion IDEF0-diagram to DB by analysis of *.XML file.


Introduction
The next stage is recognition of name and links between functional blocks and interface arrows in *.XML file.
Information about interface arrows groups, which are used in this model, is presented within the tag <PMArrow_Groups>… </PMArrow_Groups>. Description of arrows' properties and identification of each arrow are presented within tag <PMArrow id="…" Name="…">...</PMArrow>. In this tag it is assigned unique id and Name for every interface arrow. "Name" conforms the "Arrow Name" of interface arrow, which user sets in process diagram creation by program CA Erwin Process Modeler.
Information about functional blocks groups, which are used in this model, is presented within the tag <PMActivity_Groups>… </PMActivity_Groups >. The description of functions and identification of each blocks are presented within tag <PMActivity id="…" Name="…">...</PMActivity>. This functional block is assigned unique id and Name. "Name" is the name of the user-defined in "Activity Properties" for functional block at the stage of diagram creating in the program CA Erwin Process Modeler.
One of the main features of IDEF0-diagram is a principle of compound functional blocks decomposition on simpler blocks on the new diagram. The new diagram is a child diagram, and its functional blocks are child blocks, which present subfunctions of the parent-block of parent-diagram. Each of functions of the child diagram can be detailed by decomposition of the corresponding functional block [2].
Each of the four sides of the functional block has a certain value (the role) and defines the type of interface, i.e. a way of interaction of arrow with block: the upper side means "Control", the left side means "Input", the right side means "Output", the bottom side means "Mechanism" [3]. In the *.XML file each of the functional block sides is assigned the numerical value received relative to the origin of coordinates, located in the upper left corner. This numerical values are assigned for left, upper, right and bottom sides within the following tags: <PMBoxCoordinates member_name="left"> … </PMBoxCoordinates>, <PMBoxCoordinates member_name="top"> … </PMBoxCoordinates>, <PMBoxCoordinates member_name="right"> … </PMBoxCoordinates>, <PMBoxCoordinates mem-ber_name="bottom"> … </PMBoxCoordinates> accordingly. These tags are situated within the tag <PMBoxProps>...</PMBoxProps>.
For the functional block identification, within tag <PMBoxProps>...</PMBoxProps> also is situated the tag <PMActivityRef>…</PMActivityRef>, in which text coincides with id, represented in the tag <PMActivity>...</PMActivity>. Thereby, analyzing the content of the tag <PMBox_Groups> ... </PMBox_Groups>, the name and number of the functional blocks and their location on the diagram can be identified.
The first tag contains the dependent tag <PMArrowRef>…</PMArrowRef>, which contains the id, which is identical to text within the tag <PMArrow>...</PMArrow>. Thereby, one can identify the interface arrow's name, which is used within the scope of the diagram.
The tags <PMSourceConnectionRef>…</PMSourceConnectionRef>, <PMSinkConnectionRef>… </PMSinkConnectionRef> are used for direction identification of interface arrows. These tags indicate to the start and the end of interface arrows accordingly and are situated within the tag <PMArrowSeg-ment_Groups>...</PMArrowSegment_Groups>. The text within <PMSourceConnectionRef>… </PMSourceConnectionRef> can coincide with the text of document border or with id of functional block <PMBox>…</PMBox>, from which the arrow issues.
Also, the text within <PMSinkConnectionRef>…</PMSinkConnectionRef> can coincide with text of document border or with id of functional block <PMBox>…</PMBox>, from which the arrow enters.
Thereby, analyzing contents of the tag <PMArrowLabel_Groups>...</PMArrowLabel_Groups>, one can identify names and a number of interface arrows of diagram and cooperation of arrows with functional blocks.
Thereby, after analysis the *.XML file, relationship between child and parent diagrams, functional blocks and their decompositions, a number of functional blocks and a number of interface arrows in the scope of the diagram can be detected.

DB structure development
On the next stage, received from *.XML file data are recorded in MySQL DB. The structure of DB is shown on Fig. 2. The main feature of this stage is a realization of relation "one-to-many" between tables by foreign keys. Foreign key is a data column of one table and coincide with primary key (or its part) of another table [4]. The realization of this relation makes it possible to minimize data redundancy and to ensure data integrity.
The DB consists of eight related tables. Addition new or edition existent IDEF0-diagrams is carried out in a table "Model". The model's name (Name_model) and identification number (IFD_model) assigned by CA Erwin Process Modeler are recorded in this table. Attribute AUTO_INCREMENT of column "ID" is used for new rows generation identifier.
The basic table of DB is a table "function". It consists of the functional blocks' names (Name_function) of IDEF0-diagram. The link between tables "function" and "model" is carried out by foreign key (ID_model) and primary key (ID) accordingly.
The identifier (ID_Parent) of functional block and its decompositions is located in a table "Parent". The interface arrows of IDEF0-diagram are represented in tables "input", "output", "mechanism" and "call". Each of these tables consists of three columns: identification number of interface arrow, its name and foreign key, which conforms to primary key of table "function".
The main idea of use of foreign key is use of expressions ON UPDATE CASCADE and ON DELETE CASCADE. Thanks them one can automatically update and delete connection rows of all tables of DB.
Example table "function" creation, using foreign key: CREATE Thereby, DB structure development makes it possible to minimize data redundancy and to ensure data integrity.

Conclusions
1. An approach was purposed to the conversion IDEF0-diagram, created in the business processes design tool CA ERwin Process Modeler, to database by analysis of *.XML file. This enable to include of business processes diagram data in IS as a structural part with subsequent distribution between departments of company.
2. The developed database structure makes it possible to minimize data redundancy and to ensure data integrity.
3. The realization of this approach will enable to transfer organization on new technology and organizational level and make it more competitive in modern economic conditions.