WO2003081427A1 - Knowledge re-use system - Google Patents
Knowledge re-use system Download PDFInfo
- Publication number
- WO2003081427A1 WO2003081427A1 PCT/JP2003/003535 JP0303535W WO03081427A1 WO 2003081427 A1 WO2003081427 A1 WO 2003081427A1 JP 0303535 W JP0303535 W JP 0303535W WO 03081427 A1 WO03081427 A1 WO 03081427A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- program
- knowledge
- generation
- generating
- digitized
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/36—Software reuse
Definitions
- the present invention relates to a knowledge reuse system that reuses an existing program when developing the program and supports the development of the program.
- the CAS E tool is a development support tool that aims to streamline system development work among multiple programmers (hereinafter, developers).
- a typical example of the CALSE tool is a product sold by Nippon Rational Software Co., Ltd., which is named Ration1Rose.
- the IDE Tool is a development support tool that aims to perform multiple development environments required for developing programs such as editors, compilers, and debuggers in one integrated development environment.
- a typical example of an IDE tool is Microsoft Co., Ltd.'s product, MicrososftVistualStudio.
- a physical feature is a variable, class, method, data, or the like in a program or database.
- program templates are generated from either physical or logical features, so that features such as variables can be expressed only from one side (physical features or logical features). As a result, efficient and highly complete program templates have not been generated.
- the present inventor has recorded the logical and physical characteristics of a program in a machine-readable and human-readable form, and independently recorded from a specific development tool or program.
- various generation methods based on computerized knowledge By separating the generation format from the development tools, it is possible to generate program parts (executable program templates) in most arbitrary programs by switching the generation format. Furthermore, since the digitized knowledge is human-readable, it can be created by directly describing the design and implementation methods of the program without using the face-to-face formalizing function. That is, it is possible to create and update computerized knowledge using an editor usually provided in a computer, and to design and create a template of an executable program.
- the invention according to claim 1 is a knowledge reuse system that automatically generates a model of a program executable on a computer, and reads a program and / or a database, and reads the read program and / or ⁇
- a knowledge reuse system having means.
- a developer by reading at least one or more program Z databases, a developer can accumulate physical and logical characteristics of the public information as digitized knowledge. Then, based on the accumulated electronic knowledge, the developer specifies what program is necessary, and based on the physical and logical characteristics of the electronic knowledge, efficient and accurate Automatic generation of executable program templates becomes possible.
- the invention according to claim 2 is characterized in that the interface formalizing means reads a source program and generates digitized knowledge having physical and logical characteristics of public information in the read source program.
- the invention according to claim 3 is characterized in that the interface formalizing means reads a target program, and generates electronic knowledge having physical and logical characteristics of public information in the read target program. This is a knowledge reuse system having a program interface formalization means.
- the invention according to claim 4 is characterized in that the interface formatting means reads a database, and the electronic knowledge having physical and logical characteristics of the table view in the read database.
- those that can be stored as digitized knowledge include a human-readable source program, Machine-readable target programs and databases can be used.
- the source program indicates a human-readable program such as the source code of the program
- the target program indicates a machine-readable program as a result of compiling the source code of the program.
- the invention according to claim 5 is characterized in that the program means includes at least a predetermined information for automatically generating the computerized knowledge generated by the interface formalizing means, the definition of the program generation method, and a template of an executable program.
- This is a knowledge reuse system that has program generation means for automatically generating a human-readable model of a program based on one or more generation modes.
- the present invention it is possible to automatically generate a human-readable program template based on computerized knowledge and at least a predetermined generation method (generation mode).
- the invention according to claim 6 is a knowledge reuse system, wherein the program means has a purpose program generating means for converting a template of a human-readable program automatically generated by the program generating means into a machine-readable program.
- a template of an automatically generated program can be converted into a machine-readable format, and the developer can execute the converted executable program. All you have to do is use a simple program template.
- the invention according to claim 7 is characterized in that the program generation means adds the digitized knowledge generated by the interface formalization means based on the correction generation style specified in the program generation method definition. And / or correction and / or aggregation to generate the solved digitized knowledge, and the solved digitized knowledge based on the verification generation style specified in the program generation method definition.
- a template generating means for generating a template of a readable program, and a generating rule for generating a configuration rule specified in the definition of the program generation method is applied to the resolved electronic knowledge to generate a program configuration rule.
- This is a knowledge reuse system having program configuration rule generation means.
- the invention according to claim 8 is a knowledge reuse system in which the program and the public information of the Z or the database include at least one of a variable, a class, a method, and a table'view.
- FIG. 1 is a system configuration diagram showing an example of the system configuration of the present invention.
- FIG. 2 is a system configuration diagram showing an example of the system configuration of the present invention.
- FIG. 3 is a flowchart illustrating an example of a process flow of a source (objective) program interface formalizing process
- FIG. 4 is a flowchart illustrating an example of a process flow of an electronic knowledge processing. is there.
- FIG. 5 is a flowchart showing an example of a flow of a process of digitizing knowledge processing.
- FIG. 6 is a flowchart showing an example of a process flow of the electronic knowledge processing.
- FIG. 7 is a flowchart showing an example of a process flow of the modeling information formalizing process.
- FIG. 1 is a system configuration diagram showing an example of the system configuration of the present invention.
- FIG. 2 is a system configuration diagram showing an example of the system configuration of the present invention.
- FIG. 3 is a flowchart illustrating an example of a process flow of
- FIG. 8 is a flowchart showing an example of the flow of the modeling information formalizing process.
- FIG. 9 is a flowchart showing an example of a process flow of a program generation process.
- FIG. 10 is a flowchart showing an example of a process flow of a program generation process.
- FIG. 11 is a flowchart illustrating an example of a process flow of a program generation process.
- FIG. 12 is a diagram showing an example of a source program.
- FIG. 13 is a diagram showing the state after the processing of the public variable.
- FIG. 14 is a diagram showing a state after the processing for the public method.
- FIG. 15 is a diagram showing another example of the public method after processing.
- FIG. 16 is a diagram showing another example of the public method after processing.
- FIG. 17 is a diagram showing another example of the public method after processing.
- FIG. 18 is a diagram showing a definition of a program generation method.
- FIG. 19 is a diagram showing digitized knowledge before additional correction.
- FIG. 20 is a diagram showing digitized knowledge after additional correction.
- FIG. 21 is a diagram showing computerized knowledge when a plurality of computerized knowledge are aggregated into one.
- FIG. 22 is a diagram showing the digitized knowledge after being aggregated into one digitized knowledge.
- Figure 23 is an example of a database.
- FIG. 24 is a diagram showing an example of digitized knowledge generated from a database.
- FIG. 25 shows an example of solved electronic knowledge.
- Figure 26 shows an example of a program generation rule. Brief description of the symbols
- the knowledge reuse system 1 has an interface formalization means 2, a program means 3, electronic knowledge 4, and at least one or more generation modes.
- the interface formalizing means 2 is a means for extracting logical features and physical features from variables, classes, methods, database tables and views in a program, a database, and the like, and generating them as digitized knowledge 4.
- the interface formalizing means 2 has a primitive program interface formalizing means 10, a target program interface formalizing means 11, and a modeling information formalizing means 12.
- the source program interface formalizing means 10 is a means for extracting logical features and physical features from the source program and generating it as digitized knowledge 4.
- the source program is a human-readable program such as the source code of the program.
- the purpose program interface formalizing means 1 extracts logical features and physical features from the goal program and converts them into electronic knowledge 4. It is a means for generating.
- the target program is a machine readable result of compiling the source code of the program.
- the modeling information formalizing means 1 2 is a means for extracting logical and physical characteristics from the database and generating it as digitized knowledge 4.
- Means for generating an end-purpose program as a final result that is, a model of an automatically generated executable program which is machine-readable
- the program generating means 13 is means for generating a modified program template and a program configuration rule based on the digitized knowledge 4 generated by the interface formalizing means 2.
- the template of the program generated here indicates a human-readable program, and the program configuration rules refer to the order in which the template of the generated program is compiled in the target program generating means 14 in any order. This is a rule that specifies whether to convert to readable.
- the target program generating means 14 is a means for generating a machine-readable and executable final target program based on the template of the program generated in the program generating means 13 and the program configuration rules. That is, it indicates a compiler or the like.
- the program generation means 13 includes a correction means 15, a verification means 16, a program generation rule generation means 17, a template generation means 18, and a program configuration rule generation means 19.
- the correction means 15 is based on the correction generation format 5 in the program generation method definition specified by the developer, and the physical knowledge lacking in the computerized knowledge 4 generated in the interface formalization method 2 It is a means to add and correct the technical features and logical features, to collect multiple electronic knowledge 4 into one, and to modify the electronic knowledge 4.
- the added, modified, aggregated, and other digitized knowledge 4 is referred to as the resolved digitized knowledge.
- the program generation method definition specified by the developer is defined as This is a code that defines whether you want to generate a simple program template (final purpose program). An example is shown in Fig. 18.
- the verification means 16 is a means for verifying whether or not the solved digitized knowledge is logically compatible, based on the verification generation format 6 in the program generation method definition specified by the developer. It is.
- the program generation rule generation means 17 is a means for applying the resolved computerized knowledge and generating a program generation rule based on the generation rule generation style 7 in the program generation method definition specified by the developer. It is.
- the template generation means 18 This is a means for generating a human-readable model of a program by applying generation format 7.
- the program configuration rule generation means 19 is configured to generate the converted electronic knowledge based on the configuration rule generation generation style 9 in the program generation method definition specified by the developer and the resolved electronic knowledge. This is a means for generating the program configuration rules by applying the configuration rule generation generation style 9 (
- Next, an example of the process flow of the present invention will be described with reference to the flow charts of FIGS. This will be described in detail with reference to the diagram and the system configuration diagram shown in Fig. 2.
- First, an example of a flow of a process for generating the electronic information 4 from the source program, the target program, and the database will be described.
- An example of the process flow when generating digitized knowledge 4 from a program and a target program will be described with reference to the flowcharts in Fig. 3 to Fig. 6.
- the generation of digitized knowledge 4 for a source program is as follows. , In the source program interface formalizing means 10 of the interface formalizing means 2, the generation of computerized knowledge 4 for the target program is performed by the target program interface formalizing means 11 of the interface formalizing means 2. Each process is performed, but the process flow is almost the same. The case of a program will be described. Therefore, in the case of the target program, the processing can be performed by almost the same process in the target program input face formalizing means 11, but the description is omitted for simplification.
- the source program for generating the digitized knowledge 4 is converted to the source program of the interface re-formatting means 2 in the knowledge reuse system 1. It is read by the program interface formalizing means 10 (S100). Figure 12 shows the source program to be read here.
- the source program interface face formatting means 10 that has read the source program acquires class information from the source program (S110). Therefore, in the case of FIG. 12, the class information of T e st C 1 a s s is obtained.
- public information such as public variables and public methods contained therein is extracted (S120).
- the public information indicates that the variables, methods, and the like in each class can be referred to from other classes and can be manipulated as a whole in the program.
- the pub1ic type indicates this. Therefore, for example, the method name of the primitive program shown in FIG. 12 such as setPropl.setProp2, the variable name of prop3, and the like are obtained.
- the public information in the acquired class information is processed to be stored as digitized knowledge 4 (S130). This process will be described later.
- the processing in S110 and S120 is the process of extracting the physical features from the source program, and S130, which will be described later, performs logical processing based on the extracted physical features. This is the process of extracting features.
- Fig. 13 (a) shows an example of adding the physical characteristics of the public variables in the source program in Fig. 12.
- the logical characteristics for example, the type of the variable
- the electronic knowledge attribute information table S210
- An example of adding logical features is shown in Fig. 13 (b).
- the physical feature is long type, so in the JAVA language, 1 ong type means double precision of integer type, so the logical feature is Long I nteger.
- the public variable can be obtained and whether the attribute value can be updated and obtained (That is, information indicating whether the method name can be referred to by a method name starting from set or a method name starting from get) is added to the computerized knowledge attribute information table (S220).
- S220 An example in which S220 is added is shown in FIG. 13 (c). S 2 0 0 Then, the processing of S220 is performed for all the public variables in the class (S2300).
- the computerized knowledge processing for the public method (pu 1 ic type method) is performed. It is determined whether the public method name in the class starts with "set” and whether there is only one argument for the public method (S240), and if the condition is satisfied, the public method is determined.
- the attribute name is derived from the method name (S250). That is, in the source program shown in FIG. 12, the public method of setProp1 is extracted, and propl is derived from the public method as an attribute name.
- Fig. 14 (a) shows this example.
- the physical characteristics of the added public method are added to the digitized knowledge attribute information table (S270), and then a logical characteristic is created from the physical characteristics and added (S280).
- a logical characteristic is created from the physical characteristics and added (S280).
- FIG. 14 (b) shows a state in which physical features are added
- FIG. 14 (c) shows a state in which logical features are added. All of these can be identified and added based on the types, arguments, return values, etc. of the public methods in the source program, in the same way as in the processing for public variables.
- FIG. 15 shows an example in which the same processing is performed on set Prop 2 of the source program shown in FIG.
- the attribute name is derived from the public method name (S310), and it is determined whether the attribute name exists in the digitized knowledge attribute information table (S320), and if not, it must exist. For example, the physical and logical characteristics of the public method are added to the electronic knowledge attribute information table (S330, S340). In addition, the fact that the attribute value can be updated is added to the digitized knowledge attribute information table (S350).
- FIG. 16 shows an example in which the processing from S310 to S340 is performed on getPropl of the source program in FIG. However, for getProp 1, the attribute name prop 1 already exists in the digitized knowledge attribute information table, so the physical and logical features are not processed, and only updatable information is added. Becomes
- the public method names in the class are S240, S300, S
- the public method do Something in the source program shown in Fig. 12 can be used for any of S240, S300, and S360. Since they do not match, the relevant public method name do Someme thing is added to the digitized knowledge operation information table as the operation name. An example of this case is shown in Fig. 17 (a).
- Fig. 17 (b) is an example of adding the physical and logical features of the input information in the public method do Something.
- Fig. 17 (c) is the public method do S This is an example of adding physical and logical characteristics of output information in om ething.
- the process from S240 to S440 is repeated for all the public methods in the class (S450).
- the digitized knowledge attribute information table and the digitized knowledge operation information table become the digitized knowledge 4.
- get is added to the beginning of the method name as a method for transferring a variable or the like to another method, and the method name is obtained as a method for acquiring a variable or the like from the other method.
- set is added at the beginning of the file, it is preferable that this be set so that it can be arbitrarily set as a rule in the processing form of each program.
- Fig. 23 shows an example of a database table to be read here.
- the modeling information formatting means 12 that has read the database acquires the definition information of the designated table / view from the database (S500).
- a table named DAT A-T ABLE from the database is specified by the developer as a processing target of electronic knowledge 4, so that the table DAT A-TABLE must be obtained. Become.
- the column names contained therein are acquired (S510).
- the columns PROP1, PR ⁇ P2, and PROP3 are acquired. Therefore, a logical identifier is derived from the obtained table name and added to the digitized knowledge attribute information table (in this case, DataTabl e).
- the electronic knowledge attribute information table in this state is shown in Fig. 24 (a).
- the table name is extracted as a physical feature and added to the digitized knowledge attribute information table.
- FIG. 24 (b) shows the digitized knowledge attribute information table in this state.
- the physical characteristics in the columns are extracted and added to the digitized knowledge attribute information table (S520). Therefore, in Fig. 23, the column name, type, length, and integer precision are extracted as physical characteristics.
- the column name is PROP1
- the type is VARCHAR
- the length is 256
- the precision is extracted as no data.
- An example of the digitized knowledge attribute information table in this state is shown in Fig. 24 (c).
- the logical characteristics of the columns are derived from the acquired table / view definition information and added to the digitized knowledge attribute information table (S530).
- logical type, length, and vacant element tolerance information are derived and added as logical features. Therefore, the logical type is String (the physical characteristic type is VAR CHAR type, and VAR CHAR type generally means the string type), the length is 256, and the length is empty. No (not permitted) as element permission information.
- unique constraint information is acquired from the definition information of the table and view (S540). If there is a unique constraint (S550), the digitized knowledge attribute information is acquired. Add it to the table (S560). In FIG. 23, since there is a unique constraint, a flag of “1” indicating that there is a unique constraint in the digitized knowledge attribute information table is set. An example of the digitized knowledge attribute information table in this state is shown in Fig. 24 (e). If there is no unique constraint, this information need not be added to the electronic knowledge attribute information table.
- FIGS. 24 (g) and 24 (h) show examples of processing on each column.
- the output format specification file for outputting the computerized knowledge 4 generated in this way is read (S590), and the computerized knowledge 4 is output according to the read output format specification file (S600). ).
- the developer A code that defines whether a template of an executable program is to be generated is specified or coded, and a correction generation format 5 (in this embodiment, R esolve Pattern (Composent. xsl) is obtained (S700).
- Figure 18 shows the program generation method definition.
- the correction generation format 5 adds and corrects physical and logical features, etc., that are missing from the accumulated electronic knowledge 4 to the accumulated electronic knowledge 4.
- a format for integrating the computerized knowledge 4 into one is stored.
- FIGS. 19 and 20 show the digitized knowledge 4 before correction (digitized knowledge 4 created by the interface formalizing means 2), and Fig. 20 shows the correction means 15 as the digitized knowledge of Fig. 19 This is the corrected digitized knowledge 4 created as a result of adding and modifying 4.
- the digitized knowledge 4 described in FIG. 19 lacks logical features such as nam e, ov er v i ew in the identifier of p rop 20. Therefore, for example, when adding the logical feature of the overview, the method of describing the overview in the correction generation format 5 acquired in S700 (the description such as O verviewofidentiferdat atype here) And “identifer” means to add the identifier described in the tag identifer, and "datatype” means to add the data type of the identifier described in the tag data Type.) However, the tag of the logical feature, "overview", is added. Similarly, for physical information, additional correction is performed with reference to correction generation format 5.
- FIG. 21 (a) shows' Electrified knowledge 4 before aggregation, which refers to other electronic knowledge 4 (tag reference).
- FIGS. 21 (b) and (c) show the digitized knowledge 4 on the reference side, and
- FIG. 21 (b) shows Referenced—Probertyl and
- FIG. 21 (c) shows Referenced — P roperty 2.
- the correction means 15 refers to the electronic knowledge 4 and reflects the electronic knowledge 4 in FIGS. 21 (b) and (c) to the electronic knowledge 4 in FIG. 21 (a). , But to one electronic knowledge 4. In this case, since the same electronic knowledge 4 is referred to a plurality of times, it is necessary to recognize the attributes as different attributes because logical consistency is required. Add. By going through such a process, the integrated electronic knowledge 4 shown in Fig. 22 can be obtained.
- the digitized knowledge 4 having better logical consistency is provided to the correction means 15 It is generated in (S710).
- the generated electronic knowledge 4 that is more logically consistent is referred to as resolved electronic knowledge.
- the verification generation format 6 (book In the embodiment, Check Pattern Component. Xs1) is obtained (S720), and the resolved electronic knowledge is verified in accordance with the verification generation mode 6.
- the verification generation format 6 by applying the verification generation format 6 to the resolved electronic knowledge, logical inconsistencies, grammatical errors, etc. can be applied to the resolved electronic knowledge.
- a verification result is generated to determine whether the warning is included or an error (verification result is inappropriate) on the way (S730).
- the verification means 16 notifies the contents of the warning (S750). If the verification result is inappropriate (for example, when an error has occurred) (S760), the content of the invalidity is notified (S770), and the process ends.
- the program generation rule generation means 17 acquires the generation mode 7 for generation rule generation (Generate Generate Ru 1 e .xs 1 in the present embodiment) from the program generation method definition (S 7 8). 0), if the generation style 7 for the generation rule generation can be acquired (S790), a program generation rule is generated by applying the obtained generation style 7 for the generation rule generation to the resolved electronic knowledge. Yes (S800).
- Fig. 25 shows an example of the solved computerized knowledge, and the program generation rules generated as a result of applying the generation format for generation rule generation 7 to the computerized knowledge 4 in the program generation rule generation means 17 are shown. This is shown in Figure 26.
- generation style 7 for generation rule generation defines electronic knowledge for input 4, a generation style to be applied, and a name of a model of an executable program to be output.
- the program generation rule is obtained from the program generation method definition (S810).
- the template generation means 18 obtains the name of the electronic knowledge to be applied (S820), and obtains the obtained electronic knowledge. If the name (TestClass.xm1 in this embodiment) is the same as the digitized knowledge name of digitized knowledge 4 (S830), the resolved digitized knowledge is converted to the digitized knowledge name. It is assumed that the computerized knowledge 4 corresponds to (S840).
- the digitized knowledge name acquired in S820 is the digitized knowledge name of digitized knowledge 4. If it is different from, the computerized knowledge 4 corresponding to the computerized knowledge name is acquired (S850).
- the template generation means 18 generates a program corresponding to the output name of the program based on the computerized knowledge 4 and the program generation format 8 acquired in S840 or S850. That is, the program generation format 8 (Create Alignment Class, xs 1) is obtained from the generation unit of the program generation rule ⁇ , and the obtained program generation format 8 is externally generated according to the contents of the electronic knowledge 4.
- the program generation format 8 (Create Alignment Class, xs 1) is obtained from the generation unit of the program generation rule ⁇ , and the obtained program generation format 8 is externally generated according to the contents of the electronic knowledge 4.
- a reference rule to an externally generated form according to the contents of the digitized knowledge 4 is added to the program generation form 8 (S880).
- the name of the model of the program to be output from each generation unit of the program generation rules (In this embodiment, C Proated Program .java) is acquired (S890), and the digitized knowledge solved in the program generation form 8 (Test in this embodiment, Class.xml)
- the result of the application is output according to the output name of the program template (in the present embodiment, Argument C1 ass 1. java) (S900).
- the template (ArgumentC1ass1.1java) of the program output by the template generating means 18 is a human-readable program to which the electronic knowledge 4 is applied.
- the program configuration rule generation means 19 After completing the processing of each generation unit of the program generation rule, the program configuration rule generation means 19 generates a configuration rule generation format 9 from the program generation method definition (in this embodiment, Generate Bui 1 d Xs1) is read (S920), and the program configuration rules that are the result of applying digitized knowledge 4 to generation style 9 Output according to the output name of the program (S930).
- the program configuration rules generated by the program configuration rule generation means 19 are obtained by compiling the template of the program generated by the template generation means 18 in any order by the target program generation means 14 (from a human-readable program). (Machine-readable), which means a so-called makefile (makefi 1e).
- the target program generation means 14 generates a machine-readable (ie, executable) final program based on the program model generated by the model generation means 18 and the program configuration rules generated by the program configuration rule generation means 19. Generate the target program.
- a machine-readable (ie, executable) final program based on the program model generated by the model generation means 18 and the program configuration rules generated by the program configuration rule generation means 19. Generate the target program.
- the computerized knowledge 4 is generated from the JAVA language or database based on the XML language, and the model of the JAVA language program is generated from the generated computerized knowledge 4 of the XML language.
- the computerized knowledge 4 is generated in a programming language other than that, and the generated computerized knowledge 4 is also a computerized knowledge other than the XML language.
- the program may be generated in step 4, and a template of a program other than the JAVA language may be generated.
- the computerized knowledge 4 of the XML language may be generated from the JAVA language, and the template of the program of the C language may be generated therefrom, or the computerized knowledge 4 of the C language may be generated from the Visua 1 Basic language, From there, a template for the JAVA language program may be generated.
- a model of a program that can be executed via the network is provided. Can be generated.
- Each means and database in the present invention are only logically distinguished in their functions, and may have the same physical or practical area. Also use data files instead of databases Needless to say, the description with the database includes the data file.
- a storage medium storing a program of a program for realizing the functions of the present embodiment is supplied to a system, and a computer of the system reads and executes the program stored in the storage medium to execute the program.
- a computer of the system reads and executes the program stored in the storage medium to execute the program.
- the program itself read from the storage medium implements the functions of the above-described embodiments, and the storage medium storing the program naturally constitutes the present invention.
- a storage medium for supplying the program for example, a magnetic disk, a hard disk, an optical disk, a magneto-optical disk, a magnetic tape, a nonvolatile memory card, and the like can be used.
- the program read from the storage medium is written into the non-volatile or volatile storage means of the function expansion unit inserted into the computer and the function expansion unit connected to the computer
- the program Based on instructions, the function expansion board or the arithmetic processing unit provided in the function expansion unit may perform part or all of the actual processing, and the processing may realize the functions of the above-described embodiments. Is natural. Industrial applicability
- a program generation method based on computerized knowledge from a development tool, by switching a program generation mode, a program template that can be automatically executed in an arbitrary generation mode Can be generated.
- the present invention in addition to the computerized knowledge, by recording the features on the user interface in a centralized manner, it is possible to generate a program for the user interface based on the computerized knowledge.
- a network such as the Internet for the program generation mechanism based on computerized knowledge, it is possible to share and reuse program-related knowledge in real time over the network.
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
A knowledge re-use system for re-using an existing program for developing a program and supporting the development. The knowledge re-use system automatically generates a model of a program executable on a computer. The knowledge re-use system includes interface formalization means for generating electronic knowledge for reading a program and/or a database and having physical characteristic and logical characteristic of public information in the program and/or database which have been read in and program means for automatically generating a model of an executable program according to the electronic knowledge generated, a program generation method definition specified by a developer performing the automatic generation of the model of the executable program, and at least one generation method predetermined for automatic generation of a program.
Description
明 細 書 知識再利用システム 技術分野 Description Knowledge reuse system Technical field
本発明は、 プログラムを開発する際に、 既存のプログラムを再利 用し、 その開発支援を行う知識再利用システムに関する。 背景技術 The present invention relates to a knowledge reuse system that reuses an existing program when developing the program and supports the development of the program. Background art
プログラムが近年高度化 · 大規模化するのに伴い、 プログラムを 開発する 為 の C A S E ツ ール ( Computer Aided Software Engineering ) 、 I D E ッ 一 レ ( Intergrated Development Environment) 等の開発支援ツールが存在している。 As programs have become more sophisticated and larger in recent years, there are development support tools such as CASE tools (Computer Aided Software Engineering) and IDE tools (Intergrated Development Environment) for developing programs. .
CAS Eツールは、 複数のプログラマー (以下、 開発者) 間でシ ステム開発作業の処理を効率化することを目的とする開発支援ッ一 ルである。 C A S Eツールの代表的な例としては、 日本ラショナル ソフ トウェア株式会社の販売する製品である、 R a t i o n a 1 R o s eがその一例として挙げられる。 The CAS E tool is a development support tool that aims to streamline system development work among multiple programmers (hereinafter, developers). A typical example of the CALSE tool is a product sold by Nippon Rational Software Co., Ltd., which is named Ration1Rose.
I DEツールは、 エディ夕、 コンパイラ、 デバッガ等のプロダラ ムを開発する際に必要となる複数の開発環境を、 統合された一つの 開発環境で行うことを目的とする開発支援ツールである。 I D E ツールの代表的な例としては、 マイクロソフト株式会社の販売する 製品である、 M i c r o s o f t V i s u a l S t u d i oが その一例として挙げられる。 The IDE Tool is a development support tool that aims to perform multiple development environments required for developing programs such as editors, compilers, and debuggers in one integrated development environment. A typical example of an IDE tool is Microsoft Co., Ltd.'s product, MicrososftVistualStudio.
これらの開発支援ツールを用いることによって、 プログラムの論 理的特徴、 物理的特徴のいずれか一方に限定された情報を管理する ことが可能となり、 プログラムの雛形を生成する機能を実現してい る。 By using these development support tools, it is possible to manage information limited to one of the logical and physical characteristics of the program, realizing the function of generating a program template.
尚、 本明細書に於いて物理的特徴とは、 プログラム、 データべ一 ス中に於いて、 変数、 クラス、 メソッ ド、 データ等がそれ自体で特
徵づけられるものを意味し、 論理的特徴とは、 変数、 クラス、 メソッ ド、 データ等が他の変数、 クラス、 メソッ ド、 データ等との関係で 特徴づけられるものを意味している。 又物理的特徴には、 変数、 メ ソッ ド等と関係づけられるものもある。 In this specification, a physical feature is a variable, class, method, data, or the like in a program or database. 論理 Means that can be assigned, and the logical feature means that a variable, class, method, data, etc. can be characterized in relation to other variables, classes, methods, data, etc. Some of the physical features are associated with variables, methods, and so on.
しかし上記開発支援ツール等を用いた場合であっても、 プロダラ ムの構成要素が有する論理的特徴、 物理的特徴が一体となって表現 する方法が実現されていない為、 業務知識やプログラム実現化知識 とプログラムとの間でプログラムの知識を相互に自動的に利用する ことが不可能である。 つまり、 従来の開発支援ツールでは、 物理的 特徴、 論理的特徴のいずれか一方からプログラムの雛形を生成して いるので、 変数等の特徴が一面 (物理的特徴もしくは論理的特徴) からしか表現できず、 効率的で完成度の高いプログラムの雛形が生 成できていない。 However, even if the above development support tools are used, the method of expressing the logical and physical characteristics of the program components as a unit has not been realized, so business knowledge and program realization are not realized. It is not possible for a knowledge and a program to automatically and mutually utilize the knowledge of the program. In other words, in conventional development support tools, program templates are generated from either physical or logical features, so that features such as variables can be expressed only from one side (physical features or logical features). As a result, efficient and highly complete program templates have not been generated.
又、 プログラムの物理的特徴に基づいてプログラムを生成する機 能が組み込まれている場合、 その具体的な生成方法が開発支援ツー ル内に組み込まれており、 プログラム実現方法に適した生成方法へ 開発者が任意に変更することが不可能である。 In addition, when the function to generate a program based on the physical characteristics of the program is incorporated, the specific method of generation is incorporated in the development support tool, and the generation method suitable for the program implementation method is changed. It is impossible for the developer to make any changes.
更に、 プログラムのインターフェイスで入出力されるデータ項目 にユーザィンターフェイス上の特徴を記述できない為にプログラム にあわせてユーザィンタ一フェイス用のプログラムを開発者が人的 に作成しなければならず、 迅速な検証が困難である。 発明の開示 Furthermore, since the characteristics of the user interface cannot be described in the data items input / output through the program interface, the developer must manually create a program for the user interface in accordance with the program, and the Verification is difficult. Disclosure of the invention
そこで本発明者は、 プログラムの論理的特徴と物理的特徴とを機 械可読且つ人間可読の形式で記録し、 且つ特定の開発ツールやプロ グラムから独立させて一元的に記録することによって、 プログラム に関する知識 (以下、 電子化知識) をプログラム開発の全ての工程 で相互利用可能とし、 変数等を物理的特徴と論理的特徴の両面から 雛形を生成する知識再利用システムを発明した。 Therefore, the present inventor has recorded the logical and physical characteristics of a program in a machine-readable and human-readable form, and independently recorded from a specific development tool or program. We have invented a knowledge reuse system that makes knowledge about knowledge (hereinafter referred to as “electronic knowledge”) interchangeable in all processes of program development, and generates templates from both physical and logical characteristics of variables and the like.
本発明に於いて、 電子化知識に基づく各種の生成方法 (以下、 生
成様式とする) を開発ツールから分離することにより、 当該生成様 式を切り替えることでプログラムの大部分を任意の生成様式でプロ グラム部品 (実行可能なプログラムの雛形) の生成が可能となる。 更に電子化知識は、 人間可読である為ィン夕一フェイス形式化機 能を用いずに直接プログラムの設計 · 実装方法を記して作成するこ とも可能である。 即ち通常コンピュータに具備されているエディタ を利用して電子化知識を作成 Z更新して、 実行可能なプログラムの 雛形を設計 作成していく ことも可能となる。 In the present invention, various generation methods based on computerized knowledge By separating the generation format from the development tools, it is possible to generate program parts (executable program templates) in most arbitrary programs by switching the generation format. Furthermore, since the digitized knowledge is human-readable, it can be created by directly describing the design and implementation methods of the program without using the face-to-face formalizing function. That is, it is possible to create and update computerized knowledge using an editor usually provided in a computer, and to design and create a template of an executable program.
請求の範囲 1の発明は、 コンピュータ上に於いて実行可能なプロ グラムの雛形を自動生成する知識再利用システムであって、 プログ ラム及び/又はデータベースを読み込み、 前記読み込んだプロダラ ム及び/ ^又はデータベースに於ける公開情報の物理的特徴と論理的 特徴とを有する電子化知識を生成するィンターフェイス形式化手段 と、 前記生成した電子化知識と、 実行可能なプログラムの雛形の自 動生成を行わせる開発者が指定したプログラム生成方式定義と、 プ 口グラムを自動生成する為の予め定められた少なくとも一以上の生 成様式とに基づいて、 前記実行可能なプログラムの雛形を自動生成 するプログラム手段とを有する知識再利用システムである。 The invention according to claim 1 is a knowledge reuse system that automatically generates a model of a program executable on a computer, and reads a program and / or a database, and reads the read program and / or ^ An interface formalizing means for generating digitized knowledge having physical and logical characteristics of public information in a database; and automatically generating the generated digitized knowledge and a template of an executable program. A program that automatically generates a template of the executable program based on a program generation method definition specified by a developer to be executed and at least one or more predetermined generation modes for automatically generating a program. And a knowledge reuse system having means.
本発明によって、開発者は、少なく とも一以上のプログラム Zデー 夕ベースを読み込ませておく ことによって、 その公開情報に関する 物理的特徴、 論理的特徴を電子化知識として蓄積することが可能と なる。 そして、 蓄積した電子化知識に基づいて、 開発者がどのよう なプログラムが必要かを指定することによって、 この電子化知識の 物理的特徴と論理的特徴とに基づいて、 効率的で精度の良い実行可 能なプログラムの雛形の自動生成が可能となる。 According to the present invention, by reading at least one or more program Z databases, a developer can accumulate physical and logical characteristics of the public information as digitized knowledge. Then, based on the accumulated electronic knowledge, the developer specifies what program is necessary, and based on the physical and logical characteristics of the electronic knowledge, efficient and accurate Automatic generation of executable program templates becomes possible.
請求の範囲 2の発明は、 前記インターフェイス形式化手段は、 原 始プログラムを読み込み、 前記読み込んだ原始プログラムに於ける 公開情報の物理的特徴と論理的特徴とを有する電子化知識を生成す る原始プログラムィンタ一フェイス形式化手段を有する知識再利用 システムでめる。
請求の範囲 3の発明は、 前記インターフェイス形式化手段は、 目 的プログラムを読み込み、 前記読み込んだ目的プログラムに於ける 公開情報の物理的特徴と論理的特徴とを有する電子化知識を生成す る目的プログラムィンターフェイス形式化手段を有する知識再利用 システムである。 The invention according to claim 2 is characterized in that the interface formalizing means reads a source program and generates digitized knowledge having physical and logical characteristics of public information in the read source program. Use a knowledge reuse system with program interface formalization means. The invention according to claim 3 is characterized in that the interface formalizing means reads a target program, and generates electronic knowledge having physical and logical characteristics of public information in the read target program. This is a knowledge reuse system having a program interface formalization means.
請求の範囲 4の発明は、前記ィン夕ーフェイス形式化手段は、デー 夕べ一スを読み込み、 前記読み込んだデータベースに於けるテープ ル · ビューの物理的特徴と論理的特徴とを有する電子化知識を生成 するモデリング情報形式化手段を有する知識再利用システムである < 請求の範囲 2から請求の範囲 4の発明によって、 電子化知識とし て蓄積する元となるものには、 人間可読な原始プログラム、 機械可 読な目的プログラム、 データベースを使用することが可能となる。 尚、 ここで原始プログラムとは、 プログラムのソースコード等の人 間可読なものを示しており、目的プログラムとは、プログラムのソー スコード等をコンパイルした結果、 機械可読なものを示している。 請求の範囲 5の発明は、前記プログラム手段は、前記ィンターフェ イス形式化手段で生成した電子化知識と前記プログラム生成方式定 義と実行可能なプログラムの雛形を自動生成する為の予め定められ た少なくとも一以上の生成様式とに基づいて、 人間可読なプロダラ ムの雛形を自動生成するプログラム生成手段を有する知識再利用シ ステムである。 The invention according to claim 4 is characterized in that the interface formatting means reads a database, and the electronic knowledge having physical and logical characteristics of the table view in the read database. Is a knowledge reuse system that has modeling information formalization means for generating the information. <According to the inventions of claims 2 to 4, those that can be stored as digitized knowledge include a human-readable source program, Machine-readable target programs and databases can be used. Here, the source program indicates a human-readable program such as the source code of the program, and the target program indicates a machine-readable program as a result of compiling the source code of the program. The invention according to claim 5 is characterized in that the program means includes at least a predetermined information for automatically generating the computerized knowledge generated by the interface formalizing means, the definition of the program generation method, and a template of an executable program. This is a knowledge reuse system that has program generation means for automatically generating a human-readable model of a program based on one or more generation modes.
本発明によって、 電子化知識と、 予め定められた少なく ともー以 上の生成方法 (生成様式) とに基づいて、 人間可読なプログラムの 雛形の自動生成が可能となる。 According to the present invention, it is possible to automatically generate a human-readable program template based on computerized knowledge and at least a predetermined generation method (generation mode).
請求の範囲 6の発明は、 前記プログラム手段は、 前記プログラム 生成手段に於いて自動生成した人間可読なプログラムの雛形を機械 可読に変換する目的プログラム生成手段を有する知識再利用システ ムである。 The invention according to claim 6 is a knowledge reuse system, wherein the program means has a purpose program generating means for converting a template of a human-readable program automatically generated by the program generating means into a machine-readable program.
本発明によって、 自動生成したプログラムの雛形を機械可読な形 式に変換することが可能となり、 開発者は当該変換された実行可能
なプログラムの雛形を使用するだけで良いこととなる。 According to the present invention, a template of an automatically generated program can be converted into a machine-readable format, and the developer can execute the converted executable program. All you have to do is use a simple program template.
請求の範囲 7の発明は、 前記プログラム生成手段は、 前記プログ ラム生成方式定義に於いて指定されている補正用生成様式に基づい て、 前記ィンターフェイス形式化手段で生成した電子化知識の追加 及び 又は修正及び 又は集約を行い、 解決された電子化知識を生 成する補正手段と、 前記プログラム生成方式定義に於いて指定され ている検証用生成様式に基づいて、 前記解決された電子化知識の検 証を行う検証手段と、 前記解決された電子化知識に、 前記プロダラ ム生成方式定義に於いて指定されている生成規則生成用生成様式を 適用しプログラム生成規則を生成するプログラム生成規則生成手段 と、 前記プログラム生成方式定義に於いて指定されているプロダラ ム生成様式と前記生成したプログラム生成規則とに基づいて、 人間 可読なプログラムの雛形を生成する雛形生成手段と、 前記解決され た電子化知識に、 前記プログラム生成方式定義に於いて指定されて いる構成規則生成用生成様式を適用しプログラム構成規則を生成す るプログラム構成規則生成手段とを有する知識再利用システムであ る。 The invention according to claim 7 is characterized in that the program generation means adds the digitized knowledge generated by the interface formalization means based on the correction generation style specified in the program generation method definition. And / or correction and / or aggregation to generate the solved digitized knowledge, and the solved digitized knowledge based on the verification generation style specified in the program generation method definition. Verifying means for verifying the program, and generating a program generation rule by applying the generation style for generation rule generation specified in the program generation method definition to the resolved digitized knowledge. Means, based on a program generation style specified in the program generation method definition and the generated program generation rules. A template generating means for generating a template of a readable program, and a generating rule for generating a configuration rule specified in the definition of the program generation method is applied to the resolved electronic knowledge to generate a program configuration rule. This is a knowledge reuse system having program configuration rule generation means.
蓄積された電子化知識が当初から完全なものであることは、 希で ある。 従って、 その使用に際しては、 蓄積した電子化知識を、 開発 者が自動生成を希望するプログラムの雛形に応じた、 補正等を付加 することが好適である。 又付加等されることによって生成された、 解決された電子化知識が論理的整合性等が取れているかどうかを確 認する必要もある。 従ってその検証を行い、 整合性が取れているな らば、 解決された電子化知識に基づいて、 プログラムの雛形を生成 することが好適である。 本発明によってこれらの事項が行え、 より よい精度のプログラムの雛形の自動生成が可能となる。 It is rare that the accumulated electronic knowledge is complete from the beginning. Therefore, when using it, it is preferable to add corrections to the accumulated digitized knowledge according to the model of the program that the developer wants to automatically generate. It is also necessary to confirm whether the solved digitized knowledge generated by the addition is logically consistent. Therefore, if the verification is performed and the consistency is obtained, it is preferable to generate a program template based on the resolved electronic knowledge. According to the present invention, these items can be performed, and a template of a program with better accuracy can be automatically generated.
請求の範囲 8の発明は、 前記プログラム及び Z又はデータベース の公開情報は、 変数、 クラス、 メソッ ド、 テーブル ' ビューの少な くとも一以上を含む知識再利用システムである。
図面の簡単な説明 The invention according to claim 8 is a knowledge reuse system in which the program and the public information of the Z or the database include at least one of a variable, a class, a method, and a table'view. BRIEF DESCRIPTION OF THE FIGURES
第 1図は、 本発明のシステム構成の一例を示すシステム構成図で ある。 第 2図は、 本発明のシステム構成の一例を示すシステム構成 図である。 第 3図は、 原始 (目的) プログラムのインターフェイス 形式化処理のプロセスの流れの一例を示すフローチャート図である, 第 4図は、 電子化知識化処理のプロセスの流れの一例を示すフロー チャート図である。 第 5図は、 電子化知識化処理のプロセスの流れ の一例を示すフローチャート図である。 第 6図は、 電子化知識化処 理のプロセスの流れの一例を示すフローチヤ一ト図である。 第 7図 は、 モデリ ング情報形式化処理のプロセスの流れの一例を示すフ ローチャート図である。 第 8図は、 モデリング情報形式化処理のプ 口セスの流れの一例を示すフローチャート図である。 第 9図は、 プ 口グラム生成処理のプロセスの流れの一例を示すフローチヤ一ト図 である。 第 1 0図は、 プログラム生成処理のプロセスの流れの一例 を示すフローチャート図である。 第 1 1図は、 プログラム生成処理 のプロセスの流れの一例を示すフローチャート図である。 第 1 2図 は、 原始プログラムの一例を示す図である。 第 1 3図は、 公開変数 に対する処理後を示す図である。 第 1 4図は、 公開メソッドに対す る処理後を示す図である。 第 1 5図は、 公開メソッ ドに対する処理 後の他の例を示す図である。 第 1 6図は、 公開メソッ ドに対する処 理後の他の例を示す図である。 第 1 7図は、 公開メソッドに対する 処理後の他の例を示す図である。 第 1 8図は、 プログラム生成方式 定義を示す図である。 第 1 9図は、 追加補正前の電子化知識を示す 図である。 第 2 0図は、 追加補正後の電子化知識を示す図である。 第 2 1図は、 複数の電子化知識を一つに集約する際の電子化知識を 示す図である。 第 2 2図は、 一つの電子化知識に集約した後の電子 化知識を示す図である。 第 2 3図は、 データベースの一例である。 第 2 4図は、 データベースから生成した電子化知識の一例を示す図 である。第 2 5図は、解決された電子化知識の一例を示す。第 2 6図 は、 プログラム生成規則の一例を示す。
符号の簡単な説明 FIG. 1 is a system configuration diagram showing an example of the system configuration of the present invention. FIG. 2 is a system configuration diagram showing an example of the system configuration of the present invention. FIG. 3 is a flowchart illustrating an example of a process flow of a source (objective) program interface formalizing process, and FIG. 4 is a flowchart illustrating an example of a process flow of an electronic knowledge processing. is there. FIG. 5 is a flowchart showing an example of a flow of a process of digitizing knowledge processing. FIG. 6 is a flowchart showing an example of a process flow of the electronic knowledge processing. FIG. 7 is a flowchart showing an example of a process flow of the modeling information formalizing process. FIG. 8 is a flowchart showing an example of the flow of the modeling information formalizing process. FIG. 9 is a flowchart showing an example of a process flow of a program generation process. FIG. 10 is a flowchart showing an example of a process flow of a program generation process. FIG. 11 is a flowchart illustrating an example of a process flow of a program generation process. FIG. 12 is a diagram showing an example of a source program. FIG. 13 is a diagram showing the state after the processing of the public variable. FIG. 14 is a diagram showing a state after the processing for the public method. FIG. 15 is a diagram showing another example of the public method after processing. FIG. 16 is a diagram showing another example of the public method after processing. FIG. 17 is a diagram showing another example of the public method after processing. FIG. 18 is a diagram showing a definition of a program generation method. FIG. 19 is a diagram showing digitized knowledge before additional correction. FIG. 20 is a diagram showing digitized knowledge after additional correction. FIG. 21 is a diagram showing computerized knowledge when a plurality of computerized knowledge are aggregated into one. FIG. 22 is a diagram showing the digitized knowledge after being aggregated into one digitized knowledge. Figure 23 is an example of a database. FIG. 24 is a diagram showing an example of digitized knowledge generated from a database. FIG. 25 shows an example of solved electronic knowledge. Figure 26 shows an example of a program generation rule. Brief description of the symbols
1 :知識再利用システム 2 :ィンターフェイス形式化手段 3 : プログラム手段 4 : 電子化知識 5 : 補正用生成様式 6 : 検証 用生成様式 Ί : 生成規則生成用生成様式 8 : プログラム生成様 式 9 : 構成規則生成用生成様式 1 0 : 原始プログラムインター フェイス形式化手段 1 1 : 目的プログラムインターフェイス形式 化手段 1 2 : モデリング情報形式化手段 1 3 : プログラム生成 手段 1 4 : 目的プログラム生成手段 1 5 : 補正手段 1 6 : 検 証手段 1 7 : プログラム生成規則生成手段 1 8 : 雛形生成手段 1 9 : プログラム構成規則生成手段 発明を実施する為の最良の形態 1: Knowledge reuse system 2: Interface formalization means 3: Program means 4: Electronic knowledge 5: Correction generation style 6: Verification generation style Ί: Generation rule generation style 8: Program generation style 9 : Forming rules for generating composition rules 10 0: Source program interface formalizing means 1 1: Objective program interface formalizing means 1 2: Modeling information formalizing means 1 3: Program generating means 1 4: Objective program generating means 1 5: Correction means 16: Verification means 17: Program generation rule generation means 18: Model generation means 19: Program composition rule generation means Best mode for carrying out the invention
本発明の実施態様のシステム構成の一例を第 1図のシステム構成 図に示す。 知識再利用システム 1 は、 イ ンターフェイス形式化手 段 2とプログラム手段 3と電子化知識 4と少なくとも一以上の生成 様式とを有している。 An example of the system configuration of the embodiment of the present invention is shown in the system configuration diagram of FIG. The knowledge reuse system 1 has an interface formalization means 2, a program means 3, electronic knowledge 4, and at least one or more generation modes.
インターフェイス形式化手段 2は、 プログラム、 データベースに 於ける変数、 クラス、 メソッ ド、 データベースのテーブル ' ビュー 等から、 論理的特徴と物理的特徴とを抽出して電子化知識 4として 生成する手段である。 インターフェイス形式化手段 2は、 原始プロ グラムィン夕ーフェイス形式化手段 1 0 と目的プログラムインター フェイス形式化手段 1 1 とモデリング情報形式化手段 1 2 とを有し ている。 The interface formalizing means 2 is a means for extracting logical features and physical features from variables, classes, methods, database tables and views in a program, a database, and the like, and generating them as digitized knowledge 4. . The interface formalizing means 2 has a primitive program interface formalizing means 10, a target program interface formalizing means 11, and a modeling information formalizing means 12.
原始プログラムインターフェイス形式化手段 1 0は、 原始プログ ラムから論理的特徴と物理的特徴とを抽出して電子化知識 4として 生成する手段である。 尚、 原始プログラムとは、 プログラムのソー スコード等の人間可読なものを示している。 The source program interface formalizing means 10 is a means for extracting logical features and physical features from the source program and generating it as digitized knowledge 4. The source program is a human-readable program such as the source code of the program.
目的プログラムィンターフェイス形式化手段 1 1 は、 目的プログ ラムから論理的特徴と物理的特徴とを抽出して電子化知識 4として
生成する手段である。 尚、 目的プログラムとは、 プログラムのソー スコード等をコンパイル等した結果、機械可読なものを示している。 モデリング情報形式化手段 1 2は、 データベースから論理的特徴 と物理的特徴とを抽出して電子化知識 4として生成する手段である, プログラム手段 3は、 インターフェイス形式化手段 2から生成さ れた電子化知識 4に基づいて、 最終結果物たる最終目的プログラム (即ち自動的に生成された実行可能なプログラムの雛形であって機 械可読のもの) を生成する手段であり、 プログラム生成手段 1 3 と 目的プログラム生成手段 1 4とを有している。 The purpose program interface formalizing means 1 extracts logical features and physical features from the goal program and converts them into electronic knowledge 4. It is a means for generating. The target program is a machine readable result of compiling the source code of the program. The modeling information formalizing means 1 2 is a means for extracting logical and physical characteristics from the database and generating it as digitized knowledge 4. Means for generating an end-purpose program as a final result (that is, a model of an automatically generated executable program which is machine-readable) based on chemical knowledge 4. Object program generating means 14.
プログラム生成手段 1 3は、 インタ一フェイス形式化手段 2で生 成した電子化知識 4に基づいて、 修正等されたプログラムの雛形と プログラム構成規則とを生成する手段である。 ここで生成されるプ ログラムの雛形は、 人間可読なプログラムを示し、 プログラム構成 規則とは、 前記生成したプログラムの雛形を、 どの順番で目的プロ グラム生成手段 1 4に於いてコンパイル等し、 機械可読なものに変 換するかを規定する規則である。 The program generating means 13 is means for generating a modified program template and a program configuration rule based on the digitized knowledge 4 generated by the interface formalizing means 2. The template of the program generated here indicates a human-readable program, and the program configuration rules refer to the order in which the template of the generated program is compiled in the target program generating means 14 in any order. This is a rule that specifies whether to convert to readable.
目的プログラム生成手段 1 4は、 プログラム生成手段 1 3に於い て生成したプログラムの雛形とプログラム構成規則とに基づいて、 機械可読で実行可能な最終目的プログラムを生成する手段である。 即ちコンパイラ等を示す。 The target program generating means 14 is a means for generating a machine-readable and executable final target program based on the template of the program generated in the program generating means 13 and the program configuration rules. That is, it indicates a compiler or the like.
プログラム生成手段 1 3は、 補正手段 1 5 と検証手段 1 6とプロ グラム生成規則生成手段 1 7 と雛形生成手段 1 8 とプログラム構成 規則生成手段 1 9とを有している。 The program generation means 13 includes a correction means 15, a verification means 16, a program generation rule generation means 17, a template generation means 18, and a program configuration rule generation means 19.
補正手段 1 5は、 開発者が指定するプログラム生成方式定義に於 ける補正用生成様式 5 に基づいて、 イ ンターフェイス形式化手 段 2に於いて生成した電子化知識 4に不足している物理的特徴、 論 理的特徴を追加補正、 複数の電子化知識 4を一つに集約し電子化知 識 4を修正等する手段である。 尚ここで追加、 修正、 集約等した電 子化知識 4を、 解決された電子化知識と呼ぶ。 ここで、 開発者が指 定するプログラム生成方式定義とは、 開発者がどのような実行可能
なプログラムの雛形 (最終目的プログラム) を生成したいかを定義 したコードであって、 第 1 8図にその一例を示す。 The correction means 15 is based on the correction generation format 5 in the program generation method definition specified by the developer, and the physical knowledge lacking in the computerized knowledge 4 generated in the interface formalization method 2 It is a means to add and correct the technical features and logical features, to collect multiple electronic knowledge 4 into one, and to modify the electronic knowledge 4. The added, modified, aggregated, and other digitized knowledge 4 is referred to as the resolved digitized knowledge. Here, the program generation method definition specified by the developer is defined as This is a code that defines whether you want to generate a simple program template (final purpose program). An example is shown in Fig. 18.
検証手段 1 6は、 開発者が指定したプログラム生成方式定義に於 ける検証用生成様式 6に基づいて、 前記解決された電子化知識が論 理的に適合であるか否かの検証を行う手段である。 The verification means 16 is a means for verifying whether or not the solved digitized knowledge is logically compatible, based on the verification generation format 6 in the program generation method definition specified by the developer. It is.
プログラム生成規則生成手段 1 7は、 開発者が指定したプロダラ ム生成方式定義に於ける生成規則生成用生成様式 7に基づいて、 解 決された電子化知識を適用しプログラム生成規則を生成する手段で ある。 The program generation rule generation means 17 is a means for applying the resolved computerized knowledge and generating a program generation rule based on the generation rule generation style 7 in the program generation method definition specified by the developer. It is.
雛形生成手段 1 8は、 プログラム生成規則生成手段 1 7で生成し たプログラム生成規則とプログラム生成様式 8と解決された電子化 知識とに基づいて、 解決された電子化知識に、 当該生成規則生成用 生成様式 7を適用し人間可読なプログラムの雛形を生成する手段で ある。 Based on the program generation rules generated by the program generation rule generation means 17 and the program generation format 8 and the resolved electronic knowledge, the template generation means 18 This is a means for generating a human-readable model of a program by applying generation format 7.
プログラム構成規則生成手段 1 9は、 開発者が指定したプロダラ ム生成方式定義に於ける構成規則生成用生成様式 9 と解決された電 子化知識とに基づいて、 解決された電子化知識に、 当該構成規則生 成用生成様式 9を適用しプログラム構成規則を生成する手段である ( 次に本発明のプロセスの流れの一例を第 3図から第 1 1 図のフ 口一チャート図と第 1図及び第 2図のシステム構成図とを用いて詳 細に説明する。 まず原始プログラム、 目的プログラム、 データべ一 スから電子化知, 4を生成するプロセスの流れの一例を示す。 最初 に原始プログラム、 目的プログラムから電子化知識 4を生成する場 合のプロセスの流れの一例を第 3図から第 6図のフローチャート図 を用いて説明する。 尚、 原始プログラムに対する電子化知識 4の生 成は、 インタ一フェイス形式化手段 2の原始プログラムインター フェイス形式化手段 1 0に於いて、 目的プログラムに対する電子化 知識 4の生成は、 インターフェイス形式化手段 2の目的プログラム インタ一フェイス形式化手段 1 1 に於いて各々処理が為されるが、 プロセスの流れはほぼ同一であるので、 本実施例に於いては原始プ
ログラムの場合を説明する。 従って目的プログラムの場合も、 目的 プログラムィン夕一フェイス形式化手段 1 1に於いてほぼ同様のプ 口セスで処理が行えるが、 簡略化の為説明を省略する。 The program configuration rule generation means 19 is configured to generate the converted electronic knowledge based on the configuration rule generation generation style 9 in the program generation method definition specified by the developer and the resolved electronic knowledge. This is a means for generating the program configuration rules by applying the configuration rule generation generation style 9 ( Next, an example of the process flow of the present invention will be described with reference to the flow charts of FIGS. This will be described in detail with reference to the diagram and the system configuration diagram shown in Fig. 2. First, an example of a flow of a process for generating the electronic information 4 from the source program, the target program, and the database will be described. An example of the process flow when generating digitized knowledge 4 from a program and a target program will be described with reference to the flowcharts in Fig. 3 to Fig. 6. The generation of digitized knowledge 4 for a source program is as follows. , In the source program interface formalizing means 10 of the interface formalizing means 2, the generation of computerized knowledge 4 for the target program is performed by the target program interface formalizing means 11 of the interface formalizing means 2. Each process is performed, but the process flow is almost the same. The case of a program will be described. Therefore, in the case of the target program, the processing can be performed by almost the same process in the target program input face formalizing means 11, but the description is omitted for simplification.
電子化知識 4を生成することを希望する際には、 その電子化知識 4を生成する為の元となる原始プログラムを知識再利用システム 1 に於けるイ ン夕一フェイス形式化手段 2の原始プログラムイン ターフェイス形式化手段 1 0に読み込ませる (S 1 0 0)。 ここで読 み込ませる元となる原始プログラムを第 1 2図とする。 When it is desired to generate the digitized knowledge 4, the source program for generating the digitized knowledge 4 is converted to the source program of the interface re-formatting means 2 in the knowledge reuse system 1. It is read by the program interface formalizing means 10 (S100). Figure 12 shows the source program to be read here.
原始プログラムを読み込んだ原始プログラムィンタ一フェイス形 式化手段 1 0は、当該原始プログラムからクラス情報を取得する(S 1 1 0)。従って第 1 2図の場合に於いては、 T e s t C 1 a s sの クラス情報を取得する。 The source program interface face formatting means 10 that has read the source program acquires class information from the source program (S110). Therefore, in the case of FIG. 12, the class information of T e st C 1 a s s is obtained.
取得したクラス情報の中から、 そこに含まれている公開変数、 公 開メソッ ド等の公開情報を抽出する (S 1 2 0)。 ここで公開情報と は、 各クラスに於ける変数、 メソッ ド等が、 他のクラスから参照等 可能なものであって、 プログラム中に於いて全体的に操作可能なも のを示し、 例えば J AVA言語 ( J A V Aはサン · マイクロシステ ムズ ·インコーポレ一テツ ドの登録商標である。以下同様)では p u b 1 i c型がそれを示している。 従って例えば第 1 2図の原始プロ グラムの関数 s e t P r o p l . s e t P r o p 2等のメソッ ド名、 p r o p 3の変数名等を取得することとなる。 From the acquired class information, public information such as public variables and public methods contained therein is extracted (S120). Here, the public information indicates that the variables, methods, and the like in each class can be referred to from other classes and can be manipulated as a whole in the program. In the AVA language (JAVA is a registered trademark of Sun Microsystems, Inc .; and so forth), the pub1ic type indicates this. Therefore, for example, the method name of the primitive program shown in FIG. 12 such as setPropl.setProp2, the variable name of prop3, and the like are obtained.
取得したクラス情報に於ける公開情報に対して、 電子化知識 4と して蓄積する為の処理を行う( S 1 3 0 )。このプロセスは後述する。 The public information in the acquired class information is processed to be stored as digitized knowledge 4 (S130). This process will be described later.
S 1 0 0から S 1 3 0のクラスに於ける電子化知識 4の蓄積を、 原始プログラム中の全てのクラス情報を取得するまで反復し (S The accumulation of digitized knowledge 4 in the classes S100 to S130 is repeated until all the class information in the source program is obtained (S
1 4 0)、 電子化知識 4として原始プログラムから蓄積する。 尚、 本 明細書に於いては、 J A V A言語を原始プログラムの例として取り 上げたため、 クラス毎に処理をすることとなっているが、 当然のこ とながら、 他のオブジェク ト指向言語、 オブジェク ト指向言語を用 いていないプログラミング言語の場合には、 プログラム全体に対す
る処理が完了しているか否かを判別すればよい。 1400), accumulated from the source program as computerized knowledge 4. In this specification, since the JAVA language is taken as an example of a source program, processing is performed for each class. However, naturally, other object-oriented languages and object programs are used. For programming languages that do not use an oriented language, What is necessary is just to determine whether the process is completed.
S 1 1 0から S 1 4 0を反復することによって生成した電子化知 識 4を保存する為の出力形式を定義した外部ファイルを取得し (S 1 5 0 )、取得した定義の形式に基づいて電子化知識 4の出力を行う ( S 1 6 0 )。 Obtain an external file that defines the output format for saving the digitized knowledge 4 generated by repeating S 1 0 to S 1 4 0 (S 1 50), and based on the obtained definition format To output the digitized knowledge 4 (S160).
以上のように S 1 1 0及び S 1 2 0に於ける処理が原始プログラ ムから物理的特徴を抽出するプロセスであり、後述する S 1 3 0が、 抽出した物理的特徴に基づいて論理的特徴を抽出するプロセスとな る。 As described above, the processing in S110 and S120 is the process of extracting the physical features from the source program, and S130, which will be described later, performs logical processing based on the extracted physical features. This is the process of extracting features.
次に S 1 3 0に於ける公開情報の電子化知識化処理のプロセスの 流れを第 4図から第 6図のフローチャート図を用いて説明する。 Next, the flow of the process of digitizing knowledge of public information in S130 will be described with reference to the flowcharts of FIGS.
S 1 1 0及び S 1 2 0に於いて抽出したクラスに於ける公開変数 の物理的特徴を電子化知識属性情報テーブルに追加する(S 2 0 0 ) , 第 1 2図の原始プログラムの例では、 p r o p 3が公開変数 (p u b 1 i c型)であるので、この変数に対する物理的特徴を追加する。 第 1 2図の原始プログラムに於いて、 公開変数の物理的特徴を追加 した例を第 1 3図の ( a ) に示す。 Add the physical characteristics of the public variables in the classes extracted in S110 and S120 to the digitized knowledge attribute information table (S200), and an example of the source program in Fig. 12 Now, prop 3 is a public variable (pub 1 ic type), so we will add a physical feature to this variable. Fig. 13 (a) shows an example of adding the physical characteristics of the public variables in the source program in Fig. 12.
S 2 0 0に於いて追加した公開変数の物理的特徴に基づいて、 そ の公開変数の論理的特徴 (例えば、 変数の型等) を電子化知識属性 情報テーブルに追加する (S 2 1 0 )。論理的特徴を追加した例を第 1 3図の (b ) に示す。 第 1 2図の例では、 物理的特徴が l o n g 型であるので、 J A V A言語に於いては 1 o n g型は整数型の倍精 度を意味しているので、 論理的特徴としては、 L o n g I n t e g e rとなる。 Based on the physical characteristics of the public variable added in S200, the logical characteristics (for example, the type of the variable) of the public variable are added to the electronic knowledge attribute information table (S210) ). An example of adding logical features is shown in Fig. 13 (b). In the example of Fig. 12, the physical feature is long type, so in the JAVA language, 1 ong type means double precision of integer type, so the logical feature is Long I nteger.
S 2 0 0及び S 2 1 0に於いて追加した物理的特徴と論理的特徴 とに基づいて、 当該公開変数が取得可能である旨と属性値の更新及 び取得が可能であるか否かの情報 (即ち s e tから始まるメソッ ド 名で参照可能か、 g e tから始まるメソッ ド名で参照可能かを示す 情報) を、 電子化知識属性情報テーブルに追加する (S 2 2 0 )。 S 2 2 0の追加を行った例を第 1 3図の ( c ) に示す。 S 2 0 0か
ら S 2 2 0の処理を、 クラスに於ける公開変数全てに対して行う ( S 2 3 0 )。 Based on the physical and logical features added in S200 and S210, the public variable can be obtained and whether the attribute value can be updated and obtained (That is, information indicating whether the method name can be referred to by a method name starting from set or a method name starting from get) is added to the computerized knowledge attribute information table (S220). An example in which S220 is added is shown in FIG. 13 (c). S 2 0 0 Then, the processing of S220 is performed for all the public variables in the class (S2300).
公開変数に対する電子化知識化処理終了後、 次に公開メソッ ド (p u 1 i c型のメソッ ド) に対する電子化知識化処理を行う。 クラスに於ける、 公開メソッ ド名が s e tで始まり且つ、 当該公 開メソッ ドに対する引数が一つであるか否かを判断し (S 24 0 )、 条件を満たしている場合には、 当該公開メソッ ド名から属性名を導 出する (S 2 5 0 )。 即ち、 第 1 2図に於ける原始プログラムでは、 s e t P r o p 1の公開メソッドが抽出され、 当該公開メソッ ドか ら、属性名として p r o p lが導出されることとなる。第 1 4図( a) にこの例を示す。 After the completion of the computerized knowledge processing for the public variables, the computerized knowledge processing for the public method (pu 1 ic type method) is performed. It is determined whether the public method name in the class starts with "set" and whether there is only one argument for the public method (S240), and if the condition is satisfied, the public method is determined. The attribute name is derived from the method name (S250). That is, in the source program shown in FIG. 12, the public method of setProp1 is extracted, and propl is derived from the public method as an attribute name. Fig. 14 (a) shows this example.
S 2 5 0に於いて導出した属性名が、 電子化知識属性情報テープ ルに存在するか否かを判断し (S 2 6 0 )、 存在しなければ、 当該導 出した属性名を電子化知識属性情報テーブルに追加する。ここでは、 既に電子化知識 4として蓄積されている電子化知識属性情報テープ ルに p r o p lは、 蓄積されていない (電子化知識属性情報テ一ブ ルには p r o p 3のみ蓄積されている) ので、 電子化知識 4として 新たに p r o p lを追加する。 It is determined whether or not the attribute name derived in S250 exists in the digitized knowledge attribute information table (S260), and if not, the derived attribute name is digitized. Add to the knowledge attribute information table. Here, propl is not stored in the digitized knowledge attribute information table already stored as digitized knowledge 4 (only prop 3 is stored in the digitized knowledge attribute information table). Add propl as computerized knowledge 4.
追加した公開メソッ ドの物理的特徴を、 当該電子化知識属性情報 テーブルに追加し (S 2 7 0 )、 その後、 当該物理的特徴から論理的 特徴を作成し追加する ( S 2 8 0 )。第 1 2図の原始プログラムの例 では、 第 1 4図 (b)及び( c ) に示した状態となる。 第 1 4図 (b) は物理的特徴を追加した状態であり、 第 1 4図 (c ) は論理的特徴 を追加した状態である。 これらはいずれも原始プログラムに於ける 公開メソッドの型、 引数、 戻り値等から公開変数時の際の処理と同 様に、 判別、 追加が可能である。 The physical characteristics of the added public method are added to the digitized knowledge attribute information table (S270), and then a logical characteristic is created from the physical characteristics and added (S280). In the example of the source program shown in FIG. 12, the state shown in FIGS. 14 (b) and (c) is obtained. FIG. 14 (b) shows a state in which physical features are added, and FIG. 14 (c) shows a state in which logical features are added. All of these can be identified and added based on the types, arguments, return values, etc. of the public methods in the source program, in the same way as in the processing for public variables.
物理的特徴及び論理的特徴の追加後、 電子化知識属性情報テープ ルに属性値更新可能であることを追加する (S 2 9 0 )。 このように S 2 40から S 2 9 0のプロセスを経ることによって、 公開メソッ ドが s e tで始まり、 且つ引数が一つの場合の電子化知識 4の蓄積
を行える。 第 1 2図の原始プログラムの s e t P r o p 2に対して 同様の処理を行った場合の例を第 1 5図に示す。 After the addition of the physical and logical features, the fact that attribute values can be updated is added to the digitized knowledge attribute information table (S290). In this way, through the process from S 240 to S 290, the accumulation of digitized knowledge 4 when the public method starts with set and there is only one argument Can be performed. FIG. 15 shows an example in which the same processing is performed on set Prop 2 of the source program shown in FIG.
次に、 クラスに於ける公開メソッ ド名が g e tで始まり、 且つ引 数があるか否かを判断し ( S 3 0 0 )、 条件を満たす場合には、 S 240から S 2 9 0と同様に当該公開メソッ ド名から属性名を導 出し (S 3 1 0)、 当該属性名が電子化知識属性情報テーブルに存在 しているか否かを判断し (S 3 2 0 )、存在していなければ当該公開 メソッ ドの物理的特徴と論理的特徴とを電子化知識属性情報テープ ルに追加する (S 3 3 0、 S 340 )。 又電子化知識属性情報テープ ルに属性値が更新可能であることを追加する (S 3 5 0 )。第 1 2図 の原始プログラムの g e t P r o p l に対して S 3 1 0から S 340の処理を行った場合の例を第 1 6図に示す。 但し、 g e t P r o p 1は、 既に属性名 p r o p 1が電子化知識属性情報テーブル に存在する為、物理的特徴及び論理的特徴の処理は為されておらず、 更新可能情報のみが追加されることとなる。 Next, it is determined whether the public method name in the class starts with “get” and there is an argument (S300). If the condition is satisfied, the same as S240 to S290 is performed. The attribute name is derived from the public method name (S310), and it is determined whether the attribute name exists in the digitized knowledge attribute information table (S320), and if not, it must exist. For example, the physical and logical characteristics of the public method are added to the electronic knowledge attribute information table (S330, S340). In addition, the fact that the attribute value can be updated is added to the digitized knowledge attribute information table (S350). FIG. 16 shows an example in which the processing from S310 to S340 is performed on getPropl of the source program in FIG. However, for getProp 1, the attribute name prop 1 already exists in the digitized knowledge attribute information table, so the physical and logical features are not processed, and only updatable information is added. Becomes
次にクラスに於ける、 公開メソッ ド名が i sで始まり、 且つ引数 がなく、 且つ戻り値の値が真偽値型であるか否かを判断し ( S 3 6 0 )、 条件を満たす場合には S 2 4 0から S 2 9 0及び S 3 1 0から S 3 5 0と同様のプロセスを行う。即ち、当該公開メソッ ド名から属性名を導出し (S 3 7 0 )、 当該属性名が電子化知識属性 情報テーブルに存在しているか否かを判断し (S 3 8 0 )、 存在して いなければ当該公開メソッ ドの物理的特徴と論理的特徴とを電子化 知識属性情報テーブルに追加する (S 3 9 0、 S 4'0 0)。 又電子化 知識属性情報テーブルに属性値が更新可能であることを追加する ( S 4 1 0 )。 Next, it is determined whether the public method name in the class starts with is, has no arguments, and the return value is a boolean type (S360), and if the condition is satisfied. , A process similar to that of S240 to S290 and S310 to S350 is performed. That is, an attribute name is derived from the public method name (S370), and it is determined whether or not the attribute name exists in the digitized knowledge attribute information table (S380). If not, the physical and logical characteristics of the public method are added to the digitized knowledge attribute information table (S390, S4'00). Also, the fact that the attribute value can be updated is added to the digitized knowledge attribute information table (S410).
クラスに於ける公開メソッ ド名が、 S 2 4 0、 S 3 0 0、 S The public method names in the class are S240, S300, S
3 6 0のいずれの条件にも合致しない場合には、 当該公開メソッド 名を操作名として電子化知識操作情報テーブルに追加する ( SIf none of the conditions in 360 is met, the public method name is added to the digitized knowledge operation information table as an operation name (S
42 0 )。第 1 2図の原始プログラムに於ける、 公開メソッ ド d o S ome t h i n gは、 S 24 0、 S 3 0 0、 S 3 6 0のいずれにも
合致しないので、 当該公開メソッ ド名 d o S ome t h i n gを操 作名として電子化知識操作情報テーブルに追加することとなる。 こ の場合の例を第 1 7図 ( a) に示す。 42 0). The public method do Something in the source program shown in Fig. 12 can be used for any of S240, S300, and S360. Since they do not match, the relevant public method name do Someme thing is added to the digitized knowledge operation information table as the operation name. An example of this case is shown in Fig. 17 (a).
電子化知識操作情報テーブルに追加した公開メソッ ド (この場合 は d o S ome t h i n g) の物理的特徴及び論理的特徴を同様に 電子化知識操作情報テーブルに追加する (S 4 3 0、 S 440 )o こ の場合の例を第 1 7図 (b) 及び ( c ) に示す。 第 1 7図 (b) は 公開メソッド d o S om e t h i n gに於ける入力情報の物理的特 徴及び論理的特徴を追加した例であって、 第 1 7図 ( c ) は公開メ ソッ ド d o S om e t h i n gに於ける出力情報の物理的特徴及び 論理的特徴を追加した例である。 The physical and logical characteristics of the public method (in this case, do Someme thing) added to the digitized knowledge operation information table are similarly added to the digitized knowledge operation information table (S430, S440) o An example of this case is shown in Fig. 17 (b) and (c). Fig. 17 (b) is an example of adding the physical and logical features of the input information in the public method do Something. Fig. 17 (c) is the public method do S This is an example of adding physical and logical characteristics of output information in om ething.
以上のように、 S 24 0から S 440のプロセスを、 クラスに於 ける全ての公開メソッ ドに対して反復する (S 45 0 )。 このように して原始プログラムから物理的特徴と論理的特徴とを具備した電子 化知識 4を蓄積することが可能となる。 即ち電子化知識属性情報 テーブル及び電子化知識操作情報テーブルが電子化知識 4となる。 又、 本発明に於いては、 他のメソッ ドに変数等を引き渡すメソッ ド としてそのメソッ ド名の先頭に g e tを付与し、 他のメソッ ドから 変数等を取得するメソッ ドとしてそのメソッ ド名の先頭に s e t を 付与したが、 これは各プログラムの処理形態に於いて任意に規則 (ルール) として設定できるようにしておくことが好適である。 次に、 ィンターフェイス形式化手段 2のモデリング情報形式化手 段 1 2に於いて、 データベースから電子化知識 4を蓄積する場合の プロセスの流れを第 7図及び第 8図のフローチャート図を用いて詳 細に説明する。 As described above, the process from S240 to S440 is repeated for all the public methods in the class (S450). In this way, it is possible to accumulate electronic knowledge 4 having physical and logical characteristics from a source program. That is, the digitized knowledge attribute information table and the digitized knowledge operation information table become the digitized knowledge 4. Also, in the present invention, get is added to the beginning of the method name as a method for transferring a variable or the like to another method, and the method name is obtained as a method for acquiring a variable or the like from the other method. Although set is added at the beginning of the file, it is preferable that this be set so that it can be arbitrarily set as a rule in the processing form of each program. Next, in the modeling information formalizing means 12 of the interface formalizing means 2, the flow of the process for accumulating the digitized knowledge 4 from the database will be described with reference to the flow charts of FIGS. 7 and 8. This will be explained in detail.
データベースから電子化知識 4を生成することを希望する際には、 その電子化知識 4を生成する元となるデータベースを知識再利用シ ステム 1に於けるィンターフェイス形式化手段 2のモデリング情報 形式化手段 1 2に読み込ませる。 ここで読み込ませるデータべ一ス のテーブル例を第 2 3図に示す。
データベースを読み込んだモデリング情報形式化手段 1 2は、 当 該データベースから指定テーブル ·ビューの定義情報を取得する( S 5 0 0 )。第 2 3図の例ではデータベースからテーブル DAT A— T AB L Eというテーブルが、 電子化知識 4の処理対象として開発者 によって指定されており、 従って、 当該テーブル D AT A— T A B L Eを取得することとなる。 When it is desired to generate the digitized knowledge 4 from the database, the database from which the digitized knowledge 4 is generated is converted into the modeling information format of the interface formalizing means 2 in the knowledge reuse system 1. And read them into the means 1 and 2. Fig. 23 shows an example of a database table to be read here. The modeling information formatting means 12 that has read the database acquires the definition information of the designated table / view from the database (S500). In the example of Fig. 23, a table named DAT A-T ABLE from the database is specified by the developer as a processing target of electronic knowledge 4, so that the table DAT A-TABLE must be obtained. Become.
取得した指定テーブル · ビューの定義情報から、 そこに含まれて いる列名を取得する(S 5 1 0 )。第 2 3図の例では、列 P RO P 1、 P R〇 P 2、 P R OP 3を取得することとなる。従って取得したテ一 ブル名から論理的識別子を導出し、 それを電子化知識属性情報テー ブルに追加する (この場合は、 D a t a T a b l e )。 この状態の電 子化知識属性情報テーブルを第 2 4図 ( a) に示す。 又併せてテー ブル名を物理的特徴として抽出し、 電子化知識属性情報テーブルに 追加する。 この状態の電子化知識属性情報テーブルを第 2 4図(b) に示す。 From the acquired specified table / view definition information, the column names contained therein are acquired (S510). In the example of FIG. 23, the columns PROP1, PR〇P2, and PROP3 are acquired. Therefore, a logical identifier is derived from the obtained table name and added to the digitized knowledge attribute information table (in this case, DataTabl e). The electronic knowledge attribute information table in this state is shown in Fig. 24 (a). At the same time, the table name is extracted as a physical feature and added to the digitized knowledge attribute information table. FIG. 24 (b) shows the digitized knowledge attribute information table in this state.
取得した各列から、 当該列に於ける物理的特徴を抽出し、 電子化 知識属性情報テーブルに追加する (S 5 2 0)。従って第 2 3図に於 いては、 物理的特徴として、 列名、 型、 長さ、 整数値精度を抽出す ることとなる。 列 P ROP 1では、 列名として P RO P 1、 型とし て VARCHAR、 長さとして 2 5 6、 精度はデータなしとして抽 出することとなる。 この状態の電子化知識属性情報テーブルの例を 第 24図 ( c ) に示す。 From each of the acquired columns, the physical characteristics in the columns are extracted and added to the digitized knowledge attribute information table (S520). Therefore, in Fig. 23, the column name, type, length, and integer precision are extracted as physical characteristics. For column PROP1, the column name is PROP1, the type is VARCHAR, the length is 256, and the precision is extracted as no data. An example of the digitized knowledge attribute information table in this state is shown in Fig. 24 (c).
又取得したテーブル · ビューの定義情報から列の論理的特徴を導 出して、 電子化知識属性情報テーブルに追加する ( S 5 3 0 )。 第 2 3図に於いては、 論理的特徴として、 論理的な型、 長さ、 空要 素許容性情報を導出し、 追加することとなる。 従って、 論理的な型 としては S t r i n g (物理的特徴の型が V A R CHAR型であつ て、 VAR CHAR型は一般的に文字列型を意味している為)、長さ として 2 5 6、空要素許容性情報として n o (許容しない) となる。 この状態の電子化知識属性情報テーブルの例を第 2 4図 (d ) に示
す。 The logical characteristics of the columns are derived from the acquired table / view definition information and added to the digitized knowledge attribute information table (S530). In Fig. 23, logical type, length, and vacant element tolerance information are derived and added as logical features. Therefore, the logical type is String (the physical characteristic type is VAR CHAR type, and VAR CHAR type generally means the string type), the length is 256, and the length is empty. No (not permitted) as element permission information. An example of the digitized knowledge attribute information table in this state is shown in Fig. 24 (d). You.
物理的特徴、 論理的特徴を取得後、 テーブル · ビューの定義情報 から一意制約情報を取得し(S 5 4 0 )、一意制約がある場合には(S 5 5 0 )、 電子化知識属性情報テーブルに追加する (S 5 6 0 )。 第 2 3図に於いては、一意制約があるので、電子化知識属性情報テー ブルに一意制約があることを示す「 1」のフラグが立つこととなる。 この状態の電子化知識属性情報テーブルの例を第 2 4図 (e ) に示 す。 一意制約がない場合にはこの情報を電子化知識属性情報テープ ルに追加しなくて良い。 After acquiring physical and logical characteristics, unique constraint information is acquired from the definition information of the table and view (S540). If there is a unique constraint (S550), the digitized knowledge attribute information is acquired. Add it to the table (S560). In FIG. 23, since there is a unique constraint, a flag of “1” indicating that there is a unique constraint in the digitized knowledge attribute information table is set. An example of the digitized knowledge attribute information table in this state is shown in Fig. 24 (e). If there is no unique constraint, this information need not be added to the electronic knowledge attribute information table.
一意制約情報を電子化知識属性情報テーブルに追加した後、 又は 一意制約がない場合には、 電子化知識属性情報テーブルに属性値の 更新が可能であるか否か及び取得可能であるか否かの情報を電子化 知識属性情報テーブルに追加する(S 5 7 0 )。第 2 3図の場合には、 属性値の更新及び取得が可能であるので、 そのように電子化知識属 性情報テーブルに追加することとなり、 その状態の電子化知識属性 情報テーブルを第 2 4図 ( f ) に示す。 After adding unique constraint information to the digitized knowledge attribute information table, or when there is no unique constraint, whether the attribute value can be updated and acquired in the digitized knowledge attribute information table Is added to the digitized knowledge attribute information table (S570). In the case of FIG. 23, since the attribute values can be updated and obtained, they are added to the electronic knowledge attribute information table as described above. This is shown in Figure (f).
S 5 1 0 に於いて取得した全ての列に対して S 5 2 0から S 5 7 0の処理を反復する (S 5 8 0 )。各列に対して処理を行った例 を、 第 2 4図 (g ) 及び (h ) に示す。 The processing from S520 to S570 is repeated for all the columns acquired in S510 (S580). FIGS. 24 (g) and 24 (h) show examples of processing on each column.
このようにして生成した電子化知識 4を出力する為の出力形式指 定ファイルを読み込み (S 5 9 0 )、 当該読み込んだ出力形式指定 ファイルに従って、 電子化知識 4を出力する (S 6 0 0 )。 The output format specification file for outputting the computerized knowledge 4 generated in this way is read (S590), and the computerized knowledge 4 is output according to the read output format specification file (S600). ).
次に S 1 0 0から S 6 0 0に於いて蓄積した電子化知識 4に基づ いて、 その知識を利用してプログラムを生成するプロセスの流れを 第 9図から第 1 1図のフローチャート図と第 1図と第 2図のシステ ム構成図とを用いて詳細に説明する。 Next, based on the digitized knowledge 4 accumulated in S100 to S600, the flow of the process of generating a program using the knowledge is shown in the flow charts of FIGS. 9 to 11. This will be described in detail with reference to the system configuration diagrams of FIGS. 1 and 2.
蓄積した電子化知識 4に基づきその知識を利用してプログラムを 生成する場合には、 蓄積した電子化知識 4が完全なものである可能 性が低い為、 その電子化の補正をプログラム生成手段 1 3の補正手 段 1 5に於いてまず行う必要がある。 その為に、 開発者は、 どのよ
うな実行可能なプログラムの雛形を生成したいのかを定義したコー ド (プログラム生成方式定義) を指定又はコード化し、 当該プログ ラム生成方式定義から補正用生成様式 5 (本実施態様に於いては、 R e s o l v e P a t t e r n C omp o n e n t . x s l ) を取 得する (S 7 0 0 )。 第 1 8図にプログラム生成方式定義を示す。 補正用生成様式 5は、 蓄積された電子化知識 4に対して、 その電 子化知識 4に不足している物理的特徴、論理的特徴等を追加 ·修正、 電子化知識 4が別の電子化知識 4を参照している場合には、 その電 子化知識 4を一つに集約する為の様式が格納されている。 If a program is generated based on the accumulated computerized knowledge 4 using that knowledge, it is unlikely that the stored computerized knowledge 4 is complete. This must be done first in the third correction method 15. For that, the developer A code (program generation method definition) that defines whether a template of an executable program is to be generated is specified or coded, and a correction generation format 5 (in this embodiment, R esolve Pattern (Composent. xsl) is obtained (S700). Figure 18 shows the program generation method definition. The correction generation format 5 adds and corrects physical and logical features, etc., that are missing from the accumulated electronic knowledge 4 to the accumulated electronic knowledge 4. In the case where the computerized knowledge 4 is referred to, a format for integrating the computerized knowledge 4 into one is stored.
まず電子化知識 4に物理的特徴、 論理的特徴等の追加 ·修正を行 う場合を第 1 9図及び第 2 0図の電子化知識 4を用いて説明する。 第 1 9図は、 補正前の電子化知識 4 (インターフェイス形式化手 段 2が作成した電子化知識 4)であり、第 2 0図は、補正手段 1 5が 第 1 9図の電子化知識 4に対して追加 ·修正を行った結果作成され た、 補正後の電子化知識 4である。 First, the case of adding and modifying physical features, logical features, and the like to the digitized knowledge 4 will be described using the digitized knowledge 4 in FIGS. 19 and 20. Fig. 19 shows the digitized knowledge 4 before correction (digitized knowledge 4 created by the interface formalizing means 2), and Fig. 20 shows the correction means 15 as the digitized knowledge of Fig. 19 This is the corrected digitized knowledge 4 created as a result of adding and modifying 4.
第 1 9図に記載されている電子化知識 4には、 p r o p 2 0の識 別子に於ける n am e、 o v e r v i e w等の論理的特徴が不足し ている。 従って、 例えば o v e r v i e wの論理的特徴を追加する 場合には、 当該 S 7 0 0に於いて取得した補正用生成様式 5に於け る o v e r v i e wの 載方法 (こ こでは O v e r v i e w o f i d e n t i f e r d a t a t y p e のような記 載で格納されており、" i d e n t i f e r "は、タグ i d e n t i f e rに記載されている識別子を、" d a t a t y p e " は、 タグ d a t a T y p eに記載されている識別子のデータ型を追加することを 意味している) に従って、 論理的特徵である o v e r v i ewのタ グを追加することとなる。 同様に物理的情報についても補正用生成 様式 5を参照しながら追加補正を行う。 The digitized knowledge 4 described in FIG. 19 lacks logical features such as nam e, ov er v i ew in the identifier of p rop 20. Therefore, for example, when adding the logical feature of the overview, the method of describing the overview in the correction generation format 5 acquired in S700 (the description such as O verviewofidentiferdat atype here) And "identifer" means to add the identifier described in the tag identifer, and "datatype" means to add the data type of the identifier described in the tag data Type.) However, the tag of the logical feature, "overview", is added. Similarly, for physical information, additional correction is performed with reference to correction generation format 5.
次に電子化知識 4が別の電子化知識 4を参照している場合に、 そ の電子化知識 4を一つに集約する為の補正手段 1 5が行う場合を 第 2 1図の電子化知識 4を用いて説明する。
第 2 1図 (a) は、 '集約前の電子化知識 4であって、 当該電子化 知識 4は、 他の電子化知識 4を参照している (タグ r e f e r e n c e)。又第 2 1図(b)及び( c ) は、参照側となる電子化知識 4で あって、 第 2 1図 (b) は R e f e r e n c e d— P r o p e r t y lを第 2 1図 ( c ) は R e f e r e n c e d— P r o p e r t y 2である。 Next, the case where the electronic knowledge 4 refers to another electronic knowledge 4 and the correction means 15 for integrating the electronic knowledge 4 into one is performed. This is explained using knowledge 4. Fig. 21 (a) shows' Electrified knowledge 4 before aggregation, which refers to other electronic knowledge 4 (tag reference). FIGS. 21 (b) and (c) show the digitized knowledge 4 on the reference side, and FIG. 21 (b) shows Referenced—Probertyl and FIG. 21 (c) shows Referenced — P roperty 2.
第 2 1図 ( a ) の電子化知識 4に於いて、 タグ r e f e r e n c eが存在していることから、 当該電子化知識 4が R e f e r e n c e d— P r o p e r t y l及び R e f e r e n c e d - P r o p e r t y 2を参照していることが判明する。 従ってこれらの電子化知 識 4を補正手段 1 5が参照し、 第 2 1図 ( a) の電子化知識 4に、 第 2 1図 (b) 及び ( c ) の電子化知識 4を反映させ、 一つの電子 化知識 4に集約する。 又この際に同じ電子化知識 4を複数回参照し ている為には論理的整合性を取る必要から、 異なる属性として認識 しなければならず、 識別子 (タグ i d e n t i f i e r ) が異なる ものを自動的に付加する。このようなプロセスを経ることによって、 第 2 2図に示す、 一つに集約された電子化知識 4が得られることと なる。 Since the tag reference exists in the digitized knowledge 4 in Fig. 21 (a), the digitized knowledge 4 refers to R eferenced—P ropertyl and R eferenced—P roperty 2. Turns out. Therefore, the correction means 15 refers to the electronic knowledge 4 and reflects the electronic knowledge 4 in FIGS. 21 (b) and (c) to the electronic knowledge 4 in FIG. 21 (a). , But to one electronic knowledge 4. In this case, since the same electronic knowledge 4 is referred to a plurality of times, it is necessary to recognize the attributes as different attributes because logical consistency is required. Add. By going through such a process, the integrated electronic knowledge 4 shown in Fig. 22 can be obtained.
S 7 0 0に於いて取得した補正用生成様式 5に従って電子化知識 4の集約 ·修正 ,追加を行うことによって、 論理的整合性がより取 れている電子化知識 4が補正手段 1 5に於いて生成されたこととな る (S 7 1 0)。 ここで生成された、 論理的整合性がより取れている 電子化知識 4を、 解決された電子化知識と呼ぶこととする。 By aggregating, correcting, and adding the digitized knowledge 4 in accordance with the correction generation format 5 acquired in S700, the digitized knowledge 4 having better logical consistency is provided to the correction means 15 It is generated in (S710). The generated electronic knowledge 4 that is more logically consistent is referred to as resolved electronic knowledge.
S 7 1 0に於いて生成された、 解決された電子化知識が実際に論 理的整合性が取れているか否かを判別する為に、 プログラム生成方 式定義から検証用生成様式 6 (本実施態様に於いては、 C h e c k P a t t e r n C omp o n e n t . x s 1 )を取得し(S 7 2 0)、 当該検証用生成様式 6に従って、 解決された電子化知識の検証を行 う。 即ち解決された電子化知識に当該検証用生成様式 6を適用する ことによって、 解決された電子化知識に論理的矛盾、 文法的誤り等
の警告が含まれているか、 途中でエラー (検証結果が不適) である か否かの検証結果を生成することとなる (S 7 3 0 )。 In order to determine whether or not the resolved digitized knowledge generated in S710 is actually logically consistent, the verification generation format 6 (book In the embodiment, Check Pattern Component. Xs1) is obtained (S720), and the resolved electronic knowledge is verified in accordance with the verification generation mode 6. In other words, by applying the verification generation format 6 to the resolved electronic knowledge, logical inconsistencies, grammatical errors, etc. can be applied to the resolved electronic knowledge. A verification result is generated to determine whether the warning is included or an error (verification result is inappropriate) on the way (S730).
S 7 3 0に於ける検証結果に警告が含まれている場合には ( S 7 4 0 )、 検証手段 1 6が当該警告の内容を通知する (S 7 5 0 )。 又検証結果が不適であった場合 (エラーになった場合等) では (S 7 6 0 )、 その不適となった内容を通知し (S 7 7 0)、 終了する。 If the verification result in S730 includes a warning (S740), the verification means 16 notifies the contents of the warning (S750). If the verification result is inappropriate (for example, when an error has occurred) (S760), the content of the invalidity is notified (S770), and the process ends.
S 7 4 0から S 7 7 0に於いて、 何らの通知も発生しなかった場 合には、 当該電子化知識 4は正常に使用できるものであると判断出 来る。 従ってプログラム生成規則生成手段 1 7が、 プログラム生成 方式定義から生成規則生成用生成様式 7 (本実施態様に於いては、 G e n e r a t e G e n e r a t e R u 1 e . x s 1 )を取得し(S 7 8 0 )、生成規則生成用生成様式 7を取得できたならば(S 7 9 0 ). 解決された電子化知識に、 前記取得した生成規則生成用生成様式 7を適用してプログラム生成規則を生成する (S 8 0 0)。 第 2 5図 に解決された電子化知識の例を示し、 プログラム生成規則生成手段 1 7に於いて当該電子化知識 4に生成規則生成用生成様式 7を適用 した結果生成されたプログラム生成規則を第 2 6図に示す。 この例 の場合には、生成規則生成用生成様式 7には、入力用電子化知識 4、 適用する生成様式、 出力する実行可能なプログラムの雛形の名称が 定義されている。 If no notification occurs from S740 to S770, it is determined that the digitized knowledge 4 can be used normally. Therefore, the program generation rule generation means 17 acquires the generation mode 7 for generation rule generation (Generate Generate Ru 1 e .xs 1 in the present embodiment) from the program generation method definition (S 7 8). 0), if the generation style 7 for the generation rule generation can be acquired (S790), a program generation rule is generated by applying the obtained generation style 7 for the generation rule generation to the resolved electronic knowledge. Yes (S800). Fig. 25 shows an example of the solved computerized knowledge, and the program generation rules generated as a result of applying the generation format for generation rule generation 7 to the computerized knowledge 4 in the program generation rule generation means 17 are shown. This is shown in Figure 26. In this example, generation style 7 for generation rule generation defines electronic knowledge for input 4, a generation style to be applied, and a name of a model of an executable program to be output.
S 7 8 0に於いてプログラム生成規則生成様式が取得できなかつ たならば、 プログラム生成方式定義からプログラム生成規則を取得 する ( S 8 1 0 )。 If the program generation rule generation style cannot be obtained in S780, the program generation rule is obtained from the program generation method definition (S810).
S 8 0 0又は S 8 1 0で生成したプログラム生成規則に於ける各 生成単位から、 適用する電子化知識名を雛形生成手段 1 8が取得し (S 8 2 0 )、 取得した電子化知識名 (本実施態様に於いては T e s t C l a s s . x m 1 ) が電子化知識 4の電子化知識名と同一で あれば(S 8 3 0 )、解決された電子化知識を電子化知識名に対応す る電子化知識 4とする (S 8 4 0 )。 From each generation unit in the program generation rules generated in S800 or S810, the template generation means 18 obtains the name of the electronic knowledge to be applied (S820), and obtains the obtained electronic knowledge. If the name (TestClass.xm1 in this embodiment) is the same as the digitized knowledge name of digitized knowledge 4 (S830), the resolved digitized knowledge is converted to the digitized knowledge name. It is assumed that the computerized knowledge 4 corresponds to (S840).
S 8 2 0で取得した電子化知識名が電子化知識 4の電子化知識名
と相違する場合には、 当該電子化知識名に対応する電子化知識 4を 取得する ( S 8 5 0 )。 The digitized knowledge name acquired in S820 is the digitized knowledge name of digitized knowledge 4. If it is different from, the computerized knowledge 4 corresponding to the computerized knowledge name is acquired (S850).
雛形生成手段 1 8は、 S 84 0又は S 8 5 0で取得した電子化知 識 4及びプログラム生成様式 8に基づいて、 プログラムの出力名に 応じたプログラムを生成する。 即ち当該プログラム生成規則^の生成 単位からプログラム生成様式 8 (C r e a t e A r g ume n t C l a s s , x s 1 ) を取得し、 取得したプログラム生成様式 8が電 子化知識 4の内容に応じた外部生成様式を参照する必要がある場合 には(S 8 7 0 )、 当該プログラム生成様式 8に電子化知識 4の内容 に応じた外部生成様式への参照規則を追加する ( S 8 8 0 )。 S 8 7 0 に於いて外部生成様式を参照する必要がない場合又は S 8 8 0で外部生成様式への参照規則を追加後、 プログラム生成規則 の各生成単位から、 出力するプログラムの雛形の名称 (本実施態様 に於いては、 C r e a t e d P r o g r am l . j a v a ) を取得 し (S 8 9 0 )、 プログラム生成様式 8に解決された電子化知識 (本 実施態様に於いては、 T e s t C l a s s . xm l ) 適用した結果 を、 プログラムの雛形の出力名 (本実施態様では、 A r g ume n t C 1 a s s 1. j a v a ) に従って出力する (S 9 0 0)。 ここで 雛形生成手段 1 8が出力したプログラムの雛形 (A r g ume n t C 1 a s s 1. j a v a) が、 電子化知識 4が適用された人間可読 なプログラムである。 The template generation means 18 generates a program corresponding to the output name of the program based on the computerized knowledge 4 and the program generation format 8 acquired in S840 or S850. That is, the program generation format 8 (Create Alignment Class, xs 1) is obtained from the generation unit of the program generation rule ^, and the obtained program generation format 8 is externally generated according to the contents of the electronic knowledge 4. When it is necessary to refer to the form (S870), a reference rule to an externally generated form according to the contents of the digitized knowledge 4 is added to the program generation form 8 (S880). When it is not necessary to refer to the externally generated form in S870, or after adding a reference rule to the externally generated form in S880, the name of the model of the program to be output from each generation unit of the program generation rules (In this embodiment, C Proated Program .java) is acquired (S890), and the digitized knowledge solved in the program generation form 8 (Test in this embodiment, Class.xml) The result of the application is output according to the output name of the program template (in the present embodiment, Argument C1 ass 1. java) (S900). Here, the template (ArgumentC1ass1.1java) of the program output by the template generating means 18 is a human-readable program to which the electronic knowledge 4 is applied.
S 8 2 0から S 9 0 0に於けるプロセスを、 プログラム生成規則 の各生成単位を処理するまで反復する (S 9 1 0)。即ち第 2 6図の 例では、 A r g ume n t C 1 a s s 1. j a v aと A r g um e n t C 1 a s s 2. j a v aとを生成する。 The process from S820 to S900 is repeated until each generation unit of the program generation rules is processed (S910). That is, in the example of FIG. 26, ArgumentC1ass1.java and ArgumentC1ass2.java are generated.
プログラム生成規則の各生成単位の処理を終了後、 プログラム構 成規則生成手段 1 9が、 プログラム生成方式定義から構成規則生成 用生成様式 9 (本実施態様に於いては、 G e n e r a t e B u i 1 d R u 1 e . x s 1 ) を読み込み (S 9 2 0)、 構成規則生成用生成 様式 9に電子化知識 4を適用した結果であるプログラム構成規則を
プログラムの出力名に従って出力する (S 9 3 0 )。 ここでプロダラ ム構成規則生成手段 1 9が生成した、 プログラム構成規則は、 雛形 生成手段 1 8が生成したプログラムの雛形をどの順番で目的プログ ラム生成手段 1 4でコンパイル (プログラム.を人間可読から機械可 読に変換する) かを決めている規則であって、 所謂メイクファイル ( m a k e f i 1 e ) を意味している。 After completing the processing of each generation unit of the program generation rule, the program configuration rule generation means 19 generates a configuration rule generation format 9 from the program generation method definition (in this embodiment, Generate Bui 1 d Xs1) is read (S920), and the program configuration rules that are the result of applying digitized knowledge 4 to generation style 9 Output according to the output name of the program (S930). Here, the program configuration rules generated by the program configuration rule generation means 19 are obtained by compiling the template of the program generated by the template generation means 18 in any order by the target program generation means 14 (from a human-readable program). (Machine-readable), which means a so-called makefile (makefi 1e).
目的プログラム生成手段 1 4は、 雛形生成手段 1 8が生成したプ ログラムの雛形とプログラム構成規則生成手段 1 9が生成したプロ グラム構成規則とに基づいて、 機械可読な (即ち実行可能な) 最終 目的プログラムを生成する。 このような S 1 0 0から S 9 3 0のプ 口セスの流れを行うことによって、 物理的特徴と論理的特徴とが反 映された実行可能な最終目的プログラムが可能となる。 The target program generation means 14 generates a machine-readable (ie, executable) final program based on the program model generated by the model generation means 18 and the program configuration rules generated by the program configuration rule generation means 19. Generate the target program. By performing the process flow from S100 to S930, an executable final purpose program in which physical characteristics and logical characteristics are reflected becomes possible.
尚、 本明細書に於いては、 J A V A言語又はデ一夕ベースから電 子化知識 4を X M L言語で生成し、 当該生成した X M L言語の電子 化知識 4から J A V A言語のプログラムの雛形を生成し、 それを機 械可読な最終目的プログラムとして生成する場合を説明したが、 そ れ以外のプログラム言語で電子化知識 4を生成し、 当該生成する電 子化知識 4も X M L言語以外の電子化知識 4で生成し、 更に J A V A言語以外のプログラムの雛形を生成しても良い。 従って J A V A 言語から X M L言語の電子化知識 4を生成し、 そこから C言語のプ ログラムの雛形を生成しても良いし、 V i s u a 1 B a s i c言語 から C言語の電子化知識 4を生成し、 そこから J A V A言語のプロ グラムの雛形を生成しても良い。 In this specification, the computerized knowledge 4 is generated from the JAVA language or database based on the XML language, and the model of the JAVA language program is generated from the generated computerized knowledge 4 of the XML language. Although the case where it is generated as a machine-readable final purpose program has been described, the computerized knowledge 4 is generated in a programming language other than that, and the generated computerized knowledge 4 is also a computerized knowledge other than the XML language. The program may be generated in step 4, and a template of a program other than the JAVA language may be generated. Therefore, the computerized knowledge 4 of the XML language may be generated from the JAVA language, and the template of the program of the C language may be generated therefrom, or the computerized knowledge 4 of the C language may be generated from the Visua 1 Basic language, From there, a template for the JAVA language program may be generated.
又知識再利用システム 1 に、 ネッ トワークを介して他のコン ピュー夕端末とデータの送受信を行う公知の通信手段を具備するこ とによって、 ネッ トヮ一クを介した実行可能なプログラムの雛形の 生成が可能となる。 Also, by providing the knowledge reuse system 1 with known communication means for transmitting and receiving data to and from other computer terminals via the network, a model of a program that can be executed via the network is provided. Can be generated.
本発明に於ける各手段、 データベースは、 その機能が論理的に区 別されているのみであって、 物理上あるいは事実上は同一の領域を 為していても良い。 又データベースの代わりにデータファイルで
あっても良いことは言うまでもなく、 データベースとの記載には データファイルをも含んでいる。 Each means and database in the present invention are only logically distinguished in their functions, and may have the same physical or practical area. Also use data files instead of databases Needless to say, the description with the database includes the data file.
尚、 本発明を実施するにあたり本実施態様の機能を実現するプロ グラムのプログラムを記録した記憶媒体をシステムに供給し、 その システムのコンピュータが記憶媒体に格納されたプログラムを読み 出し実行することによって実現されることは当然である。 In carrying out the present invention, a storage medium storing a program of a program for realizing the functions of the present embodiment is supplied to a system, and a computer of the system reads and executes the program stored in the storage medium to execute the program. Of course, it will be realized.
この場合、 記憶媒体から読み出されたプログラム自体が前記した 実施態様の機能を実現することとなり、 そのプログラムを記憶した 記憶媒体は本発明を当然のことながら構成することになる。 In this case, the program itself read from the storage medium implements the functions of the above-described embodiments, and the storage medium storing the program naturally constitutes the present invention.
プログラムを供給する為の記憶媒体としては、 例えば磁気ディス ク、 ハードディスク、 光ディスク、 光磁気ディスク、 磁気テープ、 不揮発性のメモリカード等を使用することができる。 As a storage medium for supplying the program, for example, a magnetic disk, a hard disk, an optical disk, a magneto-optical disk, a magnetic tape, a nonvolatile memory card, and the like can be used.
又、コンピュータが読み出したプログラムを実行することにより、 上述した実施態様の機能が実現されるだけではなく、 そのプロダラ ムの指示に基づき、 コンピュータ上で稼働しているオペレーティン グシステムなどが実際の処理の一部又は全部を行い、 その処理に よって前記した実施態様の機能が実現される場合も含まれることは 言うまでもない。 When the computer executes the readout program, not only the functions of the above-described embodiments are realized, but also the operating system or the like running on the computer performs the actual processing based on the instructions of the program. It goes without saying that a case where some or all of the functions are performed and the functions of the above-described embodiments are realized by the processing is also included.
更に、 記憶媒体から読み出されたプログラムが、 コンピュータに 挿入された機能拡張ポードゃコンピュータに接続された機能拡張ュ ニッ トに備わる不揮発性あるいは揮発性の記憶手段に書き込まれた 後、 そのプログラムの指示に基づき、 機能拡張ボードあるいは機能 拡張ュニッ トに備わる演算処理装置などが実際の処理の一部あるい は全部を行い、 その処理により前記した実施態様の機能が実現され る場合も含まれることは当然である。 産業上の利用可能性 Further, after the program read from the storage medium is written into the non-volatile or volatile storage means of the function expansion unit inserted into the computer and the function expansion unit connected to the computer, the program Based on instructions, the function expansion board or the arithmetic processing unit provided in the function expansion unit may perform part or all of the actual processing, and the processing may realize the functions of the above-described embodiments. Is natural. Industrial applicability
本発明によって、 電子化知識に基づくプログラム生成方式を開発 ツールから分離することにより、 プログラムの生成様式を切り替え ることで、 任意の生成様式で自動的に実行可能なプログラムの雛形
の生成が可能となる。 According to the present invention, by separating a program generation method based on computerized knowledge from a development tool, by switching a program generation mode, a program template that can be automatically executed in an arbitrary generation mode Can be generated.
又本発明によって、 電子化知識に加え、 ユーザイン夕一フェイス 上の特徴を一元的に記録しておく ことにより、 電子化知識に基づく ユーザィン夕ーフェイスの為のプログラムの生成が可能となる。 更に、 電子化知識に基づくプログラム生成の仕組みを、 インター ネッ ト等のネッ 卜ワークを利用することによって、 ネッ トヮ一クを 介したプログラムに関する知識の、 実時間での共有と再利用が可能 となる。
According to the present invention, in addition to the computerized knowledge, by recording the features on the user interface in a centralized manner, it is possible to generate a program for the user interface based on the computerized knowledge. In addition, by using a network such as the Internet for the program generation mechanism based on computerized knowledge, it is possible to share and reuse program-related knowledge in real time over the network. Becomes
Claims
1 . コンピュータ上に於いて、 実行可能なプログラムの雛形を自動 生成する知識再利用システムであって、 1. A knowledge reuse system that automatically generates a model of an executable program on a computer.
, プログラム及び Z又はデータベースを読み込み、 前記読み込んだプ ログラム及び Z又はデータベースに於ける公開情報の物理的特徴と 論理的特徴とを有する電子化知識を生成するィンターフェイス形式 化手段と、 , An interface formalizing means for reading a program and a Z or a database, and generating digitized knowledge having physical and logical characteristics of public information in the read program and the Z or the database;
前記生成した電子化知識と、 実行可能なプログラムの雛形の自動生 成を行わせる開発者が指定したプログラム生成方式定義と、 プログ ラムを自動生成する為の予め定められた少なくとも一以上の生成様 式とに基づいて、 前記実行可能なプログラムの雛形を自動生成する プログラム手段とを The generated computerized knowledge, a program generation method definition specified by a developer for automatically generating an executable program template, and at least one or more predetermined generation methods for automatically generating a program. Program means for automatically generating a template of the executable program based on the formula
有することを特徴とする知識再利用システム。 A knowledge reuse system characterized by having.
2 . 前記インターフェイス形式化手段は、 2. The interface formalizing means includes:
原始プログラムを読み込み、 前記読み込んだ原始プログラムに於け る公開情報の物理的特徴と論理的特徴とを有する電子化知識を生成 する原始プログラムインターフェイス形式化手段を A source program interface formalizing means for reading the source program and generating digitized knowledge having physical and logical characteristics of the public information in the source program thus read;
有することを特徴とする請求の範囲 1に記載の知識再利用システム c The knowledge reuse system ( c) according to claim 1, wherein
3 . 前記インターフェイス形式化手段は、 3. The interface formalizing means includes:
目的プログラムを読み込み、 前記読み込んだ目的プログラムに於け る公開情報の物理的特徴と論理的特徴とを有する電子化知識を生成 する目的プログラムインタ一フェイス形式化手段を A target program interface formalizing means for reading the target program and generating digitized knowledge having physical and logical characteristics of the public information in the read target program;
有することを特徴とする請求の範囲 1に記載の知識再利用 Claims 1 characterized by having the knowledge reuse
4 . 前記インターフェイス形式化手段は、 4. The interface formalizing means includes:
データベースを読み込み、 前記読み込んだデータベースに於ける テーブル · ビューの物理的特徴と論理的特徴とを有する電子化知識
を生成するモデリング情報形式化手段を Reads a database, digitized knowledge having physical and logical characteristics of tables and views in the read database Modeling information formalizing means to generate
有することを特徴とする請求の範囲 1に記載の知識再利用システム, The knowledge reuse system according to claim 1, wherein
5 . 前記プログラム手段は、 5. The program means includes:
前記インターフェイス形式化手段で生成した電子化知識と、 前記プ ログラム生成方式定義と、 前記実行可能なプログラムの雛形を自動 生成する為の予め定められた少なく とも一以上の生成様式とに基づ いて、 人間可読なプログラムの雛形を自動生成するプログラム生成 手段を Based on the digitized knowledge generated by the interface formalizing means, the program generation method definition, and at least one or more predetermined generation modes for automatically generating the executable program template. A program generation means for automatically generating a human-readable program template
有することを特徴とする請求の範囲 1に記載の知識再利用システム, The knowledge reuse system according to claim 1, wherein
6 . 前記プログラム手段は、 6. The program means includes:
前記プログラム生成手段に於いて自動生成した人間可読なプロダラ ムの雛形を機械可読に変換する目的プログラム生成手段を An object program generating means for converting the template of the human-readable program automatically generated by the program generating means into machine-readable;
有することを特徴とする請求の範囲 1又は請求の範囲 5に記載の知 識再利用システム。 6. The knowledge reuse system according to claim 1 or claim 5, wherein
7 . 前記プログラム生成手段は、 7. The program generating means includes:
前記プログラム生成方式定義に於いて指定されている補正用生成様 式に基づいて、 前記インターフェイス形式化手段で生成した電子化 知識の追加及び/又は修正及び/又は集約を行い、 解決された電子 化知識を生成する補正手段と、 Based on the correction generation format specified in the program generation method definition, digitization generated by the interface formalizing means is added and / or modified and / or aggregated, and the resolved digitization is performed. Correction means for generating knowledge;
前記プログラム生成方式定義に於いて指定されている検証用生成様 式に基づいて、前記解決された電子化知識の検証を行う検証手段と、 前記解決された電子化知識に、 前記プログラム生成方式定義に於い て指定されている生成規則生成用生成様式を適用しプログラム生成 規則を生成するプログラム生成規則生成手段と、 Verifying means for verifying the solved digitized knowledge based on the verification generation format specified in the program generation method definition; and A program generation rule generation means for generating a program generation rule by applying the generation style for generation rule generation specified in
前記プログラム生成方式定義に於いて指定されているプログラム生 成様式と前記生成したプログラム生成規則とに基づいて、 人間可読 なプログラムの雛形を生成する雛形生成手段と、
前記解決された電子化知識に、 前記プログラム生成方式定義に於い て指定されている構成規則生成用生成様式を適用しプログラム構成 規則を生成するプログラム構成規則生成手段とを Template generating means for generating a template of a human-readable program based on the program generation mode specified in the program generation method definition and the generated program generation rule; A program configuration rule generating unit configured to generate a program configuration rule by applying the configuration rule generation generation style specified in the program generation method definition to the resolved computerized knowledge.
有することを特徴とする請求の範囲 5又は請求の範囲 6に記載の知 識再利用システム。 7. The knowledge reuse system according to claim 5 or claim 6, wherein
8 . 前記プログラム及び 又はデータベースの公開情報は、 変数、 クラス、 メソッ ド、 テーブル · ビューの少なくとも一以上を含む ことを特徴とする請求の範囲 1から請求の範囲 7のいずれかに記載 の知識再利用システム。
8. The knowledge reproduction method according to any one of claims 1 to 7, wherein the public information of the program and / or the database includes at least one of a variable, a class, a method, and a table view. Usage system.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
AU2003221016A AU2003221016A1 (en) | 2002-03-25 | 2003-03-24 | Knowledge re-use system |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002-82722 | 2002-03-25 | ||
JP2002082722A JP4154164B2 (en) | 2002-03-25 | 2002-03-25 | Knowledge reuse system |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2003081427A1 true WO2003081427A1 (en) | 2003-10-02 |
Family
ID=28449157
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2003/003535 WO2003081427A1 (en) | 2002-03-25 | 2003-03-24 | Knowledge re-use system |
Country Status (3)
Country | Link |
---|---|
JP (1) | JP4154164B2 (en) |
AU (1) | AU2003221016A1 (en) |
WO (1) | WO2003081427A1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4963070B2 (en) * | 2007-03-02 | 2012-06-27 | 株式会社日立ソリューションズ | Software component template management system |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09223004A (en) * | 1996-02-19 | 1997-08-26 | Nippon Telegr & Teleph Corp <Ntt> | Program development supporting method |
JP2000172497A (en) * | 1998-12-10 | 2000-06-23 | Hitachi Ltd | Source file generation method, device therefor and computer-readable recording medium recorded with source file generating program |
JP2001222420A (en) * | 1999-11-30 | 2001-08-17 | Hitachi Ltd | Security system design supporting method |
-
2002
- 2002-03-25 JP JP2002082722A patent/JP4154164B2/en not_active Expired - Fee Related
-
2003
- 2003-03-24 AU AU2003221016A patent/AU2003221016A1/en not_active Abandoned
- 2003-03-24 WO PCT/JP2003/003535 patent/WO2003081427A1/en active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09223004A (en) * | 1996-02-19 | 1997-08-26 | Nippon Telegr & Teleph Corp <Ntt> | Program development supporting method |
JP2000172497A (en) * | 1998-12-10 | 2000-06-23 | Hitachi Ltd | Source file generation method, device therefor and computer-readable recording medium recorded with source file generating program |
JP2001222420A (en) * | 1999-11-30 | 2001-08-17 | Hitachi Ltd | Security system design supporting method |
Also Published As
Publication number | Publication date |
---|---|
AU2003221016A1 (en) | 2003-10-08 |
JP2003280900A (en) | 2003-10-02 |
JP4154164B2 (en) | 2008-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6292932B1 (en) | System and method for converting from one modeling language to another | |
US6408311B1 (en) | Method for identifying UML objects in a repository with objects in XML content | |
AU2006200047B2 (en) | Data store for software application documents | |
JP5166519B2 (en) | Consistent method system and computer program for developing software asset based solutions | |
US7032210B2 (en) | Method and system for generating program source code of a computer application from an information model | |
US8826224B2 (en) | Apparatus and method for supporting model-driven development | |
US7793255B1 (en) | System and method for maintaining alternate object views | |
CN101887365B (en) | Method and system for constructing executable code for component-based applications | |
JP2011060277A (en) | Integration environment generator | |
US20060282452A1 (en) | System and method for mapping structured document to structured data of program language and program for executing its method | |
JP2004503841A (en) | Method and system for reporting XML data from legacy computer systems | |
US20100057760A1 (en) | Generic data retrieval | |
JP6479184B2 (en) | Computer-executable model reverse engineering method and apparatus | |
US7519947B2 (en) | Orchestration designer | |
Tichelaar et al. | Famix and xmi | |
JP2008225898A (en) | Conversion device, conversion program, and conversion method | |
US20070169054A1 (en) | Process of automatically translating a high level programming language into an extended activity diagram | |
GB2307571A (en) | Automatically generating a document type definition | |
US7315980B2 (en) | Method and apparatus for generating electronic document definitions | |
Schauerhuber et al. | Bridging WebML to model-driven engineering: from document type definitions to meta object facility | |
JP2006011756A (en) | Program converting program, program converting device and program converting method | |
US7716653B2 (en) | Configurable importers and resource writers for converting data into another format | |
WO2003081427A1 (en) | Knowledge re-use system | |
JP2007079906A (en) | Source code generator | |
JP4103791B2 (en) | Program generation system and method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A1 Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NI NO NZ OM PH PL PT RO RU SC SD SE SG SK SL TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW |
|
AL | Designated countries for regional patents |
Kind code of ref document: A1 Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
122 | Ep: pct application non-entry in european phase |