Note: Descriptions are shown in the official language in which they were submitted.
2 1 82354
nA~ARA.c~ DRIVEN AUTOMhTIC PROGRAM ~ODuullON SYSTEM
BA~UUN~ OF THE INVENTION
1. Field of the Invention:
This invention relates to a computer programming
system, and more particularly to a database driven
pLO~L i ng system.
2. Description of the Related Art:
As a typical example of the prior art of a data-
base driven program system, there is an invention
I'Database Driven Program Execution System" disclosed in
Japanese Patent ~aid-open No. 121353/95. In the pro-
gram execution system, pLO~LI ing signifies changing
parameters of a database.
A system which makes use of the program execution
system of the prior art makes it possible, when realiz-
ing the various services defined in an intelligent
network by the driving of a database, for a user to
execute the addition of a new service to the system,
the addition of functions of an existing service and
change of functions of an existing service readily by
merely changing parameters of the database without
changing source codes.
In the program execution system described above,
however, in order to sa-tisfy various demands of many
~ 21~2354
-- 2 --
users, the database structure gradually becomes complex
and advanced. Consequently, when changing parameters
of a database, an operation more complex than describ-
ing source codes of a program tends to be required of a
user. Further, also when it becomes necessary to
change the database structure as a result of a require-
ment of a user to add new functions, a changing of the
database structure cannot readily satisfy the require-
ment of the user, which is another problem of the
program execution system. Furthermore, if the struc-
ture of a àatabase as an object of driving is changed,
a user must change parameters of the database based on
the change in structure, and therefore, a program
produced by the user must be changed. Consequently,
the program execution system has a further problem in
that, as the scale of the system increases, considera-
bly more time is required for a user to change the
program.
5UMMARY OF THE INVENTION
It is an object of the present invention to pro-
vide a database driven automatic program production
system which can change the structure of a driving
database without having an influence on an existing
program produced by a user.
' 2182354
-- 3 --
In order to achieve the object described above, a
database driven automatic program production system of
the present invention, is a program execution system
which has a driving database, a feature program and a
call processing program and executes a computer program
by driving the database and includes a file (hereinaf-
ter referred to as driving database structure defini-
tion file) which defines a driving database structure,
another file (hereinafter referred to as program struc-
ture definition file) which defines a program struc-
ture, a further file (hereinafter referred to as fea-
ture definition file) which defines a feature to be
described in the driving database, and a conversion
program which produces contents of the driving data-
base.
In the database driven automatic program produc-
tion system of the present invention described ahove,
the conversion program may receive as inputs thereto
the driving database structure definition file, the
program structure definition file and the feature
definition file.
Further, in the database driven automatic program
production system of the present invention described
above, when the content.s of the driving database are to
be changed, the contents of at least one of the feature
definition file and the conversion program may be
~ ' 21 82354
-- 4 --
changed, and the driving database and the program
structure definition file may have a relationship
wherein they are independent of each other.
The system of the present invention comprises the
driving database structure definition file, the program
structure definition file, the feature definition file,
and the conversion program which receives as inputs
thereto the driving database structure definition file,
the program structure definition file and the feature
definition file and produces contents of the driving
database. And, the contents of the driving database
are changed by changing the feature definition file
and/or the conversion program, and the driving database
and the program structure definition file are in~epPn~-
ent of each other. Consequently, the user can separate
the program structure definition file from the driving
database structure and perform programming. Further,
even if the driving database structure has been changed
to add functions to meet a new requirement of the user,
the database structure can be changed just by changing
the feature definition file or the conversion program
and the functions can be added without altering the
existing program structure definition file made by the
user.
Further, even if feature pl~L~lllo are added,
modification to the program structure definition file
- ~ 2 ~ 823 54
-- 5 --
produced by the user is unnecessary.
Furthermore, the program structure is checked by
the functions of the conversion program and change in
the driving data base structure is absorbed into the
inside, suppressing influence on the program structure
definition file.
From the foregoing, also the knowledge required
for production of a program is simplified by use of the
feature definition file and the conversion program.
Consequently, the time required for production of
and/or modification to a program is reduced.
Further, it is possible for the user to produce a
program prior to designing of the driving database.
Consequently, the period required for development of a
program i5 reduced.
The above and other objects, features, and advan-
tages of the present invention will become apparent
from the following description based on the accompany-
ing drawing~ which illustrate an example of a preferred
embodiment of the present invention.
BRIEF DESCRIPTION OF THE DRAWINGS
Fig. 1 is a block diagram showing a call process-
ing program system in an intelligent network system in
an embodiment of the present invention;
- ~ ' 2 ~ 82354
.
-- 6 --
Fig. 2 i8 a diagrammatic view showing the struc-
ture of a driving database shown in Fig. l;
Fig. 3 is a diagrammatic view showing the struc-
ture of a feature definition file shown in Fig. l;
Fig. 4 is a diagrammatic view showing the struc-
ture of a program structure definition file shown in
Fig. l;
Fig. 5 is a diagrammatic view showing the struc-
ture of the driving database structure definition file
shown in Fig. 1; and
Fig. 6 is a flow chart illustrating automatic
program production processing in the present embodi-
ment.
DETAILED DESCRIPTION OF TXE Y~r~k~u EN~ODIMENT
An embodiment of the present invention will be de-
scribed below with reference to the drawings.
Fig. 1 is a block diagram showing a call process-
ing program system in an intelligent network system in
an embodiment of the present invention.
The call processing program system shown in Fig. 1
has program structure definition file 1 produced by a
user, feature definition file 2, conversion program 3,
driving database ~, call processing program 5, a plu-
rality of feature programs 6 and driving database
-- 7 --
structure definition file 7.
Program structure definition file 1, feature
definition file 2 and driving database structure defi-
nition file 7 which defines a schema structure of
driving database 4 are inputted to conversion program
3. A predetermined record of driving database 4 is
rewritten by conversion program 3.
If a call connection request is detected by call
processing program 5, then driving database 4, which is
to be executed next, is determined. A first record of
the thus determined driving database 4 is read into
call processing program 5. A plurality of driving
databases 4 may be determined in this case. A feature
name and a call parameter are described in the driving
database record read into call processing program 5.
Feature program 6 which corresponds to a designated
feature described in the driving database record is
called with the designated call parameter into call
processing program 5. A result of the call of feature
program 6 is analyzed by call processing program 5 to
determine a driving database record to be executed
next. Call processing program 5 ends the call process-
ing when no described data remains in driving database
4 or when end data is read out from driving database 4.
Fig. 2 is a diagrammatic view showing the struc-
ture of the driving database shown in Fig. 1. Driving
~ . 2~82354
-- 8 --
database 4 shown in Fig. 2 hafi a plurality of driving
database records 21. Driving database 4 is produced by
conversion program 3 shown in Fig. l. Each driving
database record 21 of driving database 4 has feature
name 22, table of input data 23 indicative of an input
parameter group, table of output data 24 indicative of
an output parameter group, and table of record number
for next execution 25 indicative of driving database
record 21 to be referred to next in accordance with a
return value of a feature. This driving database
record 21 is read into call processing program 5 de-
scribed hereinabove referring to Fig. 1. Further, each
of table of input data 23, table of output data 24 and
table of record number for next execution 25 corre-
sponds to a call parameter described hereinabove refer-
ring to Fig. 1.
The structure of driving database record 21 is not
limited to that described above, and driving database
record 21 may have any other structure depending upon
object processing.
Fig. 3 is a diagrammatic view showing the struc-
ture of the feature definition file shown in Fig. 1.
Feature definition file 2 shown in Fig. 3 has a plural-
ity of feature definition blocks 31. Feature defini-
tion file 2 is referred to by conversion program 3
shown in E'ig. 1. Each feature definition block 31 of
~ ~ 2 1 82354
g
feature definition file 2 has feature name 32, feature
explanation 33 which explains a feature to be referred
to by a user program editor or the like, range table
for input data 34 which defines an effective range of
input data, range table for output data 35 which de-
fines an effective range of output data, and range
table for return value 36 which defines a return value
of a feature.
The structure of feature definition block 31 is
not limited to that described above, and feature defi-
nition block 31 may have any other structure depending
upon object processing.
When a user adds feature program 6 in order to add
functions, by adding feature definition block 31 to
feature definition file 2, the functions can be added
without changing the program.
Fig. 4 is a diagrammatic view showing the struc-
ture of the program structure definition file shown in
Fig. l. Program structure definition file 1 shown in
Fig. 4 has a plurality of definition parts in page 41
and a plurality of feature definition parts 42. Pro-
gram structure definition file 1 is produced by a user
using an editor. In the present embodiment, program
structure definition file 1 is produced using an editor
which employs a graphical user interface. Further,
program structure definition file 1 is constructed in
2 1 82354
-- 10 --
units of a page displayed by the graphic editor and is
described by a combination of definition parts in page
41 for each page. Definition part in page 41 has
figure types 43 and display coordinates of figures in
page 44. Some of figure types 43 have feature defini-
tion part 42. Further, feature definition part 42
includes feature name 45, input parameter 46, output
parameter 47, and figure number for next execution 48.
The structure of program structure definition file
1 is not limited to that described above, and program
structure definition file 1 may have any other struc-
ture depending upon object processing or difference in
editor used.
Further, even when feature program 6 is added in
order to add functions, since program structure defini-
tion file 1 is produced based on feature name 45,
program structure definition file 1 need not be modi-
fied in feature definition part 42 which does not
require added feature program 6.
Fig. 5 is a diagrammatic view showing the struc-
ture of the driving database structure definition file
shown in Fig. 1. Driving database structure definition
file 7 shown in Fig. 5 has conditional part 51 and
detail part 52. Conditional part 51 has information
limiting the structure of driving database 4. Detail
part 52 has a plurality of records indicative of the
~ 21823~4
table structure of driving database 4, and each record
has a column name and an attribute and a size of the
column name. However, the plurality of records are not
independent of each other but are united as detail part
52.
Fig. 6 is a flow chart illustrating automatic
program production processing in the present embodi-
ment. The automatic program production processing in
Fig. 1 will be described below with reference to Fig.
6.
By way of outline of processing, driving database
structure definition file 7 is inputted to conversion
program 3 (step 610; hereinafter referred to as S610),
and feature definition block 31 of feature definition
file 2 is inputted to conversion program 3, where proc-
essing is executed (S621 to S624), thereafter program
structure definition file 1 is inputted to conversion
program 3 and converted into a file of the structure of
driving database 4 and then stored into the driving
database 4 (S631 to S635).
Details of the processing will be described. When
a program is started, processlng is started. First,
driving database structure definition file 7 is input-
ted to conversion program 3 and read and stored into a
memory of a computer (not shown) on which conversion
program 3 is to be executed (5610).
2 1 ~2354
- 12 -
Then, it is det~rmin~ whether or not all feature
definition blocks 31 have been inputted to conversion
program 3 and read into the memory of the above-men-
tioned computer on which conversion program 3 is to be
executed (S621). If some feature definition block 31
for which reading in has not been completed remains,
then it is read in (S622). It i6 de~rmin~d whether or
not feature definition block 31 read in has a feature
structure corresponding to the structure of driving
database structure definition file 7 read in at S610
(S623). If an error is detected, then the process
sequence returns to S621 in order to read in next
feature definition block 31. An error here means, for
example, that the number of input parameters of feature
definition block 31 i8 excesslvely large.
If no error is detected in S623, feature defini-
tion block 31 read in is stored into the memory of the
computer on which conversion program 3 is to be execut-
ed (S624), and then the process sequence returns to
S621 in order to read in next feature definition block
31.
If it is determined in S621 that reading in of all
feature definition blocks 31 is completed, then it is
determined whether or not all program structure defini-
tion files 1 are inputted to conversion program 3 and
read into the memory of the above-mentioned computer on
- 13 - 2182354
which conversion program ~ is to be executed (5631).
If some program structure definition file 1 for which
reading in is not completed remains, then reading in of
program structure definition file 1 is performed
(S632). It is det~rmin~ whether or not program struc-
ture definition filQ 1 read in meets the conditions of
feature definition file 2 read in at S622 (5633). If
an error i.s detected, then the process sequence returns
to 5631 in order to continue reading in of next program
structure definition file 1.
If no error is detected in S633, program structure
definition file 1 is converted into a file of the
structure of driving database 4 (5634). Converted
information is stored into driving database 4 (5635),
and the process sequence returns to 5631 in order to
read in next program structure definition file 1.
If it is determined in S631 that reading in of all
program structure definition files 1 is completed, the
processing is ended.
It is to be understood that although the charac-
teristics and advantages of the present invention have
been set forth in the foregoing description, the dis-
closure is illustrative only, and changes may be made
in the shape, size, and arrangement of the parts within
the scope of the appended claims.