WO1999049387A1 - Dispositif et procede servant a produire un logiciel - Google Patents

Dispositif et procede servant a produire un logiciel Download PDF

Info

Publication number
WO1999049387A1
WO1999049387A1 PCT/JP1999/001394 JP9901394W WO9949387A1 WO 1999049387 A1 WO1999049387 A1 WO 1999049387A1 JP 9901394 W JP9901394 W JP 9901394W WO 9949387 A1 WO9949387 A1 WO 9949387A1
Authority
WO
WIPO (PCT)
Prior art keywords
word
screen
data area
data
book book
Prior art date
Application number
PCT/JP1999/001394
Other languages
English (en)
French (fr)
Inventor
Fumio Negoro
Shigeaki Tomura
Original Assignee
Information System Development Institute
The Institute Of Computer Based Software Methodology And Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Information System Development Institute, The Institute Of Computer Based Software Methodology And Technology filed Critical Information System Development Institute
Priority to KR1020007010029A priority Critical patent/KR20010071116A/ko
Priority to KR1020007010050A priority patent/KR20010041783A/ko
Priority to CA002324455A priority patent/CA2324455A1/en
Priority to EP99909260A priority patent/EP1071009A4/en
Priority to US09/646,098 priority patent/US6792594B1/en
Publication of WO1999049387A1 publication Critical patent/WO1999049387A1/ja

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms

Definitions

  • the present invention relates to a software generation device and a software generation method applied to business software, game software, and other fields of software.
  • the present invention provides a software generation device and software that can automatically generate software only with mechanical algorithms without requiring personal skills such as experience, knowledge, and application skills of SE.
  • the aim is to provide a method for generating
  • the background of the present invention that makes this possible is that it can be generated only on the premise of universal software, that is, the LYE ⁇ theorem, which can determine the only software that exists for a requirement event.
  • LYE ⁇ theorem which can determine the only software that exists for a requirement event.
  • the present invention has been made to achieve the above object. Disclosure of the invention
  • a screen, a file, or a form required for software to be produced is created for all words existing in a screen (hereinafter, a screen, a file, and a form are referred to as a “definition body”).
  • the WO4 logical element is when the W04 data area of the word is not "empty” and the W02 or W03 unsatisfied flag of the same word is set. Set the unsuccessful code and reset the unsuccessful flag. If the W04 data writer for the word is "empty", the W04 data area for the word other than the word will be The set value of the word is derived and the set value is set in the data area of W04 of the word. If the set value cannot be derived and restart is possible, a restart flag is set and restart is disabled. When possible, the unsuccessful code is set.
  • the W02 logical element sets the processing path flag if the W02 area of the word is not "empty” and the processing path flag setting is not established. When restart is possible, the restart flag is set. When restart is not possible, the unsatisfied flag is set. (a-4) When the WO2 data area of the same word is not "empty", the WO3 phase element sets the value of the W02 data area of the same word in the data area of W03. Things,
  • the WO3 logical element derives the setting value of the word from the data area of the word W03 of the word other than the word when the data overnight area of W03 of the word is "empty". Then, the set value is set in the data area of W03 of the word, and if the set value cannot be derived and a restart is possible, the restart flag is set. Set flags,
  • each W04 phase element and W04 logical element of a word present on the screen are grouped in the order of a topological element group and a logical element group so that they can be executed.
  • W 04 palette incorporating the 0-4 data area, each W 0 2 logical element of the word existing on the screen for each screen, and the W 0 2 data area of each word
  • W03 phase element and the W03 logical element of words existing on all the definition fields in the system
  • the W02 palette that incorporates A group of palettes having W03 palettes incorporating each W03 dataletter of each word
  • An apparatus for generating software having:
  • W04 phase element W04 logic element, W02 logic element, W03 phase element, wherein the derived field identifier, the word identifier, the processing path and the derived data for deriving the set value are undefined.
  • An apparatus for generating software comprising: Further, in the present invention, (a) a screen, a file, or a form required for the software to be produced is created for all words existing in a screen (hereinafter, screens, files, and forms are referred to as “definition bodies”). W04 phase element and W04 logical element for screen editing, and W02 logical element for determining the processing path, with the definition field identifier and word identifier for each of the definition field and word , And a W03 phase element and a W03 logical element for performing the editing of the file update,
  • the WO4 topological element determines whether the data area of W03 of the same word is the same as the data area of W03 of the same word if the data overnight area of W03 is not "empty". To set the value,
  • the W04 logical element is the case where the W04 data area of the word is not "empty” and the unsatisfied flag of W02 or W03 of the same word is set. If it has been cut, the unsuccessful code is set and the unsuccessful flag is reset. If the word W04 of the word is “empty”, the data of the word W0 other than the word is deleted. The setting value of the word is derived from the evening area, and the setting value is set in the data area of W04 of the word. If the setting value cannot be derived and restart is possible, the restart flag is set. If the restart is not possible, an unsuccessful code is set.
  • the WO 2 logical element sets a processing path flag and can be restarted if the processing path flag setting is not established When the restart is not possible, the restart flag is set, and when the restart is not possible, the unsatisfied flag is set.
  • the WO3 logical element derives the set value of the word from the W03 data area of a word other than the word, and The set value is set in the data area of W03 of the word. If the set value cannot be derived and restart is possible, the restart flag is set.If restart is not possible, the unsatisfied flag is set. What to do,
  • each W 0 4 phase element and WO 4 logical element of a word present on the screen are grouped in the order of a phase element group and a logical element group so as to be executable, and each W 0 of each word is WO 4 pallet incorporating 4 data areas, WO 2 pallet incorporating each W 0 2 logical element of each word on each screen so as to be executable, and incorporating each W 0 2 data area of each word,
  • the W03 phase elements and the W03 logical elements of the words present on all the definition fields in the system are grouped together in the order of the topological element group and the logical element group, and each W03 data area of each word is A group of pallets with W0 3 pallets incorporated,
  • a method for generating software comprising:
  • the defined undefined W04 phase element, the W04 logical element, and the W02 logical element are stored in the stored undefined W04 phase element, the W04 logical element, and the inputted definition body identifier, the word identifier, the processing path, and the derived data for each word.
  • W03 phase element, W03 logic element and the pallet group of (b) and the means of (c) are embedded in predetermined positions.
  • a method for generating software characterized in that:
  • L YE E's theorem states that "Only one logical function that synchronizes software requirements can be established in computer space. If the logical function is T 0 , then the computer space is TG n (n ⁇ 1). Represented by T N
  • E An independent variable that is the identifier of the definition body consisting of event information such as screens and messages.
  • e This is an independent variable called the type of E that exists in the development system.
  • D An independent variable called an identifier of a definition body such as a screen, a message, a file (E is included in D.)
  • d It is an independent variable of the type D that exists in the development system (e is included in d.).
  • i An independent variable called an identifier of a word (data item) included in E or D.
  • Y An independent variable, a function that synchronizes between semantic domains.
  • L This is a function called logical element, which synchronizes with memory when memory exists, and synchronizes by operation when memory does not exist. Its logical structure Is unique as shown in FIGS.
  • W02, W03, WO4 Semantic region (palette) identifier (semantic region occurrence order is fixed at W04 ⁇ W02 ⁇ W03).
  • ⁇ 0 is a function of the action of chaining pallets. Pallet chain order is fixed at W04 ⁇ W02 ⁇ W03.
  • phase element, logical element, and palette function shown in Figs. 4 to 7 correspond to the "data self-generation" part in the logical element in Figs. 5 and 7, and the "path processing" part in the logical element in Fig. 6. Excluding, only “D, i" is a variable. Conversely, if only the "data self-generation” part, the "path processing" part and "D, 'are set, the phase element, logical element and palette function are defined, that is, the phase element, logical element and palette function are defined.
  • the pallet chain function is an absolutely unique program, and the present invention focuses on this point, ie, the part of “self-generation of data”.
  • FIG. 1 is a configuration diagram of LYEE according to the present invention.
  • FIG. 2 is a flowchart of a palette chain function according to the present invention.
  • FIG. 3 is a flowchart of a palette function according to the present invention.
  • FIG. 4 is a flowchart of the phase element according to the present invention.
  • FIG. 5 is a flowchart of the W03 logic element according to the present invention.
  • FIG. 6 is a flowchart of the W02 logic element according to the present invention.
  • FIG. 7 is a flowchart of the W04 logic element according to the present invention.
  • FIG. 8 is a configuration diagram of the automatic generation device according to the present invention.
  • FIG. 9 is a diagram showing a procedure for generating software according to the present invention.
  • FIG. 10 is a diagram showing an example of a definition field according to the present invention.
  • FIG. 11 is a diagram showing an example of a processing route diagram according to the present invention.
  • FIG. 12 is a diagram showing an example of a definition table according to the present invention.
  • FIG. 13 is a flowchart showing the operation of the conversion unit according to the present invention.
  • FIG. 1 is a diagram schematically showing a software configuration based on the LYEE theory.
  • the software based on the LYEE theory always has a structure as shown in Fig. 1, that is, each palette 104 in which each base function 103 is incorporated in each palette function 102 is a palette chain function.
  • the structure that causes a chain is formed by 101.
  • the pallet chain function 101, the pallet function 102, and the base logic 103 are uniformly defined to one step level based on the LYEE theory described above.
  • Base logic 1 0 3 has V 0 4 base logic, W 0 2 base theory Logic and W 03 base logic.
  • Palette 104 in which W03 base logic is incorporated in W02 palette and palette function 102 is called W03 palette.
  • each pallet incorporates a data carrier that holds data for each word.
  • the data area of W04 palette is W04 data area
  • the data area of W02 palette is W02 data area
  • the data area of W03 palette is W03 data area. Call.
  • the W04 base logic has a phase element and a logic element. These are called W04 phase elements and W04 logic elements. There are logical elements in W 02 base logic. This is called a W 02 logic element.
  • the W 03 base logic has a topological element and a logical element. These are called W03 phase element and W03 logic element.
  • the W04 phase element and the W04 logical element are program elements for performing screen editing.
  • the W 02 logical element is a program element for determining a processing path.
  • the W03 phase element and the W03 logical element are program elements for performing data editing for file update.
  • the W04 phase element, the W04 logic element, and the W2 logic element are defined for each screen because they are used for editing a screen and for determining a processing path, respectively.
  • edit the file It is defined as a single pallet that encloses all the definition fields in the system.
  • the W04 phase element, the W04 logical element, and the W2 logical element must be defined separately for each screen even if they are the same word. Then, words defined separately may be individually defined as W03 logical elements as they are.
  • Each of these base logics is assigned a semantic domain identifier, a definition body identifier, and a word identifier.
  • FIG. 2 is a flowchart showing the structural paradigm of the palette chain function 101.
  • the structure of the palette chain function 101 is the same in any software. Therefore, it is only necessary to incorporate the created palette 104 into the previously created palette chain function 101.
  • transmission information is determined (step 201).
  • the transmission information is display data of the screen 105 to be displayed on the computer.
  • a menu screen GSM ENU for example, a menu screen GSM ENU
  • G SMENU is the identifier of the menu screen definition
  • GSOI 0 8 is the identifier of the definition body of the balance inquiry screen
  • the transmitted information includes information to close the system (menu screen GSM ENU "end") (step 202)
  • close the system step 203. Closing the system means, for example, returning to ⁇ S.
  • the WT unit is, for example, a unit of a registration screen used for registering data and a reference screen used for referencing data when registering the data. If it is not a continuation within a unit, all pallets in a new WT unit are set (step 207).
  • the corresponding W04 palette is executed (step 208). That is, the W04 palette in which the base logic 103 relating to all W04, that is, the W04 phase element and the W04 logic element are set to the palette function 102 is executed. Thereby, the data value relating to the screen to be displayed is determined.
  • the transmission function is executed (step 209). That is, the screen on which the data values and the like are set is transmitted as screen data to be displayed on the computer.
  • the receiving function is executed (step 210). That is, screen data in which data values and the like have been input on the screen of the convenience store is received.
  • step 211 it is determined whether or not the received data is normal (step 211), and if the data is abnormal, the process is repeated from the beginning. That is, it is determined whether there is any data that violates the rules.
  • the corresponding W02 pallet is executed (step 212).
  • the W 0 2 palette in which the base logic for all W 0 2, that is, the W 0 2 logic element is set in the palette function 102 is executed.
  • the data and the like input on the screen of the convenience store are determined.
  • the processing route is determined (steps 21 and 21).
  • FIG. 3 is a flowchart showing the structure paradigm of the pallet function. It is necessary to create a palette function having such a structure for each of the base logics for W02, W03, and WO4.
  • the empty area is emptied (step 301). That is, for example, in the palette function related to W04, the data area to which the identifier is attached is emptied for each screen and for each word existing on the screen. However, only the palette function on W02 does not “empty”. Then, each phase element and logic element are sequentially executed (in the order of the phase element and the logic element) (steps 302, 303).
  • step 304 if the pallet restart flag is set (step 304), the flag is reset (step 300), and each phase element and logic element are sequentially (phase element, logic element). Re-execute (in the order of the elements) (steps 302, 303).
  • the file Is closed (Step 306) to end the process.
  • the “file” “stores” the data value self-generated by the base logic of W 03, and is provided for each word. Reproduction of the data stored in the file is performed by a subroutine of the self-generating part of the logical element for each word because the reproduction source file differs for each word. The file is opened and read in the subroutine, and the closing is performed by the pallet function.
  • FIG. 4 is a flowchart showing the structural paradigm of the topological element in the base logic.
  • topological element is Y (D, i, Wn)
  • D, i, Wn-1 D is the screen identifier
  • i is the word identifier
  • Wn-1 W02 if the topological element is W03, for example
  • end phase element Y (D, i, Wn).
  • step 402 If it is not empty, the data in the data area of D, i, Wn-1 is transferred to the data area of D, i, Wn and the processing is terminated (step 402).
  • Figure 5 is a flowchart showing the structural paradigm of the W03 logical element in the base logic.
  • self-generation of data means that if the data is an input attribute, for example, the data in the data area (D, i, W02) —Move the evening to the de-night area (D, i, W 03). If the data is an output attribute, for example, self-generate the de-night from the same word in the file. Similarly, when evening is an output attribute, this means, for example, that data is self-generated by calculation from data of another word.
  • step 503 it is determined whether or not the overnight area (D, i, W03) is not empty (step 503).
  • step 504 If no data exists in the data area (D, i, WO3), "1" is added to the restart count of D, i, WO3 (step 504). Next, it is determined whether or not the value of the restart counter is equal to or less than a predetermined value, that is, whether or not restart is possible (step 505).
  • the restart flag (D, i, W03) is set (step 506).
  • the failure flag (D, i, WO3) is set (step 507).
  • Figure 6 is a flowchart showing the structural paradigm of the W02 logical element in the base logic. Assuming that the logical element is L, it is first determined whether or not the data area (D, i, WO 2) is empty (step 601).
  • a processing route is set (step 602).
  • the logical element L (D, i, W02) ends.
  • step 605 it is determined whether or not the value of the restart counter is equal to or less than a predetermined value, that is, whether or not restart is possible.
  • the restart flag (D, i, WO 2) is set (step 606).
  • the failure flag (D, i, WO 2) is set (step 607).
  • FIG. 7 is a flowchart showing the structural paradigm of the W04 logical element in the base logic.
  • step 720 If there is no night in the night area (D, i, WO4) and the sky is empty, self-generation of the night is performed (step 720).
  • the self-generation of data overnight means that when data overnight is an input attribute, for example, data in the data area (D, i, W02) is moved to the data overnight area (D, i, WO4). If the data has the output attribute, for example, the data must be generated from the data of the same word in the file.If the data has the output attribute, the data must be calculated from the data of another word, for example. Self-generation.
  • step 70 If there is no de-night in the de-night area (D, i, WO 4) and it is “sky”, “1” is added to the restart count of D, i, W 04 (step 70). Four ). Next, it is determined whether the value of the restart counter is equal to or less than a predetermined value, that is, whether restart is possible (step 705).
  • the restart flag (D, i, W04) is set (step 706).
  • step 701 if the data area (D, i, W04) already has data and is not empty, the word W02 unsatisfied flag or the word W03 It is determined whether the unsatisfied flag has been set (step 708).
  • the unsatisfied code is set and the unsatisfied flag is reset (step 709).
  • the unsuccessful code is displayed in the “Message” data area when an incorrect number is entered in the “Password” area 100 1 as shown in Figure 10, for example. Used for "PIN"
  • the present invention automatically generates programs relating to the palette function shown in FIG. 3 and the phase elements and logic elements shown in FIGS. 4 to 7. Since a pallet chain function can always be composed of the same program, the ability to automatically generate programs related to pallet functions, phase elements, and logical elements means that the target software is automatically generated. means. Soshi Since logic is realized only by the address of the data area for each of the pallet function, phase element, and logic element, software for business use, game software, and software in all other fields are automatically automated. Means that it can be generated dynamically.
  • FIG. 8 is a block diagram showing a configuration of an automatic software generation device according to the present invention.
  • This automatic software generation device can be realized by software on a computer.
  • reference numeral 8001 denotes a program relating to the phase element, the logical element, and the palette function shown in FIGS. 4 to 7, and includes a part of "self-generation of data", a part of "processing path” and " D, i "is a first storage unit that stores in advance an undefined program, 8002 is a second storage unit that stores a program related to a pallet chain function in advance, and 8003 is" self-generation of data ". , "Processing path” and "D, '.
  • Reference numeral 804 denotes a part of “self-generation of data”, a part of “processing path”, and “D,” inputted in the input part 803 are stored in the first storage part 802.
  • the output unit 806 is an output unit that outputs software in which a program is embedded.Next, a procedure for generating software using the device configured as described above will be described with reference to FIG. I do.
  • a screen or a form used by the target software is specified (step 901), and an identifier (definition body identifier) is set for each screen (step 902).
  • FIG. 10 shows an example of the determined screen.
  • An arbitrary identifier unique to the system for example, a definition identifier such as "GSOI08" is set on the screen of Fig. 10. In Fig. 10, the blanks on your side are data. Shows evening field.
  • a processing path diagram is created and a file is determined (step 903).
  • the processing path diagram is created based on the determined screen or form.
  • the processing path diagram may be created by humans or mechanized.
  • pallets (displayed in boxes) corresponding to each screen and each form are connected by lines.
  • the line represents a palette chain function. If screens and forms are determined, the connection between pallets is inevitable.
  • FIG. 11 shows an example of the processing path diagram.
  • W04 under “GSMENU” is a W04 palette to which a screen identifier GSMMENU is added, and the W04 palette forms a menu screen G SMENU.
  • W02 under “GS MENU” is an AV02 palette with a screen identifier GSMMENU, and the processing path is determined by the W02 palette.
  • W04” under “GSOI08” is a W04 palette with the screen identifier GS ⁇ I08, and this W04 palette is used to display the balance inquiry screen. Data to be displayed in the data field of GSOI 08 is formed.
  • W02 below “GS ⁇ I08” is a W02 pallet with a screen identifier GSO I08, and the processing path is determined by the W02 pallet.
  • W03 is one W03 palette in the system, and the balance of the deposit is calculated using this W03 palette.
  • the calculated deposit balance is displayed on the balance inquiry screen GS0I08 after executing the phase and logical elements of the W04 palette.
  • the necessary files are determined based on the created processing path diagram.
  • the required file can be inevitably determined from the processing path diagram (eg, “FSHI NF IL” and “FM @ TOF IL” in FIG. 11.
  • F SH I NF IL is the definition identifier of “customer ledger file”).
  • FMOTOF IL means the definition body identifier of "Deposit Ledger File”.
  • IO-W04-RK1-SEC is a subroutine identifier on the W04 palette for reading data from the "customer ledger file”.
  • IO—W04—RD1—SEC is a subroutine identifier on the W04 pallet that reads data from the “Deposit Ledger File”.
  • IO — W02 — RK1 — SEC is a subroutine identifier on the W02 pallet that reads data from the “customer ledger file”.
  • IO — W03 — RK1 — SEC is a subroutine identifier on the W03 palette that reads data from the “customer ledger file”.
  • IO—W03RD1—SEC is a subroutine identifier on the W03 palette that reads data from the “deposit ledger file”. The same applies to Fig. 1.
  • step 904 collect words from identified screens, forms, and files (step 904), an identifier is set for each word (step 905). For example, from the screen shown in Fig. 10, "Repeat number”, “Customer name”, “Deposit balance”,
  • FIG. 12 is a diagram showing an example of the definition table input from the input unit 803. This definition table is displayed on, for example, a computer screen, from which each data is input.
  • the definition table has a screen identifier (ID) input field, a screen name input field, and a word name input field.
  • ID the word identifier
  • I ZO input attribute or an output attribute
  • the number of digits of the data the data attribute is a numeric or character type (attribute)
  • the file used Reproduction of the stored data as described above is performed in the subroutine of the self-generated portion of the logical element for each word because the reproduction source file differs for each word.
  • the file to be used is defined for each word. ), Processing path (R-NO), function key number (F-KEY) corresponding to the processing path determination word, next screen identifier, word definition (self-generated for one night).
  • processing path in the present invention corresponds to the processing path (R-NO), the function key number (F-KEY), and the next screen identifier.
  • step 1301 screen identifiers, word identifiers, and the like, that is, the “de-night self-generation” part, the “processing path” part, and “D, i” in the present invention are input to the definition table (step 1301)
  • the embedding unit 804 stores the "self-generated data” part and the "processing path” from the first storage unit 81.
  • the part and "D, i” call the undefined topological element, logical element and palette function (Step 1303), and place the undefined topological element, logical element and palette function in the defined table at the specified position.
  • the “data self-generation” part, the “processing path” part, and “D, i” that have been set are respectively embedded (step 1304).
  • the program of the undefined W03 logic element is as follows.
  • F # # # # # is the definition field identifier that is the key for file access
  • G # # # # # is the defining descriptor of the screen where the key word of the file access exists.
  • RD * is an identifier unique to the subroutine corresponding to the file to be accessed
  • Word name field is @% 8 @
  • the screen identifier field is @ 16 @
  • Word identifier field is @% 1 9 @ Attribute field is @% 2 0 @
  • ** The value is set in *, and the following W03 logical element for each word, that is, the program of the completed W03 logical element is generated.
  • GSOI08-MSSGCD1 OF W03 LOW-VALUE OR GSOI08-MSSGCD1 OF W03> 0
  • GSOI08-PF3KEY OF W03 LOW-VALUE OR GSOI08-PF3KEY OF W03> 0
  • the undefined W 03 phase element is as follows.
  • H.nVA- Ol XOM? 0 iO ia30SSl [ -80 IOSD il
  • Book book book book book book book book i book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book book
  • % 17 is the name of the file in the definition table
  • % 9 is the word identifier of the file in the definition table
  • % 7 is R—N ⁇ in the definition table file
  • % 1 is W 0 n
  • the undefined W03 logical element group, W03 phase element group, and undefined W03 palette function are similarly defined and a program is generated. Similarly, a blob program is automatically generated for the W02 logical element, the V02 palette function, the W04 logical element, the W04 phase element, and the W04 palette function. Then, the programs relating to the phase element and the logic element and the palette function are incorporated in the palette chain function in the incorporation section 805, and output from the output section 806.
  • the software generating apparatus and the software generating method according to the present invention realize the logic using only the address of the data area for each of the pallet function, the phase element, and the logical element. Since software generation can be easily automated, it is useful for software for business use, game software, and other fields, and also useful for software maintenance. . In particular, it is suitable for creating and maintaining software that requires productivity, uniform quality, and maintainability.

Description

明 細 書 ソフ 卜ウェアの生成装置及びソフトウェアの生成方法
技術分野
本発明は、 業務用ソフ トウェアやゲーム用ソフ トウェア、 その他あら ゆる分野のソフトウェアに適用されるソフトウェアの生成装置及びソフ トウェアの生成方法に関する。
背景技術
従来のソフ トウェアは、 要件定義、 基本設計、 詳細設計、 プログラミ ング、 コンパイル、 プログラムテス ト及び総合テス トを経て作られてい る。 これらの一連の工程は、 S Eの経験、 知識、 応用力等の属人的能力 によって行われる。
従って、 現実的にはソフ トウェアを自動的に生成しょうとする発想自 体が無謀であり、 その目的は当該分野において非予測的であるといえる。 にもかかわらず、 本発明は、 ソフトウェアを S Eの経験、 知識、 応用 力等の属人的能力を必要とせず機械的アルゴリズムだけで自動的に生成 することができるソフ トウェアの生成装置及びソフ トウェアの生成方法 を提 ί共することを目的とする。
これを可能とする本発明の背景は、 普遍的なソフ トウェア、 即ち要件 事象に対して唯一的に存在するソフ トウエアの決定が可能な L Y E Εの 定理を前提としてはじめて生成することができるものであり、 その結果、 生産性の向上、 品質の均一化及び保守の容易化を図ることができるソフ 卜ゥエアの生成装置及びソフ トウエアの生成方法を提供することが可能 となる。 本発明は、 上記目的を達成するためになされたものである。 発明の開示
本発明では、 ( a ) 生産するソフ トウェアに必要な画面、 ファイルま たは帳票 (以下、 画面、 ファイル及び帳票を 「定義体」 と呼ぶ。 ) に存 在する全ての単語に対して作成され、 かつ定義体、 単語それぞれに対す る定義体識別子及び単語識別子が付された、 画面編集を行うための W 0 4位相要素及び W 0 4論理要素、 処理経路を決定するための W 0 2論理 要素、 並びにファイル更新のデータ編集を行うための W 0 3位相要素及 び W 0 3論理要素であって、
( a - 1 ) W O 4位相要素は、 同じ単語の W 0 3のデータエリアが" 空" でない場合には、 当該 W 0 4の当該デ一夕エリァに前記同じ単語の W 0 3のデ一夕エリァの値を設定するものであり、
( a - 2 ) W O 4論理要素は、 当該単語の W 0 4のデータエリアが" 空" でない場合であって同じ単語の W 0 2または W 0 3の不成立フラグがセ ッ トされている場合には、 不成立コードをセッ 卜するとともに不成立フ ラグをリセッ 卜し、 当該単語の W 0 4のデータェリァが "空の場合" に は当該単語以外の単語の W 0 4のデ一夕エリァから当該単語の設定値を 導出して当該設定値を当該単語の W 0 4のデータエリァに設定し、 前記 設定値を導出できない場合であって再起動可能なときには再起動フラグ をセッ 卜し、 再起動不可能なときには不成立コードをセッ 卜するもので あり、
( a— 3 ) W 0 2論理要素は、 当該単語の W 0 2のデ一夕エリアが" 空" でない場合には、 処理経路フラグを設定し、 処理経路フラグ設定が不成 立な場合であって再起動可能なときには再起動フラグをセッ 卜し、 再起 動不可能なときには不成立フラグをセッ トするものであり、 ( a— 4 ) W O 3位相要素は、 同じ単語の W O 2のデータエリァが" 空" でない場合には、 当該 W 0 3の当該データエリアに前記同じ単語の W 0 2のデータエリァの値を設定するものであり、
( a - 5 ) W O 3論理要素は、 当該単語の W 0 3のデ一夕エリアが" 空" の場合には、 当該単語以外の単語の W 0 3のデータエリァから当該単語 の設定値を導出して当該設定値を当該単語の W 0 3のデータエリアに設 定し、 前記設定値を導出できない場合であって再起動可能なときには再 起動フラグをセッ 卜し、 再起動不可能なときには不成立フラグをセッ 卜 するもの、
を有する手段と、
( b ) 画面毎に当該画面上に存在する単語の各 W 0 4位相要素及び W 0 4論理要素を位相要素群、 論理要素群の順番に実行可能にまとめるとと もに各単語の各 W 0 4デ一夕エリァを組み込んだ W 0 4パレッ ト、 画面 毎に当該画面上に存在する単語の各 W 0 2論理要素を実行可能にまとめ るとともに各単語の各 W 0 2デ一夕エリアを組み込んだ W 0 2パレット、 及びシステム内の全定義体上に存在する単語の各 W 0 3位相要素及び W 0 3論理要素を位相要素群、 論理要素群の順番に実行可能にまとめると ともに各単語の各 W 0 3データェリァを組み込んだ W 0 3パレツ トを有 するパレッ 卜群と、
( c ) 各パレッ ト内の各位相要素及び論理要素を実行すると共に、 当該 パレッ ト内のパレッ 卜再起動フラグがセッ トされている場合には、 当該 パレッ 卜内の各位相要素及び論理要素を再実行させる手段と、
( d ) 前記 W 0 4パレツ 卜の実行に基づく画面データをコンピュータの 画面上に送信し、 該送信画面に対する応答画面データを受信して前記 W 0 2パレツ 卜を実行し、 当該 W 0 2パレツ 卜の前記処理経路フラグに基 づき処理経路を決定し、 決定された処理経路に応じた前記 W 0 3パレツ トを実行する手段と
を具備するソフ 卜ウェアを生成する装置であって、
前記定義体識別子、 前記単語識別子、 前記処理経路及び前記設定値を導 出するための導出データが未定義の W 0 4位相要素、 W0 4論理要素、 W 0 2論理要素、 W0 3位相要素、 W0 3論理要素及び上記 (b) のパ レッ ト群並びに ( c ) の手段を予め記憶する手段と、
前記単語毎に前記定義体識別子、 前記単語識別子、 前記処理経路及び 前記導出データを入力する手段と、
前記単語毎に前記入力された前記定義体識別子、 前記単語識別子、 前 記処理経路及び前記導出データを、 前記記憶された未定義の W 0 4位相 要素、 W0 4論理要素、 W0 2論理要素、 W0 3位相要素、 W0 3論理 要素及び上記の (b) のパレッ ト群並びに ( c ) の手段の所定の位置に 埋め込む手段と
を具備することを特徴とするソフトウエアの生成装置、 が提供される。 また、 本発明では、 ( a ) 生産するソフ トウェアに必要な画面、 ファ ィルまたは帳票 (以下、 画面、 ファイル及び帳票を 「定義体」 と呼ぶ。 ) に存在する全ての単語に対して作成され、 かつ定義体、 単語それぞれに 対する定義体識別子及び単語識別子が付された、 画面編集を行うための W 0 4位相要素及び W0 4論理要素、 処理経路を決定するための W 0 2 論理要素、 並びにファイル更新のデ一夕編集を行うための W0 3位相要 素及び W 0 3論理要素であって、
( a - 1 ) WO 4位相要素は、 同じ単語の W0 3のデ一夕エリアが" 空" でない場合には、 当該 W 0 4の当該データエリアに前記同じ単語の W 0 3のデータエリアの値を設定するものであり、
( a - 2 ) W0 4論理要素は、 当該単語の W04のデータエリアが'' 空" でない場合であって同じ単語の W 0 2または W 0 3の不成立フラグがセ ッ 卜されている場合には、 不成立コードをセッ 卜するとともに不成立フ ラグをリセッ 卜し、 当該単語の W 0 4のデータエリァカ "空の場合" に は当該単語以外の単語の W 0 のデ一夕エリァから当該単語の設定値を 導出して当該設定値を当該単語の W 0 4のデータエリァに設定し、 前記 設定値を導出できない場合であって再起動可能なときには再起動フラグ をセッ トし、 再起動不可能なときには不成立コードをセッ 卜するもので あり、
( - 3 ) W O 2論理要素は、 当該単語の W 0 2のデータエリアが" 空" でない場合には、 処理経路フラグを設定し、 処理経路フラグ設定が不成 立な場合であって再起動可能なときには再起動フラグをセッ 卜し、 再起 動不可能なときには不成立フラグをセッ トするものであり、
( a - 4 ) W O 3位相要素は、 同じ単語の W O 2のデータエリアが" 空" でない場合には、 当該 W O 3の当該デ一タエリアに前記同じ単語の W 0 2のデ一夕エリァの値を設定するものであり、
( a— 5 ) W O 3論理要素は、 当該単語の W O 3のデータエリアが" 空" の場合には、 当該単語以外の単語の W 0 3のデータエリァから当該単語 の設定値を導出して当該設定値を当該単語の W 0 3のデータエリアに設 定し、 前記設定値を導出できない場合であって再起動可能なときには再 起動フラグをセッ 卜し、 再起動不可能なときには不成立フラグをセッ ト するもの、
を有する手段と、
( b ) 画面毎に当該画面上に存在する単語の各 W 0 4位相要素及び W O 4論理要素を位相要素群、 論理要素群の順番に実行可能にまとめるとと もに各単語の各 W 0 4データエリァを組み込んだ W O 4パレツ ト、 画面 毎に当該画面上に存在する単語の各 W 0 2論理要素を実行可能にまとめ るとともに各単語の各 W 0 2データエリァを組み込んだ W O 2パレツ ト、 及びシステム内の全定義体上に存在する単語の各 W 0 3位相要素及び W 0 3論理要素を位相要素群、 論理要素群の順番に実行可能にまとめると ともに各単語の各 W0 3データエリァを組み込んだ W0 3パレツ トを有 するパレッ ト群と、
(c ) 各パレッ ト内の各位相要素及び論理要素を実行すると共に、 当該 パレツ ト内のパレッ ト再起動フラグがセッ 卜されている場合には、 当該 パレッ 卜内の各位相要素及び論理要素を再実行させる手段と、
( d ) 前記 WO 4パレツ 卜の実行に基づく画面データをコンピュ一夕の 画面上に送信し、 該送信画面に対する応答画面データを受信して前記 W 0 2パレッ トを実行し、 当該 W 0 2パレツ 卜の前記処理経路フラグに基 づき処理経路を決定し、 決定された処理経路に応じた前記 W 0 3パレツ 卜を実行する手段と
を具備するソフ トウェアを生成する方法であって、
前記定義体識別子、 前記単語識別子、 前記処理経路及び前記設定値を導 出するための導出データが未定義の W 0 4位相要素、 W0 4論理要素、 W0 2論理要素、 W0 3位相要素、 W0 3論理要素及び上記の ( b) の パレッ ト群並びに ( c ) の手段を予め記憶しておき、
前記単語毎に前記定義体識別子、 前記単語識別子、 前記処理経路及び 前記導出データを入力し、
前記単語毎に前記入力された前記定義体識別子、 前記単語識別子、 前 記処理経路及び前記導出データを、 前記記憶された未定義の W 0 4位相 要素、 W0 4論理要素、 W 0 2論理要素、 W 0 3位相要素、 W0 3論理 要素及び上記の ( b) のパレッ ト群並びに ( c ) の手段の所定の位置に 埋め込む
ことを特徴とするソフ 卜ウェアの生成方法、 が提供される。
本発明者等は、 新規なソ フ 卜ウェアの生産方法を既に提唱している ( 1件は国際公開番号 W〇 9 7 Z 1 6 7 84である。 もう 1件は国際出 願番号 P C TZ J P 9 7ノ 0 1 4 9 2である。 ) 。 これは、 L Y E E
(Governmental Methodology for Software Providence) と呼ばれるも のである。
L YE Eの定理は、 " ソフ ト要件を同期化させる唯ひとつの論理関数 をコンピュータ空間に成立させることが出来る。 その論理関数を T 0と すればコンピュータ空間は T G n (n≥ 1 ) で表される。 T Nをシナリ
0 ォ関数と呼ぶ。 " というものである。
ここで、 シナリオ関数は、
φ ( ί Φ { L ) }
+ Φ ρ { YD、 i、 W0 3 ' L D、 i , W 0 3 d
+ { φ { Y . L } )
x p 1 E , i 、 W 04 L E、 i )
、 W 04 ' E ' e
ここで
Φ {L レッ 卜
P E、 i、 W 0 2 } E =W 0 2パ
Φ { Y L
P D ノ\°レツ
、 i 卜 、 W 0 3 · D、 i =W 0 3
、 WO d
Φ { Y L =W 04パレツ 卜
P E、 i 、 W 0 4 · E、 i 、 W 0 4 } E
E ; 画面や電文等ィベン卜情報からなる定義体の識別子という独立変数 である。 e ; 開発システムに存在する Eの種類という独立変数である。 D ; 画面、 電文、 ファイル等定義体の識別子という独立変数である (E は Dに含まれる。 ) 。
d ; 開発システムに存在する Dの種類という独立変数である ( eは dに 含まれる。 ) 。 i ; Eや Dに含まれる単語 (データアイテム) の識別子 という独立変数である。 Y ; 位相要素と称し、 意味領域間の同期を図る 関数である。
L ; 論理要素と称し、 記憶が存在している場合は記憶との同期、 記憶が 存在していない場合は演算による同期を図る関数である。 その論理構造 は図 4〜図 7に示すように一義的である。
Φ p { } ; パレッ ト関数と称し、 位相要素 Y d i W n及び論理要素
L D . W f を集合化する作用の関数である。 集合化された位相要素、 論理要素及びデータエリア n . w をパレッ トという。
D、 1 、 W π
W 0 2 、 W 0 3 、 W O 4 ; 意味領域 (パレツ ト) 識別子である (意味領 域発生順位は、 W 0 4→W 0 2→W 0 3で固定。 ) 。
Φ 0 ; パレツ 卜連鎖関数と称し、 パレッ トを連鎖させる作用の関数であ る。 パレッ 卜の連鎖順位は、 W 0 4→W 0 2→W 0 3で固定。
図 4〜図 7に示した位相要素及び論理要素並びにパレッ ト関数は、 図 5、 図 7の論理要素における" データの自己生成" の部分及び図 6の論 理要素における" 経路処理" の部分を除くと、 " D、 i " のみが変数で ある。 逆に言うと、 " データの自己生成" の部分、 " 経路処理" の部分 及び" D、 ' さえ設定すれば、 位相要素及び論理要素並びにパレッ ト 関数が規定、 つまり位相要素、 論理要素及びパレッ ト関数に係るプログ ラムが決定できる。 また、 パレッ ト連鎖関数は絶対的に唯一のプロダラ ムである。 本発明は、 この点に着目したものである。 即ち、 " データの 自己生成" の部分、 " 経路処理" の部分及び" D、 ' が未定義な位相 要素及び論理要素並びにパレツ ト関数を予め用意するとともに、 これら を定義するための定義表と位相要素及び論理要素並びにパレッ ト関数に おける未定義部分との間に予め対応関係を持たせておき、 例えば定義表 に入力するだけで自動的にソフ トウエアを生成するようにしたものであ る。 図面の簡単な説明
第 1図は、 この発明に係る L Y E Eの構成図である。
第 2図は、 この発明に係るパレッ ト連鎖関数のフローチャートである。 第 3図は、 この発明に係るパレッ ト関数のフローチヤ一卜である。 第 4図は、 この発明に係る位相要素のフローチャートである。
第 5図は、 この発明に係る W 0 3論理要素のフローチャートである。 第 6図は、 この発明に係る W 0 2論理要素のフローチャートである。 第 7図は、 この発明に係る W 0 4論理要素のフローチャートである。 第 8図は、 この発明に係る自動生成装置の構成図である。
第 9図は、 この発明に係るソフトウエアの生成手順を示す図である。 第 1 0図は、 この発明に係る定義体の一例を示す図である。
第 1 1図は、 この発明に係る処理経路図の一例を示す図である。 第 1 2図は、 この発明に係る定義表の一例を示す図である。
第 1 3図は、 この発明に係る変換部の動作を示すフローチヤ一卜であ る。 発明を実施するための最良の形態
以下、 本発明をより詳細に詳述するために、 添付の図面に従ってこれ を説明する。
まず、 L Y E Eの理論に基づくソフ トウエアの構成を説明する。 図 1は L Y E Eの理論に基づくソフ トウエアの構成を概略的に示した 図である。
L Y E Eの理論に基づくソフ卜ウェアは、 常に図 1に示すような構造、 つまり各パレッ 卜関数 1 0 2に各基底論理 1 0 3が組み込まれた各パレ ッ 卜 1 0 4がパレツ 卜連鎖関数 1 0 1 によって連鎖を起こす構造となつ ている。
パレッ 卜連鎖関数 1 0 1 、 パレッ ト関数 1 0 2及び基底論理 1 0 3は、 上述した L Y E Eの理論に基づきそれぞれ 1 ステツブ水準まで画一的に 規定されている。 基底論理 1 0 3には、 V 0 4基底論理、 W 0 2基底論 理及び W 0 3基底論理がある。 パレッ ト関数 1 0 2に W 0 4基底論理が 組み込まれたパレッ ト 1 0 4を W 0 4ノ レッ ト、 ノ レッ ト関数 1 0 2に W 0 2基底論理が組み込まれたパレッ ト 1 0 4を W 0 2パレッ 卜及びパ レッ ト関数 1 0 2に W 0 3基底論理が組み込まれたパレツ ト 1 0 4を W 0 3パレッ トと呼ぶ。 各パレッ トには、 図 1 に示したように、 各単語毎 にデータを保持するデータェリァが組み込まれている。 W 0 4パレッ ト のデ一タエリァを W 0 4データェリア、 W 0 2パレツ トのデ一夕エリァ を W 0 2データエリァ及び W 0 3パレツ トのデ一夕エリァを W 0 3デ一 夕エリァと呼ぶ。
W 0 4基底論理には、 位相要素と論理要素とがある。 これらを W 0 4 位相要素、 W 0 4論理要素と呼ぶ。 W 0 2基底論理には、 論理要素があ る。 これを W 0 2論理要素と呼ぶ。 W 0 3基底論理には、 位相要素と論 理要素とがある。 これらを W 0 3位相要素、 W 0 3論理要素と呼ぶ。
W 0 4位相要素及び W 0 4論理要素は、 画面編集を行うためのプログ ラム要素である。 W 0 2論理要素は、 処理経路を決定するためのプログ ラム要素である。 W 0 3位相要素及び W 0 3論理要素は、 ファイル更新 のデータ編集を行うためのプログラム要素である。
これらの基底論理 1 0 3は、 生産するソフ トウエアに必要な画面 1 0 5 (画面の他ファイルまたは帳票も含む。 ) に存在する全ての単語に対 して作成される。 図 1の例で言うと、 画面 1 0 5上に例えば単語 「暗証 番号」 、 「顧客氏名」 、 「預金残高」 、 「メ ッセージ」 、 「実行」 、
「終了」 なる単語が存在するとすると、 これらの各単語に対して基底論 理が作成される。 なお、 基底論理のうち、 W 0 4位相要素、 W 0 4論理 要素及び W 2論理要素はそれぞれ画面編集を行うためのもの、 処理経路 を決定するためのものであるから画面毎に定義されるものであるが、 W 0 3位相要素及び W 0 3論理要素についてはフアイル更新のデ一夕編集 を行うためのものであるからシステム内の定義体全てを括ってなる 1個 のパレッ トとして定義される。 例えば、 「暗証番号」 なる単語について W0 4位相要素、 W0 4論理要素及び W 2論理要素は同じ単語であって も画面毎にそれぞれ別個に定義しなければならない。 そして、 それぞれ 別個に定義された単語がそのまま個別に W 0 3論理要素として定義すれ ばよい。
これら各基底論理には、 意味領域識別子、 定義体識別子及び単語識別 子が付される。
図 2はパレツ ト連鎖関数 1 0 1の構造パラダイムを示すフローチヤ一 卜である。
パレツ ト連鎖関数 1 0 1の構造はいかなるソフ トウエアにおいても同 一である。 従って、 予め作成してあるパレッ ト連鎖関数 1 0 1に作成し たパレツ 卜 1 0 4を組み込めばよい。
即ち、 まず送信情報を決定する (ステップ 2 0 1 ) 。 送信情報とは、 コンピュータ上で表示すべき画面 1 0 5の表示データの事である。 例えば図 1 1 に示す処理経路図 (処理経路図の詳細については後述す る。 ) を参照しながら説明すると、 例えばメニュー画面 G S M E N U
(G SMENUはメニュー画面の定義体識別子) において 「残高照会」 が選択されると (例えばメニュー画面 G S MENUにおいて 「メニュー N o = n + ENT E R」 の操作) 、 「残高照会」 の画面 G S O I 0 8 (G S O I 0 8は残高照会画面の定義体識別子) を送信情報と決定する。 送信情報にシステムを閉鎖する情報 (メニュー画面 G S M E N U 「終 了」 ) が含まれているような場合には (ステップ 2 0 2 ) 、 システムを 閉鎖する (ステップ 2 0 3 ) 。 システムを閉鎖するとは、 例えば〇 Sに 戻る事である。
次に、 WT単位内の継続かどうかを判断する (ステップ 2 0 4 ) 。 こ れは例外的処理に関するものである。 即ち、 WT単位とは、 例えばデー 夕の登録に使用される登録画面と当該データの登録の際のデータの参照 に使用される参照画面とを 1つの単位で括ってなるものである。
Figure imgf000014_0001
単 位内の継続でない場合には、 新たな WT単位の全パレツ トをセッ 卜する (ステップ 2 0 7 ) 。
次に、 該当する W 0 4パレッ トを実行する (ステップ 2 0 8) 。 即ち、 パレッ ト関数 1 0 2に全ての W 0 4に関する基底論理 1 0 3つまり W 0 4位相要素と W0 4論理要素がセッ 卜された W04パレツ 卜を実行する。 これにより表示すべき画面に関するデータ値が決定される。
そして、 送信機能を実行する (ステップ 2 0 9 ) 。 即ち、 データ値等 がセッ トされた画面をコンピュータ上で表示する画面データとして送信 する。
その後、 受信機能を実行する (ステップ 2 1 0 ) 。 即ち、 コンビュ一 夕の画面上でデータ値等が入力された画面データを受信する。
そして、 受信データが正常かどうかを判断し (ステップ 2 1 1 ) 、 異 常の場合には最初からやり直す。 即ち、 規則違反のデータ等がないかを 判断する。
次に、 該当する W 0 2パレツ トを実行する (ステップ 2 1 2) 。 即ち、 パレッ ト関数 1 0 2に全ての W 0 2に関する基底論理つまり W 0 2論理 要素がセッ 卜された W 0 2パレッ 卜を実行する。 これによりコンビュ一 夕の画面上で入力されたデータ等が決定される。
次に、 処理経路が決定される (ステップ 2 1 3、 2 1 4 ) 。 処理経路 は W 0 2論理要素上の処理経路フラグ (R= i〜 5 ) によって判断され る。
処理経路フラグが R = 1 の場合には、 該当する W0 3パレッ ト (ファ ィルへの登録を伴わない W 0 3パレツ 卜) を実行する(ステップ 2 1 5)。 そして、 最初の処理 (ステップ 2 0 1 ) に戻る。 処理経路 R= lはデー 夕処理の実行のみを行う経路処理である。
処理経路フラグが R = 2の場合には、 該当する W0 3パレッ ト (ファ ィルへの登録を伴う W 0 3パレッ ト) を実行する (ステップ 2 1 6 ) 。 そして、 最初の処理 (ステップ 2 0 1 ) に戻る。 処理経路 R== 2はデー 夕処理の実行とデ一夕のフアイルへの登録を行う経路処理である。 処理経路フラグが R= 3〜 5の場合には、 そのまま最初の処理 (ステ ップ 2 0 1 ) に戻る。
ここで、 処理経路 R= 3はそのまま W0 4パレッ ト (同一、 異種の両 方) に戻る経路処理である。
経路処理 R== 4はデータをそのままファイルに登録する処理である。 処理経路 R= 5はデータをそのままファイルから取り出す処理である。 図 3はパレッ ト関数の構造パラダイムを示すフローチャートである。 W0 2、 W0 3、 WO 4に関する基底論理それぞれについてこのような 構造のパレツ ト関数を作成する必要がある。
まずデ一夕エリァを "空" 化する (ステップ 3 0 1 ) 。 即ち、 例えば W 0 4に関するパレツ 卜関数では画面ごとに、 当該画面に存在する単語 毎にその識別子が付されたデータエリアを "空" 化する。 ただし、 W0 2上のパレッ ト関数だけは 「空化」 を行わない。 そして、 各位相要素と 論理要素を順次 (位相要素、 論理要素の順番で) 実行する (ステップ 3 0 2、 3 0 3 ) 。
その後、 パレッ ト再起動フラグがセッ トされている場合には (ステツ プ 3 0 4 ) 、 フラグをリセッ トする (ステップ 3 0 5 ) と共に各位相要 素と論理要素を順次 (位相要素、 論理要素の順番で) 再実行する (ステ ップ 3 0 2、 3 0 3 ) 。
一方、 パレツ 卜再起動フラグがセッ 卜されていない場合にはファイル を閉じて (ステップ 3 0 6 ) 処理を終了する。 ここで、 「ファイル」 と は、 W 0 3の基底論理で自己生成されたデータ値を 「記憶」 するもので あって、 単語毎に設けられる。 なお、 ファイルに記憶されたデータの再 現は、 単語毎に再現元ファイルが異なるので、 単語毎の論理要素の自己 生成部分のサブルーチンで行う。 そして、 サブルーチン内でファイルの オープンとリ一ドが実行され、 クローズはパレツ 卜関数が纏めて実行す る。
パレツ ト再起動は、 各論理要素上の再起動フラグによって判断される。 図 4は基底論理のうち位相要素の構造パラダイムを示すフローチヤ一 卜である。
位相要素を Y (D、 i 、 Wn ) とすると、 まず D、 i 、 Wn - 1 (D は画面識別子、 i は単語識別子、 Wn— 1は例えば位相要素が W0 3な ら W 0 2を示す。 ) のデ一タエリアが空でないか否かを判別する (ステ ップ 40 1 ) 。
空の場合には位相要素 Y (D、 i 、 Wn) を終了する。
空でない場合には、 D、 i 、 Wn— 1のデータエリアのデ一夕を D、 i 、 Wnのデータエリァに移して終了する (ステップ 4 0 2 ) 。
図 5は基底論理のうち W0 3論理要素の構造パラダイムを示すフロー チヤ一卜である。
論理要素を L (D、 i 、 WO 3 ) とすると、 まずデータエリア (D、 i 、 WO 3 ) が空でないか否かを判別する (ステップ 5 0 1 ) 。
デ一夕エリア (D、 i 、 W0 3 ) に既にデ一夕があって空でない場合 には、 論理要素 L (D、 i 、 W O 3 ) を終了する。
データエリア (D、 i 、 W 0 3 ) にデータがなくて空の場合には、 デ 一夕の自己生成を行う (ステップ 5 0 2 ) 。 データの自己生成とは、 デ 一夕が入力属性の場合には例えばデータエリア (D、 i 、 W 0 2 ) のデ —夕をデ一夕エリア (D、 i 、 W 0 3 ) に移すこと、 データが出力属性 の場合には例えばフアイルの同一単語のデ一夕からデ一夕を自己生成す ること、 デ一夕が同様に出力属性の場合には例えば他の単語のデータか ら演算でデータを自己生成すること、 をいう。
次に、 デ一夕エリア (D、 i 、 W0 3 ) が空でないか否かを判別する (ステップ 5 0 3 ) 。
データエリア (D、 i 、 W0 3 ) にデ一夕が存在することとなった場 合には、 自己生成が成立したとみなし、 論理要素 L (D、 i 、 WO 3 ) を終了する。
データエリア (D、 i 、 WO 3) にデータが存在しない場合には、 D、 i 、 WO 3の再起動カウン夕に" 1 " を加算する (ステップ 5 04 ) 。 次に、 再起動カウンタの値が予め定めた値以下かどうか、 即ち再起動 可能かどうかを判定する (ステップ 5 0 5 ) 。
再起動可能な場合には、 再起動フラグ (D、 i 、 W0 3 ) をセッ トす る (ステップ 5 0 6 ) 。
再起動可能でない場合には、 不成立フラグ (D、 i 、 WO 3 ) をセッ 卜する (ステップ 5 0 7 ) 。
図 6は基底論理のうち W0 2論理要素の構造パラダイムを示すフロー チヤ一トである。 論理要素を Lとすると、 まずデータエリア (D、 i 、 WO 2 ) が空でないか判別する (ステップ 6 0 1 ) 。
デ一夕エリア (D、 i 、 W0 2 ) にデ一夕がなくて空の場合、 つまり 画面からデータの入力が行われなかった場合には、 論理要素 L (D、 i、 W 0 2 ) を終了する。
デ一夕エリア (D、 i , W 0 2 ) に既にデ一夕があって空でない場合 には、 処理経路を設定する (ステップ 6 0 2 ) 。 処理経路の設定とは、 上述した処理経路フラグ (R= l〜 5 ) を設定することである。 次に、 処理経路の設定が成立したか否かを判別する(ステツプ 60 3)。 処理経路の設定が成立した場合には、 論理要素 L (D、 i 、 W0 2 ) を終了する。
処理経路の設定が成立しない場合には、 D、 i 、 WO 2の再起動カウ ン夕に" 1 " を加算する (ステップ 6 0 4) 。
次に、 再起動カウンタの値が予め定めた値以下かどうか、 即ち再起動 可能かどうかを判定する (ステップ 6 0 5 ) 。
再起動可能な場合には、 再起動フラグ (D、 i 、 WO 2 ) をセッ トす る (ステップ 6 0 6 ) 。
再起動可能でない場合には、 不成立フラグ (D、 i 、 WO 2 ) をセッ 卜する (ステップ 6 0 7 ) 。
図 7は基底論理のうち W0 4論理要素の構造パラダイムを示すフロー チャートである。
論理要素を L (D、 i 、 WO 4 ) とすると、 まずデータエリア (D、 i 、 WO 4) が空でないか否かを判別する (ステップ 7 0 1 ) 。
デ一夕エリア (D、 i 、 WO 4) にデ一夕がなくて空の場合には、 デ 一夕の自己生成を行う (ステップ 7 0 2 ) 。 デ一夕の自己生成とは、 デ 一夕が入力属性の場合には例えばデータエリア (D、 i 、 W 0 2 ) のデ —夕をデ一夕エリア (D、 i 、 WO 4 ) に移すこと、 デ一夕が出力属性 の場合には例えばファイルの同一単語のデータからデータを自己生成す ること、 データが同様に出力属性の場合には例えば他の単語のデータか ら演算でデータを自己生成すること、 をいう。
次に、 データエリア (D、 i 、 WO 4 ) が空でないか否かを判別する (ステップ 7 0 3 ) 。
データエリア (D、 i 、 W0 4 ) にデータが存在することとなった場 合には、 自己生成が成立したとみなし、 論理要素 L (D、 i 、 WO 4 ) を終了する。
デ一夕エリア (D、 i 、 W O 4 ) にデ一夕がなくて "空" の場合には、 D、 i 、 W 0 4の再起動カウン夕に" 1 " を加算する(ステップ 7 0 4 )。 次に、 再起動カウンタの値が予め定めた値以下かどうか、 即ち再起動 可能かどうかを判定する (ステップ 7 0 5 ) 。
再起動可能な場合には、 再起動フラグ (D、 i 、 W 0 4 ) をセッ トす る (ステップ 7 0 6 ) 。
再起動可能でない場合には、 不成立コードをセッ トする (ステップ 7 0 7 ) 。
一方、 ステップ 7 0 1 において、 デ一タエリア (D、 i 、 W 0 4 ) に 既にデ一夕があって空でない場合には、 該単語の W 0 2不成立フラグ又 は該単語の W 0 3不成立フラグがセッ 卜されているかどうかを判断する (ステップ 7 0 8 ) 。
単語の W 0 2不成立フラグ又は該単語の W 0 3不成立フラグがセッ ト されている場合には、 不成立コードをセッ トするとともに、 不成立フラ グをリセッ トする (ステップ 7 0 9 ) 。
なお、 不成立コードは、 例えば図 1 0に示すように、 「暗証番号」 の デ一夕エリア 1 0 0 1に誤った番号が入力されたときに 「メッセージ」 のデータエリアにその旨を表示するのために使われる。 「暗証番号」 の
W 0 4論理要素で不成立コードがセッ トされると、 「メッセージ」 の W 0 4論理要素の 「データの自己生成」 によってその旨が表示される。 本発明は図 3に示したパレッ ト関数、 図 4〜図 7に示した位相要素及 び論理要素に係るプログラムを自動的に生成するものである。 パレツ 卜 連鎖関数は常に同一のプログラムで構成できるので、 パレッ ト関数、 位 相要素及び論理要素に係るプログラムを自動的に生成できるということ は、 目的とするソフ トウェアを自動的に生成することを意味する。 そし て、 パレッ ト関数、 位相要素及び論理要素のいづれもデータエリアのァ ドレスだけでロジックを実現していることから、 業務用ソフ トウェアや ゲーム用ソフ 卜ウェア、 その他あらゆる分野のソフ 卜ウェアを自動的に 生成できることを意味する。
図 8は本発明に係るソフ 卜ウェアの自動生成装置の構成を示すブロッ ク図である。 このソフ トウェアの自動生成装置は、 コンビュ一夕上でソ フ トウェアにより実現することができる。
図 8において、 8 0 1 は図 4〜図 7に示した位相要素、 論理要素及び パレツ ト関数に係るプログラムであって" デ一夕の自己生成" の部分、 " 処理経路" の部分及び" D、 i " が未定義なプログラムを予め記憶する 第 1の記憶部、 8 0 2はパレツ ト連鎖関数に係るプログラムを予め記憶 する第 2の記憶部、 8 0 3は" データの自己生成" の部分、 " 処理経路" の部分及び" D、 ' を入力するための入力部である。
また、 8 0 4は入力部 8 0 3で入力された" データの自己生成" の部 分、 " 処理経路" の部分及び" D、 ' を第 1の記憶部 8 0 2に記憶さ れた位相要素、 論理要素及びパレッ 卜関数に係るプログラムの所定の位 置に埋め込む埋込部、 8 0 5は定義後の位相要素、 論理要素及びパレッ ト関数に係るプログラムをパレツ ト連鎖関数に組み込む組込部、 8 0 6 はプログラムの組み込まれたソフ トウェアを出力する出力部である。 次に、 このように構成された装置を使ってソフ 卜ウェアを生成する手 順を図 9に沿って説明する。
まず、 目的とするソフ トウェアで使用する画面や帳票を特定し (ステ ップ 9 0 1 ) 、 それぞれの画面に識別子 (定義体識別子) を設定する (ステップ 9 0 2 ) 。 図 1 0は決定された画面の一例である。 図 1 0の 画面にシステムユニークな任意の識別子、 例えば" G S O I 0 8 " とい つた定義体識別子を設定する。 また、 図 1 0においてお側の空欄はデー 夕フィールドを示している。
次に、 処理経路図を作成し、 ファイルを決定する (ステップ 90 3 ) 。 処理経路図は決定された画面や帳票に基づき作成される。 処理経路図は 人間が作成しても良いし、 機械化しても良い。 処理経路図は各画面や各 帳票に対応するパレッ ト (ボックスで表示) を線で接続したものである。 線はパレツ ト連鎖関数を意味する。 画面や帳票が決定されていればパレ ッ ト間の接続は必然的に決まる。 図 1 1は処理経路図の一例を示してい る。
処理経路図においては、 例えばある画面 (例えば 「メニュー画面 G S MENU」 ) が決まるとその画面での処理内容 ( 「メニュー NO= n + ENT E R」 、 「終了」 の画面上の制御単語) から次に必要な処理 (例 えば 「メニュー画面 G SMENU」 からは 「残高照会画面 G SO 1 08」 の表示や 「システム閉鎖」 、 「残高照会画面 G S O I 0 8」 からは 「実 行」 の制御単語によってファイル F S H I N F I Lからのデ一夕 (残高 データ) の読み出しや暗証番号エラ一に対する元の画面への復帰あるい は 「終了」 の制御単語によってメニュー画面 G S MENU」 への復帰。 ) が必然的に決まるので、 上記処理内容に応じてパレツ 卜等の間を線で結 んでいる。
図 1 1 において、 「G S MENU」 の下の 「W0 4」 は画面識別子 G S M E N Uが付された W 0 4パレッ トであり、 この W 0 4パレッ トによ つてメニュー画面 G S MENUが形成される。
「G S MENU」 の下の 「W0 2」 は画面識別子 G S M E N Uが付さ れた AV 0 2パレツ 卜であり、 この W 0 2パレツ 卜によって処理経路が決 定される。
「G S O I 0 8」 の下の 「W 0 4」 は画面識別子 G S〇 I 0 8が付さ れた W 0 4パレツ 卜であり、 この W 0 4パレツ 卜によって残高照会画面 G S O I 0 8のデ一夕フィールドに表示するデータが形成される。
「G S〇 I 0 8」 の下の 「W0 2」 は画面識別子 G S O I 0 8が付さ れた W 0 2パレツ トであり、 この W 0 2パレツ トによつて処理経路が決 定される。
「W0 3」 はシステムに一個の W 0 3パレッ トであり、 この W0 3パ レツ 卜によって預金残高が算出される。 算出された預金残高は W0 4パ レッ トの位相要素、 論理要素の実行を経て残高照会画面 G S 0 I 0 8に 表示される。
作成された処理経路図に基づき必要なファィルを決定する。 即ち必要 なファイルは処理経路図より必然的に決定できる (例えば図 1 1 では 「F S H I NF I L」 「FM〇TOF I L」 。 「F SH I NF I L」 は、 「顧客台帳ファイル」 の定義体識別子を意味し、 「FMOTOF I L」 は、 「預金元帳ファイル」 の定義体識別子を意味する。 ) 。 決定したフ アイルは処理経路図に記述する。
なお、 「 I O—W 0 4— RK 1— S E C」 とは、 「顧客台帳ファイル」 からデータをリードする W 0 4パレツト上のサブルーチン識別子である。
「 I O— W 0 4— R D 1 — S E C」 とは、 「預金元帳ファイル」 からデ —夕をリードする W 0 4パレッ ト上のサブルーチン識別子である。 「 I O— W0 2— RK 1 — S E C」 とは、 「顧客台帳ファイル」 からデータ をリードする W 0 2パレッ ト上のサブルーチン識別子である。 「 I O— W0 3— RK 1 — S E C」 とは、 「顧客台帳ファイル」 からデータをリ 一ドする W0 3パレッ ト上のサブルーチン識別子である。 「 I O— W0 3 RD 1 — S E C」 とは、 「預金元帳ファイル」 からデータをリード する W0 3パレツ 卜上のサブルーチン識別子である。 以上は図 1 におい ても同様である。
次に、 特定された画面、 帳票、 ファイルから単語を収集し (ステップ 9 04 ) 、 それぞれの単語に識別子を設定する (ステップ 9 0 5 ) 。 例 えば図 1 0の画面から 「暗唱番号」 、 「顧客氏名」 、 「預金残高」 、
「メッセージ」 、 「実行」 、 「終了」 なる単語を収集し、 例えば 「暗唱 番号」 、 「顧客氏名」 、 「預金残高」 、 「メッセージ」 、 「実行」 、 「終了」 に対して単語識別子として" PASSN01', " CLNAME" , " Y0KNZAN" , "MSSGCD1" , "PF25KEY", ' PF3KEY'を設定する。
図 1 2は入力部 8 0 3より入力される定義表の一例を示す図である。 この定義表は例えばコンピュータ画面上に表示され、 そこから各デ一夕 が入力される。
定義表では、 画面識別子 ( I D) の入力欄、 画面名称の入力欄、 単語 名称の入力欄がある。 また、 各単語名称に対応して、 単語識別子(I D)、 データが入力属性か出力属性か ( I ZO) 、 データの桁数、 デ一夕属性 が数字型か文字型 (属性) 、 使用ファイル (上述したように記憶された デ一夕の再現は単語毎に再現元ファイルが異なるので単語毎の論理要素 の自己生成部分のサブルーチンで行う。 そのために単語毎に使用フアイ ルを定義している。 ) 、 処理経路 (R— NO) 、 処理経路決定単語に対 応した機能キー番号 (F— KEY) 、 次画面識別子、 単語定義 (デ一夕 の自己生成) の入力項目がある。 単語定義 (データの自己生成) の入力 項目には、 データが入力属性の場合には L Y E Eの原理により自動的に 決定できるので何も定義しない。 データが出力属性の場合、 例えばファ ィルの同一単語のデータからデータを自己生成するか、 デ一夕が同様に 出力属性の場合には例えば他の単語のデ一夕から演算でデータを自己生 成するかだけ、 を設定する。 より具体的には、 「ファイルの同一単語の データからデータを自己生成」 とは、 「顧客氏名」 、 「預金残高」 がそ の一例である。
また、 「他の単語のデータから演算でデ一夕を自己生成」 とは、 「預 金残高」 (=ファイルの預金残高 +画面の取引金額) がその一例である。 処理経路の入力項目には、 上述した処理経路 (R= l〜 5 ) を設定す る。
本発明でいう 「導出データ」 は、 上記の単語定義に相当する。
また、 本発明でいう 「処理経路」 は、 上記の処理経路 (R— NO) 、 機能キー番号 (F— KE Y) 及び次画面識別子に相当する。
そして、 埋込部 8 0 4及び組込部 8 0 5によってソフ トウェアの自動 生成を実行する (ステップ 9 0 7 ) 。
この自動生成の動作を図 1 3のフローチャートに基づき説明する。 即ち、 定義表に画面識別子や単語識別子等、 つまり本発明でいう" デ 一夕の自己生成" の部分、 " 処理経路" の部分及び" D、 i " が入力さ れ (ステップ 1 3 0 1 ) 、 自動生成の実行がなされると (ステップ 1 3 0 2 ) 、 埋込部 8 0 4が第 1の記憶部 8 0 1から" デ一夕の自己生成" の部分、 " 処理経路" の部分及び" D、 i " が未定義の位相要素、 論理 要素及びパレッ ト関数を呼び込み (ステップ 1 3 0 3 ) 、 未定義の位相 要素、 論理要素及びパレッ ト関数の所定の位置に定義表に設定された" データの自己生成" の部分、 " 処理経路" の部分及び" D、 i " がそれ ぞれ埋め込まれる (ステップ 1 3 0 4 ) 。
この点をさらに具体的に説明する。
未定義の W 0 3論理要素のプログラムは以下の通りである。
*
* @¾8@
*
L-W03-§¾16@-@¾19@-SEC SECTION.
L-W03-@¾16@-§¾19§-START. 99/49387
* --く 有意判定 >一
IF @¾16@-@¾19@ OF W03 NOT = @¾20@
GO TO L-W03-@¾16@-@¾19@-EXIT END- IF.
* --く 自己生成 〉一
* --く 入力属性のとき W 0 2をセッ ト > --
* MOVE @¾16@-@¾19@ OF W02
* TO §¾16@-§¾19@ OF W03.
* --く 出力属性のとき、 ファイルに同一単語があればそこから自 己生成 > --
* MOVE G#####-***** OF W03
* TO F#####-***** OF F#####-REC.
* PERFORM I0-W03-RD*-SEC.
* IF RD*-INVS = " IV"
* MOVE @¾20@ TO @%16@-@¾19@ OF WO 3
* ELSE
* MOVE F#####-@%19@ OF Ft####-REC
* TO §¾16@-@%19§ OF W03
* END- IF.
*--< 出力属性のとき 他の単語との演算で自己生成 〉 --
* COMPUTE @¾16@-@¾19@ OF WO 3
* = OF WO 3
* + OF WO 3.
*- -く 成立判定 〉 --
IF §¾16§-@¾19@ OF W03 = @¾20
* OR @%16@-@¾19@ OF WO 3 > 0 ADD 1 TO @¾16@-@¾19@-CNT
IF §¾16§-§¾19@-CNT く RECALL-MAX
MOVE " Γ TO RECALL-FLG
ELSE
MOVE " 1" TO @¾16@-@¾19§-NON
END-IF
END-IF.
L-W03-@¾16@-@¾19@-EXIT.
EXIT. 」
この未定義の WO 3論理要素のプログラムにおいて、
@ % 8 @は単語名称、
@ % 1 6 @は画面識別子、
@ % 1 9 @は単語識別子、
@% 2 0 @は属性に対応した 「空」 の値、
F # # # # #はフアイルアクセスのキーとなる定義体識別子
G # # # # #はフィルルアクセスのキーのもととなる単語が存在する画 面の定義体識別子、
RD *はアクセスするフアイルに対応したサブルーチンに固有する識別 子、
* * * *はファイルアクセスのキーとなる単語識別子、
— #及び * * *一 * * *は演算により導出するための独立変 数の単語識別子を表している。
そして、 図 1 2に示した定義表の
単語名称の欄が @ % 8 @
画面識別子の欄が @ 1 6 @
単語識別子の欄が @ % 1 9 @ 属性の欄が @ % 2 0 @
単語定義の欄が
*--< 自己生成 >- -
* --く 入力属性のとき W0 2をセッ ト 〉一
* MOVE @¾16@-@¾19@ OF W02
* TO @¾16@-@¾19@ OF WO 3.
*~< 出力属性のとき ファイルに同一単語があればそこから自 己生成 〉一
* MOVE G#####- ***** OF W03
* TO F#####-***** OF F#t###-REC.
* PERFORM I0-W03-RD*-SEC.
* IF RD*-INVS = " IV"
* MOVE §%20@ TO @%16§-@¾19@ OF W03
* ELSE
* MOVE F#####-@%19@ OF F#####-REC
* TO @%16@-@¾19@ OF WO 3
* END-IF.
*- -く 出力属性のとき 他の単語との演算で自己生成 >- -
* COMPUTE @¾16@-@¾19§ OF WO 3
* = ###-### OF W03
* + OF W03.
に対応している。
このうち
* --く 入力属性のとき AV 0 2をセッ ト > -- * MOVE §¾16@-@¾19@ OF O 2 * TO @%16§-§¾19@ OF W03.
がデ一夕エリア (D、 i、 Wn) 一 1のデータをデータエリア (D、 i、 Wn ) に移すプログラム部分、
* --く 出力属性のとき ファイルに同一単語があればそこから自 己生成 〉一
* MOVE G#####-***** OF W03
* TO F#####-***** OF F#####-REC.
* PERFORM I0-W03-RD*-SEC.
* IF RD*-INVS = " IV"
* MOVE @¾20@ TO @%16@-@¾19@ OF W03
* ELSE
* MOVE F#####-@¾19@ OF F#####-REC
* TO @¾16§-@¾19@ OF W03
* END-IF. がフアイルの同一単語のデ一夕からデータを自己生成するプログラム部 分、
* --く 出力属性のとき 他の単語との演算で自己生成 > --
* COMPUTE §¾16@-@¾19@ OF W03
* = OF WO 3
* + OF W03. が他の単語のデータから演算でデータを自己生成するプログラム部分を 示している。 そして、 定義表に画面識別子等が設定されると、 単語ごとに未定義の 論理要素の各欄、 @% 8 @、 @ % 1 6 @ , @% 1 9 @、 @% 2 0 @、 #
# # # # # 、 * 、 # # # — # # # 、 氺 * ネ ー ネ
* *にその値が設定され、 以下に示す単語毎の W 0 3論理要素、 つまり 完成された W0 3論理要素のプログラムが生成される。
*
* 暗証番号
*
L-W03-GSOI08-PASSN01-SEC SECTION.
L-W03-GSOI08-PASSN01-START.
*ーく 有意判定 > --
IF GS0I08-PASSNO1 OF W03 NOT = LOW-VALUE
GO TO L-W03-GSOI08-PASSN01-EXIT
END - IF.
*一く 自己生成 〉 --
*- -く 入力属性のとき W0 2をセッ ト > --
MOVE GSOI08-PASSN01 OF W02
TO GSOI08-PASSN01 OF WO 3
* --く 成立判定 > --
IF GSOI08-PASSNO1 OF WO 3 = LOW-VALUE OR GSOI08-PASSN01 OF WO 3 > 0
ADD 1 TO GSOI08-PASSN01-CNT
IF GSOI08-PASSN01-CNT < RECALL-MAX
MOVE " 1" TO RECALL-FLG
ELSE MOVE " Γ TO GSOI08-PASSN01-NON
END- IF
END-IF.
L-W03-GSOI08-PASSNO1-EXIT.
EXIT.
*
* 顧客氏名
*
L-W03-GS0I08-CLNAME-SEC SECTION.
L-W03-GS0I08-CLNAME-START.
*一く 有意判定 〉 --
IF GSOI08-CLNAME-XX OF W03 NOT = ALL " 9"
GO TO L-W03-GSOI08-CLNAME-EX1T
END- IF.
*— < 自己生成 〉 --
* --く 出力属性のとき ファイルに同一単語があればそこから自 己生成 >—
MOVE G SOI08- PASSNOl OF W03
TO FMOTOFIL- PASSNOl OF FMOTOFIL-REC.
PERFORM IO-W03-RD1-SEC.
IF RD1-INVS = " IV"
MOVE ALL " 9" TO GSOI08-CLNAME-XX OF WO 3
ELSE
MOVE FMOTOFIL-CLNAME OF FMOTOFIL-REC
TO GSOI08-CLNAME OF WO 3 99/49387
END- IF.
* --く 成立判定 > --
IF GSOI08-CLNAME-XX OF WO 3 = ALL "9" OR GSOI08-CLNAME-XX OF W03 > 0
ADD 1 TO GSOI08-CLNAME-CNT
IF GS0I08-CLNAME-CNT < RECALL-MAX
MOVE " Γ TO RECALL- FLG
ELSE
MOVE " 1" TO GSOI08-CLNAME-NON
END-IF
END- IF.
L - W03- GS0I08- CLNAME- EXIT.
EXIT.
預金残高
L-W03-GSOI08-YOKNZAN-SEC SECTION.
L-W03-GSOI 08- YOKNZAN- START.
*一く 有意判定 > --
IF GSOI08-YOKNZAN OF W03 NOT = LOW-VALUE
GO TO L-W03-GSOI08-YOKNZAN-EXIT
END-IF.
* --く 自己生成 〉 --
*一く 出力属性のとき ファイルに同一単語があればそこから自 己生成 > -- MOVE G SO 108- PASSNOl OF W03
TO FMOTOFIL- PASSNOl OF FMOTOFIL-REC.
PERFORM IO-W03-RD1-SEC.
IF RDl-INVS = " IV"
MOVE ALL " 9' TO GSOI08-CLNAME-XX OF W03
ELSE
MOVE FMOTOFIL- YOKNZAN OF FMOTOFIL-REC
TO GSOI08-YOKNZAN OF WO 3
END - IF.
*-< 成立判定 〉 --
1F GSOI08-YOKNZAN OF W03 - LOW-VALUE
OR GSOI08-YOKNZAN OF W03 > 0
ADD 1 TO GSOI08-YOKNZAN-CNT
IF GS0I08-Y0KNZAN-CNT < RECALL-MAX
MOVE ' Γ TO RECALL- FLG
ELSE
MOVE ' 1" TO GS0108-YOK ZAN-NON
END - IF
END - IF.
L- W03 - GSOI08 - YOKNZAN - EXIT.
EXIT.
* メッセージ
*
L-W03-GS0108-MSSGCD1-SEC SECTION. L-W03-GSOI08-MSSGCD1-START.
* --く 有意判定 〉 --
IF GS0I08-MSSGCD1 OF W03 NOT = LOW-VALUE
GO TO L-W03-GSOI08-MSSGCD1-EXIT END-IF.
*--< 自己生成 > -- * --く自己生成なし
* --く 成立判定 〉 --
IF GSOI08-MSSGCD1 OF W03 = LOW-VALUE OR GSOI08-MSSGCD1 OF W03 > 0
ADD 1 TO GSOI08-MSSGCD1-CNT
IF GS0108-MSSGCD1-CNT < RECALL-MAX MOVE " 1" TO RECALL-FLG
ELSE
MOVE ° 1" TO GSOI08-MSSGCD1-NON END-IF
END-IF.
L-W03-GS0I08-MSSGCD1-EXIT.
EXIT.
*
* 終了
*
L-W03-GSOI08-PF3KEY-SEC SECTION.
L-W03-GSOI08-PF3KEY-START.
* --く 有意判定 〉 -- 7
IF GSOI08-PF3KEY OF W03 NOT = LOW-VALUE
GO TO L-W03-GSOI08-PF3KEY-EXIT
END-IF.
*-< 自己生成 > -- *— < 自己生成なし
*-< 成立判定 >一
IF GSOI08-PF3KEY OF W03 = LOW-VALUE OR GSOI08-PF3KEY OF W03 > 0
ADD 1 TO GSOI08-PF3KEY-CNT IF GSOI08-PF3KEY-CNT < RECALL-MAX MOVE " Γ TO RECALL-FLG
ELSE
MOVE " V TO GSOI08-PF3KEY-NON END-IF
END-IF.
L-W03-GSOI08-PF3KEY-EXIT.
EXIT.
* 実行
L-W03-GSOI08-PF25KEY-SEC SECTION.
L-W03-GSOI08-PF25KEY-START.
* --く 有意判定 >一
IF GSOI08-PF25KEY OF WO 3 NOT = LOW-VALUE GO TO L-W03-GSOI08-PF25KEY-EXIT END- IF.
*- -く 自己生成 > -- *- -く 自己生成なし
*--< 成立判定 〉一
IF GSOI08-PF25KEY OF W03 - LOW-VALUE OR GS0I08-PF25 EY OF W03 > 0
ADD 1 TO GSOI08-PF25KEY-CNT
IF GS0I08-PF25KEY-CNT < RECALL-MAX MOVE ° Γ TO RECALL- FLG
ELSE
MOVE " 1" TO GSOI08-PF25KEY-NON END- IF
END - IF.
L-W03-GSOI08-PF25KEY-EXIT.
EXIT.
また、 未定義の W 0 3位相要素は、 以下の通りである。
@%8@
Y-W03-§¾16@-@¾19@-SEC SECTION.
Y-W03-@¾16@- 19@- START.
IF ¾16§- %19@ OF WO 2 NOT = §¾20@
MOVE @¾16§-@%19@ OF WO 2
TO @¾16§-@%19@ OF W03 99/49387
END- IF.
Y-W03-@¾16@-@¾19@-EXIT.
EXIT. そして、 単語ごとに未定義の WO 3位相要素の各欄にその値が設定され、 以下に示す単語毎の W O 3位相要素、 つまり完成された W 0 3位相要素 のプログラムが生成される。
暗証番号
Y-W03-GSOI08-PASSNO1-SEC SECTION.
Y-W03-GSOI08-PASSN01-START.
IF GS0I08-PASSN01 OF W02 NOT = LOW-VALUE
MOVE GSOI08-PASSN01 OF W02
TO GSOI08-PASSN01 OF W03
END-IF.
Y-W03-GSO108-PASSNO1-EXIT.
EXIT.
顧客氏名
Y- O3-GSO108-CLNAME-SEC SECTION.
Y - W03- GSOI08- CLNAME- START.
IF GSOI08-CLNAME-XX OF WO 2 NOT = ALL " 9" SO JO iaODSSK-80IOSD 01
θΛ\ iO ia39SSW-80IOSO ΗΛΟΝ
H.nVA- Ol = XOM ?0 iO ia30SSl[-80 IOSD il
'lHVIS-ia3DSSW-80IOS9-C0 -A
'M0II3HS 33S-ia30SSN-80IOSO-eO¾-A
: t:
― - ^ *
*
ΊΙΧ3
ΊΙΧ3 - NVZ謹入- 80I0S9 - -人
' -鎖
δΟ HO NVZN)10A-80IOSD 01
^OM JO NVZMMOA-80IOSO 3A0W
ΗΠ Λ- ΟΊ = ION 20 ίθ NVZN)10A-80IOSO il
iaVlS-NVZN)lOA-80IOSD-S0M-A
"M0II33S 33S-MVZN)IOA-80IOSO-SO -A
*
i
ΊΙΧΗ
'IIX3-HWVN13-80IOSO-eO¾-A
•JI-鎖
SO JO 3MVN13-80IOSD 01
ZO 3画 - 80I0S 3Λ0Μ ム 8£6 OAV f6eiO/66c[f/XDd END-IF.
Y-W03-GS0I08-MSSGCD1-EXIT.
EXIT.
終了
Y-W03-GSOI08-PF3KEY-SEC SECTION.
Y-W03-GSOI08-PF3KEY-START.
IF GSOI08-PF3KEY OF W02 NOT = LOW-VALUE MOVE GSOI08-PF3KEY OF W02 TO GSOI08-PF3 EY OF W03
END-IF.
Y-W03-GSOI08-PF3KEY-EXIT.
EXIT.
実行
Y-W03-GSOI08-PF25KEY-SEC SECTION.
Y-W03-GSOI08-PF25KEY-START.
IF GSOI08-PF25KEY OF W02 NOT = LOW-VALUE MOVE GSOI08-PF25KEY OF WO 2
TO GSOI08-PF25KEY OF WO 3
END-IF.
Y-W03-GSOI08-PF25KEY-EXIT. EXIT. 未定義の WO 3論理要素群は以下の通りである。
* --く §%8@
PERFORM L-W03-§¾16@-@¾19@-SEC. 未定義の WO 3位相要素群は以下の通りである。
*
*- -く @¾8§
PERFORM Y-W03-§¾16@-@¾19@-SEC. また、 未定義のパレッ ト関数は以下の通りである。
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
SOURCE-COMPUTER. AS400.
OBJECT-COMPUTER. AS400.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
*
* -- K E Y有り - - *
SELECT @¾16@ ASSIGN TO DATABASE- 16@
ORGANIZATION IS INDEXED ACCESS MODE IS DYNAMIC RECORD KEY IS EXTERNALLY-DESCRIBED-KEY * WITH DUPLICATES
FILE STATUS IS @¾24@.
K E Y無し一*
* SELECT @%16@ ASSIGN TO DATABASE- @ 6@
* ORGANIZATION IS SEQUENTIAL
* ACCESS MODE IS SEQUENTIAL
* FILE STATUS IS @¾24@.
DATA DIVISION.
FILE SECTION.
FD @¾16§
LABEL RECORD IS STANDARD.
01 @¾16@-R.
COPY DDS-ALL- FORMATS OF @¾16@.
01 @¾16@-REC.
COPY @¾9@.
WORKING-STORAGE SECTION.
01 PALETTE-WORK.
03 PS PIC S9 (03) COMP.
01 WK- FILE- STATUS.
03 @%24@ PIC X (02).
01 FILE-STATUS.
03 §%7§-OPNS PIC X(01)
03 §¾7@-REDS PIC X(01)
03 @¾7@-INVS PIC X(02) 7
* --く WO 3 画面ク リアに使用する
01 WK-@¾16@.
COPY @¾16@.
: 本本本本本本本本本本
LINKAGE SECTION.
* --く CTRL >--*
01 CTRL-AREA.
COPY CTRLAREA.
* --く W02 >— *
01 W02- AREA.
02 W02 OCCURS 5.
COPY W0204.
* --ぐ 画面 〉 --
03 W02-@¾16@ REDEFINES INFO.
COPY §%16@.
03 @¾16@-N0N REDEFINES NON-FLG.
COPY §%16@N.
*— < W03 >— *
01 W03-AREA.
02 W03.
* -< I ZF情報 〉 -- 03 W03-CNTRL.
05 RECALL-FLG PIC X (1) .
05 RECALL-MAX PIC 9 (2) .
* 一く 単語 〉 -- 7
03 WO 3- ITEMS.
04 W03-@¾16@.
COPY @¾16@.
04 W03-FILE.
COPY §¾16@.
04 W03-LIST.
COPY @¾16@.
* 一く 不成立フラグ > -- 03 W03-NON.
COPY @¾16@N.
COPY @%16@N.
COPY @%16@N.
* ~< 再起回数 > -- 03 W03-CNT.
COPY @ 16@Z.
COPY §¾16@Z.
COPY §¾16§Z.
*— < W04 >—*
01 W04-AREA.
02 W04 OCCURS 5.
COPY W0204.
* -- < 画面 > --
03 W04-@%16i REDEFINES INFO.
COPY %16@.
03 OPTION- IDX-DEF REDEFINES OPTION- IDX.
COPY ¾16@C. *- -く WFL >―
01 WFL- AREA.
03 FILLER PIC X(01).
PROCEDURE DIVISION USING CTRL-AREA
W02- AREA
W03 - AREA
W04-AREA
WFL- AREA.
ネネ本本本; (;本本ネ本本本幸本本: (;本本本本:):本本本本本本本 本 M A I N
MAIN-SEC SECTION.
MAIN-START.
* --く 前処理 〉 --
PERFORM INIT-PROC.
* --く 位相要素 〉 --
PERFORM Y-PR0C.
* --く 論理要素 >一
PERFORM UNTIL RECALL- FLG : SPACE
MOVE SPACE TO RECALL- FLG PERFORM L-PROC
END-PERFORM.
* --く P wr i t e
PERFORM I0-W03-WT*-SEC.
PERFORM 10- W03- UP* - SEC. *- -く 後処理 >一
PERFORM FIN-PR0C.
MAIN-END.
EXIT PROGRAM.
本ネ本;):本本:!:本ネ本ネネ本本本本本本
* 前処理 *
本本本本;):本本本ネ本本ネネネ本ネ本本
INIT-PROC SECTION.
INIT- START.
-く 初期値 設定 > -
INITIALIZE PALETTE-WORK.
INITIALIZE WK- FILE- STATUS.
INITIALIZE FILE-STATUS.
MOVE SPACE TO FLAME-FLG OF CTRL-AREA.
MOVE 05 TO RECALL-MAX.
MOVE HIGH-VALUE TO RECALL- FLG.
--く ステージ N o . 設定 > --
MOVE STAGE-NO OF CTRL-AREA TO PS.
IF (PS く 1) OR (PS > 5)
MOVE " STAGEERR" TO MSG-NO
END-IF.
*- -く 画面項目 " 空" の設定 >— (LOW-VALUE I ALL" 9" )
MOVE LOW-VALUE TO WK-@¾1@.
*— < W 0 3 空" の設定 >— (LOW-VALUE I ALL" 9" )
MOVE LOW-VALUE TO WK- ITEMS. MOVE WK-@¾1§ TO W03-@¾l@. * S ¾ ¾ *
ΊΙΧ3
ΊΙΧ3-Ί
Ad03
§l¾@ >— *
' 丄 S-Ί
'N0I133S d-Ί
本 *本 * *本本本本ネ本 *本本本本本ネ本本 *
* 案蓮 S^l * *
ΊΙΧ3
'丄 1X3-人
AdOO
>--*
'ェ s -入
'N0II33S DOad-A
ネ本本本本 本本ネ 本本本本本 *本本本:); 本
* 挲菡 ¾ * *
本ネネ本 本本 :(::(:本本本 *本 *本 it本 Φ 本
ΊΙΧ3
ΊΙΧ3-丄 INI iND-coM aznv iNi
'NON-20 ΗΖΠνΐΙΙΝΙ
——く ^ nt >-- *
LS£6P/66 ΟΛλ j76£I0/66dT/lDd @9l¾@ indMI NHdO
A , = ION NHdO-§Z¾@ il
1HVIS-@Z%@-COM-OI
"MOI13HS 33S-@i%§-S0M-OI
-く ®n® a V 3 H く ^一 >— *
******************** 本
******************** * 本本本本;):: ^ネ本本本本;!:本本本本本: (:本本; (:ネ本本:!::):
I Ή 1 I d * 入 (103
^t^ifitt if ttt ******* tt**ttttii***^tt-lf**t
* ¾u o i i o a s 一
Figure imgf000046_0001
*
if t*tt ****************** t*****t^*t*t**i *
Ad03 本本本本本本本本本本 *本本ネ本 *本本本本 *ネ本本本本ネ本本本本ネ *本本本本本
* ¾ U O I 1 D 9 S 一 案 g¾¾ *
ネ本本:!::):本本本本:(:本本本本本本本本本 *本本本本本ネ; (;本本本本本:):: (:本本本:): *
ΊΙΧ3
ΊΙΧ3-ΝΗ
< 3S〇10 >— *
'IHVIS-NH
'N0II3HS OOHd-NId ム 8£6tV66 OW t?6eiO/66<If/X3I 87
MOVE TO @¾7@-0PNS
END-IF.
READ @¾16@ AT END
MOVE " E" TO F-END GO TO I0-W03-@¾7@-EXIT END-READ.
IO-W03-@¾7@-EXIT.
EXIT.
*— < KEY R EAD ? @%8I>—
IO-W03-@¾7@-SEC SECTION.
IO-W03-@¾7@-START.
IF @%7@-OPNS NOT = " Γ
OPEN INPUT @%16@
MOVE ' Γ TO @¾7@-OPNS
END-IF.
IF @¾7§-REDS NOT = " 1"
READ @¾16@ INVALID
MOVE " IV" TO §¾7@-INVS GO TO IO-W03-@¾7@-EXIT
END-READ
MOVE " Γ TO @¾7@-REDS
I0-W03-@¾7@-EXIT.
EXIT.
本本本ネネ: i:本ネ本本ネ本ネ本本本本本本本
* 書込サブルーチン
ネ本本本本本: (:本本ネネ木;):本本本本本本ネ 7
* --く 書込み W8@ > -- IO-W03-@¾7§-SEC SECTION.
IO-W03-§%7@-START.
IF @¾7@-0PNS NOT = " Γ
OPEN OUTPUT @¾16@
MOVE " 1" TO @¾7@-0PNS
END - IF.
WRITE @%16@-REC INVALID
MOVE " IV" TO §%7@-INVS
GO TO I0-W03-@¾7@-EXIT
END-WRITE.
IO-W03-§¾7@-EXIT.
EXIT.
* ********************
* * 更新サブルーチン
* (:ネ *本*ネネ本本; (:ネ本本ネ本本本本ネ
10-W03-@¾7@-SEC SECTION.
I0-W03-@¾7@-START.
*— < KEY READ ? @¾8@ >―
IF @¾7@-0PNS NOT = ° 1"
OPEN 1-0 @%16§
MOVE " Γ TO @¾7§-0PNS
END-IF.
* — < k e y設定
MOVE WFL- RD?- KEY- #1 TO k e y設定: READ @¾16@ INVALID MOVE " IV" TO @%7I-INVS
GO TO IO-W03-@¾7@-EXIT
END-READ.
< UPDAT E ? @¾8@ >―
IF @¾7@-INVS NOT = ' IV"
REWRITE @¾16§-REC INVALID
MOVE ' IV" TO @¾7@-INVS
GO TO IO-W03-@%7@-EXIT
END-REWRITE
END- IF.
IO-W03-@%7§-EXIT.
EXIT.
なお、 以上のプログラムにおいて、
% 2 4は % 1 6 + S T S、
% 1 7は定義表のフアイルの名称、
% 9は定義表のフアイルの単語識別子、
% 7は定義表のファイルの R— N〇、
% 1は W 0 n
がそれぞれ対応している。
以上の未定義の W 0 3論理要素群や W0 3位相要素群、 未定義の W0 3パレッ ト関数についても同様に定義されプログラムが生成される。 また、 W0 2論理要素、 V0 2パレッ ト関数、 W0 4論理要素、 W0 4位相要素及び W 0 4パレッ ト関数についても同様に自動的にブログラ ムが生成される。 そして、 これらの位相要素及び論理要素並びにパレツ 卜関数に係るプ 口グラムは組込部 8 0 5においてパレツ 卜連鎖関数に組み込まれ、 出力 部 8 0 6より出力される。
以上説明したように本発明によれば、 パレッ ト関数、 位相要素及び論 理要素のいづれもデータエリァのァドレスだけでロジックを実現してい ることから、 業務用ソフ トウェアやゲーム用ソフ トウェア、 その他あら ゆる分野のソフ トウエア生成の自動化が可能であり、 しかも生成された ソフ トウェアは、 生産性の向上、 品質の均一化、 保守の容易化が図れる。 産業上の利用可能性
以上のように、 本発明に係るソフ トウエアの生成装置及びソフトウェ ァの生成方法は、 パレッ ト関数、 位相要素及び論理要素のいづれもデー 夕エリアのアドレスだけでロジックを実現しており、 また、 ソフトゥェ ァ生成の自動化も容易に実現していることから、 業務用ソフ トウェアや ゲーム用ソフ 卜ウェア、 その他あらゆる分野のソフ トウェア生成におい て有用であり、 同時にソフ トウェアの保守においても有用である。 特に 生産性、 品質の均一性、 保守性等が要求されるソフ トウェアの生成 ·保 守に適している。

Claims

請 求 の 範 囲
1 . ( a ) 生産するソフ トウェアに必要な画面、 ファイルまたは帳票 (以下、 画面、 ファイル及び帳票を 「定義体」 と呼ぶ。 ) に存在する全 ての単語に対して作成され、 かつ定義体、 単語それぞれに対する定義体 識別子及び単語識別子が付された、 画面編集を行うための W 0 4位相要 素及び W 0 4論理要素、 処理経路を決定するための W 0 2論理要素、 並 びにファイル更新のデ一夕編集を行うための W 0 3位相要素及び W 0 3 論理要素であって、
( a - 1 ) W O 4位相要素は、 同じ単語の W 0 3のデータエリァが" 空" でない場合には、 当該 W 0 4の当該デ一夕エリァに前記同じ単語の W 0 3のデ一夕エリァの値を設定するものであり、
( a - 2 ) W O 4論理要素は、 当該単語の W O 4のデータエリアが" 空" でない場合であって同じ単語の W 0 2または W 0 3の不成立フラグがセ ッ トされている場合には、 不成立コードをセッ 卜するとともに不成立フ ラグをリセッ 卜し、 当該単語の W 0 4のデ一夕エリァカ "空の場合" に は当該単語以外の単語の W 0 4のデータエリァから当該単語の設定値を 導出して当該設定値を当該単語の W 0 4のデータエリアに設定し、 前記 設定値を導出できない場合であって再起動可能なときには再起動フラグ をセッ 卜し、 再起動不可能なときには不成立コードをセッ 卜するもので あり、
( a - 3 ) W O 2論理要素は、 当該単語の W O 2のデ一夕エリアが" 空" でない場合には、 処理経路フラグを設定し、 処理経路フラグ設定が不成 立な場合であって再起動可能なときには再起動フラグをセッ 卜し、 再起 動不可能なときには不成立フラグをセッ トするものであり、
( a— 4 ) W O 3位相要素は、 同じ単語の W O 2のデータエリアが" 空" でない場合には、 当該 W O 3の当該デ一夕エリァに前記同じ単語の W 0 2のデータエリァの値を設定するものであり、
( a— 5 ) W O 3論理要素は、 当該単語の W 0 3のデータエリアが" 空" の場合には、 当該単語以外の単語の W 0 3のデータエリアから当該単語 の設定値を導出して当該設定値を当該単語の W 0 3のデータエリアに設 定し、 前記設定値を導出できない場合であって再起動可能なときには再 起動フラグをセッ 卜し、 再起動不可能なときには不成立フラグをセッ 卜 するもの、
を有する手段と、
( b ) 画面毎に当該画面上に存在する単語の各 W 0 4位相要素及び W O 4論理要素を位相要素群、 論理要素群の順番に実行可能にまとめるとと もに各単語の各 W 0 4デ一夕エリァを組み込んだ W O 4パレツ ト、 画面 毎に当該画面上に存在する単語の各 W 0 2論理要素を実行可能にまとめ るとともに各単語の各 W 0 2デ一夕エリアを組み込んだ W O 2パレット、 及びシステム内の全定義体上に存在する単語の各 W 0 3位相要素及び W 0 3論理要素を位相要素群、 論理要素群の順番に実行可能にまとめると ともに各単語の各 W 0 3デ一夕エリァを組み込んだ W O 3パレツ トを有 するパレッ 卜群と、
( c ) 各パレッ ト内の各位相要素及び論理要素を実行すると共に、 当該 パレツ 卜内のパレッ 卜再起動フラグがセッ 卜されている場合には、 当該 パレッ ト内の各位相要素及び論理要素を再実行させる手段と、
( d ) 前記 W 0 4パレツ 卜の実行に基づく画面データをコンピュータの 画面上に送信し、 該送信画面に対する応答画面デ一夕を受信して前記 W
0 2パレツ 卜を実行し、 当該 W 0 2パレツ 卜の前記処理経路フラグに基 づき処理経路を決定し、 決定された処理経路に応じた前記 W 0 3パレツ トを実行する手段と を具備するソフ 卜ウェアを生成する装置であって、 前記定義体識別子、 前記単語識別子、 前記処理経路及び前記設定値を導 出するための導出データが未定義の W 0 4位相要素、 W0 4論理要素、 W 0 2論理要素、 W0 3位相要素、 W 0 3論理要素及び上記 (b) のパ レツ 卜群並びに ( c ) の手段を予め記憶する手段と、
前記単語毎に前記定義体識別子、 前記単語識別子、 前記処理経路及び 前記導出データを入力する手段と、
前記単語毎に前記入力された前記定義体識別子、 前記単語識別子、 前 記処理経路及び前記導出データを、 前記記憶された未定義の W 0 4位相 要素、 W 0 4論理要素、 W 0 2論理要素、 W 0 3位相要素、 W 0 3論理 要素及び上記の (b) のパレッ ト群並びに ( c ) の手段の所定の位置に 埋め込む手段と
を具備することを特徴とするソフトウェアの生成装置。
2. ( a ) 生産するソフ トウェアに必要な画面、 ファイルまたは帳票 (以下、 画面、 ファイル及び帳票を 「定義体」 と呼ぶ。 ) に存在する全 ての単語に対して作成され、 かつ定義体、 単語それぞれに対する定義体 識別子及び単語識別子が付された、 画面編集を行うための W0 4位相要 素及び W 0 4論理要素、 処理経路を決定するための W 0 2論理要素、 並 びにファイル更新のデ一夕編集を行うための W0 3位相要素及び W0 3 論理要素であって、
( a - 1 ) W 0 4位相要素は、 同じ単語の W0 3のデータエリアが" 空" でない場合には、 当該 W0 4の当該デ一夕エリァに前記同じ単語の W0 3のデータエリァの値を設定するものであり、
( a - 2 ) WO 4論理要素は、 当該単語の W04のデータエリアが" 空" でない場合であって同じ単語の W 0 2 または W0 3の不成立フラグがセ ッ 卜されている場合には、 不成立コードをセッ 卜するとともに不成立フ δ 1 ラグをリセッ 卜し、 当該単語の W 0 4のデ一夕エリァ力 "空の場合" に は当該単語以外の単語の W 0 4のデータエリァから当該単語の設定値を 導出して当該設定値を当該単語の W 0 4のデ一夕エリアに設定し、 前記 設定値を導出できない場合であって再起動可能なときには再起動フラグ をセッ 卜し、 再起動不可能なときには不成立コ一ドをセッ 卜するもので あり、
( a - 3 ) W 0 2論理要素は、 当該単語の W 0 2のデータエリァが" 空" でない場合には、 処理経路フラグを設定し、 処理経路フラグ設定が不成 立な場合であって再起動可能なときには再起動フラグをセッ トし、 再起 動不可能なときには不成立フラグをセッ トするものであり、
( a - 4 ) W 0 3位相要素は、 同じ単語の W 0 2のデータエリァが" 空" でない場合には、 当該 W 0 3の当該デ一夕エリァに前記同じ単語の W 0 2のデータエリァの値を設定するものであり、
( a — 5 ) W 0 3論理要素は、 当該単語の W 0 3のデータエリアが" 空" の場合には、 当該単語以外の単語の W 0 3のデータエリアから当該単語 の設定値を導出して当該設定値を当該単語の W 0 3のデータエリァに設 定し、 前記設定値を導出できない場合であって再起動可能なときには再 起動フラグをセッ トし、 再起動不可能なときには不成立フラグをセッ ト するもの、
を有する手段と、
( b ) 画面毎に当該画面上に存在する単語の各 W 0 4位相要素及び W 0 4論理要素を位相要素群、 論理要素群の順番に実行可能にまとめるとと もに各単語の各 W 0 4デ一夕エリァを組み込んだ W 0 4パレツ 卜、 画面 毎に当該画面上に存在する単語の各 W 0 2論理要素を実行可能にまとめ るとともに各単語の各 W 0 2データエリアを組み込んだ W 0 2パレツ ト、 及びシステム内の全定義体上に存在する単語の各 W 0 3位相要素及び W 0 3論理要素を位相要素群、 論理要素群の順番に実行可能にまとめると ともに各単語の各 W 0 3データエリァを組み込んだ W 0 3パレッ トを有 するパレッ ト群と、
( c ) 各パレッ ト内の各位相要素及び論理要素を実行すると共に、 当該 パレッ ト内のパレッ 卜再起動フラグがセッ 卜されている場合には、 当該 パレッ 卜内の各位相要素及び論理要素を再実行させる手段と、
( d ) 前記 W O 4パレツ 卜の実行に基づく画面データをコンピュー夕の 画面上に送信し、 該送信画面に対する応答画面デ一夕を受信して前記 W 0 2パレツ トを実行し、 当該 W 0 2パレツ 卜の前記処理経路フラグに基 づき処理経路を決定し、 決定された処理経路に応じた前記 W 0 3パレツ トを実行する手段と
を具備するソフ トウエアを生成する方法であって、
前記定義体識別子、 前記単語識別子、 前記処理経路及び前記設定値を導 出するための導出データが未定義の W 0 4位相要素、 W 0 4論理要素、 W 0 2論理要素、 W 0 3位相要素、 W 0 3論理要素及び上記の (b ) の パレッ ト群並びに ( c ) の手段を予め記憶しておき、
前記単語毎に前記定義体識別子、 前記単語識別子、 前記処理経路及び 前記導出データを入力し、
前記単語毎に前記入力された前記定義体識別子、 前記単語識別子、 前 記処理経路及び前記導出データを、 前記記憶された未定義の W 0 4位相 要素、 W 0 4論理要素、 λν 0 2論理要素、 W 0 3位相要素、 W 0 3論理 要素及び上記の ( b ) のパレッ ト群並びに ( c ) の手段の所定の位置に 埋め込む
ことを特徴とするソフ 卜ゥエアの生成方法。
δ 3
PCT/JP1999/001394 1998-03-20 1999-03-19 Dispositif et procede servant a produire un logiciel WO1999049387A1 (fr)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020007010029A KR20010071116A (ko) 1998-03-20 1999-03-19 소프트웨어의 생성장치 및 소프트웨어의 생성방법
KR1020007010050A KR20010041783A (ko) 1998-03-20 1999-03-19 소프트웨어의 생성장치 및 소프트웨어의 생성방법
CA002324455A CA2324455A1 (en) 1998-03-20 1999-03-19 Apparatus for producing software and method for producing software
EP99909260A EP1071009A4 (en) 1998-03-20 1999-03-19 METHOD AND DEVICE FOR PRODUCING SOFTWARE
US09/646,098 US6792594B1 (en) 1998-03-20 1999-03-19 Apparatus for producing software and method for producing software

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP10/71838 1998-03-20
JP7183898 1998-03-20

Publications (1)

Publication Number Publication Date
WO1999049387A1 true WO1999049387A1 (fr) 1999-09-30

Family

ID=13472094

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP1999/001394 WO1999049387A1 (fr) 1998-03-20 1999-03-19 Dispositif et procede servant a produire un logiciel

Country Status (6)

Country Link
US (1) US6792594B1 (ja)
EP (1) EP1071009A4 (ja)
KR (2) KR20010041783A (ja)
CN (1) CN1301362A (ja)
CA (1) CA2324455A1 (ja)
WO (1) WO1999049387A1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000079385A1 (fr) * 1999-06-21 2000-12-28 The Institute Of Computer Based Software Methodology And Technology Procédé permettant de déterminer un logiciel et un processeur
WO2001035213A1 (fr) * 1999-11-11 2001-05-17 Information System Development Institute Procede et dispositif de reproduction de programme, et support de programme pour enregistrement de reproduction de programme
WO2002042904A1 (fr) * 2000-11-24 2002-05-30 The Institute Of Computer Based Software Methodology And Technology Procede de specification, de validation, de verification et de test synchrones de logiciel
WO2005029321A1 (ja) * 2003-09-19 2005-03-31 Catena Corporation プログラムの変換方法及び変換ツール

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001093026A1 (fr) * 2000-05-30 2001-12-06 The Institute Of Computer Based Software Methodology And Technology Procede de traitement utilisant une structure de synchronisation d'un processeur d'informations
US6836884B1 (en) * 2001-06-04 2004-12-28 Microsoft Corporation Method and system for editing software programs
CN1788254A (zh) * 2003-03-10 2006-06-14 珂特那株式会社 关于Lyee指向软件的静态分析方法
WO2005029323A1 (ja) * 2003-09-22 2005-03-31 Catena Corporation ソフトウェア生成方法
JP2005115498A (ja) * 2003-10-06 2005-04-28 Catena Corp ソフトウェア開発前処理方法、ソフトウェア制御方法、ソフトウェア開発方法並びにソフトウェア開発装置
US20060229888A1 (en) * 2005-03-31 2006-10-12 Renzo Colle Defining transaction processing for a computer application
CN102479079B (zh) * 2010-11-29 2015-04-01 中兴通讯股份有限公司 应用生成方法和装置
WO2016117025A1 (ja) * 2015-01-20 2016-07-28 三菱電機株式会社 ソフトウェア生成装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04142622A (ja) * 1990-10-04 1992-05-15 Oki Electric Ind Co Ltd プログラムジェネレータ
JPH0588863A (ja) * 1991-09-27 1993-04-09 Kyoraku Co Ltd プログラム開発支援システム
WO1997016784A1 (fr) * 1995-10-30 1997-05-09 Fumio Negoro Procede de production de logiciels, processeur et support d'enregistrement
WO1998019232A1 (fr) * 1996-10-30 1998-05-07 Information System Development Institute Procede de production de logiciel, procede de traitement et support d'enregistrement

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5860004A (en) * 1996-07-03 1999-01-12 Sun Microsystems, Inc. Code generator for applications in distributed object systems
US6055369A (en) * 1997-05-06 2000-04-25 Hitachi Software Engineering Co., Ltd. Apparatus for visual programming with screen flow
US6357039B1 (en) * 1998-03-03 2002-03-12 Twelve Tone Systems, Inc Automatic code generation
US6163878A (en) * 1998-03-31 2000-12-19 Jereme Kohl Method and system for designing, generating and storing applications
US6011918A (en) * 1998-04-22 2000-01-04 International Business Machines Corporation Methods, systems and computer program products for generating client/server applications

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04142622A (ja) * 1990-10-04 1992-05-15 Oki Electric Ind Co Ltd プログラムジェネレータ
JPH0588863A (ja) * 1991-09-27 1993-04-09 Kyoraku Co Ltd プログラム開発支援システム
WO1997016784A1 (fr) * 1995-10-30 1997-05-09 Fumio Negoro Procede de production de logiciels, processeur et support d'enregistrement
WO1998019232A1 (fr) * 1996-10-30 1998-05-07 Information System Development Institute Procede de production de logiciel, procede de traitement et support d'enregistrement

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000079385A1 (fr) * 1999-06-21 2000-12-28 The Institute Of Computer Based Software Methodology And Technology Procédé permettant de déterminer un logiciel et un processeur
WO2001035213A1 (fr) * 1999-11-11 2001-05-17 Information System Development Institute Procede et dispositif de reproduction de programme, et support de programme pour enregistrement de reproduction de programme
AU760395B2 (en) * 1999-11-11 2003-05-15 Information System Development Institute Program reproducing method and device, and medium on which program for program reproduction recording
WO2002042904A1 (fr) * 2000-11-24 2002-05-30 The Institute Of Computer Based Software Methodology And Technology Procede de specification, de validation, de verification et de test synchrones de logiciel
WO2005029321A1 (ja) * 2003-09-19 2005-03-31 Catena Corporation プログラムの変換方法及び変換ツール

Also Published As

Publication number Publication date
KR20010041783A (ko) 2001-05-25
EP1071009A4 (en) 2002-07-17
US6792594B1 (en) 2004-09-14
KR20010071116A (ko) 2001-07-28
EP1071009A1 (en) 2001-01-24
CN1301362A (zh) 2001-06-27
CA2324455A1 (en) 1999-09-30

Similar Documents

Publication Publication Date Title
US6944514B1 (en) Innovation information management model
US6567819B1 (en) Run time objects
WO2001003037A2 (en) Workflow method and system
WO1999049387A1 (fr) Dispositif et procede servant a produire un logiciel
CN102087594A (zh) 扩展点和插件的管理方法和装置
US6513072B1 (en) Method for associating data bearing objects with user interface objects
US6925632B2 (en) System for configuration programming
CN107273176A (zh) 一种适配硬件架构的编译方法及装置
CN100596139C (zh) 使用元数据定义映射来构建组件应用程序的系统和方法
US6820268B2 (en) Method for associating data bearing objects with user interface objects
US9058188B2 (en) Transformative user interfaces
US6405360B1 (en) Property container type objects
JP3133343B2 (ja) ソフトウェアの生産方法、処理装置、処理方法及び記録媒体
Martens Simulation and equivalence between bpel process models
Geist et al. Towards functional safety and security for adaptive and flexible business processes
CN101976381A (zh) 用于管理应用资产的方法和系统
Wu* Modelling and simulation of an intelligent flexible manufacturing system via high-level object Petri nets (HLOPN)
US20060184550A1 (en) Information processing apparatus and method, and computer readable memory
Tulloh et al. Institutions as abstraction boundaries
Park et al. Balancing Standardization and Integration in ICT Systems: An Architectural Perspective
JP2003150763A (ja) 会計処理方法、及びその方法を実施するためのプログラムを記憶した記録媒体
Forsberg et al. Pocket PC development in the enterprise: mobile solutions with Visual Basic and. NET
Hague End-user programming in multiple languages
Park et al. Petri-net-based rapid development of a task execution module of equipment controller for distributed shop floor control
JP2021005205A (ja) 計算機システム及びシステムを制御するためのプログラムの生成方法

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 99806399.1

Country of ref document: CN

AK Designated states

Kind code of ref document: A1

Designated state(s): CA CN JP KR NZ RU SG US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 1020007010029

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 1020007010050

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 507001

Country of ref document: NZ

ENP Entry into the national phase

Ref document number: 2324455

Country of ref document: CA

Ref document number: 2324455

Country of ref document: CA

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 09646098

Country of ref document: US

Ref document number: 1999909260

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 1999909260

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 1020007010050

Country of ref document: KR

WWP Wipo information: published in national office

Ref document number: 1020007010029

Country of ref document: KR

WWR Wipo information: refused in national office

Ref document number: 1020007010029

Country of ref document: KR

WWW Wipo information: withdrawn in national office

Ref document number: 1020007010029

Country of ref document: KR

WWW Wipo information: withdrawn in national office

Ref document number: 1020007010050

Country of ref document: KR

WWW Wipo information: withdrawn in national office

Ref document number: 1999909260

Country of ref document: EP