WO2011132436A1 - Logical operation method, logical operation system, logical operation program, automatic program generation method, automatic program generation device, automatic program generation program, and recording medium - Google Patents

Logical operation method, logical operation system, logical operation program, automatic program generation method, automatic program generation device, automatic program generation program, and recording medium Download PDF

Info

Publication number
WO2011132436A1
WO2011132436A1 PCT/JP2011/002395 JP2011002395W WO2011132436A1 WO 2011132436 A1 WO2011132436 A1 WO 2011132436A1 JP 2011002395 W JP2011002395 W JP 2011002395W WO 2011132436 A1 WO2011132436 A1 WO 2011132436A1
Authority
WO
WIPO (PCT)
Prior art keywords
logical
value
input
variable
local coordinate
Prior art date
Application number
PCT/JP2011/002395
Other languages
French (fr)
Japanese (ja)
Inventor
直徳 泉
雅行 橋本
Original Assignee
株式会社知識構造化研究所
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 株式会社知識構造化研究所 filed Critical 株式会社知識構造化研究所
Priority to JP2012511567A priority Critical patent/JPWO2011132436A1/en
Publication of WO2011132436A1 publication Critical patent/WO2011132436A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising

Definitions

  • the present invention relates to a logical operation method, a logical operation system, and a logical operation program.
  • a logical operation system such as an accounting system is regarded as a manifold, and a plurality of logical inputs (records) for the manifold are hierarchized on the manifold.
  • Logical operation method and logical operation device for summing up each local coordinate system (individual accounting book) that is formed automatically and generating a logical output of each local coordinate system (for example, the totaling result in each accounting book) in real time , A logical operation program, and a recording medium storing the logical operation program.
  • the essence of the present invention is knowledge structured programming, in which a local coordinate system hierarchized in a manifold is defined (knowledge structuring), and the value of the defined local coordinate system is determined by a Turing machine. It is a combination of sequential updating (programming).
  • the present invention provides a program for automatically generating a program for constructing a required logical operation system on a computer based on a state transition diagram or a state transition table obtained from a specification defining the logical operation system.
  • the present invention relates to an automatic generation method, an automatic program generation device, an automatic program generation program, and a recording medium storing the automatic program generation program.
  • a method for automatically counting a plurality of records (logical input)
  • a method is known in which a plurality of records are temporarily accumulated in a buffer, and the plurality of records are sorted by sorting the plurality of records according to key items. ing.
  • Patent Document 1 there is a method disclosed in Patent Document 1 as a counting method for solving such problems.
  • the automatic tabulation method disclosed in Patent Document 1 grows a hierarchical tree having nodes indicating the contents of input records in a computer. That is, the method disclosed in Patent Document 1 includes a first step of inputting one of a plurality of records to a computer, and a position of the hierarchical tree corresponding to a key item included in the input record.
  • the value of the node is updated at the same time as the contents of the input record are added to the hierarchy tree, and the aggregation result for each key item is the value of the node of the specific hierarchy.
  • the input records are sorted with respect to the input records, and even if the number of records to be aggregated is enormous, those records are instantaneously It is possible to tabulate.
  • Patent Document 1 the counting system described in Patent Document 1 is built in a computer by a program designed in advance, and development of a program that realizes such a counting system takes time especially in debugging processing. There is a problem that it takes.
  • the totalization result of a plurality of input records is only obtained as one logical output including items of stores, products, and the number of orders.
  • an accounting system Cannot be tabulated for different logical output structures (different books) such as trial calculation table as local coordinate system, deposit ledger, fixed asset ledger, etc.
  • a logical operation system such as an accounting system is regarded as a manifold, and a plurality of logical inputs to the manifold, for example, a plurality of records, are represented as manifolds.
  • a logical operation method capable of totalizing each local coordinate system (for example, individual accounting book) formed above and generating a logical output of each local coordinate system (for example, a totaling result in each accounting book) in real time.
  • An object of the present invention is to obtain a logical operation device, a logical operation program, and a recording medium storing the logical operation program.
  • the present invention also provides an automatic program generation method for automatically generating a program for constructing a required logical operation system on a computer based on a state transition diagram or a state transition table obtained from a specification defining the logical operation system.
  • An object of the present invention is to obtain a program automatic generation device, a program automatic generation program, and a recording medium storing the program automatic generation program.
  • a logical operation method is a logical operation method that performs a logical operation based on a logical input and outputs an operation result having a logical output structure, wherein a local coordinate system is formed on a manifold consisting of a plurality of points. , The value of the point included in the local coordinate system is defined to be a variable included in the logical output structure, and the point of the defined local coordinate system is mapped in the memory space.
  • the operation result has a plurality of hierarchized logical output structures
  • the step of defining the local coordinate system includes the step of defining the local coordinate system on the manifold.
  • Defining a plurality of hierarchical local coordinate systems corresponding to the logical output structure of the step, and mapping the points of the local coordinate system to a memory space comprises: defining points of the defined local coordinate systems Is mapped to a memory area corresponding to each local coordinate system of the memory space, and the step of sequentially updating the value of each point of the local coordinate system includes a plurality of local coordinate systems mapped to the memory area.
  • the method includes sequentially updating the value of each point based on the logical input.
  • a function for deriving a value of each point of the local coordinate system from the logical input is defined for each local coordinate system.
  • the step of sequentially updating the value of each point in the local coordinate system is performed by using the deterministic Turing machine including the function to calculate the current value of each point in the local coordinate system.
  • the method includes a step of replacing a value according to the input with a value obtained by adding the current value of each point in the local coordinate system.
  • the deterministic Turing machine updates a value of a plurality of points in the local coordinate system mapped on the memory space based on search information included in the logical input.
  • search information included in the logical input Preferably, the position of each point to be searched is searched.
  • each point of the local coordinate system is assigned to one binary search tree node in the logical output structure, and the deterministic Turing machine uses the binary search tree. It is preferable to search for the position of each point to be updated in the local coordinate system.
  • the function is a recursive difference equation that obtains an operation result for the logical input by adding a value included in the logical input and a value of a corresponding variable in the logical output structure. It is preferable that
  • the Turing machine in the logical operation method, is defined for each local coordinate system by a state transition table or a state transition diagram corresponding to each local coordinate system, and data of an arbitrary position in the memory area is stored. It has basic functions for referencing, updating, and adding, and the state transition table or state transition diagram shows the current state of the Turing machine, conditions for the Turing machine to perform processing in the current state, and the Turing machine Represents the contents of the processing performed in the current state and the next state of the Turing machine.
  • the plurality of points constituting the manifold correspond to operation items in the accounting system
  • the plurality of local coordinate systems correspond to various accounting books constituting the accounting system.
  • the step of sequentially updating the value of each point in the local coordinate system corresponds to each of various accounting books whenever a logical input including information on various calculation items of the accounting system is input as a record. It is preferable to include a step of outputting the calculation result of the calculation items as a logical output for the logical input.
  • the various accounting books are preferably a trial balance, a deposit ledger, and a fixed asset ledger.
  • a plurality of points constituting the manifold correspond to a plurality of operation items in a statistical system
  • the plurality of operation items include a plurality of logical inputs including two or more variables.
  • a variance for the same variable when input, and a covariance for two different variables the step of sequentially updating the value of each point in the local coordinate system,
  • the method includes sequentially updating the variance for the same variable and the covariance for the two different variables.
  • a logical operation system is a logical operation system that performs a logical operation based on a logical input and outputs an operation result having a logical output structure, wherein a local coordinate system is formed on a manifold consisting of a plurality of points. , The value of the point included in the local coordinate system is defined to be a variable included in the logical output structure, and the point of the defined local coordinate system is mapped to the memory space.
  • a logical operation program is a logical operation program for causing a computer to execute a logical operation process that performs a logical operation based on a logical input and outputs an operation result having a logical output structure.
  • a local coordinate system is defined on a manifold of points, and the value of the point included in the local coordinate system is defined as a variable included in the logical output structure, and the point of the defined local coordinate system is defined in the memory space.
  • the logical operation processing includes a step of inputting the logical input, and a step of sequentially updating the value of each point of the mapped local coordinate system on the memory space based on the logical input.
  • the recording medium according to the present invention is a computer-readable recording medium storing the above-described logical operation program according to the present invention, thereby achieving the above object.
  • the program automatic generation method is an automatic program generation method for automatically generating a program from a state transition diagram or a state transition table, and is intermediate information from the first information indicated by the state transition diagram or the state transition table.
  • the method includes the steps of creating second to fourth information and generating the source code of the program based on the second to fourth information, whereby the above object is achieved.
  • the first information is information indicating which process is performed when the computer is in which state, which process is performed, and which state is transitioned to.
  • the steps of creating the second to fourth information determine how many conditions the computer determines in the current state based on information indicating the current state and processing conditions included in the first information.
  • the computer performs as many processes under what conditions based on the step of creating the information indicating the second information and the information indicating the condition contents and the next state included in the first information.
  • the computer determines the information based on the step of creating information indicating whether to move to the next state as the third information, and the information indicating the condition determination and processing execution order included in the first information.
  • Conditions and And a process of computer is running as the information indicating the order preferably includes a step of creating information of the fourth.
  • the step of generating the source code includes generating a source code indicating a transition to each state of the computer based on the second and third information;
  • the method includes generating a source code indicating the condition and the process executed by the computer based on the fourth information.
  • An automatic program generation device is an automatic program generation device that automatically generates a program from a state transition diagram or state transition table, and is intermediate information from the first information indicated by the state transition diagram or state transition table.
  • An intermediate information creation unit for creating second to fourth information, and a source code creation unit for generating source code of the program based on the second to fourth information. Achieved.
  • the program automatic generation program is a program automatic generation program for performing automatic program generation processing for automatically generating a program from a state transition diagram or a state transition table by a computer, A step of creating second to fourth information as intermediate information from the first information indicated by the state transition diagram or the state transition table, and generating the source code of the program based on the second to fourth information To achieve the above object.
  • the recording medium according to the present invention is a computer-readable recording medium storing the above-described program automatic generation program according to the present invention, thereby achieving the above object.
  • a logical operation system such as an accounting system is regarded as a manifold, and a plurality of logical inputs to the manifold, for example, a plurality of records, are displayed on individual local coordinates formed on the manifold.
  • data can be aggregated for each system (for example, individual accounting books), and a logical output of each local coordinate system (for example, aggregation results in each accounting book) can be generated in real time.
  • a program for constructing a required logical operation system on a computer can be automatically generated based on a state transition diagram or a state transition table obtained from a specification defining the logical operation system. There is an effect that can be done.
  • FIG. 1 is a diagram for explaining a computer system 1 according to an embodiment of the present invention, showing an example of the overall configuration thereof.
  • FIG. 1 (a) shows an example of the overall configuration
  • FIG. These show an example of the configuration of the host computer 3.
  • FIG. 2 is a diagram for explaining the configuration of a real-time arithmetic system built in the host computer 3, and shows an example including an accounting system and a trading system.
  • FIG. 3A is a diagram showing a logical output structure of the accounting system.
  • FIG. 3B is a diagram conceptually showing functional blocks of the accounting system 100.
  • FIG. 3C is a diagram showing how the processing of the accounting system 100 is performed by a high-speed universal Turing machine.
  • FIG. 3D shows the logical input of the accounting system.
  • FIG. 1 is a diagram for explaining a computer system 1 according to an embodiment of the present invention, showing an example of the overall configuration thereof.
  • FIG. 1 (a) shows an example of the overall configuration
  • FIG. These show
  • FIG. 3E is a diagram showing an accounting book system Acs.
  • FIG. 3F is a diagram illustrating the account title master.
  • FIG. 4 is a diagram for explaining a BST creation method in the order of processing (FIGS. (A) to (f)).
  • FIG. 5 is a diagram for explaining how the logical output of the accounting system is updated by inputting three slip data as logical inputs.
  • FIG. 5A is a trial calculation table included in the accounting system. , The initial state of the deposit ledger and the fixed asset ledger,
  • FIG. 5B shows the solution (logical output state) after the first slip processing.
  • FIG. 6 is a diagram for explaining how the logical output of the accounting system is updated by inputting three pieces of slip data which are logical inputs.
  • FIG. 6A shows a state after processing the second slip.
  • the solution (logic output state) is shown
  • FIG. 6B shows the solution after the third slip processing (logic output state).
  • FIG. 7 is a diagram for explaining the function of a transaction.
  • FIG. 7A shows a state transition table of the computer
  • FIGS. 7B and 7C show definitions of local variables and global variables, respectively.
  • FIG. 8 is a diagram for explaining functions of the kernel.
  • FIG. 8A shows a state transition table of the computer
  • FIG. 8B shows a definition of local variables.
  • 9 is a diagram for explaining a logical output update function for the accounting system.
  • FIG. 9A shows a computer state transition table
  • FIG. 9B shows a local variable definition
  • FIG. 10 is a diagram for explaining the update of the logical output of the trial calculation table for the accounting system
  • FIG. 10 (a) shows the state transition table of the computer
  • FIG. 10 (b) shows the definition of the local variable
  • FIG. 10C shows the structure ST1 of the trial calculation table.
  • FIG. 11 is a diagram for explaining the structure definition of the trial calculation table.
  • FIG. 12 is a diagram for explaining the access definition of the trial calculation table.
  • FIG. 13 is a diagram for explaining basic variables of the trial calculation table.
  • 14A and 14B are diagrams for explaining the update of the logical output of the deposit ledger to the accounting system.
  • FIG. 10 is a diagram for explaining the update of the logical output of the trial calculation table for the accounting system
  • FIG. 10 (a) shows the state transition table of the computer
  • FIG. 10 (b) shows the definition of the local variable
  • FIG. 10C shows the structure ST1 of the trial calculation table.
  • FIG. 11 is a diagram for explaining the structure definition of the trial calculation
  • FIG. 14A shows the state transition table of the computer
  • FIG. 14B shows the local variable definition LV5.
  • FIG. 14C shows a structure ST2 of the deposit ledger.
  • FIG. 15 is a diagram for explaining the access definition of KDB2 (deposit ledger).
  • FIG. 15 (a) shows access definition 1 (reference), and
  • FIG. 15 (b) shows access definition 2 (update).
  • FIG. 16 is a diagram for explaining the update of the logical output of the fixed asset ledger for the accounting system
  • FIG. 16 (a) shows a state transition table of the computer
  • FIG. 16 (b) shows the local variable definition LV6.
  • FIG. 16C shows the fixed asset ledger structure ST6, and
  • FIG. 16D shows the fixed asset ledger access definition AD6.
  • FIG. 17 is a diagram for explaining a method of creating Tables 2 to 4 for generating a program for performing the operation indicated by the state transition table from the state transition table (Table 1) Ts1 representing the function (TRANSACTION).
  • FIG. 18 is a diagram showing a source code of a program obtained by the method described in FIG.
  • FIG. 19 shows Tables 2 to 4 (FIG. (B)) for generating a program for performing the operation indicated by the state transition table from the state transition table (Table 1) Ts2 (FIG. (A)) representing the function (KERNEL). It is a figure explaining the method of producing ()-(d)).
  • FIG. 20 is a diagram showing source code of a program obtained by the method described in FIG.
  • FIG. 21 shows Tables 2 to 4 (FIG.
  • FIG. 22 is a diagram showing a source code of a program obtained by the method described in FIG.
  • FIG. 23 is a diagram for explaining a method of creating Tables 2 to 4 for generating a program for performing the operation indicated by the state transition table from the state transition table (Table 1) Ts4 representing the function (TRIAL_UPDATE).
  • the state transition table (Table 1) Ts4 is shown.
  • FIG. 24 is a diagram for explaining a method of creating Tables 2 to 4 for generating a program for performing the operation indicated by the state transition table from the state transition table (Table 1) Ts4 representing the function (TRIAL_UPDATE).
  • Tables 2 to 4 (FIGS. (A) to (c)) are shown.
  • FIG. 25 is a diagram showing the first half of the source code of the program obtained by the method described in FIGS.
  • FIG. 26 is a diagram showing the latter half of the source code of the program obtained by the method described in FIGS. 23 and 24.
  • FIG. 27 shows Tables 2 to 4 (FIG. (B) for generating a program for performing the operation indicated by the state transition table from the state transition table (Table 1) Ts5 (FIG. (A)) representing the function (Yokin).
  • FIG. 28 is a diagram showing source code of a program obtained by the method described in FIG.
  • FIG. 29 shows Tables 2 to 4 (FIG. (B)) for generating programs that perform the operations indicated by the state transition table from the state transition table (Table 1) Ts6 (FIG. (A)) representing the function (Kotei).
  • FIG. 30 is a diagram showing the source code of the program obtained by the method described in FIG.
  • FIG. 31 is a diagram showing a procedure corresponding to a flow of generating tables 2 to 4 corresponding to the state transition tables from the state transition tables (Table 1) Ts1 to Ts6.
  • FIG. 32 is a diagram showing a procedure corresponding to a flow of generating a program corresponding to each state transition table from tables 2 to 4 corresponding to the respective state transition tables (Table 1) Ts1 to Ts6.
  • FIG. 33 is a diagram of the automatic program generation device according to the second embodiment.
  • FIG. 34 is a diagram for explaining the basic principle of the present invention.
  • FIG. 34 (a) shows a manifold Rs corresponding to the entire accounting, and FIGS. 34 (b) to (d) are defined on the manifold.
  • FIG. 34E shows a state where the points of the local coordinate system are mapped to the memory space.
  • FIG. 35 is a diagram for explaining the search link information (binary search tree) set in the trial calculation table.
  • FIG. 36 is a diagram for explaining a logical operation system according to the third embodiment of the present invention, and is a diagram for explaining a model of distributed covariance sequential calculation performed in this operation system.
  • FIG. 37 is a diagram for explaining the operation of the logical operation system according to the third embodiment and shows a specific example of the sequential calculation of the variance-covariance.
  • FIG. 38 is a block diagram schematically showing an overall configuration of a distributed cooperative multi-agent system (hereinafter simply referred to as a multi-agent system) according to a modification of the first embodiment.
  • FIG. 39 is a diagram for explaining the update of the trial calculation table (logical output structure) in the multi-agent system according to the modification of the first embodiment as the update of the vector space.
  • FIG. 40 is a diagram for explaining knowledge cycle enabling in settlement of accounts as an application example of the first embodiment and its modification.
  • FIG. 41 is a diagram for explaining knowledge cycle enabling for creating a balance sheet from a checkout table.
  • FIG. 42 is a diagram for explaining knowledge cycle enabling for creating a profit and loss statement from the checkout table.
  • FIG. 43 is a diagram illustrating the BS instance RSc ′.
  • FIG. 44 is a diagram illustrating the PL instance RSc ′.
  • FIG. 45 is a diagram for explaining the processing time when input data (one million accounting slips) is processed in the logical operation system according to the first embodiment of the present invention.
  • FIG. (B) shows the processing time.
  • FIG. 46 is an explanatory diagram of a definition concept (ontology), and shows a table DC1 of items to be used in a balance sheet defined by the United States government.
  • FIG. 47 is an explanatory diagram of a definition concept (ontology), and shows a table DC2 of items to be used in the profit and loss calculation table defined by the United States government.
  • the present invention regards a logical operation system such as an accounting system and a buying and selling system as a manifold composed of a set of points having values that change from moment to moment.
  • the logical output structure is hierarchically defined as a local coordinate system, each point of the local coordinate system is mapped to a memory space, and the value of each point of the local coordinate system is updated on the memory space.
  • the value of each point in the local coordinate system is updated using a Turing machine in which a function corresponding to the required specification is incorporated.
  • a field is a quantity (basic variable) that is defined for each point in the space and changes from moment to moment.
  • the field refers to a function having the space coordinate r and the time coordinate t as arguments
  • the field theory refers to quantum theory having the field as a basic variable.
  • the default function that associates the basic variable with the input value defines the function of the deterministic Turing machine, as will be described in detail in the following embodiments. Variables are updated by this deterministic Turing machine.
  • the deterministic Turing machine finds a point mapped on the memory space based on a key (that is, an address) assigned to each logical input value included in the logical input, and the value of this point (basic variable). Is updated with the input value included in the logical input.
  • the present invention can be applied to all kinds of arithmetic processing, and in any complicated arithmetic processing, the problem to be operated is set to a set of points (basic (basic) depending on the arithmetic result having a desired logic output structure).
  • a set of variables), the basic variable and the input value included in the logical input are correlated one-to-one, and the current input value is added to the current basic variable to obtain the solution of the operation. it can.
  • a signal whose amplitude level changes on the time axis is converted into a frequency spectrum (an operation result having a logical output structure) by Fourier transform or the like. It is also possible to obtain the frequency spectrum in real time by using the difference between the signals changing on the time axis as an input.
  • the problem of signal analysis is broken down into a plurality of frequency components (points having varying values) of the fundamental frequency of the signal and the 2nd to nth harmonics, and the input data of the signal's input amplitude level and each frequency component
  • processing such as Fourier transformation of the signal can also be performed with the time (corresponding to the time resolution of the signal being minimized) using the change (difference) in the amplitude level of the input signal as input. It can be done in real time as a unit.
  • the arithmetic system using the field theory of the present invention is also characterized in that it is not necessary to prove that the program for executing this is correct.
  • the correct operation using such a field theory is that the basic variable in the logical output structure and the logical input value in the logical input have a one-to-one correspondence, so the operation performed by the Turing machine is correct.
  • the desired operation results can be obtained by overlapping the operations of deterministic Turing machines that include different functions for each local coordinate system. Can be obtained.
  • FIG. 34 is a diagram for explaining the basic principle of the present invention.
  • FIG. 34 (a) shows a manifold Rs corresponding to the entire accounting, and FIGS. 34 (b) to (d) are defined on the manifold.
  • FIG. 34E shows a state where the points of the local coordinate system are mapped to the memory space.
  • the manifold Rs shown in FIG. 34 is composed of a plurality of points Prs having calculation target values (basic variables) that change from moment to moment.
  • the manifold Rs when the user request is to obtain an aggregation result focusing on a predetermined item of the accounting system, the manifold Rs is calculated using all the calculation target values to be subject to accounting calculation.
  • local coordinate systems LCo, LCo1, and LCo2 are defined on the manifold Rs as various accounting books according to the user request.
  • the point Prs constituting the manifold corresponds to items including values that change from moment to moment, such as deposit balance, accounts receivable balance, and investment amount for equipment.
  • the vertical axis indicates deposits, accounts receivable, commodities, buildings, equipment, debit totals, sales, borrowings, capital, and credit totals, and the horizontal axis
  • the logical output structure which is the accounting book (trial calculation table) Sa shown in FIG. 3A is defined as the local coordinate system LCo.
  • the total of deposits and the balance of the previous month of deposits are set, and 8/10, 8/20, 8/25, and 8/31 are set as dates along with the slip numbers.
  • the logical output structure that is the accounting book (deposit ledger) Sb shown in FIG. 3A is defined as the local coordinate system LCo1.
  • the vertical axis sets buildings and equipment along with asset numbers, and the building and equipment subtotals, and the horizontal axis defines the previous month balance, debits, credits, and end-of-period balance.
  • the logical output structure which is the accounting book (fixed asset ledger) Sc shown in FIG. 3A is defined as the local coordinate system LC02.
  • FIGS. 34 (b) to 34 (d) show local coordinate systems LCo, LCo1, and LCo2 defined on the manifold Rs, and the points of such local coordinate systems LCo, LCo1, and LCo2 are shown.
  • the memory space Ms is mapped, and the value of each point is stored in the corresponding address of each memory area Aco, Aco1, Aco2 in which the local coordinate system is mapped.
  • the accounting book system Acs (FIG. 3E) and the account item master Am (FIG. 3F) are also stored in the memory space Ms.
  • the value of each point of the local coordinate system can be recursively updated by the Turing machine Tm.
  • the Turing machine basically has a value (basic variable) that the point of the position in the memory space indicated by the input value has based on the current state and the input value of the logical input input in that state.
  • a machine whose function is defined according to each local coordinate system is used.
  • the function of the Turing machine is defined by a state transition diagram or a state transition table.
  • the logical input includes not only the input value which is the value of the point but also information (key information) indicating the position of the point in the logical output structure to be updated using the input value. Detects a point to be updated in the logical output structure based on the key information, and updates the value of the detected point based on the input value.
  • an accounting system and a distributed covariance operation system will be specifically described as the logical operation system of the present invention, but the logical operation system of the present invention is limited to these as described above. Instead, the present invention can be applied to any logical operation system as long as it can calculate a calculation result in a table format based on a logical input.
  • FIG. 1 is a diagram for explaining a computer system 1 according to Embodiment 1 of the present invention
  • FIG. 1A is a diagram showing an example of the overall configuration.
  • the computer system 1 according to the first embodiment includes a plurality of terminal computers 2, a host computer 3, and a network 4 that connects the plurality of terminal computers 2 and the host computer 3.
  • the network 4 can be an arbitrary network.
  • the network 4 is, for example, the Internet.
  • the plurality of terminal computers 2 and the host computer 3 may be directly connected via electric wiring such as a cable without using the network 4.
  • Each of the plurality of terminal computers 2 is installed in a store, for example.
  • one terminal computer 2 is installed in the store A1
  • the other terminal computer 2 is installed in the store A2
  • the other one terminal computer 2 is installed in the store A3.
  • the number of terminal computers 2 connected to the host computer 3 via the network 4 is not limited to three. Any N (N is an integer of 2 or more) terminal computers 2 can be connected to the host computer 3 via the network 4.
  • the host computer 3 is installed, for example, in the aggregation center.
  • the terminal computer 2 installed in each store is configured to transmit an accounting slip as a record to the host computer 3 one by one when a product is sold.
  • the host computer 3 is configured to receive an accounting slip transmitted as a record from a terminal of each store and update all accounting books of the accounting system built in the host computer 3.
  • FIG. 1B shows an example of the configuration of the host computer 3.
  • the host computer 3 includes a CPU 31, a main storage device 32, a hard disk device (HDD) 33, a network interface unit 34, a user input unit 36, and a data output unit 37. These components 31 to 34, 36, and 37 are connected to each other via a bus 35, for example.
  • the user input unit 36 is an input device such as a keyboard or a mouse
  • the data output unit 37 includes a display unit, a printer unit, and the like.
  • the HDD 33 stores in advance a program (calculation program) for constructing a real-time computation system requested by the client in the host computer 3.
  • this arithmetic program can be recorded on any type of computer-readable recording medium such as a CD-ROM or DVD-ROM.
  • the arithmetic program recorded on such a recording medium can be loaded into the HDD 33 via a peripheral device (for example, a disk drive). Part of the arithmetic program or part of the data is moved to the main storage device 32 as necessary.
  • the CPU 31 can access the main storage device 32 at high speed.
  • FIG. 2 is a diagram for explaining the configuration of this real-time arithmetic system.
  • This real-time arithmetic system (hereinafter also simply referred to as an arithmetic system) 10 is a system that performs real-time processing using knowledge-structured programming, and has a system configuration that also takes into account failure handling when performing this real-time processing. Have.
  • This computing system 10 monitors the consistency of the contents corresponding to the transaction, balance, data, etc., and the kernel 11 that calls the function corresponding to the input data (logical input) (see FIG. 3D) or the function required at the time of failure.
  • the monitoring agent 12 that fulfills the function, aggregation processing related to business such as accounting and buying and selling, the business function unit 100a that solves and stops the knowledge database for each data, and a plurality of logical outputs for each business are hierarchized
  • the knowledge database 20 that is expressed and stored as a whole, the state log storage unit 14 that stores the value in the knowledge database update state as the state log DL used for failure recovery, etc., and the business function unit
  • a master information storage unit 13 for storing master information to be referred to when defining the local coordinate system.
  • the business function unit 100a includes different calculation systems such as the accounting system 100 and the trading system 101, and the calculation system corresponding to the identification ID of the input data is called by the kernel 11 as a function. .
  • the local coordinate system as the logical output structure is mapped on the memory space, and the knowledge database 20 is formed.
  • the kernel 11 implements hierarchization, parallelization, decentralization, and cooperation of periodic monitoring agent calls and execution of aggregation processes related to various tasks in addition to the above function calls.
  • the knowledge database 20 is used to share knowledge as a result of calculation processing (calculation results) with proof.
  • FIG. 3A shows the logical output structure As of the accounting system 100 according to the first embodiment. This logical output structure As is designed based on the accounting system 100 requested by the client, and is stored in the knowledge database 20. Has been built.
  • the logical output structure As of the accounting system 100 includes three books, a trial calculation table Sa as a main book, a deposit ledger Sb as a subsidiary book, and a fixed asset ledger Sc.
  • the trial calculation table Sa includes a deposit Pa1, accounts receivable Pa2, merchandise Pa3, building Pa4, equipment Pa5, debit total Pa6, sales Pa7, borrowing Pa8, capital Pa9, and credit total Pa10, which are assigned to the area Fa0 as items (accounts).
  • areas Fa1 to Fa4 are provided for storing the balance of the previous month, debit, credit and balance.
  • the trial calculation table Sa corresponds to the local coordinate system LCo described with reference to FIG. 34 (see FIG. 34 (b)), and includes deposit Pa1, accounts receivable Pa2, merchandise Pa3, building Pa4, equipment Pa5, and debit.
  • the total Pa6, the sales Pa7, the borrowing Pa8, the capital Pa9, and the credit total Pa10 are Y coordinates discretely defined on the vertical axis Yo of the local coordinate system LCo, and the remaining Fb1, the debit Fb2, and the credit Fb3 from the previous month.
  • the balance Fb4 is an X coordinate discretely defined on the horizontal axis Xo of the local coordinate system LCo (see FIG. 3A).
  • the deposit ledger Sb is provided with areas Fb0 to Fb5 for date, slip number, remaining balance, debit, credit, and balance. In each area, following the amount corresponding to the total Pb1 and the remaining balance Pb2, the debit and Amounts are stored for 8/10, 8/20, 8/25, and 8/31, which are dates Pb3 to Pb6 in which credits have changed.
  • the deposit ledger Sb corresponds to the local coordinate system LCo1 (see FIG. 34 (c)) described with reference to FIG. 34, and includes the total deposit Pb1 allocated to the date area Fb0 and the remaining balance of the previous month. Dates 8/10, 8/20, 8/25, and 8/31 assigned together with the slip number Fb1 as Pb2 and dates Pb3 to Pb6 are discretely defined on the vertical axis Yo1 of this local coordinate system LCo1.
  • the Y coordinate, and the previous month balance Fb2, debit Fb3, credit Fb4, and balance Fb5 are X coordinates discretely defined on the horizontal axis Xo1 of the local coordinate system LCo1 (see FIG. 3A).
  • the fixed asset ledger Sc is provided with items Fc0 to Fc5 of items, asset numbers, balances in the previous period, debits, credits, and balances at the end of the period.
  • the building Pc1 as a subject whose debits and credits have changed , Pc2 and facilities Pc4 are stored together with the amounts in buildings and facilities subtotals Pc3 and Pc5 for each asset number.
  • the fixed asset ledger Sc corresponds to the local coordinate system LCo2 (see FIG. 34 (d)) described with reference to FIG. 34, and includes buildings (asset numbers) Pc1 and Pc2, and facilities (asset numbers) Pc4.
  • Building and equipment subtotals Pc3, Pc5 are Y coordinates discretely defined on the vertical axis Yo2 of the local coordinate system LCo2, and the previous month balance Fc2, debit Fc3, credit Fc3, balance Fc4, and period end balance Fc5 are
  • the X coordinate is discretely defined on the horizontal axis Xo2 of the local coordinate system LCo2 (see FIG. 3A).
  • each area of each item in the logical output structure of each book that is, an area for storing a point value (amount) determined by the Y coordinate and X coordinate of the local coordinate system is a predetermined recording area (memory space) of the knowledge database. ) Assigned to Ms.
  • the accounting book system Acs and the account item master Am are also stored in the memory space Ms.
  • the accounting book system Acs defines that the trial calculation table Sa is defined in the lower layer of the accounting system As, and that the deposit ledger Sb and the fixed asset ledger Sc are defined under the trial calculation table Sa.
  • the code of the account item included in the book is shown as a key value.
  • item No. in the accounting book system Acs. 2 shows a logical output (trial calculation table), a key value (10001), and a corresponding logical output (deposit ledger). This is indicated by a code (10001) of the account item (deposit) in the lower layer of the trial calculation table. Indicates that a deposit ledger is defined.
  • the account item master Am (FIG. 3F) shows the correspondence between the account item name and the account item code. For example, item no.
  • the account name code (10001), the loan classification (1), and the trial calculation table display order code (101) are assigned to the item name (deposit) of 1.
  • the trial calculation table Sa, the deposit ledger Sb, and the fixed asset ledger Sc shown in the table format shown in FIG. 3A are managed as a tree structure as shown in FIG. Between the items, search link information (binary search tree) described later (see FIG. 35) is set.
  • each book is defined as a local coordinate system formed on the manifold when the entire accounting is a manifold. Specifically, it corresponds to the trial calculation table Sa.
  • a coordinate key of a local coordinate system (a key indicating an item assigned on the Y axis) and a basic variable as a field are defined.
  • items having basic variables are assigned as the remaining in the previous month, debit, credit, and balance on the X axis in the local coordinate system.
  • the accounting system 100 receives a logical input (FIG. 3D) including a plurality of calculation items to be subjected to a logical calculation, and outputs a logical output for the calculation item of one or more logical inputs.
  • a logical operation system that calculates each of a plurality of item groups for classifying items.
  • the calculation items correspond to the account items, and each item group (local coordinate system) includes a trial calculation table Sa, a deposit ledger Sb, And the fixed asset ledger Sc.
  • FIG. 3B conceptually shows functional blocks of the accounting system 100.
  • This accounting system 100 has a knowledge database (KDB) 20, and a logical output structure in which the logical output for each group (each accounting book) is structured is constructed in the knowledge database 20.
  • KDB knowledge database
  • a logical output structure in which the logical output for each group (each accounting book) is structured is constructed in the knowledge database 20.
  • a local coordinate system consisting of points corresponding to one or more calculation items is defined in association with each group (each accounting book) on a manifold consisting of points corresponding to all calculation items. It is obtained.
  • the points constituting the local coordinate system have one basic variable whose value changes from moment to moment, and a basic variable as a logical output and a logic that changes the basic variable.
  • a relationship with an input value as an input is defined as an arithmetic function.
  • the logical output structure (each accounting book) corresponding to each group is an updated value of a variable defined in a calculation item included in the logical input.
  • An arithmetic unit 121 that calculates an output from the value of the variable indicated by the logical input based on an arithmetic function corresponding to the variable; and a storage unit 122 that stores the calculated value in the logical output structure. Yes.
  • the knowledge database 20 has a logical output structure of the trial calculation table Sa, the deposit ledger Sb, and the fixed trial calculation ledger Sc as three local coordinate systems defined on the manifold.
  • FIG. 3C shows a deterministic Turing machine 120 having the functions of the calculation unit 121 and the storage unit 122 shown in FIG. 3B, and when this deterministic Turing machine 120 receives an accounting slip file as a logical input, The value of the variable corresponding to each account item in the logical output is calculated, and the calculated value is stored in the logical output structure corresponding to the trial calculation table Sa, the deposit ledger Sb, and the fixed asset ledger Sc.
  • the plurality of calculation items include a plurality of calculation items (deposit Pa1) corresponding to points constituting one local coordinate system (trial calculation table) and other local coordinate systems (deposit ledger).
  • One local coordinate system (trial calculation table) so as to correspond to a plurality of calculation items corresponding to the points (remaining previous month, 8/10, 8/20, 8/25, 8/30 account items Pb2 to Pb6)
  • the calculation items (building Pa4) corresponding to the points constituting the two items correspond to the plurality of calculation items (buildings Pc1 and Pc2 of the account item) corresponding to the plurality of points constituting the other local coordinate system (fixed asset ledger). It is classified hierarchically.
  • Each logical output structure is constructed by adding nodes corresponding to calculation items (account items) included in each group (each accounting book) to the corresponding cyber search tree (see FIG. 11) BTa. ing.
  • the arithmetic function indicates a logical output that is an updated value of a variable defined in one calculation item, a current logical output that is a value before the update of the variable, and the logical input indicated by the logical input. It is a recursive difference equation which shows that it is the sum with the value of the variable corresponding to one calculation item.
  • this recursive difference equation is represented by the following equation (1).
  • Y (n) Y (n-1) + u (n) (1)
  • Y (n) is the value of the updated variable
  • Y (n ⁇ 1) is the value of the variable before the update
  • u (n) is the input value (variable value) included in the logical input.
  • each point in the local coordinate system “trial calculation table” corresponds to each of four variables (remaining previous month, debit, credit, balance) in each account item.
  • an operation of a logical output for the logical input is executed by a Turing machine defined by a state transition table corresponding to each local coordinate system, and the Turing machine It has basic functions to refer to, update, and add data to an arbitrary position.
  • the state transition table shows the current state of the Turing machine, the conditions for the Turing machine to perform processing in the current state, and the Turing machine Indicates the contents of processing performed in the current state and the next state of the Turing machine.
  • the trial calculation table indicated by the state transition table Ts4 (FIG. 10) is updated by a Turing machine defined by the state transition table.
  • FIG. 3D shows the logical input of the accounting system 100 of the first embodiment, and this logical input Lin is based on the logical output structure of the accounting system 100 requested by the client, and the transfer slip, withdrawal slip, and transfer slip. And various slips (physical input) such as sales slips.
  • the integrated accounting slip Lin is obtained by extracting subjects necessary for creating a logical output from various slips (physical input). Note that the process of converting various slips as such physical inputs into logical inputs suitable for the logical output structure is also executed by the Turing machine defined by the state transition table or the state transition diagram.
  • the accounting slip data (logical input) Lin shown in FIG. 3D includes a fold Ld1 indicating items (identification, slip #, date, loan, item, amount, bank, asset #) and IDs (ID, DNO) corresponding to the items. , DATE, DRCR, ACC, AMT, BANK, SHISA) and an area Ld3 indicating attributes (X, X, X, X, X, N, X, X) of each item, corresponding to each item An area Ld4 indicating the number of digits of data stored in the area (4, 4, 8, 1, 5, 6, 4, 4) and an area Ld5 for storing a value corresponding to each item of each slip data Have.
  • a fold Ld1 indicating items (identification, slip #, date, loan, item, amount, bank, asset #) and IDs (ID, DNO) corresponding to the items.
  • the first to third slips D1 to D3 shown in FIG. 3D are slips issued on October 30, 2009.
  • the slip D1 has the slip number 0001, indicates that sales of 20000 yen and accounts receivable of 20000 yen have occurred.
  • the slip D2 has a slip number 0002 and indicates that the accounts receivable 20000 yen has been transferred to the deposit account
  • the slip D3 has the slip number 0003 and indicates that the deposit account 7000 yen has been used for capital investment. ing.
  • the accounting slip data (logical input) Lin shown in FIG. 3D is obtained by integrating these slip data D1 to D3 into accounting slip data in a common format.
  • the data of the slips D1 to D3 is one slip.
  • Each is stored in the area Ld5 separately into a debit and a credit.
  • the account title master Am (FIG. 3F) stored as file data in a database or the like is read into the memory space Ms at startup.
  • the trial calculation table Sa, the deposit ledger Sb, and the fixed asset ledger Sc are formed in the memory space Ms
  • a storage area corresponding to 10 rows from the deposit Pa1 to the credit total Pa10 is secured in the memory space Ms.
  • a storage area corresponding to one line of the total Pb1 is secured for the deposit ledger Sb, and a storage area corresponding to one line of the subtotal Pc3 is secured for the fixed asset ledger Sc. Further, for the account title master Am (FIG. 3F), information corresponding to the first to eighth lines from the deposit to the capital is stored in the memory space Ms.
  • the items of the trial calculation table Sa are as shown in FIG. 3A, but at the stage where the trial calculation table Sa is created, link information for searching for items of the trial calculation table Sa is formed as shown in FIG. .
  • FIG. 35 shows search link information (binary search tree table) St that is not shown in FIG. 3A for explaining the trial calculation table Sa.
  • the trial calculation table Sa shown in FIG. Information St is added.
  • search link information (Left “2”, Right “ ⁇ 1”) for the route information is stored in the first row of the table St shown in FIG. 35, and the route information is shown in FIG. 3D.
  • search link information (Left “2”, Right “ ⁇ 1”) for the route information is stored in the first row of the table St shown in FIG. 35, and the route information is shown in FIG. 3D.
  • the second and third rows of the table shown in FIG. 35 include search link information (Left “5”, Right “10”) for the debit total Pa6 and the search link for the credit total Pa10 in FIG. 3A. Information (Left “11”, Right “ ⁇ 1”) is stored.
  • the information in the 4th to 11th lines in FIG. 35 is the search link information for the deposit Pa1, the accounts receivable Pa2, the product Pa3, the building Pa4, the equipment Pa5, the sales Pa7, the borrowed money Pa8, and the capital Pa9 in FIG. Is stored.
  • the information in the fourth to eleventh lines includes a combination code obtained by combining the balance class in the account item master Am and the trial calculation table display order code.
  • the information in the fourth row indicates the order of searching for the value of deposit Pa1 in the trial calculation table Sa, and the search link information (1101) with the combination code “1101” of the balance classification and the trial calculation table display order code ( Left “ ⁇ 1”, Right “ ⁇ 1”).
  • the information on the fifth line indicates the order in which the value of the receivable Pa2 in the trial calculation table Sa is searched, and the search link information (Left “” together with the combination code “1102” of the balance classification and the trial calculation table display order code. 4 ", Right” 7 ").
  • the search link information (Left “4”) in the information on the fifth line has a combination code corresponding to the account item code of the input data (the combination of the balance class and the trial balance display order code), When it is smaller than the combination code “1102” of the information on the fifth line, it indicates that the combination code corresponding to the account item code of the input data should be compared with the combination code of the information on the fourth line.
  • the search link information (Right “7”) in the information on the 5th row has a combination code corresponding to the account item code of the input data (which combines the balance classification and the trial balance display order code) When it is larger than the combination code “1102” of the information on the fifth line, it indicates that the combination code corresponding to the account item code of the input data should be compared with the combination code of the information on the seventh line.
  • the Turing machine when the data (receivable: account item code (10002)) in the first row of the data (logical input) Lin (FIG. 3D) is actually input, Referring to Am (FIG. 3F), a join code (1102) corresponding to the account item code (10002) is detected, and this join code (1102) is the first line of the search link information (binary search tree) St. Based on the route information of the eyes, the branch information corresponding to the debit counter in the second row is referred to and compared with the data (maximum value).
  • this combined code (1102) is smaller than the maximum value of the combined code
  • the link code (1102) of the input data is converted into the search link information (binary search tree) St according to the left link (Left “5”).
  • the size is compared with the concatenated code (1102) on the fifth line.
  • the combination code matches between the input data and the search link information, the value of the account item (receivable) corresponding to this combination code is updated.
  • the access definition shown in FIG. 12 is used. If a concatenation code (1102) is entered in the key item (TRIAL_KEY) of the access item of this access definition St4a, the value (0, 20000) of the input data is defined as a numeric item (remaining month, debit, credit, balance). , 0, 20000) is entered, and the item of accounts receivable, which is the account item of the trial balance sheet Sa, is updated. [Real-time system operation] Next, the operation of the real-time arithmetic system that is the accounting system of the first embodiment will be described.
  • the kernel 11 determines whether the slip data is for the accounting system 100 or the trading system 101. It is determined whether or not.
  • the kernel 11 calls the accounting system 100 when the slip data is an accounting system, and calls the trading system 101 when the slip data is the accounting system.
  • slip data is accounting slip data for the accounting system and the accounting system 100 is called will be described in detail.
  • the first accounting voucher is a deposit voucher for a transaction in which 20000 Yen was sold on October 30, 2009, resulting in a receivable of 20000 Yen, and the second accounting voucher is on October 30, 2009.
  • this is a transfer slip for a transaction that collects 10,000 yen of accounts receivable
  • the third accounting slip is a withdrawal slip for a transaction in which capital investment was made at 7,000 yen on October 30, 2009.
  • each accounting slip is integrated into the accounting slip data in the common format and converted into the logical input shown in FIG. 3D.
  • the deposit slip D1 is converted into records No1 and No2
  • the transfer slip D2 is converted into records No3 and No4
  • the withdrawal slip D3 is converted into records No5 and No6.
  • the first “1” indicates the lending classification
  • the first “0” of "(0/0/0/0 deposits / 10001)” indicates that the amount of deposits in the previous month is zero
  • the next “0” indicates that the deposit debit amount is zero
  • the third “0” indicates that the deposit credit amount is zero
  • the last “0” indicates that the balance amount is zero. It is shown that.
  • “/ 10001” at the end indicates an account code indicating a deposit.
  • advance preparation items are also set in the second and subsequent items of the binary tree BTa indicating the logical output structure of the trial calculation table.
  • the description of the first line of the binary tree BTb showing the logical output structure of the deposit ledger Sb indicates the total line as an item as one key.
  • the description of the first line of the binary tree BTc indicating the logical output structure of the fixed asset ledger Sc indicates the total line of the account item 20002 (equipment).
  • the value (0, 20000, 0, 20000) added to the initial value of the accounts receivable is stored in the state log storage unit, and the value added to the initial value of the debit total (0, 20000, 0, 20000) Is stored in the state log storage unit. This is because the value (0, 20000, 0, 20000) added to the initial value of the debit total can be restored from the value (0, 20000, 0, 20000) added to the initial value of the accounts receivable. .
  • the value (0,0,20000,20000) added to the initial value of sales is stored in the state log storage unit, and the value (0,0,20000,20000) added to the initial value of the credit meter. Is stored in the state log storage unit. This is because the value (0,0,20000,20000) added to the initial value of the credit meter can be restored from the value (0,0,20000,20000) added to the initial value of sales. .
  • the first slip (payment slip) (see FIG. 3D) has no deposit item, so the deposit ledger is not updated, and since there is no building or facility item, the fixed asset ledger is not updated.
  • the value added to the initial value of the deposit (0, 10000, 0, 10000) and the value added to the previous calculated value of the accounts receivable (0, 10000, ⁇ 10000) are the status log storage unit.
  • the value (0, 20000, 0, 20000) added to the previous calculation value of the debit counter is stored in the status log storage unit for the same reason as in the case of the first slip processing.
  • the value added to the initial value of the equipment (0, 7000, 0, 7000) and the value added to the previous calculated value of the deposit (0, 0, 7000, ⁇ 7000) are the status log storage unit.
  • the value (0,7000,700,0) added to the previous calculation value of the debit counter is stored in the status log storage unit for the same reason as in the first and second slip processing. Stored.
  • (Previous balance, deposit, withdrawal, balance) (10000,0,7000,3000) is added as the withdrawal details of the deposit ledger Sb, and the deposit total (preceding balance, deposit, withdrawal) , Balance) is updated from (0, 10000, 0, 10000) to (0, 10000, 7000, 3000).
  • the processing of the three slips is performed, and the logical output for the slip data for the three slips that are logical inputs is stored in the knowledge database 20 for each of the trial calculation table Sa, the deposit ledger Sb, and the fixed asset ledger Sc. Will be required in real time.
  • the binary search tree corresponding to the trial calculation table is updated, and the binary search tree corresponding to the deposit ledger and the fixed asset ledger grows.
  • the deposit ledger and the fixed asset ledger reflect the transaction status in real time.
  • Node corresponds to data in the included binary search tree (FIG. 35) added to the trial calculation table
  • LLink and RLink are binary search trees ( This corresponds to Left and Right in FIG. That is, when defining the trial calculation table, the binary search tree shown in FIG. 35 is formed by the method described below.
  • the line “link” from the right of the node “B” is connected to the node “D” to indicate the same contents as the table BSTa2.
  • the line “link” from the left of the node “D” is connected to the node “C” to indicate the same contents as the table BSTa3.
  • the line “link” from the left of the node “B” is connected to the node “A” to indicate the same contents as the table BSTa4.
  • the line “link” from the right of the node “D” is connected to the node “E” to indicate the same contents as the table BSTa5.
  • BST random search Next, a random search of BST (binary search tree) will be described.
  • the value to be searched from the first line of the table is compared with the Node value in the same manner as when creating the table, and the Node is traced.
  • FIG. 7 is a diagram for explaining the function of a transaction.
  • FIG. 7A shows a computer state transition table Ts1
  • FIGS. 7B and 7C show local variable definitions LV1 and global variables.
  • the definition GV is shown.
  • local variables are variables that are used only in the state transition table that shows the operations until the kernel is called when a transaction occurs
  • global variables are defined by all state transition tables that indicate slip processing operations by computer. It is a variable used in common.
  • the computer When a transaction occurs and a slip is entered, the computer reads the data received via a communication line such as the Internet, calls the kernel, and after the reading is completed, the kernel in the computer processes the business according to the data. Call.
  • This state transition table Ts1 defines a Turing machine (calculation function by a computer based on a program) for reading a kernel.
  • the argument “1” is the file 1 and indicates the accounting slip data
  • the argument ““ R ”” indicates that the file is opened in the read mode.
  • the computer In the process on line 5, the computer is in state 3.
  • the state becomes the state 3 of the previous line.
  • the condition “-” indicates that no condition is specified. That is, when the condition of the fifth line is not satisfied in the state 3, the computer unconditionally calls the process “KERNEL” (determines input data and calls a predetermined process). ) To make a transition to the state 2.
  • the computer performs such an operation until there is no input data (input slip data), and reads the slip data.
  • Function name Kernel function description (state transition table Ts2)
  • state transition table Ts2 an operation in which the kernel calls a business process corresponding to the type of input data will be described using the state transition table Ts2.
  • a failure handling process is called when a failure occurs.
  • FIG. 8 is a diagram for explaining the functions of the kernel.
  • FIG. 8A shows a computer state transition table Ts2
  • FIG. 8B shows a local variable definition LV2.
  • the local variable is a variable that is used only in the state transition table Ts2 indicating an operation in which the kernel calls a business process corresponding to the type of input data.
  • the state transition table Ts2 defines a Turing machine (a calculation function by a computer based on a program) that calls a business process.
  • the state “1” in the state transition table Ts2 indicates an initial state, and the computer first executes the process of the first row when the state transition table Ts2 shown in FIG. .
  • FIG. 9 is a diagram for explaining a logical output update function for the accounting system.
  • FIG. 9A shows a computer state transition table Ts3, and
  • FIG. 9B shows a definition of a local variable LV3. Yes.
  • the local variable LV3 is a variable used only in the state transition table Ts3 indicating the operation of updating the logic output.
  • the state transition table Ts3 defines a Turing machine (a calculation function by a computer based on a program) that updates a logic output.
  • the computer calculates the trial calculation table Sa, the deposit ledger Sb, and the fixed asset ledger Sc (see FIG. 3A) according to the state transition table Ts3 shown in FIG.
  • the logic output is updated in this order.
  • the computer In the processing of the 4th to 5th lines, the computer is in state 2 and the condition is unconditional “-”. Therefore, the computer executes the processing in the 4th to 5th lines, and transits to the state 3.
  • the process “wKEY $ character string trim concatenation function (KEY1, KEY2)” on the fourth line is a process of character-binding the variable KEY1 and the variable KEY2 and assigning them to the variable wKEY.
  • the function KBLOGEND is a process for outputting the process end to the status log.
  • FIG. 10 is a diagram for explaining the update of the logical output of the trial calculation table for the accounting system, and FIG. 10 (a) shows the state transition table of the computer.
  • FIG. 10B shows the definition of local variables, and
  • FIG. 10C shows the structure ST1 of the trial calculation table.
  • FIG. 13 is a diagram for explaining basic variables of the trial calculation table.
  • the local variable LV4 is a variable used only in the state transition table indicating the operation for updating the logic output.
  • the operation of updating the trial calculation table defined by the local coordinate system LCo will be described using the state transition table Ts4.
  • the state transition table Ts4 defines a Turing machine (a computer-based calculation function based on a program) that updates the logical output of the trial calculation table.
  • State 1 in the 1st to 4th rows of this state transition table Ts4 is an initial state, and is a process that is first executed by the computer when the above state transition table Ts4 is called.
  • the accounting slip data is data D1 indicating accounts receivable (20000) and sales (2000) as shown in FIG. 3D
  • the computer uses the accounts receivable as a key to debit the accounts receivable (CR) in the trial calculation table. It is updated from 0 to 20000, and the credit (DR) of accounts receivable on the trial balance is kept at 0.
  • the computer executes the processing of the third to fourth lines and shifts to the state 2.
  • the computer In the 9th to 18th lines of the state transition table Ts4, the computer is in the state 4 and the condition is unconditional “-”, so the computer executes the processing of the 9th to 18th lines and enters the state 999 (end state). Transition.
  • Explanation of the update operation of the deposit ledger (state transition table Ts5) 14A and 14B are diagrams for explaining the update of the logical output of the deposit ledger to the accounting system.
  • FIG. 14A shows the state transition table of the computer
  • FIG. 14B shows the local variable definition LV5.
  • FIG. 14C shows a structure ST2 of the deposit ledger.
  • the local variable LV5 is a variable used only in the state transition table Ts5 indicating the operation of updating the deposit ledger.
  • the operation of updating the deposit ledger defined by the local coordinate system LCo1 will be described using the state transition table Ts5.
  • this state transition table Ts5 defines a Turing machine (calculation function by a computer based on a program) for updating the deposit ledger.
  • State 1 in the first and second rows of the state transition table Ts5 is an initial state, and is a process that is first executed by the computer when the state transition table Ts5 is called. In the first and second lines, since the condition is unconditional “ ⁇ ”, the computer executes the processing in the first and second lines and makes a transition to the state 2.
  • the computer In the 5th to 12th lines of the state transition table Ts5, the computer is in the state 3 and the condition is unconditional “ ⁇ ”. Therefore, the computer executes the process in the 5th to 12th lines and enters the state 999 (end state). Transition.
  • ZENZAN wZENSAN
  • ZENZAN wZENSAN
  • ZAN ZENZAN + CR ⁇ DR
  • FIG. 16 is a diagram for explaining the update of the logical output of the fixed asset ledger for the accounting system.
  • FIG. 16 (a) shows the computer state transition table Ts6, and
  • FIG. 16 (b) shows the local variable definition LV6.
  • FIG. 16C shows the fixed asset ledger structure ST6, and
  • FIG. 16D shows the fixed asset ledger access definition AD6.
  • the local variable LV4 is a variable used only in the state transition table Ts6 indicating the operation of updating the logic output.
  • the operation of updating the fixed asset ledger defined by the local coordinate system LCo1 will be described using the state transition table Ts6.
  • the state transition table Ts6 defines a Turing machine (a calculation function by a computer based on a program) for updating the fixed asset ledger.
  • the state 1 in the first and second rows of the state transition table Ts6 is an initial state, and is a process that is first executed by the computer when the state transition table Ts6 is called.
  • the process “wNAME $ character string trim concatenation function (ACCNAME,“ total ”)” on the eighth line is a process for combining the variable ACCNAME and the value of the character string “total” and assigning them to the variable wNAME.
  • a logical operation system such as an accounting system is regarded as a manifold, and a plurality of logical inputs to the manifold, for example, a plurality of records, are individually formed on the manifold.
  • a local coordinate system for example, individual accounting books
  • a logical output of each local coordinate system for example, a counting result in each accounting book
  • the logical operation system of the present invention has been described by taking an accounting system having three accounting books as an example.
  • the logical operation system of the present invention is limited to that of the first embodiment. It is not a thing.
  • FIG. 45 is a diagram for explaining processing time when input data is processed in the logical operation system according to the first embodiment of the present invention.
  • FIG. 45 (a) shows processing contents
  • FIG. 45 (b) shows processing time. ing.
  • the input data corresponds to the accounting slip data described in the first embodiment, but the number of digits of the key item is 10 digits (6 digits, 4 digits), and the total items (debit, credit, balance, etc.) ) Represents one item as 10 items with 10 digits, and further represents a character item (an item for displaying an actual amount of money) as one item with 50 digits.
  • One million cases of such accounting slip data D are prepared as input files.
  • the accounting slip data D in the input file Fin includes key items, summary items (characters), and character items.
  • the key item for example, a code indicating the accounts receivable
  • the tabulation item represents the amount of the accounts receivable by a symbol, and is represented by 10 digits ⁇ 20 items.
  • the text item is a description of the item “Accounts receivable”, and is represented by 50 digits ⁇ 1 item.
  • Such accounting slip data is read into the memory M and stored as the table MT1. Further, the logical output structure (for example, trial calculation table) constructed as the knowledge database 20a is updated for each accounting slip data stored in this way. At this time, it takes 2.64 seconds to read 1 million accounting slip data from the input file into the memory M without including subtotal items such as credit and debit totals.
  • the time required to update the logical output structure (for example, trial calculation table) 20a based on the accounting slip data for 1 million items read into the memory M is 2 65 seconds. Also, the time required to read 1 million accounting slip data from the input file into the memory M including subtotal items such as credit and debit totals is 2.64 seconds, and the memory M.
  • the performance of the personal computer used at this time was a CPU (2.93 GHz ⁇ 4), a memory (4 GB), and a cache memory (8 MB).
  • the kernel reads out an operation system such as an accounting system or a trading system from the business function unit 100a according to input data, and constructs a logical output structure corresponding to the input data as a knowledge database.
  • the logical operation system is updated every time input data is input, the logical operation system of the present invention manages a plurality of logical output structures in a distributed and coordinated manner as a parent age.
  • a distributed cooperative multi-agent system may be used in which each logical output structure is updated by a corresponding agent (deterministic Turing machine). (Modification of Embodiment 1)
  • a distributed cooperative multi-agent system will be described as a modification of the first embodiment of the present invention.
  • This multi-agent system 1000 includes a kernel 1100 that manages the entire system as a parent agent, a trial calculation table agent 1200 that corresponds to a logical output structure 1230 as a trial calculation table, and a logic as a situation table (account item: deposit) for each customer.
  • a kernel 1100 that manages the entire system as a parent agent
  • a trial calculation table agent 1200 that corresponds to a logical output structure 1230 as a trial calculation table
  • the logic output structures are updated or restored by agents (deterministic Turing machines) 1200, 1300, and 1400 corresponding to the respective logical output structures.
  • the multi-agent system 1000 includes a monitoring agent 1500 that monitors the network status, the climate of the area where the terminal 2 (see FIG. 1A) is installed, disaster information, and the like, and slip input that inputs slip data.
  • the trial balance agent 1200 includes a trial balance update agent 1210 that updates the trial balance 1230 and a trial balance restoration agent 1220 that restores the trial balance 1230.
  • the trial calculation table 1230 is defined in the memory space as described in the first embodiment, and each time the trial calculation table update agent 1210 receives a slip input, the corresponding subject is based on the key information included in the slip input. The amount of the corresponding item (for example, debit, credit) of the (e.g.
  • the situation table agent 1300 includes a situation table update agent 1310 for updating the supplier-specific situation table 1330 and a situation table restoration agent 1320 for recovering the supplier-specific situation table 1330.
  • the supplier-specific status table 1330 is defined in the memory space as described in the first embodiment, and the status table update agent 1310 is based on key information included in the slip input each time a slip input is received.
  • the amount of the corresponding item (for example, debit, credit, etc.) of the corresponding business partner (for example, bank A) is updated, and the status table recovery agent 1320 changes the status of all items in the status table 1330 for each business partner at regular intervals. This is stored in the log storage unit 1340.
  • the subledger agent 1400 includes a subledger update agent 1410 that updates the subledger 1430 and a subledger recovery agent 1420 that recovers the subledger 1430.
  • the auxiliary ledger 1430 is defined in the memory space as described in the first embodiment.
  • the auxiliary ledger update agent 1410 receives the corresponding auxiliary information based on the key information included in the slip input every time the slip input is received.
  • each agent is a virtual processor virtually realized by a program in one processor.
  • each agent determineistic Turing machine
  • the trial balance agent 1200 receives a slip input.
  • the value of each item of the trial calculation table is stored in the state log storage unit 1240 at a constant cycle.
  • the trial calculation table update agent 1210 in the trial calculation table agent 1200 has a function equivalent to the Turing machine defined in the state transition table Ts4 (FIG. 10) of the first embodiment, and the update of the trial calculation table will be described below.
  • the logical input structure and the logical output structure can be regarded as a vector space.
  • the update process of the trial calculation table that is, the process that requires a solution for each input data is described as the process of updating the vector space.
  • FIG. 39 is a diagram for explaining the update of the trial calculation table (logical output structure) as the update of the vector space.
  • the output vector space Y (0) is a trial calculation table in the initial state
  • the output vector space Y (1) is a trial calculation table in a state where the values of the deposit and (debit total) positions are updated
  • the output vector space Y (2) is a trial calculation table in a state in which the value of the position of the accounts receivable and the (credit meter) is updated.
  • a value Y AB (n) at a position Y AB in the two-dimensional vector space is defined as follows.
  • Y 11 Debit of deposit
  • Y 13 Balance of deposit
  • Y 22 Credit of accounts receivable
  • Y 23 Balance of accounts receivable
  • Y 31 Debit of (debit)
  • Y 32 Credit of (debit)
  • Y 33 ( Debit balance)
  • Y (n) Y (n-1) + d (n) (d is slip data) (initial state)
  • d slip data
  • the value of each position in the vector space Y (1) when the first slip data is input is updated as follows.
  • the agent is a Turing machine, and a solution is instantaneously obtained for each input data by recursive enumeration.
  • Distributed cooperative multi-agent can operate as a business solution center.
  • multi-tasking is possible with multi-agents, and failure management by the kernel is realized.
  • seamless operation during normal times and disasters is possible.
  • the problem that is, the problem of updating the trial calculation table, the situation table, and the auxiliary ledger is recursively divided, and the agent is also recursively divided to solve the problem by distributed cooperation. Solutions divided by the linear system can be synthesized on the principle of superposition.
  • the knowledge cycle is realized by sharing the knowledge database. That is, since the logical output structure updated by the logical input (slip data) can be a logical input structure of another logical output structure, the logical output is performed by the logical input as in the first embodiment or its modification. In the system for updating the structure, the obtained logic output structure (knowledge) can be reused to create new knowledge (another logic output structure), which is called knowledge cycle enabling.
  • knowledge cycle enabling will be briefly described with specific examples.
  • FIG. 40 is a diagram for explaining knowledge cycle enabling in settlement of accounts.
  • the input data (final adjustment journal) D2a including provision for allowance for doubtful accounts (100) and allowance for doubtful accounts (100) is converted into a logical input structure D2b.
  • a deterministic Turing machine 2100 having a settlement settlement correction journalizing function creates a balance trial calculation table (logical output structure) RSa as a knowledge database.
  • the created balance trial calculation table RSa becomes a logical input structure of the deterministic Turing machine 2200 having a checkout table generation function, and a checkout table (logical output structure) RSb is generated from the logical input structure by the deterministic Turing machine 2200.
  • FIG. 41 is a diagram for explaining knowledge cycle enabling for creating a balance sheet from the balance sheet portion of the checkout table.
  • the deterministic Turing machine (Solution Agent) 2300 having a balance sheet creation function using the balance sheet part RSba of the check sheet RSb as a logical input structure, among the account items included in the balance sheet part RSba of the check sheet RSb,
  • the account items necessary for the balance sheet are extracted with reference to the definition concept (ontology) DC1 (shown in an enlarged manner in FIG. 46), and the balance sheet RSc in which the account items are associated with the amounts is created.
  • the definition concept (ontology) DC1 is an item to be used in the balance sheet defined by the US government.
  • the BS instance creation unit 2400 refers to the format (BS label table) BSt obtained by extracting the label elements from the taxonomy (currently used accounting report model) TXL, and converts the balance sheet RSc into English.
  • the electronic form (XBRL: BS_instance) RSc ′ expressing the balance sheet RSd is created.
  • the BS instance creation unit 2400 is a deterministic Turing machine having a function of creating a BS instance RSc ′ using the balance sheet (logical output structure) RSc created by the solution agent 2300 as a logical input structure.
  • the balance sheet RSd is obtained by converting the electronic form (XBRL: BS_instance) RSc ′ into HTML.
  • FIG. 43 shows the entire electronic form (XBRL: BS_instance) RSc ′.
  • FIG. 42 is a diagram for explaining knowledge cycle enabling for creating a profit and loss statement from the checkout table.
  • the deterministic Turing Machine (Solution Agent) 2500 having a profit and loss statement creation function with the profit and loss statement portion RSbb of the balance sheet RSb as a logical input structure is included in the account items included in the profit and loss statement portion RSbb of the balance sheet RSb, Account items necessary for the profit and loss object table are extracted with reference to the definition concept (ontology) DC2 (shown in an enlarged manner in FIG. 47), and a profit and loss calculation table RSe in which the account items and amounts are associated with each other is created.
  • the definition concept (ontology) DC2 shown in an enlarged manner in FIG. 47
  • the definition concept (ontology) DC2 is an item to be used in the profit and loss calculation table defined by the United States government.
  • the PL instance creation unit 2600 refers to the format (PL label table) PLt obtained by extracting the label elements from the taxonomy (currently used accounting report model) TXL, and converts the income statement RSe into English.
  • the PL instance creation unit 2600 is a deterministic Turing machine having a function of creating a PL instance RSe ′ using the profit and loss statement (logical output structure) RSe created by the solution agent 2500 as a logical input structure.
  • the profit / loss statement RSf is obtained by converting the electronic form (PL_instance) RSe ′ into HTML.
  • FIG. 44 shows the entire electronic form (PL instance) RSe ′.
  • the DSP features a high-speed multiplier and has a configuration (Harvard architecture) in which the data bus and the program bus are separated in order to efficiently transfer data between the memory and the high-speed arithmetic unit.
  • a configuration Hard architecture
  • some have a plurality of data buses and a plurality of arithmetic units.
  • digital signal processing can be performed at high speed using a high-speed arithmetic unit and a memory. Therefore, an AD converter is provided in the front stage of the DSP and a DA converter is provided in the subsequent stage. All analog signals such as audio signals, sensor outputs, signals read from recording media, signals received via wireless communication, and signals received from telephone lines are processed in real time and input to display devices, speakers, and motors.
  • the basic concept of the present invention is to define a logical output structure (vector space) obtained as an operation result on the memory space, capture input data as a logical input structure (vector space), and determine the value of each point in the vector space.
  • the value obtained by the decomposition is instantaneously obtained in one-to-one correspondence with the values of the points of the logical output structure (vector space), so that the basic concept of the present invention, that is, the memory and
  • the arithmetic system that updates the value in the logical output structure from the point value in the logical input structure in combination with the arithmetic unit is extremely matched with the DSP design philosophy that streamlines the data transfer between the memory and the high-speed arithmetic unit. Is. Therefore, according to the present invention, by implementing a logical operation system on a DSP, it is possible to dramatically speed up the data processing currently being performed on a mobile phone, which is enormous in mobile devices such as mobile phones. The calculation can be performed in a short time.
  • FIG. 33 is a diagram of the automatic program generation apparatus according to the second embodiment.
  • the automatic program generation apparatus 200 is an automatic program generation apparatus that automatically generates a program from a state transition diagram or a state transition table, and is a second information that is intermediate information from the first information indicated by the state transition diagram or the state transition table.
  • the first information is information indicating which process is performed and which process is performed when there is any input when the computer is in which state.
  • the intermediate information creation unit 210 obtains information indicating how much condition the computer determines in the current state based on information indicating the current state and processing conditions included in the first information.
  • Information created as information and indicating how much processing the computer performs under the conditions and the next state based on the information indicating the condition contents and the next state included in the first information Is generated as the third information, and the conditions determined by the computer and the processing executed by the computer are sequentially executed based on the information indicating the determination of the conditions included in the first information and the order of execution of the processing.
  • the fourth information is created as information to be shown.
  • the source code creation unit 220 generates a source code indicating a transition to each state of the computer based on the second and third information, and is executed by the computer based on the fourth information. A source code indicating the conditions to be processed and the processing is generated.
  • Such automatic program generation processing is performed by a computer, and the computer reads the automatic program generation program from a recording medium stored in the automatic program generation program and executes the automatic program generation processing.
  • FIG. 17 is a diagram for explaining a method of creating Tables 2 to 4 for generating a program for performing the operation indicated by the state transition table from the state transition table (Table 1) Ts1 representing the function (TRANSACTION).
  • FIG. 18 is a diagram showing a source file of a program obtained by this method. Further, the procedure corresponding to the flow for generating the above tables 2 to 4 from the state transition table (Table 1) is as shown in FIG.
  • Table 2 is a table showing how many conditions a specific machine (computer) determines in the current state.
  • Table 3 is a table showing how much processing is performed by the computer under what conditions to move to the next state.
  • Table 4 is a table showing the conditions determined by the computer and the processing executed by the computer in the order of the processing procedure of the computer indicated by the state transition table.
  • each state transition table is a finite state machine
  • the column “machine” indicating the machine number identifying this machine
  • the column “current state” indicating the current state
  • the current state is determined. It includes columns “from” and “to” indicating the first and last conditions of one or more conditions.
  • the row number in the No column of Table 2 corresponds to the value of the current state in the state transition table Ts1.
  • the finite state machine is one Turing machine, which is an arithmetic function by a computer based on a program.
  • Table 3 shows a column “Condition content” indicating the content of the condition, columns “from” and “to” indicating the first and last of one or more processes performed under the condition, and the last process.
  • a column “next state” indicating a transition destination state to be transitioned after is included.
  • the row numbers in the No column of Table 3 correspond to the order of conditions appearing in the condition column in the state transition table Ts1.
  • Table 4 includes a column “content” indicating the condition and the content of the process.
  • the row number in the No column of this table 4 indicates the condition and the process appearing in the condition column and the process column of the state transition table Ts1. It corresponds to the order.
  • Table 1 is one of the state transition tables Ts1 to Ts6, and a specific example will be described with reference to the state transition table Ts1 (FIG. 17A).
  • the input / condition refers to the value of the “condition” of the input item in the row of Table 1.
  • this expression is used.
  • the value “1” of the processing line (variable) is stored in TO.
  • next state the input / next state (next state in the first row of the state transition table Ts1) “2” is stored.
  • the machine in Table 2 stores “1”, the current state in Table 2 stores the input / current state value “1” of the state transition table Ts1, and the TO in Table 2 stores the value at this time. ⁇ The value “1” of Table 3 (variable) is stored, and the value “1” of Table 3 (variable) is similarly stored in the FROM of Table 2.
  • the second line in Table 1 corresponds to this case.
  • process 1.1 is performed.
  • the value of the condition line (variable) is “ ⁇ 1”.
  • the input / process on the fourth line is added to Table 4, and the process line (variable) ) Is set to the line number “4”.
  • the second line is added to Table 3, and the value “ ⁇ 1” of the condition line (variable) at this time is stored in the condition contents of the second line.
  • the added line number “2” is stored in Table 3 (variable).
  • the item “next state” in the second row added in Table 3 stores the next state “3” in the fourth row of the state transition table Ts1.
  • the added line number “2” is the value in ⁇ Table 2 (variables) at this point.
  • the item machine of Table 2 stores “1”, the item current state of Table 2 stores the input / current state value “2”, and the item TO of Table 2 contains ⁇
  • the value “2” of Table 3 (variable) is stored, and the item “FROM” of Table 2 similarly stores the value “2” of Table 3 (variable).
  • the machine of Table 2 stores “1”, the current state of Table 2 stores the input / current state value “2” of the state transition table Ts1, and the TO of Table 2 stores the value at this time.
  • the value “2” of Table 3 (variable) is stored, and the value “2” of Table 3 (variable) is similarly stored in the FROM of Table 2.
  • process 1.1 is performed.
  • the third line is added to Table 3, and the value “5” of the ⁇ condition line (variable) at this point is stored in the condition contents of the third line. Also, the added line number “3” is stored in Table 3 (variable).
  • the item “next state” in the third row added in Table 3 stores the next state “999” in the fifth row of the state transition table Ts1.
  • the added line number “3” is the value in ⁇ Table 2 (variables) at this point.
  • process 1.1 is performed.
  • the input / condition is the condition “-(unconditional)”
  • the value of the condition line (variable) is set to “ ⁇ 1”.
  • the fourth line is added to Table 3, and the condition line (variable) value “ ⁇ 1” at this point is stored in the condition contents of the fourth line.
  • the added line number “4” is stored in Table 3 (variable).
  • the item “next state” in the fourth row added in Table 3 stores the next state “2” in the seventh row of the state transition table Ts1.
  • the value “4” in the table 3 (variable) is stored in the item “TO” in the row of the table 2 indicated by the value “3” in the table 2 (variable).
  • FIGS. 19, 21, 23, 27, and 29 show Tables 2 to 4 for the state transition tables Ts2 to Ts6, respectively.
  • the state transition table (Table 1) Ts2 for realizing the kernel shown in FIG. 19A automatically generates a program (see FIG. 20) corresponding to the state transition table Ts2 according to the procedure shown in FIG. Tables 2 to 4 to be used (FIGS. 19B to 19D) are converted.
  • the state transition table (Table 1) Ts3 for realizing the update processing of the logical output of accounting shown in FIG. 21A is a program corresponding to the state transition table Ts3 according to the procedure shown in FIG. 31 (see FIG. 22). Are converted into Tables 2 to 4 (FIGS. 21 (b) to (d)) used for automatically generating.
  • the state transition table (Table 1) Ts4 for realizing the update process of the trial calculation table shown in FIG. 23 automatically executes the program (see FIGS. 25 and 26) corresponding to the state transition table Ts4 according to the procedure shown in FIG. Tables 2 to 4 (FIGS. 24A to 24C) used for generation are converted.
  • the state transition table (Table 1) Ts5 for realizing the updating process of the deposit ledger shown in FIG. 27A automatically executes the program (see FIG. 28) corresponding to the state transition table Ts3 according to the procedure shown in FIG. Tables 2 to 4 (FIGS. 27B to 27D) used for generation are converted.
  • the state transition table (Table 1) Ts6 for realizing the fixed asset ledger update process shown in FIG. 29A is obtained from the state transition table Ts6 according to the procedure shown in FIG. 31 (see FIG. 30).
  • Tables 2 to 4 (FIGS. 29B to 29D) used for automatic generation are converted.
  • B. Processing for Generating Program from Table for Automatic Program Generation Next, processing for automatically generating a source file as a program from Tables 2 to 4 corresponding to each state transition table (Table 1) will be described.
  • FIG. 32 shows a procedure for automatically generating this source file from Tables 2 to 4 above.
  • a C source “goto s001;” (source code on the fourth line) indicating a transition to the state 1 is generated.
  • Row of Table 3 ⁇ XX (that is, the value of ⁇ XX (variable) is “1”, so the first row of Table 3) item “FROM” value “1” is stored in ⁇ processing FROM (variable). To do.
  • the C source corresponding to the processing of the row of Table 4 ⁇ YY (that is, the value of ⁇ YY is “1” at this time, so the first row of Table 4) is output.
  • ⁇ YY (variable) is set to ⁇ YY (variable) +1.
  • the value of ⁇ YY (variable) becomes “2”.
  • ⁇ YY (variable) is set to ⁇ YY (variable) +1.
  • the value of ⁇ YY (variable) becomes “3”.
  • ⁇ YY (variable) is set to ⁇ YY (variable) +1. Thereby, the value of ⁇ YY (variable) becomes “4”.
  • ⁇ YY (variable) is set to ⁇ YY (variable) +1.
  • the value of ⁇ YY (variable) becomes “5”.
  • a c source corresponding to the transition to the next state (variable) is generated. That is, since the value of the next state (variable) at this point is “3”, the C source “goto s003;” (source code on the 12th line) indicating the transition to the state 3 is generated.
  • ⁇ YY (variable) is set to ⁇ YY (variable) +1.
  • the value of ⁇ YY (variable) becomes “7”.
  • a c source corresponding to the transition to the next state (variable) is generated. That is, since the value of the next state (variable) at this point is “999”, the C source “goto 999;” (the source code on the 16th line) indicating the transition to the state 999 is generated.
  • ⁇ XX (variable) is set to ⁇ XX (variable) +1.
  • the value of ⁇ XX (variable) becomes “4”.
  • ⁇ YY (variable) is set to ⁇ YY (variable) +1.
  • the value of ⁇ YY (variable) becomes “8”.
  • a c source corresponding to the transition to the next state (variable) is generated. That is, since the value of the next state (variable) at this point is “2”, the C source “goto s002;” (source code on the 19th line) indicating the transition to the state 2 is generated.
  • ⁇ XX (variable) is set to ⁇ XX (variable) +1.
  • the value of ⁇ XX (variable) becomes “5”.
  • the automatic program generation apparatus of the second embodiment is represented by a state transition table or a state transition diagram. As long as the arithmetic processing is performed, the source code of the program for performing this arithmetic processing can be automatically generated from the state transition table or the state transition diagram.
  • the basic variable used for financial risk calculation is the variance / Covariance indicates stock price fluctuation prediction information based on stock prices that change from time to time, for example, the correlation of stock prices of multiple stocks. By this correlation, it is possible to obtain related stock price prediction information in real time. Very advantageous.
  • the logical operation system calculates the variance of variable A, the covariance of variables A and B, and the variance of variable B based on changes in two variables A and B (for example, stock prices of two stocks).
  • An explanation will be given by taking as an example a logical operation system that calculates each time five pieces of data including the value of B are inputted.
  • FIG. 36 is a diagram for explaining a logical operation system according to the third embodiment of the present invention, and shows a model of sequential calculation of distributed covariance performed by this logical operation system.
  • the variance covariance which is the logical output Sout3 based on the two-variable logical input Sin3, is the aggregation result in response to the user request.
  • the aggregation result that is variance-covariance is defined as one local coordinate system on a manifold composed of a set of points having values that change from moment to moment.
  • variables A and B are defined on the Y axis and the X axis, respectively, and a point defined by the variable A on the X axis and the variable A on the Y axis is a value as a variance of the variable A.
  • the point defined by the variable B on the X axis and the variable B on the Y axis has a value as the variance of the variable B
  • the variable A on the X axis or the variable B and the variable on the Y axis A point defined by B or variable A has a value as a covariance of variables A and B.
  • each point in the local coordinate system is mapped to the memory space, and the value of each point in the local coordinate system is updated in the memory space. Further, the value (basic variable) of each point in the local coordinate system is updated using a deterministic Turing machine in which a function corresponding to the required specification is incorporated.
  • the logical operation system 300 of the third embodiment is equivalent to the real accounting system of the first embodiment except that the logical input Sin3, the logical output structure Sout3, and the function for deriving the logical output from the logical input are different. have.
  • the logic input Sin3 is No. as variables A and B, respectively. 1-No. 5 data up to 5 are included. Further, the logical output Sout3 includes the variance of the variable A, the covariance of the variables A and B, and the covariance of the variable B when the first to fifth data are input.
  • n is the number of data.
  • the variable ⁇ a is an average value of the data A1 to An of the variable An, and is obtained by batch processing.
  • the variable ⁇ b is an average value of the data B1 to Bn of the variable Bn, and is obtained by batch processing.
  • the arithmetic processing system 300 of the present embodiment obtains the variance covariance by sequential calculation, and the sequential calculation formula in this case is expressed by the following formula (2).
  • Sab, Vab, Ta, and Tb are all field variables, that is, values that change from moment to moment at points that constitute a manifold.
  • the sum up to this time can be obtained by adding the current value (input value) to the sum up to the previous time.
  • Vab is the sum of products of variable A and variable B, so the sum up to this time can be obtained by adding the current input value (product of variable A and variable B) to the sum up to the previous time.
  • Y (n) Y (n ⁇ 1) + u (n) (4)
  • the coefficients ⁇ and ⁇ of the approximate straight line used in the least square method can be obtained by variance and covariance.
  • Sxy is the covariance of variables X and Y
  • Sxx is the variance of variable X.
  • FIG. 37 is a diagram for explaining the operation of the logical operation system according to the third embodiment.
  • the variance covariance that is the logical output Sout3 based on the two-variable logical input Sin3 is set to 1 on a manifold consisting of a set of points having values that change from moment to moment. Since two local coordinate systems are defined, each point of the local coordinate system is mapped to the memory space, and the value of each point of the local coordinate system is updated on the memory space by using a deterministic Turing machine. Based on the change of the stock price (for example, two stock prices), the values of the variables A and B as the logical input Sin3 are input as the variance of the variable A, the covariance of the variables A and B, and the variance of the variable B. Can be calculated in degrees.
  • the present invention regards a logical operation system such as an accounting system as a manifold in the field of a storage medium storing a logical operation method, a logical operation device, a logical operation program, and a program automatic generation program.
  • the input (record) is aggregated for each local coordinate system (individual accounting book) hierarchically formed on the manifold, and the logical output of each local coordinate system (for example, the aggregation result in each accounting book) It can be generated in real time.
  • the present invention also relates to an automatic program generation method, an automatic program generation apparatus, an automatic program generation program, and a program for constructing a required logical operation system on a computer in the field of a recording medium storing the automatic program generation program.

Abstract

Provided is a logical operation method in which a logical operation system such as an accounting system is treated as a manifold, and a plurality of logical inputs for the manifold, such as a plurality of records, are totaled in each local coordinate system (such as individual account books) formed on the manifold, thus enabling real time generation of the logical output (such as the total results in individual account books) of each local coordinate system. Specifically provided is a logical operation method for performing logical operations on the basis of logical inputs and outputting operation results having a logical output structure, wherein on a manifold (Rs) comprising a plurality of points, stratified local coordinate systems (LCo, LCo1, LCo2) contain points, the values of which are defined so as to be variables included within the logical output structure, and the points defined within the local coordinate systems are mapped onto a memory space (MS). The logical operation method includes a step to input the logical inputs, and a step to consecutively update, on the basis of the logical inputs, the value of each point mapped within the local coordinate systems on the memory space (MS).

Description

論理演算方法、論理演算システム、論理演算プログラム、プログラム自動生成方法、プログラム自動生成装置、プログラム自動生成プログラム、および記録媒体Logic operation method, logic operation system, logic operation program, program automatic generation method, program automatic generation device, program automatic generation program, and recording medium
 本発明は、論理演算方法、論理演算システム、論理演算プログラムに関し、特に、会計システムなどの論理演算システムを多様体として捉え、この多様体に対する複数の論理入力(レコード)を、多様体上に階層的に形成された個々の局所座標系(個々の会計帳簿)毎に集計し、各局所座標系の論理出力(例えば個々の会計帳簿における集計結果)をリアルタイムで生成する論理演算方法、論理演算装置、論理演算プログラム、及び論理演算プログラムを格納した記録媒体に関するものである。 The present invention relates to a logical operation method, a logical operation system, and a logical operation program. In particular, a logical operation system such as an accounting system is regarded as a manifold, and a plurality of logical inputs (records) for the manifold are hierarchized on the manifold. Logical operation method and logical operation device for summing up each local coordinate system (individual accounting book) that is formed automatically and generating a logical output of each local coordinate system (for example, the totaling result in each accounting book) in real time , A logical operation program, and a recording medium storing the logical operation program.
 このような本発明の本質は知識構造化プログラミングであり、多様体の中に階層化された局所座標系を定義すること(知識構造化)と、定義された局所座標系の値をチューリングマシンにより逐次更新すること(プログラミング)とを組み合わせたものである。 The essence of the present invention is knowledge structured programming, in which a local coordinate system hierarchized in a manifold is defined (knowledge structuring), and the value of the defined local coordinate system is determined by a Turing machine. It is a combination of sequential updating (programming).
 さらには、本発明は、要求される論理演算システムをコンピュータ上に構築するためのプログラムを、この論理演算システムを定義する仕様書から得られる状態遷移図あるいは状態遷移表に基づいて自動生成するプログラム自動生成方法、プログラム自動生成装置、プログラム自動生成プログラム、及びプログラム自動生成プログラムを格納した記録媒体に関するものである。 Furthermore, the present invention provides a program for automatically generating a program for constructing a required logical operation system on a computer based on a state transition diagram or a state transition table obtained from a specification defining the logical operation system. The present invention relates to an automatic generation method, an automatic program generation device, an automatic program generation program, and a recording medium storing the automatic program generation program.
 従来、複数のレコード(論理入力)を自動的に集計する方法としては、複数のレコードを一旦バッファに蓄積し、キー項目に従って複数のレコードをソートすることによって複数のレコードを集計する方法が知られている。 Conventionally, as a method for automatically counting a plurality of records (logical input), a method is known in which a plurality of records are temporarily accumulated in a buffer, and the plurality of records are sorted by sorting the plurality of records according to key items. ing.
 しかし、このような方法によれば、集計すべきレコードの数が増大するにつれて、(1)大きなサイズのバッファを用意する必要がある、(2)複数のレコードをソートするのに長い時間がかかる、という問題点があった。 However, according to such a method, as the number of records to be aggregated increases, (1) it is necessary to prepare a buffer having a large size, and (2) it takes a long time to sort a plurality of records. There was a problem that.
 特に、インターネットが普及した今日にあっては、全世界から何千万件ものレコードが集計センタのコンピュータに蓄積される事態が想定される。このような場合に、従来の方法を適用したのでは、その何千万件ものレコードを集計するのに膨大な時間がかかることになる。 Especially in the present day when the Internet has become widespread, it is assumed that tens of millions of records from all over the world are accumulated in the computer of the aggregation center. In such a case, if the conventional method is applied, it will take an enormous amount of time to count the tens of millions of records.
 そこで、このような問題点を解決した集計方法として、特許文献1に開示のものがある。 Therefore, there is a method disclosed in Patent Document 1 as a counting method for solving such problems.
 この特許文献1に開示の自動集計方法は、入力されたレコードの内容を示すノードを有する階層型ツリーをコンピュータ内で成長させるものである。つまり、この特許文献1に開示の方法は、複数のレコードの1つをコンピュータに入力する第1のステップと、該階層型ツリーの、入力されたレコードに含まれるキー項目に対応する位置において、入力されたレコードの内容を示す少なくとも1つのノードを追加する第2のステップと、入力されたレコードに含まれる数値に従って、階層型ツリーに追加された少なくとも1つのノードの値と階層型ツリーに追加された少なくとも1つのノードより上位の階層のノードの値とを更新する第3のステップとを含み、複数のレコードの最後のレコードに至るまで、第1~第3のステップを繰り返すことにより、該階層型ツリーが有する情報に基づいて、キー項目ごとの集計結果を出力するものである。 The automatic tabulation method disclosed in Patent Document 1 grows a hierarchical tree having nodes indicating the contents of input records in a computer. That is, the method disclosed in Patent Document 1 includes a first step of inputting one of a plurality of records to a computer, and a position of the hierarchical tree corresponding to a key item included in the input record. A second step of adding at least one node indicating the contents of the input record, and adding to the hierarchical tree the value of at least one node added to the hierarchical tree according to the numeric value contained in the input record A third step of updating a value of a node in a hierarchy higher than the at least one node, and repeating the first to third steps until reaching the last record of the plurality of records, Based on the information of the hierarchical tree, the tabulation result for each key item is output.
 このように、複数のレコードを集計する方法において、入力されたレコードの内容が階層ツリーに追加されると同時にノードの値が更新され、キー項目ごとの集計結果が、特定の階層のノードの値として得られるようにすることで、レコードの入力と同時に、入力されたレコードが入力済みレコードに対してソートされることとなり、集計すべきレコードの数が膨大である場合でもそれらのレコードを瞬時に集計することを可能としている。 In this way, in the method of aggregating multiple records, the value of the node is updated at the same time as the contents of the input record are added to the hierarchy tree, and the aggregation result for each key item is the value of the node of the specific hierarchy. When the records are input, the input records are sorted with respect to the input records, and even if the number of records to be aggregated is enormous, those records are instantaneously It is possible to tabulate.
特開2001-344558号公報(特許第3230677号明細書)JP 2001-344558 A (Patent No. 3230677)
 しかしながら、上記特許文献1に記載の集計システムは、予め設計されたプログラムによってコンピュータ内に構築されたものであり、このような集計システムを実現するプログラムの開発には、特にデバグ処理などに時間がかかるという問題がある。 However, the counting system described in Patent Document 1 is built in a computer by a program designed in advance, and development of a program that realizes such a counting system takes time especially in debugging processing. There is a problem that it takes.
 また、上記特許文献1に記載の集計システムでは、入力された複数のレコードの集計結果は、店舗、商品、及び注文個数を項目として含む1つの論理出力として得られるにすぎず、例えば、会計システムを多様体として捉えたときの局所座標系としての試算表、預金元帳、固定資産台帳などといった異なる論理出力構造(異なる帳簿)毎に集計することはできない。 In the totalization system described in Patent Document 1, the totalization result of a plurality of input records is only obtained as one logical output including items of stores, products, and the number of orders. For example, an accounting system Cannot be tabulated for different logical output structures (different books) such as trial calculation table as local coordinate system, deposit ledger, fixed asset ledger, etc.
 言い換えると、この特許文献1では、1つの集計システムが、複数のレコード(会計伝票)に対する論理出力として、例えば、預金元帳が得られるよう設計されている場合、この集計システムでは、預金元帳は、レコードの入力の度にリアルタイムで更新されることとなるが、入力されるレコード(会計伝票)により更新されるべき試算表や固定資産台帳といった他の帳簿は、別の集計システムで作成する必要がある。このため、入力された複数のレコードの集計データを、会計システムの種々の帳簿毎にリアルタイムで集計することはできないという問題がある。 In other words, in this patent document 1, when one aggregation system is designed to obtain, for example, a deposit ledger as a logical output for a plurality of records (accounting slips), in this aggregation system, It will be updated in real time each time a record is entered, but other books such as trial balances and fixed asset ledgers that need to be updated according to the entered records (accounting slips) must be created in a separate aggregation system. is there. For this reason, there is a problem that total data of a plurality of input records cannot be totaled in real time for each of various books in the accounting system.
 本発明は、上記のような問題点を解決するためになされたもので、会計システムなどの論理演算システムを多様体として捉え、この多様体に対する複数の論理入力、例えば複数のレコードを、多様体上に形成された個々の局所座標系(例えば個々の会計帳簿)毎に集計し、各局所座標系の論理出力(例えば個々の会計帳簿における集計結果)をリアルタイムで生成することができる論理演算方法、論理演算装置、論理演算プログラム、及び論理演算プログラムを格納した記録媒体を得ることを目的とする。 The present invention has been made to solve the above-described problems. A logical operation system such as an accounting system is regarded as a manifold, and a plurality of logical inputs to the manifold, for example, a plurality of records, are represented as manifolds. A logical operation method capable of totalizing each local coordinate system (for example, individual accounting book) formed above and generating a logical output of each local coordinate system (for example, a totaling result in each accounting book) in real time. An object of the present invention is to obtain a logical operation device, a logical operation program, and a recording medium storing the logical operation program.
 また、本発明は、要求される論理演算システムをコンピュータ上に構築するプログラムを、この論理演算システムを定義する仕様書から得られる状態遷移図あるいは状態遷移表に基づいて自動生成するプログラム自動生成方法、プログラム自動生成装置、プログラム自動生成プログラム、及びプログラム自動生成プログラムを格納した記録媒体を得ることを目的とする。 The present invention also provides an automatic program generation method for automatically generating a program for constructing a required logical operation system on a computer based on a state transition diagram or a state transition table obtained from a specification defining the logical operation system. An object of the present invention is to obtain a program automatic generation device, a program automatic generation program, and a recording medium storing the program automatic generation program.
 本発明に係る論理演算方法は、論理入力に基づいて論理演算を行って、論理出力構造を有する演算結果を出力する論理演算方法であって、複数の点からなる多様体上に局所座標系が、該局所座標系に含まれる点の値が、該論理出力構造に含まれる変数となるよう定義され、メモリ空間にこの定義された局所座標系の点が写像されており、該論理演算方法は、該論理入力を入力するステップと、該論理入力に基づいて、該メモリ空間上で、該写像した局所座標系の各点の値を逐次更新するステップとを含むものであり、そのことにより上記目的が達成される。 A logical operation method according to the present invention is a logical operation method that performs a logical operation based on a logical input and outputs an operation result having a logical output structure, wherein a local coordinate system is formed on a manifold consisting of a plurality of points. , The value of the point included in the local coordinate system is defined to be a variable included in the logical output structure, and the point of the defined local coordinate system is mapped in the memory space. A step of inputting the logical input, and a step of sequentially updating the value of each point of the mapped local coordinate system on the memory space based on the logical input, thereby The objective is achieved.
 本発明は、上記論理演算方法において、前記演算結果は、階層化された複数の論理出力構造を有し、前記局所座標系を定義するステップは、前記多様体上に、該階層化された複数の論理出力構造に対応する、階層化された複数の局所座標系を定義するステップを含み、前記局所座標系の点をメモリ空間に写像するステップは、前記定義された複数の局所座標系の点を、前記メモリ空間の各局所座標系に対応するメモリ領域に写像するステップを含み、前記局所座標系の各点の値を逐次更新するステップは、該メモリ領域に写像した複数の局所座標系の各点の値を、該論理入力に基づいて逐次更新するステップを含むことが好ましい。 According to the present invention, in the logical operation method, the operation result has a plurality of hierarchized logical output structures, and the step of defining the local coordinate system includes the step of defining the local coordinate system on the manifold. Defining a plurality of hierarchical local coordinate systems corresponding to the logical output structure of the step, and mapping the points of the local coordinate system to a memory space comprises: defining points of the defined local coordinate systems Is mapped to a memory area corresponding to each local coordinate system of the memory space, and the step of sequentially updating the value of each point of the local coordinate system includes a plurality of local coordinate systems mapped to the memory area. Preferably, the method includes sequentially updating the value of each point based on the logical input.
 本発明は、上記論理演算方法において、前記局所座標系毎に、前記論理入力から前記局所座標系の各点の値を導出するための関数が定義されていることが好ましい。 In the logical operation method according to the present invention, it is preferable that a function for deriving a value of each point of the local coordinate system from the logical input is defined for each local coordinate system.
 本発明は、上記論理演算方法において、前記局所座標系の各点の値を逐次更新するステップは、前記関数を含む決定性チューリングマシンにより、該局所座標系の各点の現在の値を、前記論理入力に応じた値を該局所座標系の各点の現在の値に加算した値に置き換えるステップを含むことが好ましい。 According to the present invention, in the logical operation method described above, the step of sequentially updating the value of each point in the local coordinate system is performed by using the deterministic Turing machine including the function to calculate the current value of each point in the local coordinate system. Preferably, the method includes a step of replacing a value according to the input with a value obtained by adding the current value of each point in the local coordinate system.
 本発明は、上記論理演算方法において、前記決定性チューリングマシンは、前記論理入力に含まれる検索情報に基づいて、前記メモリ空間上に写像された局所座標系の複数の点のうちの、値を更新すべき各点の位置を検索することが好ましい。 According to the present invention, in the logical operation method, the deterministic Turing machine updates a value of a plurality of points in the local coordinate system mapped on the memory space based on search information included in the logical input. Preferably, the position of each point to be searched is searched.
 本発明は、上記論理演算方法において、前記論理出力構造では、前記局所座標系の各点が、1つのバイナリーサーチツリーのノードに割り当てられており、前記決定性チューリングマシンは、該バイナリーサーチツリーを用いて、前記局所座標系の更新すべき各点の位置を検索することが好ましい。 According to the present invention, in the logical operation method, each point of the local coordinate system is assigned to one binary search tree node in the logical output structure, and the deterministic Turing machine uses the binary search tree. It is preferable to search for the position of each point to be updated in the local coordinate system.
 本発明は、上記論理演算方法において、前記関数は、前記論理入力に対する演算結果を、該論理入力に含まれる値と、前記論理出力構造における対応する変数の値とを加算して求める再帰差分方程式であることが好ましい。 According to the present invention, in the logical operation method, the function is a recursive difference equation that obtains an operation result for the logical input by adding a value included in the logical input and a value of a corresponding variable in the logical output structure. It is preferable that
 本発明は、上記論理演算方法において、前記チューリングマシンは、前記局所座標系毎に、各局所座標系に対応する状態遷移表あるいは状態遷移図により定義され、前記メモリ領域の任意の位置に対するデータの参照、更新、および追加を行う基本機能を有しており、該状態遷移表あるいは状態遷移図は、該チューリングマシンの現状態、該チューリングマシンが現状態で処理を行うための条件、該チューリングマシンが現状態で行う処理の内容、該チューリングマシンの次状態を表すことが好ましい。 According to the present invention, in the logical operation method, the Turing machine is defined for each local coordinate system by a state transition table or a state transition diagram corresponding to each local coordinate system, and data of an arbitrary position in the memory area is stored. It has basic functions for referencing, updating, and adding, and the state transition table or state transition diagram shows the current state of the Turing machine, conditions for the Turing machine to perform processing in the current state, and the Turing machine Represents the contents of the processing performed in the current state and the next state of the Turing machine.
 本発明は、上記論理演算方法において、前記多様体を構成する複数の点は、会計システムにおける演算項目に対応し、前記複数の局所座標系は、該会計システムを構成する種々の会計帳簿に対応し、該局所座標系の各点の値を逐次更新するステップは、該会計システムの種々の演算項目に関する情報を含む論理入力がレコードとして入力される度に、種々の会計帳簿毎に、対応する演算項目の集計結果を、該論理入力に対する論理出力として出力するステップを含むことが好ましい。 In the logical operation method according to the present invention, the plurality of points constituting the manifold correspond to operation items in the accounting system, and the plurality of local coordinate systems correspond to various accounting books constituting the accounting system. The step of sequentially updating the value of each point in the local coordinate system corresponds to each of various accounting books whenever a logical input including information on various calculation items of the accounting system is input as a record. It is preferable to include a step of outputting the calculation result of the calculation items as a logical output for the logical input.
 本発明は、上記論理演算方法において、前記種々の会計帳簿は、試算表、預金元帳、および固定資産台帳であることが好ましい。 In the logical operation method according to the present invention, the various accounting books are preferably a trial balance, a deposit ledger, and a fixed asset ledger.
 本発明は、上記論理演算方法において、前記多様体を構成する複数の点は、統計システムにおける複数の演算項目に対応し、前記複数の演算項目は、2以上の変数を含む論理入力が複数回入力されたときの、同一の変数に対する分散、および異なる2つの変数に対する共分散であり、前記局所座標系の各点の値を逐次更新するステップは、該論理入力が入力される度に、該同一の変数に対する分散、および該異なる2つの変数に対する共分散を逐次更新するステップを含むことが好ましい。 According to the present invention, in the logical operation method, a plurality of points constituting the manifold correspond to a plurality of operation items in a statistical system, and the plurality of operation items include a plurality of logical inputs including two or more variables. A variance for the same variable when input, and a covariance for two different variables, the step of sequentially updating the value of each point in the local coordinate system, Preferably, the method includes sequentially updating the variance for the same variable and the covariance for the two different variables.
 本発明に係る論理演算システムは、論理入力に基づいて論理演算を行って、論理出力構造を有する演算結果を出力する論理演算システムであって、複数の点からなる多様体上に局所座標系が、該局所座標系に含まれる点の値が、該論理出力構造に含まれる変数となるよう定義され、メモリ空間にこの定義された局所座標系の点が写像されており、該論理演算システムは、該論理入力を入力する入力部と、該論理入力に基づいて、該メモリ空間上で、該写像した局所座標系の各点の値を逐次更新する演算部とを含み、そのことにより上記目的が達成される。 A logical operation system according to the present invention is a logical operation system that performs a logical operation based on a logical input and outputs an operation result having a logical output structure, wherein a local coordinate system is formed on a manifold consisting of a plurality of points. , The value of the point included in the local coordinate system is defined to be a variable included in the logical output structure, and the point of the defined local coordinate system is mapped to the memory space. An input unit for inputting the logical input; and an arithmetic unit for sequentially updating the value of each point of the mapped local coordinate system on the memory space on the basis of the logical input. Is achieved.
 本発明に係る論理演算プログラムは、論理入力に基づいて論理演算を行って、論理出力構造を有する演算結果を出力する論理演算処理を、コンピュータに実行させるための論理演算プログラムであって、複数の点からなる多様体上に局所座標系が、該局所座標系に含まれる点の値が、該論理出力構造に含まれる変数となるよう定義され、メモリ空間にこの定義された局所座標系の点が写像されており、該論理演算処理は、該論理入力を入力するステップと、該論理入力に基づいて、該メモリ空間上で、該写像した局所座標系の各点の値を逐次更新するステップとを含みそのことにより上記目的が達成される。 A logical operation program according to the present invention is a logical operation program for causing a computer to execute a logical operation process that performs a logical operation based on a logical input and outputs an operation result having a logical output structure. A local coordinate system is defined on a manifold of points, and the value of the point included in the local coordinate system is defined as a variable included in the logical output structure, and the point of the defined local coordinate system is defined in the memory space. The logical operation processing includes a step of inputting the logical input, and a step of sequentially updating the value of each point of the mapped local coordinate system on the memory space based on the logical input. Thereby achieving the above object.
 本発明に係る記録媒体は、上述した本発明に係る論理演算プログラムを格納したコンピュータ読取可能な記録媒体であり、そのことにより上記目的が達成される。 The recording medium according to the present invention is a computer-readable recording medium storing the above-described logical operation program according to the present invention, thereby achieving the above object.
 本発明に係るプログラム自動生成方法は、プログラムを状態遷移図あるいは状態遷移表から自動生成するプログラム自動生成方法であって、該状態遷移図あるいは状態遷移表が示す第1の情報から中間情報である第2~第4の情報を作成するステップと、該第2~第4の情報に基づいて、該プログラムのソースコードを生成するステップとを含み、そのことにより上記目的が達成される。 The program automatic generation method according to the present invention is an automatic program generation method for automatically generating a program from a state transition diagram or a state transition table, and is intermediate information from the first information indicated by the state transition diagram or the state transition table. The method includes the steps of creating second to fourth information and generating the source code of the program based on the second to fourth information, whereby the above object is achieved.
 本発明は、上記プログラム自動生成方法において、前記第1の情報は、コンピュータが、どの状態のときに、どの入力があると、どの処理を行って、どの状態に遷移するかを示す情報であり、前記第2~第4の情報を作成するステップは、該第1の情報に含まれる現状態と処理条件とを示す情報に基づいて、該コンピュータが現状態でどれだけの条件を判定するかを示す情報を該第2の情報として作成するステップと、該第1の情報に含まれる条件内容と次状態とを示す情報に基づいて、該コンピュータがどのような条件でどれだけの処理を行って次の状態に移るかを示す情報を該第3の情報として作成するステップと、該第1の情報に含まれる条件の判断と処理の実行の順序を示す情報に基づいて、該コンピュータが判断する条件と該コンピュータが実行する処理とを順に示す情報として、該第4の情報を作成するステップとを含むことが好ましい。 According to the present invention, in the program automatic generation method, the first information is information indicating which process is performed when the computer is in which state, which process is performed, and which state is transitioned to. The steps of creating the second to fourth information determine how many conditions the computer determines in the current state based on information indicating the current state and processing conditions included in the first information. The computer performs as many processes under what conditions based on the step of creating the information indicating the second information and the information indicating the condition contents and the next state included in the first information. The computer determines the information based on the step of creating information indicating whether to move to the next state as the third information, and the information indicating the condition determination and processing execution order included in the first information. Conditions and And a process of computer is running as the information indicating the order preferably includes a step of creating information of the fourth.
 本発明は、上記プログラム自動生成方法において、前記ソースコードを生成するステップは、該第2及び3の情報に基づいて、前記コンピュータの各状態への遷移を示すソースコードを生成するステップと、該第4の情報に基づいて、該コンピュータが実行する前記条件及び前記処理を示すソースコードを生成するステップとを含むことが好ましい。 According to the present invention, in the program automatic generation method, the step of generating the source code includes generating a source code indicating a transition to each state of the computer based on the second and third information; Preferably, the method includes generating a source code indicating the condition and the process executed by the computer based on the fourth information.
 本発明に係るプログラム自動生成装置は、プログラムを状態遷移図あるいは状態遷移表から自動生成するプログラム自動生成装置であって、該状態遷移図あるいは状態遷移表が示す第1の情報から中間情報である第2~第4の情報を作成する中間情報作成部と、該第2~第4の情報に基づいて、該プログラムのソースコードを生成するソースコード作成部とを含み、そのことにより上記目的が達成される。 An automatic program generation device according to the present invention is an automatic program generation device that automatically generates a program from a state transition diagram or state transition table, and is intermediate information from the first information indicated by the state transition diagram or state transition table. An intermediate information creation unit for creating second to fourth information, and a source code creation unit for generating source code of the program based on the second to fourth information. Achieved.
 本発明に係るプログラム自動生成プログラムは、プログラムを状態遷移図あるいは状態遷移表から自動生成するプログラム自動生成処理を、コンピュータにより行うためのプログラム自動生成プログラムであって、該プログラム自動生成処理は、該状態遷移図あるいは状態遷移表が示す第1の情報から中間情報である第2~第4の情報を作成するステップと、該第2~第4の情報に基づいて、該プログラムのソースコードを生成するステップとを含み、そのことにより上記目的が達成される。 The program automatic generation program according to the present invention is a program automatic generation program for performing automatic program generation processing for automatically generating a program from a state transition diagram or a state transition table by a computer, A step of creating second to fourth information as intermediate information from the first information indicated by the state transition diagram or the state transition table, and generating the source code of the program based on the second to fourth information To achieve the above object.
 本発明に係る記録媒体は、上述した本発明に係るプログラム自動生成プログラムを格納したコンピュータ読取可能な記録媒体であり、そのことにより上記目的が達成される。 The recording medium according to the present invention is a computer-readable recording medium storing the above-described program automatic generation program according to the present invention, thereby achieving the above object.
 以上のように、本発明によれば、会計システムなどの論理演算システムを多様体として捉え、この多様体に対する複数の論理入力、例えば複数のレコードを、多様体上に形成された個々の局所座標系(例えば個々の会計帳簿)毎に集計し、各局所座標系の論理出力(例えば個々の会計帳簿における集計結果)をリアルタイムで生成することができるという効果がある。 As described above, according to the present invention, a logical operation system such as an accounting system is regarded as a manifold, and a plurality of logical inputs to the manifold, for example, a plurality of records, are displayed on individual local coordinates formed on the manifold. There is an effect that data can be aggregated for each system (for example, individual accounting books), and a logical output of each local coordinate system (for example, aggregation results in each accounting book) can be generated in real time.
 また、本発明によれば、要求される論理演算システムをコンピュータ上に構築するプログラムを、この論理演算システムを定義する仕様書から得られる状態遷移図あるいは状態遷移表に基づいて自動生成することができるという効果がある。 In addition, according to the present invention, a program for constructing a required logical operation system on a computer can be automatically generated based on a state transition diagram or a state transition table obtained from a specification defining the logical operation system. There is an effect that can be done.
図1は、本発明の実施の形態によるコンピュータシステム1を説明する図であり、その全体構成の一例を示す図であり、図(a)は、その全体構成の一例を示し、図(b)は、ホストコンピュータ3の構成の一例を示す。FIG. 1 is a diagram for explaining a computer system 1 according to an embodiment of the present invention, showing an example of the overall configuration thereof. FIG. 1 (a) shows an example of the overall configuration, and FIG. These show an example of the configuration of the host computer 3. 図2は、上記ホストコンピュータ3内に構築されているリアルタイム演算システムの構成を説明する図であり、一例として会計システムおよび売買システムを含むものを示している。FIG. 2 is a diagram for explaining the configuration of a real-time arithmetic system built in the host computer 3, and shows an example including an accounting system and a trading system. 図3Aは、上記会計システムの論理出力構造を示す図である。FIG. 3A is a diagram showing a logical output structure of the accounting system. 図3Bは、この会計システム100の機能ブロックを概念的に示す図である。FIG. 3B is a diagram conceptually showing functional blocks of the accounting system 100. 図3Cは、この会計システム100の処理が高速万能チューリングマシンにより行われる様子を示す図である。FIG. 3C is a diagram showing how the processing of the accounting system 100 is performed by a high-speed universal Turing machine. 図3Dは、上記会計システムの論理入力を示す図である。FIG. 3D shows the logical input of the accounting system. 図3Eは、会計帳簿体系Acsを示す図である。FIG. 3E is a diagram showing an accounting book system Acs. 図3Fは、勘定科目マスターを示す図である。FIG. 3F is a diagram illustrating the account title master. 図4は、BSTの作成方法を処理順(図(a)~図(f))に説明する図である。FIG. 4 is a diagram for explaining a BST creation method in the order of processing (FIGS. (A) to (f)). 図5は、上記会計システムの論理出力が、論理入力である3件の伝票データの入力により更新される様子を説明する図であり、図5(a)は、上記会計システムに含まれる試算表、預金元帳、固定資産台帳の初期状態を示し、図5(b)は、1件目の伝票処理後の解(論理出力の状態)を示している。FIG. 5 is a diagram for explaining how the logical output of the accounting system is updated by inputting three slip data as logical inputs. FIG. 5A is a trial calculation table included in the accounting system. , The initial state of the deposit ledger and the fixed asset ledger, FIG. 5B shows the solution (logical output state) after the first slip processing. 図6は、上記会計システムの論理出力が、論理入力である3件の伝票データの入力により更新される様子を説明する図であり、図6(a)は、2件目の伝票処理後の解(論理出力の状態)を示し、図6(b)は、3件目の伝票処理後の解(論理出力の状態)を示している。FIG. 6 is a diagram for explaining how the logical output of the accounting system is updated by inputting three pieces of slip data which are logical inputs. FIG. 6A shows a state after processing the second slip. The solution (logic output state) is shown, and FIG. 6B shows the solution after the third slip processing (logic output state). 図7は、トランザクションの機能を説明する図であり、図7(a)はコンピュータの状態遷移表を示し、図7(b)及び(c)はそれぞれ、ローカル変数の定義及びグローバル変数の定義を示している。FIG. 7 is a diagram for explaining the function of a transaction. FIG. 7A shows a state transition table of the computer, and FIGS. 7B and 7C show definitions of local variables and global variables, respectively. Show. 図8は、カーネルの機能を説明する図であり、図8(a)は、コンピュータの状態遷移表を示し、図8(b)は、ローカル変数の定義を示している。FIG. 8 is a diagram for explaining functions of the kernel. FIG. 8A shows a state transition table of the computer, and FIG. 8B shows a definition of local variables. 図9は、会計システムに対する論理出力の更新機能を説明する図であり、図9(a)は、コンピュータの状態遷移表を示し、図9(b)は、ローカル変数の定義を示し、図9(c)はKDB5のアクセス定義2を示し、図9(d)はKDB4のアクセス定義1を示している。9 is a diagram for explaining a logical output update function for the accounting system. FIG. 9A shows a computer state transition table, FIG. 9B shows a local variable definition, and FIG. (C) shows the access definition 2 of KDB5, and FIG. 9 (d) shows the access definition 1 of KDB4. 図10は、会計システムに対する試算表の論理出力の更新を説明する図であり、図10(a)は、コンピュータの状態遷移表を示し、図10(b)は、ローカル変数の定義を示し、図10(c)は、試算表の構造ST1を示している。FIG. 10 is a diagram for explaining the update of the logical output of the trial calculation table for the accounting system, FIG. 10 (a) shows the state transition table of the computer, FIG. 10 (b) shows the definition of the local variable, FIG. 10C shows the structure ST1 of the trial calculation table. 図11は、試算表の構造定義を説明する図である。FIG. 11 is a diagram for explaining the structure definition of the trial calculation table. 図12は、試算表のアクセス定義を説明する図である。FIG. 12 is a diagram for explaining the access definition of the trial calculation table. 図13は、試算表の基本変数を説明する図である。FIG. 13 is a diagram for explaining basic variables of the trial calculation table. 図14は、会計システムに対する預金元帳の論理出力の更新を説明する図であり、図14(a)は、コンピュータの状態遷移表を示し、図14(b)は、ローカル変数の定義LV5を示し、図14(c)は、預金元帳の構造ST2を示している。14A and 14B are diagrams for explaining the update of the logical output of the deposit ledger to the accounting system. FIG. 14A shows the state transition table of the computer, and FIG. 14B shows the local variable definition LV5. FIG. 14C shows a structure ST2 of the deposit ledger. 図15は、KDB2(預金元帳)のアクセス定義を説明する図であり、図15(a)は、アクセス定義1(参照)を示し、図15(b)は、アクセス定義2(更新)を示している。FIG. 15 is a diagram for explaining the access definition of KDB2 (deposit ledger). FIG. 15 (a) shows access definition 1 (reference), and FIG. 15 (b) shows access definition 2 (update). ing. 図16は、会計システムに対する固定資産台帳の論理出力の更新を説明する図であり、図16(a)は、コンピュータの状態遷移表を示し、図16(b)は、ローカル変数の定義LV6を示し、図16(c)は、固定資産台帳の構造ST6を示し、図16(d)は、固定資産台帳のアクセス定義AD6を示している。FIG. 16 is a diagram for explaining the update of the logical output of the fixed asset ledger for the accounting system, FIG. 16 (a) shows a state transition table of the computer, and FIG. 16 (b) shows the local variable definition LV6. FIG. 16C shows the fixed asset ledger structure ST6, and FIG. 16D shows the fixed asset ledger access definition AD6. 図17は、関数(TRANSACTION)を表す状態遷移表(表1)Ts1から、この状態遷移表が示す動作を行うプログラムを生成するための表2~表4を作成する方法を説明する図である。FIG. 17 is a diagram for explaining a method of creating Tables 2 to 4 for generating a program for performing the operation indicated by the state transition table from the state transition table (Table 1) Ts1 representing the function (TRANSACTION). . 図18は、図17で説明する方法により得られるプログラムのソースコードを示す図である。FIG. 18 is a diagram showing a source code of a program obtained by the method described in FIG. 図19は、関数(KERNEL)を表す状態遷移表(表1)Ts2(図(a))から、この状態遷移表が示す動作を行うプログラムを生成するための表2~表4(図(b)~(d))を作成する方法を説明する図である。FIG. 19 shows Tables 2 to 4 (FIG. (B)) for generating a program for performing the operation indicated by the state transition table from the state transition table (Table 1) Ts2 (FIG. (A)) representing the function (KERNEL). It is a figure explaining the method of producing ()-(d)). 図20は、図19で説明する方法により得られるプログラムのソースコードを示す図である。FIG. 20 is a diagram showing source code of a program obtained by the method described in FIG. 図21は、関数(ACC_UPDATE)を表す状態遷移表(表1)Ts3(図(a))から、この状態遷移表が示す動作を行うプログラムを生成するための表2~表4(図(b)~(d))を作成する方法を説明する図である。FIG. 21 shows Tables 2 to 4 (FIG. (B) for generating programs for performing the operations indicated by the state transition table from the state transition table (Table 1) Ts3 (FIG. (A)) representing the function (ACC_UPDATE). It is a figure explaining the method of producing ()-(d)). 図22は、図21で説明する方法により得られるプログラムのソースコードを示す図である。FIG. 22 is a diagram showing a source code of a program obtained by the method described in FIG. 図23は、関数(TRIAL_UPDATE)を表す状態遷移表(表1)Ts4から、この状態遷移表が示す動作を行うプログラムを生成するための表2~表4を作成する方法を説明する図であり、状態遷移表(表1)Ts4を示している。FIG. 23 is a diagram for explaining a method of creating Tables 2 to 4 for generating a program for performing the operation indicated by the state transition table from the state transition table (Table 1) Ts4 representing the function (TRIAL_UPDATE). The state transition table (Table 1) Ts4 is shown. 図24は、関数(TRIAL_UPDATE)を表す状態遷移表(表1)Ts4から、この状態遷移表が示す動作を行うプログラムを生成するための表2~表4を作成する方法を説明する図であり、該表2~表4(図(a)~図(c))を示している。FIG. 24 is a diagram for explaining a method of creating Tables 2 to 4 for generating a program for performing the operation indicated by the state transition table from the state transition table (Table 1) Ts4 representing the function (TRIAL_UPDATE). Tables 2 to 4 (FIGS. (A) to (c)) are shown. 図25は、図23および図24で説明する方法により得られるプログラムのソースコードの前半部分を示す図である。FIG. 25 is a diagram showing the first half of the source code of the program obtained by the method described in FIGS. 図26は、図23および図24で説明する方法により得られるプログラムのソースコードの後半部分を示す図である。FIG. 26 is a diagram showing the latter half of the source code of the program obtained by the method described in FIGS. 23 and 24. 図27は、関数(Yokin)を表す状態遷移表(表1)Ts5(図(a))から、この状態遷移表が示す動作を行うプログラムを生成するための表2~表4(図(b)~(d))を作成する方法を説明する図である。FIG. 27 shows Tables 2 to 4 (FIG. (B) for generating a program for performing the operation indicated by the state transition table from the state transition table (Table 1) Ts5 (FIG. (A)) representing the function (Yokin). It is a figure explaining the method of producing ()-(d)). 図28は、図27で説明する方法により得られるプログラムのソースコードを示す図である。FIG. 28 is a diagram showing source code of a program obtained by the method described in FIG. 図29は、関数(Kotei)を表す状態遷移表(表1)Ts6(図(a))から、この状態遷移表が示す動作を行うプログラムを生成するための表2~表4(図(b)~(d))を作成する方法を説明する図である。FIG. 29 shows Tables 2 to 4 (FIG. (B)) for generating programs that perform the operations indicated by the state transition table from the state transition table (Table 1) Ts6 (FIG. (A)) representing the function (Kotei). It is a figure explaining the method of producing ()-(d)). 図30は、図27で説明する方法により得られるプログラムのソースコードを示す図である。FIG. 30 is a diagram showing the source code of the program obtained by the method described in FIG. 図31は、各状態遷移表(表1)Ts1~Ts6から、各状態遷移表に対応する表2~4を生成するフローに相当する手順を示す図である。FIG. 31 is a diagram showing a procedure corresponding to a flow of generating tables 2 to 4 corresponding to the state transition tables from the state transition tables (Table 1) Ts1 to Ts6. 図32は、各状態遷移表(表1)Ts1~Ts6に対応する表2~4から、各状態遷移表に対応するプログラムを生成するフローに相当する手順を示す図である。FIG. 32 is a diagram showing a procedure corresponding to a flow of generating a program corresponding to each state transition table from tables 2 to 4 corresponding to the respective state transition tables (Table 1) Ts1 to Ts6. 図33は、本実施形態2のプログラム自動生成装置を構成する図である。FIG. 33 is a diagram of the automatic program generation device according to the second embodiment. 図34は、本発明の基本原理を説明する図であり、図34(a)は、会計全体に対応する多様体Rsを示し、図34(b)~(d)は、多様体上に定義された個々の局所座標系を示し、図34(e)は、局所座標系の点をメモリー空間に写像した状態を示している。FIG. 34 is a diagram for explaining the basic principle of the present invention. FIG. 34 (a) shows a manifold Rs corresponding to the entire accounting, and FIGS. 34 (b) to (d) are defined on the manifold. FIG. 34E shows a state where the points of the local coordinate system are mapped to the memory space. 図35は、試算表に設定されている検索用リンク情報(バイナリーサーチツリー)を説明する図である。FIG. 35 is a diagram for explaining the search link information (binary search tree) set in the trial calculation table. 図36は、本発明の実施形態3による論理演算システムを説明する図であり、この演算システムで行う分散共分散の逐次計算のモデルを説明する図である。FIG. 36 is a diagram for explaining a logical operation system according to the third embodiment of the present invention, and is a diagram for explaining a model of distributed covariance sequential calculation performed in this operation system. 図37は、本実施形態3による論理演算システムの動作を説明する図であり、分散共分散の逐次計算の具体例を示している。FIG. 37 is a diagram for explaining the operation of the logical operation system according to the third embodiment and shows a specific example of the sequential calculation of the variance-covariance. 図38は、本実施形態1の変形例による分散協調マルチエージェントシステム(以下、単にマルチエージェントシステムという。)の全体構成を概略的に示すブロック図である。FIG. 38 is a block diagram schematically showing an overall configuration of a distributed cooperative multi-agent system (hereinafter simply referred to as a multi-agent system) according to a modification of the first embodiment. 図39は、本実施形態1の変形例によるマルチエージェントシステムにおける試算表(論理出力構造)の更新をベクトル空間の更新として説明する図である。FIG. 39 is a diagram for explaining the update of the trial calculation table (logical output structure) in the multi-agent system according to the modification of the first embodiment as the update of the vector space. 図40は、本実施形態1およびその変形例の適用例として、決算整理におけるナレッジ・サイクル・イネーブリングを説明する図である。FIG. 40 is a diagram for explaining knowledge cycle enabling in settlement of accounts as an application example of the first embodiment and its modification. 図41は、精算表から貸借対照表を作成するナレッジ・サイクル・イネーブリングを説明する図である。FIG. 41 is a diagram for explaining knowledge cycle enabling for creating a balance sheet from a checkout table. 図42は、精算表から損益計算書を作成するナレッジ・サイクル・イネーブリングを説明する図である。FIG. 42 is a diagram for explaining knowledge cycle enabling for creating a profit and loss statement from the checkout table. 図43は、BSインスタンスRSc’を示す図である。FIG. 43 is a diagram illustrating the BS instance RSc ′. 図44は、PLインスタンスRSc’を示す図である。FIG. 44 is a diagram illustrating the PL instance RSc ′. 図45は、本発明の実施形態1による論理演算システムにおける入力データ(100万件の会計伝票)を処理したときの処理時間を説明する図であり、図45(a)は処理内容、図45(b)は処理時間を示している。FIG. 45 is a diagram for explaining the processing time when input data (one million accounting slips) is processed in the logical operation system according to the first embodiment of the present invention. FIG. (B) shows the processing time. 図46は、定義概念(オントロジー)の説明図であり、アメリカ合衆国政府が定義した貸借対照表に用いるべき項目のテーブルDC1を示している。FIG. 46 is an explanatory diagram of a definition concept (ontology), and shows a table DC1 of items to be used in a balance sheet defined by the United States government. 図47は、定義概念(オントロジー)の説明図であり、アメリカ合衆国政府が定義した損益計算表に用いるべき項目のテーブルDC2を示している。FIG. 47 is an explanatory diagram of a definition concept (ontology), and shows a table DC2 of items to be used in the profit and loss calculation table defined by the United States government.
 まず、本発明の基本原理について説明する。 First, the basic principle of the present invention will be described.
 本発明は、会計システムや売買システムなどの論理演算システムを、時々刻々と変化する値を有する点の集合からなる多様体として捉え、この多様体に、ユーザ要求に応じた集計結果である複数の論理出力構造を、局所座標系として階層的に定義し、局所座標系の各点をメモリ空間に写像し、該メモリ空間上で局所座標系の各点の値を更新するものである。ここで、局所座標系の各点の値の更新は、要求仕様に応じた関数が組み込まれたチューリングマシンを用いて行われる。 The present invention regards a logical operation system such as an accounting system and a buying and selling system as a manifold composed of a set of points having values that change from moment to moment. The logical output structure is hierarchically defined as a local coordinate system, each point of the local coordinate system is mapped to a memory space, and the value of each point of the local coordinate system is updated on the memory space. Here, the value of each point in the local coordinate system is updated using a Turing machine in which a function corresponding to the required specification is incorporated.
 これにより、この多様体に対する複数の論理入力(レコード)を、多様体上に階層的に形成された個々の局所座標系(個々の会計帳簿など)毎に集計し、各局所座標系の論理出力(例えば個々の会計帳簿における集計結果)をリアルタイムで生成することが可能となる。 As a result, multiple logical inputs (records) for this manifold are aggregated for each local coordinate system (individual accounting books, etc.) formed hierarchically on the manifold, and the logical output of each local coordinate system It is possible to generate a real-time (for example, a totaling result in each accounting book).
 このような基本原理の本質は、問題を場の理論を用いて解決する点にあり、つまりは、演算対象となる事象(問題)を、この事象に影響を与える要因(論理入力)により変化する値(場)を有する点の集合として捕らえ、演算対象である問題を個々の点に分解し、分解した点の値(基本変数)と、論理入力に含まれる、この基本変数に影響を与える入力値とを一対一に対応させ、論理入力が入るだびに、基本変数を、これと入力値とを対応付ける既定の関数に従って更新するというものである。 The essence of such a basic principle is that the problem is solved by using field theory, that is, the event (problem) subject to calculation changes depending on the factor (logic input) that affects this event. Catch as a set of points with values (fields), decompose the problem to be computed into individual points, the value of the decomposed points (basic variables), and the input that affects this basic variable included in the logical input The values are made to correspond one-to-one, and as the logical input is entered, the basic variable is updated according to a predetermined function that associates the value with the input value.
 なお、場(field)とは、空間の各点毎に定義されていて、時々刻々と変化する量(基本変数)である。言い換えると、場とは、空間座標rと時間座標tとを引数に持つ関数をいい、場の理論とは、場を基本変数とする量子論をいう。 Note that a field is a quantity (basic variable) that is defined for each point in the space and changes from moment to moment. In other words, the field refers to a function having the space coordinate r and the time coordinate t as arguments, and the field theory refers to quantum theory having the field as a basic variable.
 本発明では、上述したように基本変数と入力値とを対応付ける既定の関数は、以下の実施形態で詳述するように、決定性チューリングマシンの機能を定義するものであり、上記論理出力構造における基本変数は、この決定性チューリングマシンにより更新される。 In the present invention, as described above, the default function that associates the basic variable with the input value defines the function of the deterministic Turing machine, as will be described in detail in the following embodiments. Variables are updated by this deterministic Turing machine.
 なお、決定性チューリングマシンは、論理入力に含まれる、各論理入力値に割り当てられているキー(つまりアドレス)に基づいて、メモリ空間上に写像された点を見つけ、この点の値(基本変数)を、論理入力に含まれる入力値により更新する。 The deterministic Turing machine finds a point mapped on the memory space based on a key (that is, an address) assigned to each logical input value included in the logical input, and the value of this point (basic variable). Is updated with the input value included in the logical input.
 従って、本発明は、あらゆる演算処理に適用できるものであり、どのような複雑な演算処理でも、所望とする論理出力構造を有する演算結果に応じて、演算対象となる問題を点の集合(基本変数の集合)に分解し、この基本変数と、論理入力に含まれる入力値とを一対一に対応付け、現在の基本変数に現在の入力値を加えるという構成により、演算の解を求めることができる。 Therefore, the present invention can be applied to all kinds of arithmetic processing, and in any complicated arithmetic processing, the problem to be operated is set to a set of points (basic (basic) depending on the arithmetic result having a desired logic output structure). A set of variables), the basic variable and the input value included in the logical input are correlated one-to-one, and the current input value is added to the current basic variable to obtain the solution of the operation. it can.
 信号処理などの例を挙げると、時間軸上で振幅レベルが変化する信号(入力データ)は、フーリエ変換などにより周波数スペクトル(論理出力構造を有する演算結果)に変換されるが、本発明では、この時間軸上で変化する信号の差分を入力として、周波数スペクトルをリアルタイムで求めることも可能である。 When an example such as signal processing is given, a signal whose amplitude level changes on the time axis (input data) is converted into a frequency spectrum (an operation result having a logical output structure) by Fourier transform or the like. It is also possible to obtain the frequency spectrum in real time by using the difference between the signals changing on the time axis as an input.
 つまり、信号解析という問題を、信号の基本周波数及び第2~第n高調波という複数の周波数成分(変化する値を有する点)に分解し、信号の入力振幅レベルという入力データと各周波数成分の値(基本変数)とを再帰差分方程式により対応付けることにより、信号のフーリエ変換などの処理も、入力信号の振幅レベルの変化(差分)を入力として、信号の時間分解能に応じた時間を最小の処理単位としてリアルタイムで行うことができる。 In other words, the problem of signal analysis is broken down into a plurality of frequency components (points having varying values) of the fundamental frequency of the signal and the 2nd to nth harmonics, and the input data of the signal's input amplitude level and each frequency component By associating a value (basic variable) with a recursive difference equation, processing such as Fourier transformation of the signal can also be performed with the time (corresponding to the time resolution of the signal being minimized) using the change (difference) in the amplitude level of the input signal as input. It can be done in real time as a unit.
 また、このような本発明の場の理論を用いた演算システムは、これを実行するプログラムが正しいことを証明する必要はないことも大きな特徴である。 In addition, the arithmetic system using the field theory of the present invention is also characterized in that it is not necessary to prove that the program for executing this is correct.
 つまり、このような場の理論を用いた演算が正しいことについては、論理出力構造における基本変数と、論理入力における論理入力値とは一対一の対応であるため、チューリングマシンにより行う演算が正しいことを証明すればよいが、チューリングマシンによる演算は、再帰差分方程式(y(n)=y(n-1)+u(n))で行われ、この演算が正しいことは、数学的帰納法により証明されることから、本発明の場の理論を用いた演算システムを実行するプログラムが正しいことを個別に証明する必要はない。 In other words, the correct operation using such a field theory is that the basic variable in the logical output structure and the logical input value in the logical input have a one-to-one correspondence, so the operation performed by the Turing machine is correct. However, the Turing machine operation is performed by the recursive difference equation (y (n) = y (n-1) + u (n)), and it is proved by mathematical induction that this operation is correct. Therefore, it is not necessary to individually prove that the program for executing the arithmetic system using the field theory of the present invention is correct.
 さらには、複数の論理出力構造(局所座標系)が階層的に定義される演算結果については、局所座標系毎に異なる関数を含む決定性チューリングマシンの動作を重ねあわせることで、所望とする演算結果を得ることができる。 Furthermore, for operation results in which multiple logical output structures (local coordinate systems) are hierarchically defined, the desired operation results can be obtained by overlapping the operations of deterministic Turing machines that include different functions for each local coordinate system. Can be obtained.
 図34は、本発明の基本原理を説明する図であり、図34(a)は、会計全体に対応する多様体Rsを示し、図34(b)~(d)は、多様体上に定義された個々の局所座標系を示し、図34(e)は、局所座標系の点をメモリー空間に写像した状態を示している。 FIG. 34 is a diagram for explaining the basic principle of the present invention. FIG. 34 (a) shows a manifold Rs corresponding to the entire accounting, and FIGS. 34 (b) to (d) are defined on the manifold. FIG. 34E shows a state where the points of the local coordinate system are mapped to the memory space.
 図34に示す多様体Rsは、時々刻々と変化する演算対象値(基本変数)を有する複数の点Prsから構成されている。 The manifold Rs shown in FIG. 34 is composed of a plurality of points Prs having calculation target values (basic variables) that change from moment to moment.
 このような多様体Rsでは、ユーザ要求が、会計システムの所定の項目に着目した集計結果を求めるというものである場合は、多様体Rsを、会計上の計算の対象となるすべての演算対象値を有する点からなるものとして捕らえ、多様体Rs上に、例えば、ユーザ要求に応じた種々の会計帳簿として、局所座標系LCo、LCo1、LCo2が定義される。 In such a manifold Rs, when the user request is to obtain an aggregation result focusing on a predetermined item of the accounting system, the manifold Rs is calculated using all the calculation target values to be subject to accounting calculation. For example, local coordinate systems LCo, LCo1, and LCo2 are defined on the manifold Rs as various accounting books according to the user request.
 この場合、多様体を構成する点Prsには、預金の残高、売掛金の残高、設備に対する投資額といった、時々刻々と変化する値を含む項目が該当することとなる。 In this case, the point Prs constituting the manifold corresponds to items including values that change from moment to moment, such as deposit balance, accounts receivable balance, and investment amount for equipment.
 従って、このような会計に相当する多様体Rsにおいて、例えば、縦軸に、預金、売掛金、商品、建物、設備、借方計、売上、借入金、資本金、及び貸方計を設定し、横軸に、前月残、借方、貸方、及び残高を定義すると、図3Aに示す会計帳簿(試算表)Saである論理出力構造が局所座標系LCoとして定義される。 Therefore, in the manifold Rs corresponding to such accounting, for example, the vertical axis indicates deposits, accounts receivable, commodities, buildings, equipment, debit totals, sales, borrowings, capital, and credit totals, and the horizontal axis When the balance of the previous month, debit, credit and balance are defined, the logical output structure which is the accounting book (trial calculation table) Sa shown in FIG. 3A is defined as the local coordinate system LCo.
 また、多様体Rsにおいて、例えば、縦軸に、預金の合計、預金の前月残を設定し、さらに日付として8/10、8/20、8/25、8/31を伝票番号とともに設定し、横軸に、前月残、借方、貸方、及び残高を定義すると、図3Aに示す会計帳簿(預金元帳)Sbである論理出力構造が局所座標系LCo1として定義される。 In the manifold Rs, for example, on the vertical axis, the total of deposits and the balance of the previous month of deposits are set, and 8/10, 8/20, 8/25, and 8/31 are set as dates along with the slip numbers. When the balance of the previous month, the debit, the credit, and the balance are defined on the horizontal axis, the logical output structure that is the accounting book (deposit ledger) Sb shown in FIG. 3A is defined as the local coordinate system LCo1.
 さらに、多様体Rsにおいて、例えば、縦軸に、建物及び設備を資産番号とともに設定し、また、建物及び設備の小計を設定し、横軸に、前月残、借方、貸方、及び期末残を定義すると、図3Aに示す会計帳簿(固定資産台帳)Scである論理出力構造が局所座標系LC02として定義される。 Furthermore, in the manifold Rs, for example, the vertical axis sets buildings and equipment along with asset numbers, and the building and equipment subtotals, and the horizontal axis defines the previous month balance, debits, credits, and end-of-period balance. Then, the logical output structure which is the accounting book (fixed asset ledger) Sc shown in FIG. 3A is defined as the local coordinate system LC02.
 ここで、図34(b)~図34(d)は、多様体Rs上に定義した局所座標系LCo、LCo1、LCo2を示しており、このような局所座標系LCo、LCo1、LCo2の点をメモリ空間Msに写像し、各点の有する値を、このメモリ空間Msの、各局所座標系を写像した各メモリ領域Aco、Aco1、Aco2の対応するアドレスに格納するようにする。 Here, FIGS. 34 (b) to 34 (d) show local coordinate systems LCo, LCo1, and LCo2 defined on the manifold Rs, and the points of such local coordinate systems LCo, LCo1, and LCo2 are shown. The memory space Ms is mapped, and the value of each point is stored in the corresponding address of each memory area Aco, Aco1, Aco2 in which the local coordinate system is mapped.
 また、このメモリ空間Msには、会計帳簿体系Acs(図3E)及び勘定科目マスターAm(図3F)も格納されている。 In addition, the accounting book system Acs (FIG. 3E) and the account item master Am (FIG. 3F) are also stored in the memory space Ms.
 このようにメモリ空間Msに上記局所座標系の各点の値を格納することで、各局所座標系の各点の値をチューリングマシンTmにより再帰的枚挙に更新可能となる。 Thus, by storing the value of each point of the local coordinate system in the memory space Ms, the value of each point of each local coordinate system can be recursively updated by the Turing machine Tm.
 また、チューリングマシンは、基本的には、現状態とその状態で入力された論理入力の入力値とに基づいて、該入力値により示されたメモリ空間上の位置の点が有する値(基本変数)を更新するものであるが、このチューリングマシンとしては、各局所座標系に応じてその機能が定義されたものが用いられる。また、チューリングマシンの機能は状態遷移図あるいは状態遷移表により定義される。
 ここで、論理入力には、点の値である入力値だけでなく、その入力値を用いて更新すべき、論理出力構造における点の位置を示す情報(キー情報)も含んでおり、チューリングマシンは、このキー情報に基づいて、論理出力構造における更新すべき点を検出し、該検出した点の値を、入力値に基づいて更新する。
In addition, the Turing machine basically has a value (basic variable) that the point of the position in the memory space indicated by the input value has based on the current state and the input value of the logical input input in that state. As the Turing machine, a machine whose function is defined according to each local coordinate system is used. The function of the Turing machine is defined by a state transition diagram or a state transition table.
Here, the logical input includes not only the input value which is the value of the point but also information (key information) indicating the position of the point in the logical output structure to be updated using the input value. Detects a point to be updated in the logical output structure based on the key information, and updates the value of the detected point based on the input value.
 なお、以下の実施形態では、本発明の論理演算システムとして、会計システム及び分散共分散演算システムについて具体的に説明するが、本発明の論理演算システムは、上述したように、これらに限定されるものではなく、本発明は、論理入力に基づいてテーブル形式の演算結果を算出するものであれば、どのような論理演算システムであっても適用可能である。 In the following embodiments, an accounting system and a distributed covariance operation system will be specifically described as the logical operation system of the present invention, but the logical operation system of the present invention is limited to these as described above. Instead, the present invention can be applied to any logical operation system as long as it can calculate a calculation result in a table format based on a logical input.
 以下、本発明の実施形態について図面を参照しながら説明する。 Hereinafter, embodiments of the present invention will be described with reference to the drawings.
 (実施形態1)
 図1は、本発明の実施形態1によるコンピュータシステム1を説明する図であり、図1(a)は、その全体構成の一例を示す図である。
〔コンピュータシステム1の全体構成の説明〕
 この実施形態1のコンピュータシステム1は、複数の端末コンピュータ2と、ホストコンピュータ3と、複数の端末コンピュータ2とホストコンピュータ3とを接続するネットワーク4とを含む。
(Embodiment 1)
FIG. 1 is a diagram for explaining a computer system 1 according to Embodiment 1 of the present invention, and FIG. 1A is a diagram showing an example of the overall configuration.
[Description of Overall Configuration of Computer System 1]
The computer system 1 according to the first embodiment includes a plurality of terminal computers 2, a host computer 3, and a network 4 that connects the plurality of terminal computers 2 and the host computer 3.
 ネットワーク4は、任意のネットワークであり得る。ネットワーク4は、例えば、インターネットである。あるいは、ネットワーク4を介することなく、複数の端末コンピュータ2とホストコンピュータ3とがケーブルなどの電気配線を介して直接的に接続されていてもよい。 The network 4 can be an arbitrary network. The network 4 is, for example, the Internet. Alternatively, the plurality of terminal computers 2 and the host computer 3 may be directly connected via electric wiring such as a cable without using the network 4.
 複数の端末コンピュータ2のそれぞれは、例えば、店舗に設置される。図1に示される例は、1台の端末コンピュータ2が店舗A1に設置され、もう1台の端末コンピュータ2が店舗A2に設置され、他の1台の端末コンピュータ2が店舗A3に設置されている例である。もちろん、ネットワーク4を介してホストコンピュータ3に接続される端末コンピュータ2の数は3に限定されるわけではない。任意のN(Nは2以上の整数)個の端末コンピュータ2がネットワーク4を介してホストコンピュータ3に接続され得る。 Each of the plurality of terminal computers 2 is installed in a store, for example. In the example shown in FIG. 1, one terminal computer 2 is installed in the store A1, the other terminal computer 2 is installed in the store A2, and the other one terminal computer 2 is installed in the store A3. This is an example. Of course, the number of terminal computers 2 connected to the host computer 3 via the network 4 is not limited to three. Any N (N is an integer of 2 or more) terminal computers 2 can be connected to the host computer 3 via the network 4.
 ホストコンピュータ3は、例えば、集計センタに設置される。 The host computer 3 is installed, for example, in the aggregation center.
 ここで、各店舗に設置された端末コンピュータ2は、商品が売れたとき、会計伝票をレコードとして1つずつホストコンピュータ3に送信するよう構成されている。ホストコンピュータ3は、各店舗の端末からレコードとして送信された会計伝票を受け取り、ホストコンピュータ3内に構築されている会計システムの全会計帳簿を更新するよう構成されている。
〔ホストコンピュータ3の説明〕
 図1(b)は、ホストコンピュータ3の構成の一例を示す。
Here, the terminal computer 2 installed in each store is configured to transmit an accounting slip as a record to the host computer 3 one by one when a product is sold. The host computer 3 is configured to receive an accounting slip transmitted as a record from a terminal of each store and update all accounting books of the accounting system built in the host computer 3.
[Description of host computer 3]
FIG. 1B shows an example of the configuration of the host computer 3.
 ホストコンピュータ3は、CPU31と、主記憶装置32と、ハードディスク装置(HDD)33と、ネットワークインタフェース部34と、ユーザ入力部36と、データ出力部37とを含む。これらの構成要素31~34、36、37は、例えば、バス35を介して互いに接続されている。ユーザ入力部36はキーボードやマウスなどの入力デバイスであり、データ出力部37は、表示部およびプリンタ部などを含んでいる。 The host computer 3 includes a CPU 31, a main storage device 32, a hard disk device (HDD) 33, a network interface unit 34, a user input unit 36, and a data output unit 37. These components 31 to 34, 36, and 37 are connected to each other via a bus 35, for example. The user input unit 36 is an input device such as a keyboard or a mouse, and the data output unit 37 includes a display unit, a printer unit, and the like.
 HDD33には、ホストコンピュータ3にてクライアントの要求するリアルタイム演算システムを構築するためのプログラム(演算プログラム)が予め格納されている。なお、この演算プログラムは、CD-ROM、DVD-ROMなどの任意のタイプのコンピュータ読み取り可能な記録媒体に記録され得る。そのような記録媒体に記録された演算プログラムは、周辺装置(例えば、ディスクドライブ)を介してHDD33にロードされ得る。演算プログラムの一部またはデータの一部は、必要に応じて主記憶装置32に移される。CPU31は、主記憶装置32に高速にアクセスすることが可能である。 The HDD 33 stores in advance a program (calculation program) for constructing a real-time computation system requested by the client in the host computer 3. Note that this arithmetic program can be recorded on any type of computer-readable recording medium such as a CD-ROM or DVD-ROM. The arithmetic program recorded on such a recording medium can be loaded into the HDD 33 via a peripheral device (for example, a disk drive). Part of the arithmetic program or part of the data is moved to the main storage device 32 as necessary. The CPU 31 can access the main storage device 32 at high speed.
 ここで、CPU31が、HDD33に格納されている演算プログラムを実行することによって、ホストコンピュータ3は、クライアントが要求するリアルタイム演算システム10として機能する。
〔リアルタイム演算システム10の説明〕
 図2は、このリアルタイム演算システムの構成を説明する図である。
Here, when the CPU 31 executes the arithmetic program stored in the HDD 33, the host computer 3 functions as the real-time arithmetic system 10 requested by the client.
[Description of Real-time Computing System 10]
FIG. 2 is a diagram for explaining the configuration of this real-time arithmetic system.
 このリアルタイム演算システム(以下、単に演算システムともいう。)10は、知識構造化プログラミングを使用してリアルタイム処理を行うシステムであって、このリアルタイム処理を行う時の障害時対応も考慮したシステム構成を有している。 This real-time arithmetic system (hereinafter also simply referred to as an arithmetic system) 10 is a system that performs real-time processing using knowledge-structured programming, and has a system configuration that also takes into account failure handling when performing this real-time processing. Have.
 この演算システム10は、入力データ(論理入力)(図3D参照)に対応した関数や障害時に必要な関数を呼び出すカーネル11と、取引,残高,データなどの内容の整合性を監視し、内部統制機能を果たす監視エージェント12と、会計,売買などの業務に関する集計処理を行い、データの1件毎に知識データベースに解を出し、停止する業務機能部100aと、業務毎の複数の論理出力を階層的に全体として表現・格納する知識データベース20と、知識データベース更新状態での値を、障害復旧などに使用する状態ログDLとして一定時間毎に格納する状態ログ格納部14と、業務機能部で種々の局所座標系を定義する際に参照するマスター情報を格納するマスタ情報格納部13とを有している。 This computing system 10 monitors the consistency of the contents corresponding to the transaction, balance, data, etc., and the kernel 11 that calls the function corresponding to the input data (logical input) (see FIG. 3D) or the function required at the time of failure. The monitoring agent 12 that fulfills the function, aggregation processing related to business such as accounting and buying and selling, the business function unit 100a that solves and stops the knowledge database for each data, and a plurality of logical outputs for each business are hierarchized The knowledge database 20 that is expressed and stored as a whole, the state log storage unit 14 that stores the value in the knowledge database update state as the state log DL used for failure recovery, etc., and the business function unit And a master information storage unit 13 for storing master information to be referred to when defining the local coordinate system.
 ここで、業務機能部100aは、会計システム100、売買システム101などの異なる演算システムを含んでおり、カーネル11により、入力データの識別IDに応じた演算システムが関数として呼び出されるようになっている。呼び出されたシステムは、その論理出力構造としての局所座標系がメモリ空間上に写像され、知識データベース20が形成される。カーネル11は、上記関数の呼び出しに加えて、定期的な監視エージェントの呼出し、種々の業務に関する集計処理の実行の階層化、並列化、分散化、及び協調を実現するものである。また、知識データベース20は、集計処理の結果(演算結果)を証明付きの知識として知識共有を行うのに用いられる。 Here, the business function unit 100a includes different calculation systems such as the accounting system 100 and the trading system 101, and the calculation system corresponding to the identification ID of the input data is called by the kernel 11 as a function. . In the called system, the local coordinate system as the logical output structure is mapped on the memory space, and the knowledge database 20 is formed. The kernel 11 implements hierarchization, parallelization, decentralization, and cooperation of periodic monitoring agent calls and execution of aggregation processes related to various tasks in addition to the above function calls. The knowledge database 20 is used to share knowledge as a result of calculation processing (calculation results) with proof.
 なお、上記クライアントが要求する演算システムは、会計システムや売買システムに限定されるものではなく、在庫管理システムや生産管理システム、さらにはテストや実験結果の集計システムなど、複数の論理入力を集計する演算処理を行って、その集計結果を論理出力として生成するものであればどのようなものでもよい。
〔会計システム100の説明〕
 図3Aは、本実施形態1の会計システム100の論理出力構造Asを示しており、この論理出力構造Asは、クライアントの要求する会計システム100に基づいて設計されたものであり、知識データベース20内に構築されている。
Note that the computing system requested by the client is not limited to an accounting system or a trading system, but counts a plurality of logical inputs such as an inventory management system, a production management system, and a test and experiment result totaling system. Any method may be used as long as it performs arithmetic processing and generates the totaled result as a logical output.
[Description of Accounting System 100]
FIG. 3A shows the logical output structure As of the accounting system 100 according to the first embodiment. This logical output structure As is designed based on the accounting system 100 requested by the client, and is stored in the knowledge database 20. Has been built.
 ここで、会計システム100の論理出力構造Asは、主要帳簿としての試算表Sa、補助帳簿としての預金元帳Sb及び固定資産台帳Scの3つの帳簿を含んでおり、一例として、2008年8月31日時点での経営状態を示している。
〔各帳簿(論理出力構造)の説明〕
 試算表Saは、科目(勘定科目)としてエリアFa0に割り当てられた、預金Pa1,売掛金Pa2,商品Pa3、建物Pa4、設備Pa5、借方計Pa6、売上Pa7、借入金Pa8、資本金Pa9、貸方計Pa10を含んでおり、それぞれの科目別に、前月残、借方、貸方、残高を格納するエリアFa1~Fa4が設けられている。
Here, the logical output structure As of the accounting system 100 includes three books, a trial calculation table Sa as a main book, a deposit ledger Sb as a subsidiary book, and a fixed asset ledger Sc. As an example, August 31, 2008 It shows the management status as of the day.
[Description of each book (logical output structure)]
The trial calculation table Sa includes a deposit Pa1, accounts receivable Pa2, merchandise Pa3, building Pa4, equipment Pa5, debit total Pa6, sales Pa7, borrowing Pa8, capital Pa9, and credit total Pa10, which are assigned to the area Fa0 as items (accounts). For each subject, areas Fa1 to Fa4 are provided for storing the balance of the previous month, debit, credit and balance.
 また、この試算表Saは、図34を用いて説明した局所座標系LCo(図34(b)参照)に相当するものであり、預金Pa1,売掛金Pa2,商品Pa3、建物Pa4、設備Pa5、借方計Pa6、売上Pa7、借入金Pa8、資本金Pa9、貸方計Pa10は、この局所座標系LCoの縦軸Yoに離散的に定義されたY座標であり、また、前月残Fb1、借方Fb2、貸方Fb3、残高Fb4は、この局所座標系LCoの横軸Xoに離散的に定義されたX座標である(図3A参照)。 The trial calculation table Sa corresponds to the local coordinate system LCo described with reference to FIG. 34 (see FIG. 34 (b)), and includes deposit Pa1, accounts receivable Pa2, merchandise Pa3, building Pa4, equipment Pa5, and debit. The total Pa6, the sales Pa7, the borrowing Pa8, the capital Pa9, and the credit total Pa10 are Y coordinates discretely defined on the vertical axis Yo of the local coordinate system LCo, and the remaining Fb1, the debit Fb2, and the credit Fb3 from the previous month. The balance Fb4 is an X coordinate discretely defined on the horizontal axis Xo of the local coordinate system LCo (see FIG. 3A).
 預金元帳Sbは、日付、伝票番号、前残、借方、貸方、残高のエリアFb0~Fb5が設けられており、各エリアには、合計Pb1、前月残Pb2に対応する金額に続いて、借方及び貸方に変化のあった日付Pb3~Pb6である8/10、8/20、8/25、8/31における金額が格納されている。 The deposit ledger Sb is provided with areas Fb0 to Fb5 for date, slip number, remaining balance, debit, credit, and balance. In each area, following the amount corresponding to the total Pb1 and the remaining balance Pb2, the debit and Amounts are stored for 8/10, 8/20, 8/25, and 8/31, which are dates Pb3 to Pb6 in which credits have changed.
 また、この預金元帳Sbは、図34を用いて説明した局所座標系LCo1(図34(c)参照)に相当するものであり、日付エリアFb0に割り当てられた預金の合計Pb1、預金の前月残Pb2、さらに、日付Pb3~Pb6として伝票番号Fb1とともに割り当てられた日付8/10、8/20、8/25、8/31は、この局所座標系LCo1の縦軸Yo1に離散的に定義されたY座標であり、また、前月残Fb2、借方Fb3、貸方Fb4、及び残高Fb5は、この局所座標系LCo1の横軸Xo1に離散的に定義されたX座標である(図3A参照)。 The deposit ledger Sb corresponds to the local coordinate system LCo1 (see FIG. 34 (c)) described with reference to FIG. 34, and includes the total deposit Pb1 allocated to the date area Fb0 and the remaining balance of the previous month. Dates 8/10, 8/20, 8/25, and 8/31 assigned together with the slip number Fb1 as Pb2 and dates Pb3 to Pb6 are discretely defined on the vertical axis Yo1 of this local coordinate system LCo1. The Y coordinate, and the previous month balance Fb2, debit Fb3, credit Fb4, and balance Fb5 are X coordinates discretely defined on the horizontal axis Xo1 of the local coordinate system LCo1 (see FIG. 3A).
 固定資産台帳Scは、科目、資産番号、前期残、借方、貸方、期末残のエリアFc0~Fc5が設けられており、各エリアには、借方及び貸方に変化のあった、科目としての建物Pc1、Pc2及び設備Pc4の金額が、資産番号別に、建物及び設備の小計Pc3およびPc5における金額とともに格納されている。 The fixed asset ledger Sc is provided with items Fc0 to Fc5 of items, asset numbers, balances in the previous period, debits, credits, and balances at the end of the period. In each area, the building Pc1 as a subject whose debits and credits have changed , Pc2 and facilities Pc4 are stored together with the amounts in buildings and facilities subtotals Pc3 and Pc5 for each asset number.
 また、この固定資産台帳Scは、図34を用いて説明した局所座標系LCo2(図34(d)参照)に相当するものであり、建物(資産番号)Pc1,Pc2、設備(資産番号)Pc4、建物及び設備の小計Pc3、Pc5がこの局所座標系LCo2の縦軸Yo2に離散的に定義されたY座標であり、前月残Fc2、借方Fc3、貸方Fc3、残高Fc4、期末残Fc5は、この局所座標系LCo2の横軸Xo2に離散的に定義されたX座標である(図3A参照)。 The fixed asset ledger Sc corresponds to the local coordinate system LCo2 (see FIG. 34 (d)) described with reference to FIG. 34, and includes buildings (asset numbers) Pc1 and Pc2, and facilities (asset numbers) Pc4. , Building and equipment subtotals Pc3, Pc5 are Y coordinates discretely defined on the vertical axis Yo2 of the local coordinate system LCo2, and the previous month balance Fc2, debit Fc3, credit Fc3, balance Fc4, and period end balance Fc5 are The X coordinate is discretely defined on the horizontal axis Xo2 of the local coordinate system LCo2 (see FIG. 3A).
 ここで、各帳簿の論理出力構造における各項目の各エリア、つまり局所座標系のY座標およびX座標で決まる点の値(金額)を格納する領域は、知識データベースの所定の記録領域(メモリ空間)Msに割り当てられている。 Here, each area of each item in the logical output structure of each book, that is, an area for storing a point value (amount) determined by the Y coordinate and X coordinate of the local coordinate system is a predetermined recording area (memory space) of the knowledge database. ) Assigned to Ms.
 また、このメモリ空間Msには、上述したように、会計帳簿体系Acs及び勘定科目マスターAmも格納されている。 In addition, as described above, the accounting book system Acs and the account item master Am are also stored in the memory space Ms.
 ここで、会計帳簿体系Acs(図3E)では、各会計帳簿Sa、Sb、Scの階層関係が示されている。つまり、会計帳簿体系Acsは、会計システムAsの下層には試算表Saが定義され、また、試算表Saの下には預金元帳Sb及び固定資産台帳Scが定義されていることを、下層の会計帳簿に含まれる勘定科目のコードをキー値として示している。例えば、会計帳簿体系Acsにおける項目No.2には、論理出力(試算表)、キー値(10001)、対応する論理出力(預金元帳)と示されており、これは、勘定科目(預金)のコード(10001)により、試算表の下層には預金元帳が定義されていることを示している。 Here, in the accounting book system Acs (FIG. 3E), the hierarchical relationship between the accounting books Sa, Sb, and Sc is shown. That is, the accounting book system Acs defines that the trial calculation table Sa is defined in the lower layer of the accounting system As, and that the deposit ledger Sb and the fixed asset ledger Sc are defined under the trial calculation table Sa. The code of the account item included in the book is shown as a key value. For example, item No. in the accounting book system Acs. 2 shows a logical output (trial calculation table), a key value (10001), and a corresponding logical output (deposit ledger). This is indicated by a code (10001) of the account item (deposit) in the lower layer of the trial calculation table. Indicates that a deposit ledger is defined.
 また、勘定科目マスターAm(図3F)は、勘定科目名と勘定科目コードとの対応関係を示している。例えば、項目No.1の科目名(預金)には、勘定科目コード(10001)、貸借区分(1)、及び試算表表示順コード(101)が割り当てられている。 The account item master Am (FIG. 3F) shows the correspondence between the account item name and the account item code. For example, item no. The account name code (10001), the loan classification (1), and the trial calculation table display order code (101) are assigned to the item name (deposit) of 1.
 上記メモリ空間Msでは、図3Aに示すテーブル形式で示す試算表Sa、預金元帳Sb、固定資産台帳Scは、図6に示すようなツリー構造としてデータが管理されているが、さらに、各会計帳簿の項目間には、後述する検索用リンク情報(バイナリーサーチツリー)(図35参照)が設定されている。 In the memory space Ms, the trial calculation table Sa, the deposit ledger Sb, and the fixed asset ledger Sc shown in the table format shown in FIG. 3A are managed as a tree structure as shown in FIG. Between the items, search link information (binary search tree) described later (see FIG. 35) is set.
 以下詳述すると、知識データベース内では、各帳簿は、会計全体を多様体としたときの、多様体上に形成された局所座標系として定義されており、具体的には、試算表Saに対応するサイバーツリー構造BTaには、図11に示すように、局所座標系の座標キー(Y軸上に割り当てられた項目を示すキー)と、場としての基本変数とが定義されている。ここで、基本変数を有する項目は、局所座標系におけるX軸上に前月残、借方、貸方、残高として割り当てられたものである。 In detail, in the knowledge database, each book is defined as a local coordinate system formed on the manifold when the entire accounting is a manifold. Specifically, it corresponds to the trial calculation table Sa. In the cyber tree structure BTa, as shown in FIG. 11, a coordinate key of a local coordinate system (a key indicating an item assigned on the Y axis) and a basic variable as a field are defined. Here, items having basic variables are assigned as the remaining in the previous month, debit, credit, and balance on the X axis in the local coordinate system.
 つまり、本実施形態1の会計システム100は、論理演算の対象となる複数の演算項目を含む論理入力(図3D)を受け、1以上の論理入力の演算項目に対する論理出力を、該複数の演算項目を分類する複数の項目グループのそれぞれ毎に演算する論理演算システムの一例であり、上記演算項目は上記勘定科目に対応し、各項目グループ(局所座標系)は試算表Sa、預金台帳Sb、および固定資産台帳Scに対応している。 That is, the accounting system 100 according to the first embodiment receives a logical input (FIG. 3D) including a plurality of calculation items to be subjected to a logical calculation, and outputs a logical output for the calculation item of one or more logical inputs. It is an example of a logical operation system that calculates each of a plurality of item groups for classifying items. The calculation items correspond to the account items, and each item group (local coordinate system) includes a trial calculation table Sa, a deposit ledger Sb, And the fixed asset ledger Sc.
 図3Bは、この会計システム100の機能ブロックを概念的に示している。 FIG. 3B conceptually shows functional blocks of the accounting system 100.
 この会計システム100は、知識データベース(KDB)20を有しており、知識データベース20には、各グループ(各会計帳簿)に対する論理出力を構造化した論理出力構造が構築されている。この論理出力構造は、すべての演算項目に対応する点からなる多様体上に、1以上の演算項目に対応する点からなる局所座標系を各グループ(各会計帳簿)に対応付けて定義して得られたものである。また、この会計システム100では、該局所座標系を構成する点は、時々刻々と値が変化する1つの基本変数を有し、かつ論理出力としての基本変数と、この基本変数に変化を与える論理入力としての入力値との関係が演算関数として定義されている。 This accounting system 100 has a knowledge database (KDB) 20, and a logical output structure in which the logical output for each group (each accounting book) is structured is constructed in the knowledge database 20. In this logical output structure, a local coordinate system consisting of points corresponding to one or more calculation items is defined in association with each group (each accounting book) on a manifold consisting of points corresponding to all calculation items. It is obtained. Further, in this accounting system 100, the points constituting the local coordinate system have one basic variable whose value changes from moment to moment, and a basic variable as a logical output and a logic that changes the basic variable. A relationship with an input value as an input is defined as an arithmetic function.
 この会計システム100は、1つの論理入力を受ける度に、各グループに対応する論理出力構造(各会計帳簿)における、該論理入力に含まれる演算項目に定義されている変数の更新値である論理出力を、該論理入力が示す該変数の値から、該変数に対応する演算関数に基づいて演算する演算部121と、演算された値を論理出力構造に格納する格納部122とを有している。 Each time this accounting system 100 receives one logical input, the logical output structure (each accounting book) corresponding to each group is an updated value of a variable defined in a calculation item included in the logical input. An arithmetic unit 121 that calculates an output from the value of the variable indicated by the logical input based on an arithmetic function corresponding to the variable; and a storage unit 122 that stores the calculated value in the logical output structure. Yes.
 ここでは、上記知識データベース20は、多様体上に定義された3つの局所座標系として、試算表Sa、預金元帳Sb、および固定試算台帳Scの論理出力構造を有している。例えば、図3Cは、図3Bに示す演算部121および格納部122の機能を有する決定性チューリングマシン120を示しており、この決定性チューリングマシン120は、論理入力である会計伝票ファイルが入力されたとき、論理出力における各勘定科目に対応する変数の値を計算して、試算表Sa、預金元帳Sb、固定資産台帳Scに対応する論理出力構造に、計算した値を格納するものである。 Here, the knowledge database 20 has a logical output structure of the trial calculation table Sa, the deposit ledger Sb, and the fixed trial calculation ledger Sc as three local coordinate systems defined on the manifold. For example, FIG. 3C shows a deterministic Turing machine 120 having the functions of the calculation unit 121 and the storage unit 122 shown in FIG. 3B, and when this deterministic Turing machine 120 receives an accounting slip file as a logical input, The value of the variable corresponding to each account item in the logical output is calculated, and the calculated value is stored in the logical output structure corresponding to the trial calculation table Sa, the deposit ledger Sb, and the fixed asset ledger Sc.
 また、前記複数の演算項目(勘定科目)は、1つの局所座標系(試算表)を構成する点に対応する演算項目(預金Pa1)が、他の局所座標系(預金元帳)を構成する複数の点に対応する複数の演算項目(前月残、8/10、8/20、8/25、8/30の勘定科目Pb2~Pb6)に対応するよう、また1つの局所座標系(試算表)を構成する点に対応する演算項目(建物Pa4)が、他の局所座標系(固定資産台帳)を構成する複数の点に対応する複数の演算項目(勘定科目の建物Pc1およびPc2)に対応するよう階層的に分類されている。 The plurality of calculation items (account items) include a plurality of calculation items (deposit Pa1) corresponding to points constituting one local coordinate system (trial calculation table) and other local coordinate systems (deposit ledger). One local coordinate system (trial calculation table) so as to correspond to a plurality of calculation items corresponding to the points (remaining previous month, 8/10, 8/20, 8/25, 8/30 account items Pb2 to Pb6) The calculation items (building Pa4) corresponding to the points constituting the two items correspond to the plurality of calculation items (buildings Pc1 and Pc2 of the account item) corresponding to the plurality of points constituting the other local coordinate system (fixed asset ledger). It is classified hierarchically.
 また、上記各論理出力構造は、それぞれに対応するサイバーサーチツリー(図11参照)BTaに、各グループ(各会計帳簿)に含まれる演算項目(勘定科目)に対応するノードを追加して構築されている。 Each logical output structure is constructed by adding nodes corresponding to calculation items (account items) included in each group (each accounting book) to the corresponding cyber search tree (see FIG. 11) BTa. ing.
 さらに、ここでは前記演算関数は、1つの演算項目に定義されている変数の更新値である論理出力が、該変数の更新前の値である現在の論理出力と、前記論理入力が示す、該1つの演算項目に対応する変数の値との和であることを示す再帰差分方程式である。 Further, here, the arithmetic function indicates a logical output that is an updated value of a variable defined in one calculation item, a current logical output that is a value before the update of the variable, and the logical input indicated by the logical input. It is a recursive difference equation which shows that it is the sum with the value of the variable corresponding to one calculation item.
 具体的には、この再帰差分方程式は、以下の式(1)により表される。 Specifically, this recursive difference equation is represented by the following equation (1).
 Y(n)=Y(n-1)+u(n) ・・・(1)
 ここで、Y(n)は更新された変数の値、Y(n-1)は更新前の変数の値、u(n)は論理入力に含まれる入力値(変数値)である。
Y (n) = Y (n-1) + u (n) (1)
Here, Y (n) is the value of the updated variable, Y (n−1) is the value of the variable before the update, and u (n) is the input value (variable value) included in the logical input.
 例えば、局所座標系「試算表」における各点は、各勘定科目における4変数(前月残、借方、貸方、残高)のそれぞれに対応する。 For example, each point in the local coordinate system “trial calculation table” corresponds to each of four variables (remaining previous month, debit, credit, balance) in each account item.
 上記(1)式を勘定項目の借方に適用すると、
 最新の「借方」=直前の「借方」 + 入力の「借方」
となる。
Applying the above equation (1) to the debit of the account item,
Latest "debit" = previous "debit" + input "debit"
It becomes.
 勘定項目の他の変数である前月残,貸方,残高についても同じであり、借方計,貸方計についても上記の変数・式は同じで、集計の範囲が全借方科目,全貸方科目となる。 The same is true for the remaining balance of the previous month, credit, and balance, which are other variables of account items, and the above variables and formulas are the same for debit and credit totals, and the scope of aggregation is all debit and credit items.
 さらに、前記複数の局所座標系の各々における、前記論理入力に対する論理出力の演算は、各局所座標系に対応する状態遷移表により定義されるチューリングマシンにより実行され、該チューリングマシンは、メモリ領域の任意の位置に対するデータの参照、更新、および追加を行う基本機能を有しており、該状態遷移表は、チューリングマシンの現状態、チューリングマシンが現状態で処理を行うための条件、チューリングマシンが現状態で行う処理の内容、チューリングマシンの次状態を表す。 Further, in each of the plurality of local coordinate systems, an operation of a logical output for the logical input is executed by a Turing machine defined by a state transition table corresponding to each local coordinate system, and the Turing machine It has basic functions to refer to, update, and add data to an arbitrary position. The state transition table shows the current state of the Turing machine, the conditions for the Turing machine to perform processing in the current state, and the Turing machine Indicates the contents of processing performed in the current state and the next state of the Turing machine.
 例えば、状態遷移表Ts4(図10)により示される試算表の更新は、この状態遷移表により定義されるチューリングマシンにより行われる。 For example, the trial calculation table indicated by the state transition table Ts4 (FIG. 10) is updated by a Turing machine defined by the state transition table.
 つまり、状態遷移表で定義するアルゴリズムは、入力データの1件毎に知識データベース(論理出力構造)を構成する所要の局所座標系に解を出し停止するものであり、その具体的には後述する。
〔統合により共通書式とした会計伝票データ(論理入力)の説明〕
 図3Dは、本実施形態1の会計システム100の論理入力を示しており、この論理入力Linは、クライアントの要求する会計システム100の論理出力構造に基づいて、振替伝票、出金伝票、振替伝票、売上伝票などの種々の伝票(物理入力)を統合したものである。
In other words, the algorithm defined by the state transition table is to solve and stop the solution in a required local coordinate system constituting the knowledge database (logical output structure) for each input data, and will be described in detail later. .
[Description of accounting slip data (logical input) in a common format by integration]
FIG. 3D shows the logical input of the accounting system 100 of the first embodiment, and this logical input Lin is based on the logical output structure of the accounting system 100 requested by the client, and the transfer slip, withdrawal slip, and transfer slip. And various slips (physical input) such as sales slips.
 具体的には、統合した会計伝票Linは、各種伝票(物理入力)から、論理出力を作成するのに必要な科目を取り出したものである。なお、このような物理入力としての各種伝票を、論理出力構造に適合した論理入力に変換する処理も、状態遷移表あるいは状態遷移図により定義されたチューリングマシンにより実行される処理である。 Specifically, the integrated accounting slip Lin is obtained by extracting subjects necessary for creating a logical output from various slips (physical input). Note that the process of converting various slips as such physical inputs into logical inputs suitable for the logical output structure is also executed by the Turing machine defined by the state transition table or the state transition diagram.
 図3Dに示す会計伝票データ(論理入力)Linは、項目(識別、伝票#、日付、貸借、科目、金額、銀行、資産#)を示すフォールドLd1と、各項目に対応するID(ID,DNO,DATE,DRCR,ACC,AMT,BANK,SHISAN)を示すエリアLd2と、各項目の属性(X、X、X、X、X、N、X、X)を示すエリアLd3、各項目に対応するエリアに格納されるデータの桁数(4、4、8、1、5、6、4、4)を示すエリアLd4と、各伝票データの上記各項目に対応する値を格納するエリアLd5とを有している。 The accounting slip data (logical input) Lin shown in FIG. 3D includes a fold Ld1 indicating items (identification, slip #, date, loan, item, amount, bank, asset #) and IDs (ID, DNO) corresponding to the items. , DATE, DRCR, ACC, AMT, BANK, SHISA) and an area Ld3 indicating attributes (X, X, X, X, X, N, X, X) of each item, corresponding to each item An area Ld4 indicating the number of digits of data stored in the area (4, 4, 8, 1, 5, 6, 4, 4) and an area Ld5 for storing a value corresponding to each item of each slip data Have.
 例えば、図3Dに示す1件目~3件目の伝票D1~D3は、2009年10月30日付けで発行された伝票である。具体的には、伝票D1は、伝票番号0001を有し、20000円を売上げ、売掛金20000円が発生したことを示している。伝票D2は、伝票番号0002を有し、売掛金20000円が預金口座に振り込まれたことを示し、伝票D3は、伝票番号0003を有し、預金口座の7000円を設備投資に用いたことを示している。 For example, the first to third slips D1 to D3 shown in FIG. 3D are slips issued on October 30, 2009. Specifically, the slip D1 has the slip number 0001, indicates that sales of 20000 yen and accounts receivable of 20000 yen have occurred. The slip D2 has a slip number 0002 and indicates that the accounts receivable 20000 yen has been transferred to the deposit account, and the slip D3 has the slip number 0003 and indicates that the deposit account 7000 yen has been used for capital investment. ing.
 そして、図3Dに示す会計伝票データ(論理入力)Linは、これらの伝票データD1~D3を統合して共通書式の会計伝票データとしたものであり、伝票D1~D3のデータが、1つの伝票毎に、借方と貸方に分けてエリアLd5に格納されている。 The accounting slip data (logical input) Lin shown in FIG. 3D is obtained by integrating these slip data D1 to D3 into accounting slip data in a common format. The data of the slips D1 to D3 is one slip. Each is stored in the area Ld5 separately into a debit and a credit.
 ここで、このような論理入力が入力されたときに、チューリングマシンがメモリ空間上の、値(基本変数)を更新すべき点(アドレス)をどのように決定するかについて、図35を用いて簡単に説明する。 Here, when such a logical input is input, how the Turing machine determines a point (address) whose value (basic variable) should be updated in the memory space will be described with reference to FIG. Briefly described.
 まず、準備段階工程として、起動時に、データベースなどにファイルデータとして格納されている勘定科目マスターAm(図3F)がメモリ空間Msに読み込まれる。この際、メモリ空間Msに試算表Sa、預金元帳Sb、及び固定資産台帳Scが形成されるととに、勘定科目マスターAmが形成される(図7のrtn=ACC_LOAD参照)。試算表Saについては、メモリ空間Msに、預金Pa1~貸方計Pa10までの10行に相当する記憶領域が確保される。また、預金元帳Sbについては合計Pb1の1行に相当する記憶領域が確保され、固定資産台帳Scについては、小計Pc3の1行に相当する記憶領域が確保される。また、勘定科目マスターAm(図3F)については、預金から資本金までの第1行~第8行に相当する情報がメモリ空間Msに記憶される。 First, as a preparatory step, the account title master Am (FIG. 3F) stored as file data in a database or the like is read into the memory space Ms at startup. At this time, when the trial calculation table Sa, the deposit ledger Sb, and the fixed asset ledger Sc are formed in the memory space Ms, an account item master Am is formed (see rtn = ACC_LOAD in FIG. 7). For the trial calculation table Sa, a storage area corresponding to 10 rows from the deposit Pa1 to the credit total Pa10 is secured in the memory space Ms. Further, a storage area corresponding to one line of the total Pb1 is secured for the deposit ledger Sb, and a storage area corresponding to one line of the subtotal Pc3 is secured for the fixed asset ledger Sc. Further, for the account title master Am (FIG. 3F), information corresponding to the first to eighth lines from the deposit to the capital is stored in the memory space Ms.
 また、会計帳簿体系Acs(図3E)については、図7に示す処理(rtn=ACC_LOAD)の次の処理(図7のrtn=Link_LOAD)により、メモリ空間Msに第1行~第4行に対応する情報が読み込まれる。 In addition, the accounting book system Acs (FIG. 3E) corresponds to the first to fourth rows in the memory space Ms by the processing (rtn = Link_LOAD in FIG. 7) subsequent to the processing (rtn = ACC_LOAD) shown in FIG. Information to be read.
 ここで、試算表Saの項目は図3Aに示すとおりであるが、試算表Saが作成される段階で、試算表Saの項目を検索するためのリンク情報が図35に示すように形成される。 Here, the items of the trial calculation table Sa are as shown in FIG. 3A, but at the stage where the trial calculation table Sa is created, link information for searching for items of the trial calculation table Sa is formed as shown in FIG. .
 図35は、試算表Saを説明する図3Aには示されていない検索用リンク情報(二分探索木テーブル)Stを示しており、図3Aに示す試算表Saには、実際は、この検索用リンク情報Stが付加されている。 FIG. 35 shows search link information (binary search tree table) St that is not shown in FIG. 3A for explaining the trial calculation table Sa. The trial calculation table Sa shown in FIG. Information St is added.
 具体的には、図35に示すテーブルStの第1行目には、ルート情報に対する検索用リンク情報(Left「2」、Right「-1」)が格納されており、ルート情報は、図3Dに示す論理入力Linが入力されたときに、入力されたデータ(論理入力Linにおける入力値)が試算表のいずれの項目のデータであるかを判定するために、最初に比較する項目の番号を示している。 Specifically, search link information (Left “2”, Right “−1”) for the route information is stored in the first row of the table St shown in FIG. 35, and the route information is shown in FIG. 3D. In order to determine which item in the trial calculation table the input data (input value in the logical input Lin) when the logical input Lin shown in FIG. Show.
 図35に示すテーブルの第2行目、及び第3行目には、図3Aにおける借方計Pa6に対する検索用リンク情報(Left「5」、Right「10」)、及び貸方計Pa10に対する検索用リンク情報(Left「11」、Right「-1」)が格納されている。 The second and third rows of the table shown in FIG. 35 include search link information (Left “5”, Right “10”) for the debit total Pa6 and the search link for the credit total Pa10 in FIG. 3A. Information (Left “11”, Right “−1”) is stored.
 さらに、図35の第4行目~第11行目の情報は、図3Aにおける預金Pa1、売掛金Pa2、商品Pa3、建物Pa4、設備Pa5、売上Pa7、借入金Pa8、資本金Pa9に対する検索用リンク情報が格納されている。また、第4行目~第11行目の情報には、勘定科目マスターAmにおける貸借区分と試算表表示順コードとを結合した結合コードが含まれている。 Furthermore, the information in the 4th to 11th lines in FIG. 35 is the search link information for the deposit Pa1, the accounts receivable Pa2, the product Pa3, the building Pa4, the equipment Pa5, the sales Pa7, the borrowed money Pa8, and the capital Pa9 in FIG. Is stored. The information in the fourth to eleventh lines includes a combination code obtained by combining the balance class in the account item master Am and the trial calculation table display order code.
 例えば、第4行目の情報は、試算表Saにおける預金Pa1の値を検索する順序を示すものであり、貸借区分と試算表表示順コードとの結合コード「1101」とともに、検索用リンク情報(Left「-1」、Right「-1」)を示している。 For example, the information in the fourth row indicates the order of searching for the value of deposit Pa1 in the trial calculation table Sa, and the search link information (1101) with the combination code “1101” of the balance classification and the trial calculation table display order code ( Left “−1”, Right “−1”).
 第5行目の情報は、試算表Saにおける売掛金Pa2の値を検索する順序を示すものであり、貸借区分と試算表表示順コードとの結合コード「1102」とともに、検索用リンク情報(Left「4」、Right「7」)を示している。 The information on the fifth line indicates the order in which the value of the receivable Pa2 in the trial calculation table Sa is searched, and the search link information (Left “” together with the combination code “1102” of the balance classification and the trial calculation table display order code. 4 ", Right" 7 ").
 ここで、第5行目の情報の検索用リンク情報(Left「4」)は、入力データの勘定科目コードに対応する結合コード(貸借区分と試算表表示順コードとを結合したもの)が、第5行目の情報の結合コード「1102」より小さいときは、入力データの勘定科目コードに対応する結合コードを第4行目の情報の結合コードと比較すべきことを示している。また、第5行目の情報の検索用リンク情報(Right「7」)は、入力データの勘定科目コードに対応する結合コード(貸借区分と試算表表示順コードとを結合したもの)が、第5行目の情報の結合コード「1102」より大きいときは、入力データの勘定科目コードに対応する結合コードを第7行目の情報の結合コードと比較すべきことを示している。 Here, the search link information (Left “4”) in the information on the fifth line has a combination code corresponding to the account item code of the input data (the combination of the balance class and the trial balance display order code), When it is smaller than the combination code “1102” of the information on the fifth line, it indicates that the combination code corresponding to the account item code of the input data should be compared with the combination code of the information on the fourth line. Also, the search link information (Right “7”) in the information on the 5th row has a combination code corresponding to the account item code of the input data (which combines the balance classification and the trial balance display order code) When it is larger than the combination code “1102” of the information on the fifth line, it indicates that the combination code corresponding to the account item code of the input data should be compared with the combination code of the information on the seventh line.
 具体的には、チューリングマシンは、実際にデータ(論理入力)Lin(図3D)の第1行目のデータ(売掛金:勘定項目コード(10002))が入力されると、作成された勘定科目マスターAm(図3F)を参照して、勘定項目コード(10002)に対応する結合コード(1102)を検出し、この結合コード(1102)を、検索用リンク情報(二分探索木)Stの第1行目のルート情報に基づいて、第2行目の借方計に対応する分岐情報を参照し、データ(最大値)と比較する。この結果、この結合コード(1102)は結合コードの最大値よりは小さいので、左リンク(Left「5」)に従って、入力データの連結コード(1102)を、検索用リンク情報(二分探索木)Stの第5行目の連結コード(1102)と大小比較を行う。この結果、入力データと検索用リンク情報とで結合コードが一致するので、この結合コードに対応する勘定項目(売掛金)の値を更新する。 Specifically, the Turing machine, when the data (receivable: account item code (10002)) in the first row of the data (logical input) Lin (FIG. 3D) is actually input, Referring to Am (FIG. 3F), a join code (1102) corresponding to the account item code (10002) is detected, and this join code (1102) is the first line of the search link information (binary search tree) St. Based on the route information of the eyes, the branch information corresponding to the debit counter in the second row is referred to and compared with the data (maximum value). As a result, since this combined code (1102) is smaller than the maximum value of the combined code, the link code (1102) of the input data is converted into the search link information (binary search tree) St according to the left link (Left “5”). The size is compared with the concatenated code (1102) on the fifth line. As a result, since the combination code matches between the input data and the search link information, the value of the account item (receivable) corresponding to this combination code is updated.
 このとき、図12に示すアクセス定義が用いられる。このアクセス定義St4aのアクセス項目のキー項目(TRIAL_KEY)に連結コード(1102)を入れると、数値項目として定義されている(前月残、借方、貸方、残高)に、入力データの値(0、20000、0、20000)が入力され、試算表Saの勘定科目である売掛金の項目が更新される。
〔リアルタイムシステムの動作〕
 次に本実施形態1の会計システムであるリアルタイム演算システムの動作について説明する。
At this time, the access definition shown in FIG. 12 is used. If a concatenation code (1102) is entered in the key item (TRIAL_KEY) of the access item of this access definition St4a, the value (0, 20000) of the input data is defined as a numeric item (remaining month, debit, credit, balance). , 0, 20000) is entered, and the item of accounts receivable, which is the account item of the trial balance sheet Sa, is updated.
[Real-time system operation]
Next, the operation of the real-time arithmetic system that is the accounting system of the first embodiment will be described.
 図5及び図6は、本実施形態1のリアルタイム演算システムの概略的の動作を、会計帳簿のデータ更新の動作とともに説明する。 5 and 6 explain the schematic operation of the real-time arithmetic system according to the first embodiment together with the operation of updating data in the accounting book.
 例えば、本実施形態1のリアルタイム演算システム10に、端末2からインターネット4を介して伝票データが入力されると、カーネル11は、この伝票データが会計システム100に対するものであるのか、あるいは売買システム101に対するものであるのかを判定する。カーネル11は、この伝票データが会計システムである場合は、会計システム100を呼び出し、伝票データが会計システムである場合は、売買システム101を呼び出す。 For example, when slip data is input from the terminal 2 to the real-time calculation system 10 of the first embodiment via the Internet 4, the kernel 11 determines whether the slip data is for the accounting system 100 or the trading system 101. It is determined whether or not. The kernel 11 calls the accounting system 100 when the slip data is an accounting system, and calls the trading system 101 when the slip data is the accounting system.
 ここでは、伝票データが会計システムに対する会計伝票データであり、会計システム100が呼び出された場合について詳述する。 Here, the case where the slip data is accounting slip data for the accounting system and the accounting system 100 is called will be described in detail.
 例えば、1件目の会計伝票は、2009年10月30日に20000円を売上げて売掛金20000円が発生した取引の入金伝票であり、2件目の会計伝票は、2009年10月30日に売掛金の10000円を回収した取引の振替伝票であり、3件目の会計伝票は、2009年10月30日に設備投資を7000円で行った取引の出金伝票であるとする。 For example, the first accounting voucher is a deposit voucher for a transaction in which 20000 Yen was sold on October 30, 2009, resulting in a receivable of 20000 Yen, and the second accounting voucher is on October 30, 2009. Assume that this is a transfer slip for a transaction that collects 10,000 yen of accounts receivable, and the third accounting slip is a withdrawal slip for a transaction in which capital investment was made at 7,000 yen on October 30, 2009.
 この場合、各会計伝票は、共通形式の会計伝票データに統合されて、図3Dに示す論理入力に変換される。 In this case, each accounting slip is integrated into the accounting slip data in the common format and converted into the logical input shown in FIG. 3D.
 この論理入力Linでは、入金伝票D1はレコードNo1及びNo2に変換され、振替伝票D2はレコードNo3及びNo4に変換され、出金伝票D3はレコードNo5及びNo6に変換されている。 In this logical input Lin, the deposit slip D1 is converted into records No1 and No2, the transfer slip D2 is converted into records No3 and No4, and the withdrawal slip D3 is converted into records No5 and No6.
 このとき、試算表Sa、預金元帳Sb、固定資産台帳ScのバイナリーツリーBTa、BTb、BTcは、図5(a)に示すように初期状態となっているものとする。なお、実務では、前残などの金額があるが、ここでは説明の都合上すべての金額はゼロとしている。ただし、表示順コード、科目名、勘定項目コード、貸借区分などの事前準備の項目は勘定科目マスターAm(図3F)を参照して設定済みである。 At this time, it is assumed that the binary trees BTa, BTb, and BTc of the trial calculation table Sa, the deposit ledger Sb, and the fixed asset ledger Sc are in an initial state as shown in FIG. In practice, there are amounts such as the remaining balance, but here all amounts are set to zero for convenience of explanation. However, advance preparation items such as a display order code, a subject name, an account item code, and a loan classification have been set with reference to the account item master Am (FIG. 3F).
 例えば、試算表の論理出力構造を示すバイナリーツリーBTaの1行目の「1101(0/0/0/0/預金   /10001)」において、最初の「1」は、貸借区分を示し、そのあとに続く「101」は試算表表示順コードであり、「(0/0/0/0預金   /10001)」の最初の「0」は、預金の前月残の金額がゼロであることを示し、次の「0」は預金の借方の金額がゼロであることを示し、3番目の「0」は預金の貸方の金額がゼロであることを示し、最後の「0」は残高の金額がゼロであることを示している。さらに、最後の「/10001」は、預金を示す勘定科目コードを示している。 For example, in “1101 (0/0/0/0 / deposit / 10001)” on the first line of the binary tree BTa indicating the logical output structure of the trial calculation table, the first “1” indicates the lending classification, and then "101" following the trial balance display order code, the first "0" of "(0/0/0/0 deposits / 10001)" indicates that the amount of deposits in the previous month is zero, The next “0” indicates that the deposit debit amount is zero, the third “0” indicates that the deposit credit amount is zero, and the last “0” indicates that the balance amount is zero. It is shown that. Furthermore, “/ 10001” at the end indicates an account code indicating a deposit.
 なお、試算表の論理出力構造を示すバイナリーツリーBTaの2行目の項目以降も同様に、事前準備の項目が設定されている。 It should be noted that advance preparation items are also set in the second and subsequent items of the binary tree BTa indicating the logical output structure of the trial calculation table.
 また、預金元帳Sbの論理出力構造を示すバイナリーツリーBTbの1行目の記述は、1つのキーとして項目である合計行を示している。 Also, the description of the first line of the binary tree BTb showing the logical output structure of the deposit ledger Sb indicates the total line as an item as one key.
 さらに、固定資産台帳Scの論理出力構造を示すバイナリーツリーBTcの1行目の記述は、勘定科目20002(設備)の合計行を示している。 Furthermore, the description of the first line of the binary tree BTc indicating the logical output structure of the fixed asset ledger Sc indicates the total line of the account item 20002 (equipment).
 〔1件目の伝票の処理(図5(b)参照)〕
 このような初期状態で、レコード#1が入力されると、試算表Saの売掛金の(前月残、借方、貸方、残高)は、(0,0,0,0)+(0,20000,0,20000)=(0,20000,0,20000)となる。このとき、借方計の(前月残、借方、貸方、残高)は、(0,0,0,0)+(0,20000,0,20000)=(0,20000,0,20000)となる。この場合、売掛金の初期値に加えられた値(0,20000,0,20000)は、状態ログ格納部に格納され、借方計の初期値に加えられた値(0,20000,0,20000)は、状態ログ格納部に格納される。これは、売掛金の初期値に加えられた値(0,20000,0,20000)から、借方計の初期値に加えられた値(0,20000,0,20000)は復元可能とするためである。
[Process of first slip (see FIG. 5B)]
When record # 1 is input in such an initial state, the receivable (remaining previous month, debit, credit, balance) in the trial balance Sa is (0,0,0,0) + (0,20000,0). , 20000) = (0, 20000, 0, 20000). At this time, (the balance of the previous month, debit, credit, balance) of the debit total is (0,0,0,0) + (0,20000,0,20000) = (0,20000,0,20000). In this case, the value (0, 20000, 0, 20000) added to the initial value of the accounts receivable is stored in the state log storage unit, and the value added to the initial value of the debit total (0, 20000, 0, 20000) Is stored in the state log storage unit. This is because the value (0, 20000, 0, 20000) added to the initial value of the debit total can be restored from the value (0, 20000, 0, 20000) added to the initial value of the accounts receivable. .
 次に、レコード#2が入力されると、試算表Saの売上の(前月残、借方、貸方、残高)は、(0,0,0,0)+(0,0,20000,20000)=(0,0,20000,20000)となる。このとき、貸方計の(前月残、借方、貸方、残高)は、(0,0,0,0)+(0,0,20000,20000)=(0,0,20000,20000)となる。この場合、売上の初期値に加えられた値(0,0,20000,20000)は、状態ログ格納部に格納され、貸方計の初期値に加えられた値(0,0,20000,20000)は、状態ログ格納部に格納される。これは、売上の初期値に加えられた値(0,0,20000,20000)から、貸方計の初期値に加えられた値(0,0,20000,20000)は復元可能とするためである。 Next, when the record # 2 is inputted, the sales (remaining previous month, debit, credit, balance) of the trial calculation table Sa is (0,0,0,0) + (0,0,20000,20000) = (0, 0, 20000, 20000). At this time, (the balance of the previous month, debit, credit, balance) of the credit total is (0, 0, 0, 0) + (0, 0, 20000, 20000) = (0, 0, 20000, 20000). In this case, the value (0,0,20000,20000) added to the initial value of sales is stored in the state log storage unit, and the value (0,0,20000,20000) added to the initial value of the credit meter. Is stored in the state log storage unit. This is because the value (0,0,20000,20000) added to the initial value of the credit meter can be restored from the value (0,0,20000,20000) added to the initial value of sales. .
 なお、1件目の伝票(入金伝票)(図3D参照)には、預金項目がないため、預金元帳は更新されず、また、建物あるいは設備の項目もないため、固定資産台帳も更新されない。 Note that the first slip (payment slip) (see FIG. 3D) has no deposit item, so the deposit ledger is not updated, and since there is no building or facility item, the fixed asset ledger is not updated.
 〔2件目の伝票の処理(図6(a)参照)〕
 1件目の伝票処理後、論理入力Linにおけるレコード#3が入力されると、試算表Saの預金の(前月残、借方、貸方、残高)は、(0,0,0,0)+(0,10000,0,10000)=(0,10000,0,10000)となる。また、レコード#4が入力されると、試算表Saの売掛金の(前月残、借方、貸方、残高)は、(0,20000,0,20000)+(0,0,10000,-10000)=(0,20000,10000,10000)となる。
[Processing of second slip (see FIG. 6 (a))]
When the record # 3 in the logical input Lin is input after the first slip processing, the deposit (the previous month's balance, debit, credit, balance) in the trial calculation table Sa is (0, 0, 0, 0) + ( 0, 10000, 0, 10000) = (0, 10000, 0, 10000). Also, when record # 4 is input, the receivable (remaining previous month, debit, credit, balance) of the trial balance Sa is (0, 20000, 0, 20000) + (0, 0, 10000, −10000) = (0, 20000, 10000, 10000).
 このとき、借方計の(前月残、借方、貸方、残高)は、(0,20000,0,20000)+(0,10000,10000,0)=(0,30000,10000,20000)となる。この場合、預金の初期値に加えられた値(0,10000,0,10000)、及び売掛金の前回の算出値に加えられた値(0,0,10000,-10000)は、状態ログ格納部に格納され、借方計の前回の算出値に加えられた値(0,20000,0,20000)は、1件目の伝票処理の場合と同様の理由で、状態ログ格納部に格納される。 At this time, the debit total (remaining previous month, debit, credit, balance) is (0, 20000, 0, 20000) + (0, 10000, 10000, 0) = (0, 30000, 10000, 20000). In this case, the value added to the initial value of the deposit (0, 10000, 0, 10000) and the value added to the previous calculated value of the accounts receivable (0, 10000, −10000) are the status log storage unit. The value (0, 20000, 0, 20000) added to the previous calculation value of the debit counter is stored in the status log storage unit for the same reason as in the case of the first slip processing.
 また、この場合は、預金元帳Sbの入金明細として、(前残、入金、出金、残高)=(0,10000,0,10000)が追加され、預金計(前残、入金、出金、残高)は、(0,0,0,0)から(0,10000,0,10000)に更新される。 Also, in this case, as the deposit details of the deposit ledger Sb, (Previous balance, deposit, withdrawal, balance) = (0,10000,0,10000) is added, and the total deposit (Previous balance, deposit, withdrawal, (Balance) is updated from (0,0,0,0) to (0,10000,0,10000).
 なお、2件目の伝票(出金伝票)(図3D参照)には、建物あるいは設備の項目がないため、固定資産台帳は更新されない。 Note that the fixed slip is not updated because the second slip (withdrawal slip) (see FIG. 3D) has no building or equipment item.
 〔3件目の伝票の処理(図6(b)参照)〕
 2件目の伝票処理後、論理入力Linにおけるレコード#5が入力されると、試算表Saの設備の(前月残、借方、貸方、残高)は、(0,0,0,0)+(0,7000,0,7000)=(0,7000,0,7000)となる。また、レコード#6が入力されると、試算表Saの預金の(前月残、借方、貸方、残高)は、(0,10000,0,10000)+(0,0,7000,-7000)=(0,10000,7000,3000)となる。
[Process of the third slip (see FIG. 6B)]
When the record # 5 in the logical input Lin is input after processing the second slip, the (previous month balance, debit, credit, balance) of the equipment in the trial calculation table Sa is (0,0,0,0) + ( 0, 7000, 0, 7000) = (0, 7000, 0, 7000). Also, when record # 6 is input, (the balance of the previous month, debit, credit, balance) of the deposit in the trial calculation table Sa is (0,10000,0,10000) + (0,0,7000, −7000) = (0, 10000, 7000, 3000).
 このとき、借方計の(前月残、借方、貸方、残高)は、(0,30000,10000,20000)+(0,7000,7000,0)=(0,37000,17000,20000)となる。この場合、設備の初期値に加えられた値(0,7000,0,7000)、及び預金の前回の算出値に加えられた値(0,0,7000,-7000)は、状態ログ格納部に格納され、借方計の前回の算出値に加えられた値(0,7000,700,0)は、1件目及び2件目の伝票処理の場合と同様の理由で、状態ログ格納部に格納される。 At this time, the debit total (remaining month, debit, credit, balance) is (0,30000,10000,20000) + (0,7000,7000,0) = (0,37000,17000,20000). In this case, the value added to the initial value of the equipment (0, 7000, 0, 7000) and the value added to the previous calculated value of the deposit (0, 0, 7000, −7000) are the status log storage unit. The value (0,7000,700,0) added to the previous calculation value of the debit counter is stored in the status log storage unit for the same reason as in the first and second slip processing. Stored.
 また、この場合は、預金元帳Sbの出金明細として、(前残、入金、出金、残高)=(10000,0,7000,3000)が追加され、預金計(前残、入金、出金、残高)は、(0,10000,0,10000)から(0,10000,7000,3000)に更新される。 Also, in this case, (Previous balance, deposit, withdrawal, balance) = (10000,0,7000,3000) is added as the withdrawal details of the deposit ledger Sb, and the deposit total (preceding balance, deposit, withdrawal) , Balance) is updated from (0, 10000, 0, 10000) to (0, 10000, 7000, 3000).
 また、この場合は、固定資産台帳Scの明細として、(前残、入金、出金、残高)=(0,7000,0,7000)が追加され、設備計(前残、入金、出金、残高)は、(0,0,0,0)から(0,7000,0,7000)に更新される。 In this case, as the details of the fixed asset ledger Sc, (preceding balance, deposit, withdrawal, balance) = (0,7000,0,7000) is added, and the equipment total (preceding balance, deposit, withdrawal, (Balance) is updated from (0,0,0,0) to (0,7000,0,7000).
 このようにして3件の伝票の処理が行われて、知識データベース20には、論理入力である3件分の伝票データに対する論理出力が、試算表Sa、預金元帳Sb、及び固定資産台帳Sc毎にリアルタイムで求められることとなる。 In this way, the processing of the three slips is performed, and the logical output for the slip data for the three slips that are logical inputs is stored in the knowledge database 20 for each of the trial calculation table Sa, the deposit ledger Sb, and the fixed asset ledger Sc. Will be required in real time.
 このようにして、論理入力として伝票データが入力される度に、試算表に対応するバイナリーサーチツリーが更新されるとともに、預金元帳および固定資産台帳に対応するバイナリーサーチツリーが成長し、試算表、預金元帳、および固定資産台帳には、リアルタイムで取引の状態が反映されることとなる。 In this way, every time slip data is input as a logical input, the binary search tree corresponding to the trial calculation table is updated, and the binary search tree corresponding to the deposit ledger and the fixed asset ledger grows. The deposit ledger and the fixed asset ledger reflect the transaction status in real time.
 以下、上述したバイナリーサーチツリーの作成方法、順次検索方法、およびランダム検索方法について、図4を用いて説明する。
 図4に示すバイナリーサーチツリーでは、Nodeは、試算表に付加されている含まれるバイナリーサーチツリー(図35)におけるデータに対応し、LLink,RLinkは、試算表に付加されているバイナリーサーチツリー(図35)におけるLeft,Rightに対応している。
 つまり、試算表の定義の際に、以下に説明する方法で、図35に示すバイナリーサーチツリーが形成されることとなる。
Hereinafter, the above-described binary search tree creation method, sequential search method, and random search method will be described with reference to FIG.
In the binary search tree shown in FIG. 4, Node corresponds to data in the included binary search tree (FIG. 35) added to the trial calculation table, and LLink and RLink are binary search trees ( This corresponds to Left and Right in FIG.
That is, when defining the trial calculation table, the binary search tree shown in FIG. 35 is formed by the method described below.
 まず、バイナリーサーチツリーの作成方法について説明する。 First, a method for creating a binary search tree will be described.
 1)テーブルにデータが1行もないときは、追加して終了する。(Node値=入力、LLink=-1,RLink=-1)。 1) When there is no data in the table, add it and finish. (Node value = input, LLink = −1, RLink = −1).
 テーブルにデータのある時は、1行目より、以下の2)の確認処理を行う。 When there is data in the table, the following 2) confirmation process is performed from the first line.
 2)テーブルのNodeの値と追加データの値を比較する。 2) Compare the value of Node in the table with the value of additional data.
 テーブルのNodeの値>追加データの値のときは、LLinkを確認のため、以下の3)の処理を行う。 If the value of Node in the table is greater than the value of additional data, the following 3) process is performed to confirm the LLink.
 テーブルのNodeの値<追加データの値のときは、RLinkを確認のため、以下の3)の処理を行う。 If the value of Node in the table is smaller than the value of additional data, the following 3) process is performed to confirm RLink.
 テーブルのNodeの値=追加データの値のときは、追加作成はしないで処理を終了する。 If the value of Node in the table = the value of additional data, the process ends without creating additional data.
 3)Linkに値のあるとき(≠-1)はLinkで指定したテーブル行について、2)の手続を行う。 3) When Link has a value (≠ -1), the procedure of 2) is performed for the table row specified by Link.
 Linkに値がないとき(=-1)はデータをテーブルに追加(Node値=入力、LLink=-1,RLink=-1))して、Link(LLinkまたはRLink)
の値を-1より、追加したテーブルの行番号に置き換える。
When there is no value in Link (= -1), data is added to the table (Node value = input, LLink = -1, RLink = -1), and Link (LLink or RLink)
The value of is replaced with the added table row number from -1.
 以下、図4を用いて事例を挙げて説明する。 Hereinafter, an example will be described with reference to FIG.
 〔BSTの作成〕
 5件のデータ『B、D、C、A、E』でBSTを作成する手順について説明する。なお、この5件のデータは、この順で入力される。また、これらのデータの大小関係は、”A”<”B”<”C”<”D”<”E”とする。
[Create BST]
A procedure for creating a BST with five data “B, D, C, A, E” will be described. These five data are input in this order. The magnitude relationship between these data is “A” <“B” <“C” <“D” <“E”.
 (1)最初はテーブルBSTa0に値がない(図4(a))。 (1) Initially, there is no value in the table BSTa0 (FIG. 4 (a)).
 (2)最初のデータ『B』が入力されたときは、テーブルBSTa0に1行追加して、Node=B、LLink=-1、RLink=-1とする(図4(b))。『-1』はリンク先なしを意味している。図4では、BST(バイナリーサーチツリー)BSTr1~BSTr5をテーブルBSTa1~BSTa5とともに表示している。Nodeを○印で表し、LLink、RLinkは、Nodeの左側、または右側より伸びる線で表し、Link先のNodeに対応づける。 (2) When the first data “B” is input, one row is added to the table BSTA0, and Node = B, LLink = −1, and RLink = −1 are set (FIG. 4B). “−1” means no link destination. In FIG. 4, BST (binary search trees) BSTr1 to BSTr5 are displayed together with tables BSTa1 to BSTa5. Node is represented by a circle, and LLink and RLink are represented by a line extending from the left side or the right side of the Node, and are associated with the Link destination Node.
 (3)2件目のデータ『D』が入力されたときは、データ『D』とテーブルBSTa2の1行目のNode値『B』とを比較する。このとき、”B”<”D”なので、テーブル1行目のRLinkを参照すると、『-1』でリンク先なしなので、データ『D』をテーブルに追加して1行目のテーブルのRLinkに追加した行番号『2』を設定する(図4(c))。 (3) When the second data “D” is input, the data “D” is compared with the Node value “B” in the first row of the table BSTA2. At this time, since “B” <“D”, when referring to the RLink in the first row of the table, “−1” indicates that there is no link destination, so the data “D” is added to the table and the RLink in the first row of the table is added. The added line number “2” is set (FIG. 4C).
 追加した2行目は、Node=”D”、LLink=-1、RLink=-1である。 The added second line is Node = “D”, LLink = −1, and RLink = −1.
 バイナリーサーチツリーBSTr2では、Node『B』の右からの線『リンク』をNode『D』に繋げ、テーブルBSTa2と同じ内容を示す。 In the binary search tree BSTr2, the line “link” from the right of the node “B” is connected to the node “D” to indicate the same contents as the table BSTa2.
 (4)3件目のデータ『C』が入力されたときは、データ『C』とテーブルBSTa2の1行目のNode値『B』とを比較する。このとき、”B”<”C”なので、テーブル1行目のRLinkを参照すると、『2』がリンク先となっている。リンク先の2行目のNode値『D』とデータ『C』とを比較する。このとき、”C”<”D”なので、テーブル2行目のLLinkを参照すると、『-1』でリンク先なしなので、データ『C』をテーブルBSTa2に追加して2行目のテーブルのLLinkに追加した行番号『3』を設定する(図4(d))。 (4) When the third data “C” is input, the data “C” is compared with the Node value “B” in the first row of the table BSTA2. At this time, since “B” <“C”, referring to RLink in the first row of the table, “2” is the link destination. The Node value “D” on the second line of the link destination is compared with the data “C”. At this time, since “C” <“D”, referring to the LLink in the second row of the table, “−1” indicates that there is no link destination, so the data “C” is added to the table BSTA2 and the LLink of the table in the second row is added. The added line number “3” is set (FIG. 4D).
 追加した3行目は、Node=”C”、LLink=-1、RLink=-1である。 The third line added is Node = “C”, LLink = −1, and RLink = −1.
 バイナリーサーチツリーBSTr3では、Node『D』の左からの線『リンク』をNode『C』に繋げ、テーブルBSTa3と同じ内容を示す。 In the binary search tree BSTr3, the line “link” from the left of the node “D” is connected to the node “C” to indicate the same contents as the table BSTa3.
 (5)4件目のデータ『A』が入力されたときは、データ『A』とテーブルBSTa3の1行目のNode値『B』とを比較する。このとき、”A”<”B”なので、テーブル1行目のLLinkを参照すると、『-1』でリンク先なしなので、データ『A』をテーブルBSTa3に追加してテーブルBSTa3の1行目のLLinkに追加した行番号『4』を設定する(図4(e))。 (5) When the fourth data “A” is input, the data “A” is compared with the Node value “B” in the first row of the table BSTA3. At this time, since “A” <“B”, referring to the LLink in the first row of the table, “−1” indicates that there is no link destination, so the data “A” is added to the table BTa3 and the first row of the table BSa3 is added. The added line number “4” is set in the LLink (FIG. 4E).
 バイナリーサーチツリーBSTr4では、Node『B』の左からの線『リンク』をNode『A』に繋げ、テーブルBSTa4と同じ内容を示す。 In the binary search tree BSTr4, the line “link” from the left of the node “B” is connected to the node “A” to indicate the same contents as the table BSTa4.
 (6)5件目のデータ『E』が入力されたときは、データ『E』とテーブルBSTa4の1行目のNode値『B』とを比較する。このとき、”B”<”E”なので、テーブル1行目のRLinkを参照すると、『2』がリンク先となっている。リンク先の2行目のNode値『D』とデータ『E』とを比較する。このとき、”D”<”E”なので、テーブル2行目のRLinkを参照すると、『-1』でリンク先なしなので、データ『E』をテーブルBSTa4に追加して2行目のテーブルのLLinkに追加した行番号『5』を設定する。 (6) When the fifth data “E” is input, the data “E” is compared with the Node value “B” in the first row of the table BSTA4. At this time, since “B” <“E”, referring to RLink in the first row of the table, “2” is the link destination. The Node value “D” on the second line of the link destination is compared with the data “E”. At this time, since “D” <“E”, referring to the RLink in the second row of the table, “−1” indicates that there is no link destination, so the data “E” is added to the table BTa4 and the LLink of the table in the second row is added. The line number “5” added to is set.
 追加した5行目は、Node=”E”、LLink=-1、RLink=-1である。 The added fifth line is Node = “E”, LLink = −1, and RLink = −1.
 バイナリーサーチツリーBSTr5では、Node『D』の右からの線『リンク』をNode『E』に繋げ、テーブルBSTa5と同じ内容を示す。 In the binary search tree BSTr5, the line “link” from the right of the node “D” is connected to the node “E” to indicate the same contents as the table BSTa5.
 次に、BST(バイナリーサーチツリー)の順次検索について説明する。 Next, the sequential search of BST (binary search tree) will be described.
 〔BSTの順次検索〕
 BSTを順次で辿るときは次の順で処理する。
[Sequential search of BST]
When BST is traced sequentially, processing is performed in the following order.
  1番目:LLink
  2番目:自Node
  3番目:RLink
 テーブルBSTa5またはバイナリーサーチツリーBSTr5を上記の手順で辿る。
First: LLLink
Second: Own Node
3rd: RLink
The table BSTa5 or the binary search tree BSTr5 is traced according to the above procedure.
 1)テーブルの一行目より検索を始める。  1) Start the search from the first row of the table. *
 2)1行目のLLinkは4なので、テーブル4行目に移る。  2) Since the LLink in the first row is 4, move to the fourth row in the table. *
 3)4行目はLLinkが-1であるので、自Node『A』を出力する。  3) Since the LLink is -1, the 4th line outputs its own Node “A”. *
 4)4行目はRLinkが-1であるので、1行目に戻る。  4) Since RLink is -1 in the fourth line, the process returns to the first line. *
 5)1行目のLLinkは処理済みので、自Node『B』を出力する。  5) Since the LLink on the first line has been processed, it outputs its own Node “B”. *
 6)1行目のRLinkが2なので、テーブル2行目に移る。  6) Since RLink in the first row is 2, move to the second row in the table. *
 7)2行目のLLinkが3なので、テーブル3行目に移る。  7) Since the LLink in the second row is 3, move to the third row in the table. *
 8)3行目のLLinkが-1であるので、自Node『C』を出力する。  8) Since the LLink on the third line is -1, the own node “C” is output. *
 9)3行目はRLinkが-1であるので、2行目に戻る。  9) Since RLink is −1 in the third line, return to the second line. *
 10)2行目のLLinkは処理済みので、自Node『D』を出力する。  10) Since the LLink on the second line has been processed, it outputs its own Node “D”. *
 11)2行目のRLinkが5なので、テーブル5行目に移る。  11) Since RLink in the second row is 5, move to the fifth row in the table. *
 12)2行目はLLinkが-1であるので、自Node『E』を出力する。  12) Since the LLink is -1, the second node outputs its own Node “E”. *
 13)3行目はRLinkが-1であるので、全Nodeの処理を終了する。 13) Since RLink is −1 in the third line, the processing of all Nodes is terminated.
 〔BSTのランダム検索〕
 次に、BST(バイナリーサーチツリー)のランダム検索について説明する。 
[BST random search]
Next, a random search of BST (binary search tree) will be described.
 BSTでキーを指定して、Nodeを検索する。  Search for Node by specifying the key with BST. *
 テーブルの作成のときと同じ要領でテーブルの1行目より検索すべき値と、Node値を比較してNodeを辿る。 The value to be searched from the first line of the table is compared with the Node value in the same manner as when creating the table, and the Node is traced.
 テーブルのNodeの値<追加データの値のときはRLinkを辿る。 If the value of Node in the table is smaller than the value of additional data, the RLink is traced.
 テーブルのNodeの値>追加データの値のときはLLinkを辿る。 If the value of the node in the table> the value of the additional data, the LLink is traced.
 テーブルのNodeの値=追加データの値のときは一致Nodeに到達する。 * When the value of the node in the table = the value of the additional data, the matching node is reached.
 辿るべきLLink、RLinkに値がない(-1)のときには、検索すべき値が存在しない。 When there is no value in the LLink and RLink to be traced (−1), there is no value to be searched.
 テーブルBSTa5またはバイナリーサーチツリーBSTr5で値『C』を検索する場合は以下のとおりである。 When searching for the value “C” in the table BSTa5 or the binary search tree BSTr5, it is as follows.
 1)テーブル1行目 Node『B』<検索値『C』でRLink2を辿る。 1) Trace RLink2 in the first row of the table with Node “B” <search value “C”.
 2)テーブル2行目 Node『D』>検索値『C』でLLink3を辿る。 2) Trace LLink3 in the second row of the table with Node “D”> search value “C”.
 3)テーブル3行目 Node『C』=検索値『C』で一致Nodeに到達する。
〔コンピュータ3による伝票処理の説明〕
 次に上記コンピュータによる伝票処理動作を、状態遷移表を用いて説明する。
(1)関数名:トランザクションの機能説明(状態遷移表Ts1)
 ここでは、伝票データの読込みからカーネルの呼び出しまでの動作を説明する。
3) In the third row of the table, Node “C” = the search value “C” is reached and the matching Node is reached.
[Description of slip processing by computer 3]
Next, the slip processing operation by the computer will be described using a state transition table.
(1) Function name: Transaction function description (state transition table Ts1)
Here, the operation from reading the slip data to calling the kernel will be described.
 図7は、トランザクションの機能を説明する図であり、図7(a)はコンピュータの状態遷移表Ts1を示し、図7(b)及び(c)はそれぞれ、ローカル変数の定義LV1及びグローバル変数の定義GVを示している。 FIG. 7 is a diagram for explaining the function of a transaction. FIG. 7A shows a computer state transition table Ts1, and FIGS. 7B and 7C show local variable definitions LV1 and global variables. The definition GV is shown.
 なお、ローカル変数は、トランザクジョンの発生に応じてカーネルを呼び出すまでの動作を示す状態遷移表だけで使用する変数であり、グローバル変数の定義は、コンピュータによる伝票処理動作を示すすべての状態遷移表で共通に使用する変数である。 Note that local variables are variables that are used only in the state transition table that shows the operations until the kernel is called when a transaction occurs, and global variables are defined by all state transition tables that indicate slip processing operations by computer. It is a variable used in common.
 コンピュータは、取引(トランザクション)が発生し伝票の入力があると、インターネットなどの通信回線を介して受信したデータを読込み、カーネルを呼び出し、読込み完了後にコンピュータ内のカーネルが、データに応じた業務処理を呼び出す。 When a transaction occurs and a slip is entered, the computer reads the data received via a communication line such as the Internet, calls the kernel, and after the reading is completed, the kernel in the computer processes the business according to the data. Call.
 つまり、図7(a)に示す状態遷移表Ts1では、状態「1」は初期状態で、条件は無条件「-」なので、コンピュータは、上記状態遷移表Ts1(関数)が呼ばれた時に、1~3行目の処理を実行し、状態2に遷移する。なお、この状態遷移表Ts1は、カーネルの読み出しを行うチューリングマシン(プログラムに基づいたコンピュータによる演算機能)を定義するものである。 That is, in the state transition table Ts1 shown in FIG. 7A, since the state “1” is the initial state and the condition is unconditional “−”, the computer can call the state transition table Ts1 (function) when The processing in the first to third lines is executed, and the state transits to state 2. This state transition table Ts1 defines a Turing machine (calculation function by a computer based on a program) for reading a kernel.
 1行目の処理では、「ACC_LOAD」(勘定科目マスターAm(図3F)を読込む初期の準備)を実行する。2行目の処理では、「LINK_LOAD」(会計帳簿体系Acs(図3E)を読込む初期の準備)を実行する。3行目の処理では、入力ファイルのOPEN(読込の準備)を行う処理である。 In the process on the first line, “ACC_LOAD” (initial preparation for reading the account item master Am (FIG. 3F)) is executed. In the process on the second line, “LINK_LOAD” (initial preparation for reading the accounting book system Acs (FIG. 3E)) is executed. The process on the third line is a process for performing OPEN (preparation for reading) of the input file.
 ここで、引数の「1」はファイル1であり、会計伝票データを示し、引数の「”R”」は、読込みモードで、ファイルをOPENすることを示している。 Here, the argument “1” is the file 1 and indicates the accounting slip data, and the argument ““ R ”” indicates that the file is opened in the read mode.
 4行目の処理では、コンピュータの処理は、状態2にあり、条件は無条件「-」であるので、コンピュータは、処理「rtn=$READ(1)」を実行し、状態3に遷移する。この処理「rtn=$READ(1)」では入力ファイルの読込みを行う。 In the process on the fourth line, since the computer process is in state 2 and the condition is unconditional “−”, the computer executes the process “rtn = $ READ (1)” and transitions to state 3. . In this process “rtn = $ READ (1)”, the input file is read.
 5行目の処理では、コンピュータは状態3にある。このときの条件「rtn=3」は4行目の処理での入力ファイル読込みで入力データがEOFの時に「3」が戻る。つまり、EOFの時に処理「rtn=$CLOSE(1)」で入力ファイルをCLOSEして、状態999(この状態遷移表で表される処理の終了状態)に遷移する。 In the process on line 5, the computer is in state 3. The condition “rtn = 3” at this time returns “3” when the input file is read in the process of the fourth line and the input data is EOF. That is, at the time of EOF, the input file is CLOSEd by the process “rtn = $ CLOSE (1)”, and the state transitions to the state 999 (end state of the process represented by this state transition table).
 6行目の処理では、状態の指定はなく、その状態は前行の状態3となる。また、条件「-」は条件指定なしであり、つまり、状態3で5行目の条件を満たさない時には、無条件で、コンピュータは、処理「KERNEL」(入力データを判断し所定の処理を呼出す)を実行し、状態2に遷移する。 In the process on the sixth line, there is no designation of the state, and the state becomes the state 3 of the previous line. In addition, the condition “-” indicates that no condition is specified. That is, when the condition of the fifth line is not satisfied in the state 3, the computer unconditionally calls the process “KERNEL” (determines input data and calls a predetermined process). ) To make a transition to the state 2.
 コンピュータは、このような動作を、入力データ(入力される伝票データ)がなくなるまで行って、伝票データの読込みを行う。
(2)関数名:カーネルの機能説明(状態遷移表Ts2)
 ここでは、カーネルが入力データの種類に応じた業務処理を呼び出す動作を、状態遷移表Ts2を用いて説明する。なお、ここでは説明していないが、障害時には障害対応処理を呼出す。
The computer performs such an operation until there is no input data (input slip data), and reads the slip data.
(2) Function name: Kernel function description (state transition table Ts2)
Here, an operation in which the kernel calls a business process corresponding to the type of input data will be described using the state transition table Ts2. Although not described here, a failure handling process is called when a failure occurs.
 図8は、カーネルの機能を説明する図であり、図8(a)は、コンピュータの状態遷移表Ts2を示し、図8(b)は、ローカル変数の定義LV2を示している。なお、ローカル変数は、カーネルが入力データの種類に応じた業務処理を呼び出す動作を示す状態遷移表Ts2だけで使用する変数である。また、この状態遷移表Ts2は、業務処理の呼び出しを行うチューリングマシン(プログラムに基づいたコンピュータによる演算機能)を定義するものである。 FIG. 8 is a diagram for explaining the functions of the kernel. FIG. 8A shows a computer state transition table Ts2, and FIG. 8B shows a local variable definition LV2. Note that the local variable is a variable that is used only in the state transition table Ts2 indicating an operation in which the kernel calls a business process corresponding to the type of input data. The state transition table Ts2 defines a Turing machine (a calculation function by a computer based on a program) that calls a business process.
 上記状態遷移表Ts1(図7(a))で示すように、上記のようにカーネルが呼び出されると、該カーネルにより、入力データの種類に応じた業務処理が呼び出される。 As shown in the state transition table Ts1 (FIG. 7A), when the kernel is called as described above, a business process corresponding to the type of input data is called by the kernel.
 つまり、状態遷移表Ts2の状態「1」は、初期状態を示しており、コンピュータは、図8(a)に示す状態遷移表Ts2が呼び出されたとき、1行目の処理を最初に実行する。 That is, the state “1” in the state transition table Ts2 indicates an initial state, and the computer first executes the process of the first row when the state transition table Ts2 shown in FIG. .
 1行目の処理では、条件「F1_ID=”ACC”」は、入力項目「F1_ID」(データ識別)が「”ACC”」(会計)の時に、処理「rtn=ACC_UPDATE」(会計伝票処理)を実行し、状態2に遷移する。 In the process of the first line, the condition “F1_ID =“ ACC ”” is obtained by executing the process “rtn = ACC_UPDATE” (accounting slip process) when the input item “F1_ID” (data identification) is “ACC” (accounting). Execute and transition to state 2.
 また、2行目の処理では、状態の指定はなく、コンピュータは、前行の状態1となる。コンピュータは、条件「F1_ID=”SALE”」に従って、入力項目「F1_ID」(データ識別)が「”SALE”」(売買)の時に、売買処理をして状態2に遷移する。ここでは、売買処理の詳細については省略している。 Also, in the processing on the second line, there is no designation of the state, and the computer enters state 1 on the previous line. In accordance with the condition “F1_ID =“ SALE ””, when the input item “F1_ID” (data identification) is ““ SALE ”” (buying and selling), the computer makes a buying and selling process and transitions to the state 2. Here, details of the buying and selling process are omitted.
 また、3行目の処理では、状態の指定はなく、コンピュータは前行の処理と同じ状態1となる。条件は無条件「-」なので、コンピュータは、1~2行目の条件を満たさなかった時に、処理「rtn=ERR」(エラー処理)を実行し、状態999(終了状態)に遷移する。 Also, in the process on the third line, there is no designation of the state, and the computer is in the same state 1 as the process on the previous line. Since the condition is unconditional “−”, the computer executes the process “rtn = ERR” (error process) when the conditions of the first and second lines are not satisfied, and transits to the state 999 (end state).
 また、4行目の処理では、コンピュータは状態2であり、条件「rtn<0」に従って、1又は2行目の条件を満たさなかった時(エラー時)の戻値で、処理「rtn=ERR」(傷害時のエラー処理呼出し)を実行し、状態999(終了状態)に遷移する。 In the process on the fourth line, the computer is in the state 2, and in accordance with the condition “rtn <0”, the process “rtn = ERR” is a return value when the condition on the first or second line is not satisfied (in error). ”(Error processing call at the time of injury) is executed, and a transition is made to state 999 (end state).
 また、5行目の処理では、状態の指定はなく、コンピュータは、前行の処理と同じ状態2となる。また、条件「-」は条件指定なしであり、処理の定義はない。従って、コンピュータは、状態2で4行目の条件を満たさない時には、無条件で、状態999(終了状態)に遷移する。
(3)関数名:ACC_UPDATEの機能説明(状態遷移表Ts3)
 ここでは、「論理出力間の対応」の定義に沿って、「試算表」から初めて、対応する論理出力を更新する動作を、状態遷移表Ts3を用いて説明する。
In the process on the fifth line, there is no designation of the state, and the computer enters the same state 2 as the process on the previous line. In addition, the condition “-” indicates that no condition is specified, and no process is defined. Therefore, when the computer does not satisfy the condition of the fourth row in state 2, the computer unconditionally transitions to state 999 (end state).
(3) Function name: function description of ACC_UPDATE (state transition table Ts3)
Here, in accordance with the definition of “correspondence between logical outputs”, the operation of updating the corresponding logical output for the first time from the “trial calculation table” will be described using the state transition table Ts3.
 図9は、会計システムに対する論理出力の更新機能を説明する図であり、図9(a)は、コンピュータの状態遷移表Ts3を示し、図9(b)は、ローカル変数LV3の定義を示している。 FIG. 9 is a diagram for explaining a logical output update function for the accounting system. FIG. 9A shows a computer state transition table Ts3, and FIG. 9B shows a definition of a local variable LV3. Yes.
 なお、ローカル変数LV3は、論理出力を更新する動作を示す状態遷移表Ts3だけで使用する変数である。また、この状態遷移表Ts3は、論理出力の更新を行うチューリングマシン(プログラムに基づいたコンピュータによる演算機能)を定義するものである。 Note that the local variable LV3 is a variable used only in the state transition table Ts3 indicating the operation of updating the logic output. The state transition table Ts3 defines a Turing machine (a calculation function by a computer based on a program) that updates a logic output.
 コンピュータは、カーネルにより会計システム100(図2、図3A)が読み出されると、図9(a)に示す状態遷移表Ts3に従って、試算表Sa、預金元帳Sb、固定資産台帳Sc(図3A参照)の順に論理出力の更新を行う。 When the accounting system 100 (FIG. 2, FIG. 3A) is read by the kernel, the computer calculates the trial calculation table Sa, the deposit ledger Sb, and the fixed asset ledger Sc (see FIG. 3A) according to the state transition table Ts3 shown in FIG. The logic output is updated in this order.
 図9(a)に示すように、状態遷移表Ts3では、状態1は初期状態で、条件は無条件「-」なので、上記の状態遷移表Ts3が呼ばれた時に最初に、1~3行目の処理を実行し、状態2に遷移する。 As shown in FIG. 9A, in the state transition table Ts3, since the state 1 is the initial state and the condition is unconditional “−”, when the state transition table Ts3 is called, the first to third rows The eye process is executed, and the state transits to state 2.
 1行目の「rtn=KB(5,2)」は、KDB5のアクセス定義2を実行することを示しており、1行目の処理では、コンピュータは、会計伝票データの科目(F1_ACC)をキーに勘定科目の貸借,科目名,試算表表示順コードを、変数であるDRCR,ACCNAME,ORDERに取得する。(図9(c))。 “Rtn = KB (5, 2)” on the first line indicates that access definition 2 of KDB5 is executed. In the process on the first line, the computer uses the item (F1_ACC) of accounting slip data as a key. Account balance, subject name, trial calculation table display order code are acquired in DRCR, ACCNAME, and ORDER as variables. (FIG. 9 (c)).
 2行目の「KEY1=”会計”」は変数KEY1に「”会計”」を代入することを示しており、コンピュータは、変数KEY1に「”会計”」を代入する。この”会計”は会計帳簿体系の最初のキーである。 “KEY1 =“ accounting ”” on the second line indicates that “accounting” is assigned to the variable KEY1, and the computer assigns ““ accounting ”” to the variable KEY1. This “accounting” is the first key of the accounting book system.
 3行目の処理「KEY2=””」では、コンピュータは、変数KEY2に「””」(データなし。NULL)を代入し、状態2に遷移する。 In the process “KEY2 =“ ”” on the third line, the computer substitutes “” ”” (no data. NULL) for the variable KEY2, and transits to the state 2.
 4~5行目の処理では、コンピュータは状態2であり、条件は無条件「-」である。従って、コンピュータは、4~5行目の処理を実行し、状態3に遷移する。 In the processing of the 4th to 5th lines, the computer is in state 2 and the condition is unconditional “-”. Therefore, the computer executes the processing in the 4th to 5th lines, and transits to the state 3.
 4行目の処理「wKEY=$文字列トリム連結関数(KEY1,KEY2)」は、変数KEY1と変数KEY2を文字結合し、変数wKEYに代入する処理である。 The process “wKEY = $ character string trim concatenation function (KEY1, KEY2)” on the fourth line is a process of character-binding the variable KEY1 and the variable KEY2 and assigning them to the variable wKEY.
 5行目の処理「rtn=KB(4,1)」は、KDB4のアクセス定義1(図9(d))を実行するものであり、変数wKeyをキーにして、「対応する論理出力」を変数KEY1に取得するものである。 The process “rtn = KB (4, 1)” on the fifth line executes the access definition 1 (FIG. 9D) of KDB4, and sets “corresponding logical output” to the variable wKey as a key. This is acquired in the variable KEY1.
 6行目の処理では、コンピュータは状態3であり、条件「rtn>=0」(5行目で指定データが存在する時)を満たせば、コンピュータは状態4に遷移する。 In the process on the sixth line, the computer is in the state 3, and if the condition “rtn> = 0” (when the designated data exists on the fifth line) is satisfied, the computer transits to the state 4.
 状態遷移表Ts3の6行目では、処理は定義されていないので、コンピュータは、処理を行わずに状態4に遷移する。 In the sixth line of the state transition table Ts3, since the process is not defined, the computer transits to the state 4 without performing the process.
 7行目では、コンピュータの状態の指定はなく、コンピュータは前行の状態3となる。 In line 7, there is no designation of the state of the computer, and the computer is in state 3 of the previous line.
 また、条件「F1_DRCR=”2”」は、入力項目「F1_DRCR=」が「”2”」の時に、コンピュータが処理「rtn=KBLOGEND(F1_DNO)」を実行し、状態999(終了状態)に遷移するというものである。 The condition “F1_DRCR =“ 2 ”” is that the computer executes the process “rtn = KBLOGEND (F1_DNO)” when the input item “F1_DRCR =” is “2”, and transits to the state 999 (end state). It is to do.
 ここで、関数KBLOGENDは状態ログに処理終了を出力する処理である。 Here, the function KBLOGEND is a process for outputting the process end to the status log.
 8行目では、コンピュータの状態の指定はなく、コンピュータの状態は、前行の状態3となる。また、条件「-」は条件指定なしで、処理の定義はない。 In line 8, there is no designation of the computer state, and the computer state is state 3 in the previous line. In addition, the condition “-” has no condition specified, and there is no processing definition.
 つまり、状態3で6,7行目の条件を満たさない時には、コンピュータは、無条件で処理し、状態999(終了状態)に遷移する。 That is, when the conditions of the sixth and seventh lines are not satisfied in the state 3, the computer processes unconditionally and makes a transition to the state 999 (end state).
 9行目では、コンピュータは状態4である。また、条件「KEY1=”試算表”」(5行目で取得したデータが”試算表”の時)を満たせば、コンピュータは、処理「rtn=TRIAL_UPD(KEY2)」(試算表の更新処理)を実行し、状態2に遷移する。 In line 9, the computer is in state 4. Further, if the condition “KEY1 =“ trial calculation table ”” (when the data acquired in the fifth line is “trial calculation table”) is satisfied, the computer processes “rtn = TRIAL_UPD (KEY2)” (trial calculation table update process). , And transition to state 2.
 10行目では、コンピュータの状態の指定はなく、コンピュータは前行の状態3となる。 In line 10, there is no designation of the state of the computer, and the computer is in state 3 of the previous line.
 コンピュータは、条件「KEY1=”預金元帳”」(5行目で取得したデータが”預金元帳”の時)を満たせば、処理「rtn=Yokin(KEY2)」(預金元帳の更新処理)を実行し、状態2に遷移する。 If the computer satisfies the condition “KEY1 =“ deposit ledger ”” (when the data acquired in the fifth line is “deposit ledger”), the computer executes the process “rtn = Yokin (KEY2)” (deposit ledger update process). Transition to state 2.
 11行目では、コンピュータの状態の指定はなく、コンピュータは、前行の状態3となる。 In line 11, there is no designation of the computer status, and the computer is in status 3 of the previous line.
 コンピュータは、条件「KEY1=”固定資産台帳”」(5行目で取得したデータが”固定資産台帳”の時)を満たせば、処理「rtn=Kotei(KEY2)」(固定資産台帳の更新処理)を実行し、状態2に遷移する。 If the computer satisfies the condition “KEY1 =“ Fixed Asset Ledger ”” (when the data acquired in the fifth line is “Fixed Asset Ledger”), the process “rtn = Kotei (KEY2)” (Fixed Asset Ledger Update Processing) ) To make a transition to the state 2.
 12行目では、コンピュータの状態の指定はなく、コンピュータは、前行の状態3となる。また、条件「-」は条件指定なしであり、処理の定義はない。 In line 12, there is no designation of the state of the computer, and the computer is in state 3 of the previous line. In addition, the condition “-” indicates that no condition is specified, and no process is defined.
 つまり、コンピュータは、状態4で、9~11行目の条件を満たさない時には、無条件で処理し、状態999(終了状態)に遷移する。
(4)関数名:TRIAL_UPDATE(状態遷移表Ts4)の説明
 図10は、会計システムに対する試算表の論理出力の更新を説明する図であり、図10(a)は、コンピュータの状態遷移表を示し、図10(b)は、ローカル変数の定義を示し、図10(c)は、試算表の構造ST1を示している。図13は、試算表の基本変数を説明する図である。
That is, when the computer does not satisfy the conditions of the 9th to 11th lines in the state 4, the computer processes unconditionally and makes a transition to the state 999 (end state).
(4) Description of Function Name: TRIAL_UPDATE (State Transition Table Ts4) FIG. 10 is a diagram for explaining the update of the logical output of the trial calculation table for the accounting system, and FIG. 10 (a) shows the state transition table of the computer. FIG. 10B shows the definition of local variables, and FIG. 10C shows the structure ST1 of the trial calculation table. FIG. 13 is a diagram for explaining basic variables of the trial calculation table.
 なお、ローカル変数LV4は、論理出力を更新する動作を示す状態遷移表だけで使用する変数である。ここでは、局所座標系LCo(図34(b)参照)により定義されている試算表を更新する動作を、状態遷移表Ts4を用いて説明する。また、この状態遷移表Ts4は、試算表の論理出力の更新を行うチューリングマシン(プログラムに基づいたコンピュータによる演算機能)を定義するものである。 The local variable LV4 is a variable used only in the state transition table indicating the operation for updating the logic output. Here, the operation of updating the trial calculation table defined by the local coordinate system LCo (see FIG. 34B) will be described using the state transition table Ts4. The state transition table Ts4 defines a Turing machine (a computer-based calculation function based on a program) that updates the logical output of the trial calculation table.
 ここでは、試算表の局所座標系を更新する動作を、図10(a)に示す状態遷移表Ts4、図10(c)に示す試算表の構造ST1定義、図12に示すアクセス定義St4aに従って説明する。 Here, the operation of updating the local coordinate system of the trial calculation table will be described according to the state transition table Ts4 shown in FIG. 10A, the structure ST1 definition of the trial calculation table shown in FIG. 10C, and the access definition St4a shown in FIG. To do.
 以下、コンピュータが試算表の論理出力を更新する処理を説明する。 Hereinafter, the process in which the computer updates the logical output of the trial calculation table will be described.
 この状態遷移表Ts4の1~4行目の状態1は、初期状態で、上記の状態遷移表Ts4が呼ばれた時に、コンピュータが最初に実行する処理である。 State 1 in the 1st to 4th rows of this state transition table Ts4 is an initial state, and is a process that is first executed by the computer when the above state transition table Ts4 is called.
 コンピュータは、条件「F1_DRCR=”1”」(会計伝票データの貸借F1_DRCRが”1”(借方))を満たせば、1~2行目の処理を実行し、状態2に遷移する。 If the computer satisfies the condition “F1_DRCR =“ 1 ”” (the loan / debit F1_DRCR of the accounting slip data is “1” (debit)), the computer executes the processing of the first and second lines and transitions to the state 2.
 1行目の処理「CR=F1_AMT」は、変数CRに会計伝票の金額F1_AMTを代入する処理である。2行目の処理「DR=0」は、変数DRにゼロを代入する処理である。3~4行目ではコンピュータの状態の指定はなく、コンピュータは前行の状態1となる。
 例えば、会計伝票データが、図3Dに示すように、売掛金(20000)、売上金(2000)を示すデータD1である場合、コンピュータは、売掛金をキーとして、試算表の売掛金の借方(CR)を0から20000に更新し、試算表の売掛金の貸方(DR)を0のままとする。
The process “CR = F1_AMT” on the first line is a process of substituting the amount of money F1_AMT of the accounting slip into the variable CR. The process “DR = 0” on the second line is a process of substituting zero for the variable DR. In the 3rd to 4th lines, there is no designation of the state of the computer, and the computer is in the state 1 of the previous line.
For example, if the accounting slip data is data D1 indicating accounts receivable (20000) and sales (2000) as shown in FIG. 3D, the computer uses the accounts receivable as a key to debit the accounts receivable (CR) in the trial calculation table. It is updated from 0 to 20000, and the credit (DR) of accounts receivable on the trial balance is kept at 0.
 コンピュータは、条件「F1_DRCR=”2”」(会計伝票データの貸借が”2”(貸方))を満たせば、3~4行目の処理を実行し、状態2に遷移する。3行目の処理「CR=0」は変数CRにゼロを代入するものである。4行目の処理「DR=F1_AMT」は、変数DRに会計伝票の金額F1_AMTを代入する処理である。
 例えば、会計伝票データが、図3Dに示すように、売掛金(20000)、売上金(2000)を示すデータD1である場合、コンピュータは、売上げをキーとして、試算表の売上げの貸方(DCR)を0のままとし、売上げの借方(CR)を0から20000に更新する。
If the computer satisfies the condition “F1_DRCR =“ 2 ”” (the balance of the accounting slip data is “2” (credit)), the computer executes the processing of the third to fourth lines and shifts to the state 2. The process “CR = 0” on the third line substitutes zero for the variable CR. The process “DR = F1_AMT” on the fourth line is a process of substituting the amount F1_AMT of the accounting slip into the variable DR.
For example, if the accounting slip data is data D1 indicating accounts receivable (20000) and sales (2000), as shown in FIG. 3D, the computer uses the sales as a key to calculate the credit (DCR) for sales in the trial calculation table. Keep 0 and update the debit (CR) of sales from 0 to 20000.
 この状態遷移表Ts4の5行目では、コンピュータは状態2にある。ここで、コンピュータは、条件「DRCR=”1”」(勘定科目マスターの貸借が”1”)を満たせば、処理「ZAN=CR-DR」を計算して、状態3に遷移する。 The computer is in state 2 in the fifth row of this state transition table Ts4. If the computer satisfies the condition “DRCR =“ 1 ”” (the balance of the account item master is “1”), the computer calculates the process “ZAN = CR-DR” and transitions to the state 3.
 この状態遷移表Ts4の6行目では状態の指定はなく、コンピュータは前行の状態2となる。コンピュータは、条件「DRCR=”2”」(勘定科目マスターの貸借が”2”)を満たせば、処理「ZAN=DR-CR」を計算して、状態3に遷移する。 The state is not specified in the sixth line of the state transition table Ts4, and the computer is in the state 2 in the previous line. If the condition “DRCR =“ 2 ”” (account item master loan is “2”) is satisfied, the computer calculates the process “ZAN = DR-CR” and transitions to state 3.
 また、この状態遷移表Ts4の7行目では、コンピュータは状態3にある。コンピュータは、条件「DRCR=”1”」(勘定科目マスターの貸借が”1”)を満たせば、処理「TTLNAME=”借方計”」(変数TTLNAMEに値”借方計”を代入)を行い、状態3に遷移する。 Further, the computer is in the state 3 in the seventh row of the state transition table Ts4. If the computer satisfies the condition “DRCR =“ 1 ”” (the credit of the account master is “1”), the process “TTLNAME =“ debit total ”” (substitute the value “debit total” in the variable TTLNAME), Transition to state 3.
 また、状態遷移表Ts4の8行目では、コンピュータの状態の指定はなく、コンピュータは、前行の状態2となる。コンピュータは、条件「DRCR = ”2”」(勘定科目マスターの貸借が”2”)を満たせば、処理「TTLNAME=”貸方計”」を行い、状態3に遷移する。 Also, in the 8th row of the state transition table Ts4, there is no designation of the computer state, and the computer is in the state 2 of the previous row. If the computer satisfies the condition “DRCR =“ 2 ”” (the credit of the account master is “2”), the computer performs the processing “TTLNAME =“ credit meter ”” and shifts to the state 3.
 この状態遷移表Ts4の9~18行目では、コンピュータは状態4にあり、条件は無条件「-」なので、コンピュータは、9~18行目の処理を実行し、状態999(終了状態)に遷移する。 In the 9th to 18th lines of the state transition table Ts4, the computer is in the state 4 and the condition is unconditional “-”, so the computer executes the processing of the 9th to 18th lines and enters the state 999 (end state). Transition.
 具体的には、9行目の処理「ZENZAN=0」は変数ZENZANにゼロを代入する処理である。10行目の処理「wNAME=TTLNAME」は、変数wNAMEに変数TTLNAMEの値を代入するものである。11行目の処理「wCODE=DRCR」は、変数wCODEに変数DRCRの値を代入するものである。12行目の処理「TRIAL_KEY=$文字列連結関数(DRCR,”^^^”)」は、変数DRCRと文字列”^^^”を結合し、変数TRIAL_KEYに代入するものである。13行目の処理「rtn=KB(1,1)」は、KDB1のアクセス定義1を実行する(図12)。 Specifically, the process “ZENZAN = 0” on the ninth line is a process of substituting zero into the variable ZENZAN. The process “wNAME = TTLNAME” on the tenth line substitutes the value of the variable TTLNAME for the variable wNAME. The process “wCODE = DRCR” on the 11th line substitutes the value of the variable DRCR for the variable wCODE. The process “TRIAL_KEY = $ character string concatenation function (DRCR,“ ^^^ ”)” on the 12th line combines the variable DRCR and the character string “^^^” and substitutes them into the variable TRIAL_KEY. The process “rtn = KB (1, 1)” on the 13th line executes the access definition 1 of KDB1 (FIG. 12).
 14行目の処理「TRIAL_KEY=$文字列連結関数(DRCR,ORDER)」は、変数DRCRと変数ORDERの値を文字結合し、変数TRIAL_KEYに代入する処理である。15行目の処理「wNAME=ACCNAME」は、変数wNAMEに変数ACCNAMEの値を代入する処理である。16行目の処理「wCODE=F1_ACC」は、変数wCODEに変数F1_ACCの値を代入する処理である。17行目の処理「rtn=KBLOG(1,1,F1_DNO)」は、KDB1のアクセス定義1を実行し、更新ログを出力する処理である(図12)。 The process “TRIAL_KEY = $ character string concatenation function (DRCR, ORDER)” on the 14th line is a process in which the values of the variable DRCR and the variable ORDER are combined and substituted into the variable TRIAL_KEY. The process “wNAME = ACCNAME” on the 15th line is a process of substituting the value of the variable ACCNAME into the variable wNAME. The process “wCODE = F1_ACC” on the 16th line is a process of substituting the value of the variable F1_ACC for the variable wCODE. The process “rtn = KBLOG (1,1, F1_DNO)” on the 17th line is a process of executing the access definition 1 of KDB1 and outputting an update log (FIG. 12).
 18行目の処理「KEY2=F1_ACC」は、変数KEY2に変数F1_ACCの値を代入する処理である。
(5)預金元帳の更新動作の説明(状態遷移表Ts5)
 図14は、会計システムに対する預金元帳の論理出力の更新を説明する図であり、図14(a)は、コンピュータの状態遷移表を示し、図14(b)は、ローカル変数の定義LV5を示し、図14(c)は、預金元帳の構造ST2を示している。
The process “KEY2 = F1_ACC” on the 18th line is a process of substituting the value of the variable F1_ACC for the variable KEY2.
(5) Explanation of the update operation of the deposit ledger (state transition table Ts5)
14A and 14B are diagrams for explaining the update of the logical output of the deposit ledger to the accounting system. FIG. 14A shows the state transition table of the computer, and FIG. 14B shows the local variable definition LV5. FIG. 14C shows a structure ST2 of the deposit ledger.
 なお、ローカル変数LV5は、預金元帳を更新する動作を示す状態遷移表Ts5だけで使用する変数である。ここでは、局所座標系LCo1(図34(c)参照)により定義されている預金元帳を更新する動作を、状態遷移表Ts5を用いて説明する。また、この状態遷移表Ts5は、預金元帳の更新を行うチューリングマシン(プログラムに基づいたコンピュータによる演算機能)を定義するものである。 Note that the local variable LV5 is a variable used only in the state transition table Ts5 indicating the operation of updating the deposit ledger. Here, the operation of updating the deposit ledger defined by the local coordinate system LCo1 (see FIG. 34C) will be described using the state transition table Ts5. Further, this state transition table Ts5 defines a Turing machine (calculation function by a computer based on a program) for updating the deposit ledger.
 ここでは、預金元帳の局所座標系を更新する動作を、状態遷移表Ts5を用いて説明する。 Here, the operation of updating the local coordinate system of the deposit ledger will be described using the state transition table Ts5.
 以下、コンピュータが預金元帳の論理出力を更新する処理を説明する。 Hereinafter, the process in which the computer updates the logical output of the deposit ledger will be described.
 この状態遷移表Ts5の1~2行目の状態1は初期状態で、上記の状態遷移表Ts5が呼ばれた時に、コンピュータが最初に実行する処理である。1~2行目では、条件は無条件「-」なので、コンピュータは、1~2行目の処理を実行し、状態2に遷移する。 State 1 in the first and second rows of the state transition table Ts5 is an initial state, and is a process that is first executed by the computer when the state transition table Ts5 is called. In the first and second lines, since the condition is unconditional “−”, the computer executes the processing in the first and second lines and makes a transition to the state 2.
 具体的には、1行目の処理「YOKIN_KEY=”^^^^^^^^^^^^”」は、変数YOKIN_KEYに文字列”^^^^^^^^^^^^”を代入する処理である。これは預金元帳の合計のキーである。 Specifically, the process “YOKIN_KEY =” ^^^^^^^^^^^^ ”” on the first line is performed by applying the character string “^^^^^^^^^^^^” to the variable YOKIN_KEY. It is a process to substitute. This is the key to the deposit ledger total.
 2行目の処理「rtn=KB(2,1)」はKDB2のアクセス定義1を実行する処理である。(図15(a))。 The process “rtn = KB (2, 1)” on the second line is a process for executing the access definition 1 of KDB2. (FIG. 15A).
 この状態遷移表Ts5の3行目ではコンピュータは状態2にある。コンピュータは、条件「rtn<0」(預金元帳の合計がない時)を満たせば、処理「wZENSAN=0」(変数wZENSANにゼロを代入)を行い、状態3に遷移する。 The computer is in state 2 in the third row of this state transition table Ts5. If the condition “rtn <0” (when there is no total in the deposit ledger) is satisfied, the computer performs the process “wZENSAN = 0” (substitutes zero for the variable wZENSAN) and transitions to state 3.
 この状態遷移表Ts5の4行目では、コンピュータの状態の指定はなく、コンピュータは前行の状態2となる。条件「-」は条件指定なしである。つまり、コンピュータは、状態2で3行目の条件を満たさない時には無条件で処理を行って状態3に遷移する。ここで、処理「wZENSAN=ZAN」は、変数wZENSANに変数ZAN(2行目で取得した合計行の残高)の値を代入する処理である。 In the fourth line of this state transition table Ts5, there is no designation of the state of the computer, and the computer is in state 2 of the previous line. The condition “-” indicates no condition designation. That is, when the computer does not satisfy the condition of the third row in the state 2, the computer performs an unconditional process and transitions to the state 3. Here, the process “wZENSAN = ZAN” is a process of substituting the value of the variable ZAN (the balance of the total rows acquired in the second row) into the variable wZENSAN.
 この状態遷移表Ts5の5~12行目では、コンピュータは状態3にあり、条件は無条件「-」なので、コンピュータは、5~12行目の処理を実行し、状態999(終了状態)に遷移する。 In the 5th to 12th lines of the state transition table Ts5, the computer is in the state 3 and the condition is unconditional “−”. Therefore, the computer executes the process in the 5th to 12th lines and enters the state 999 (end state). Transition.
 具体的には、5行目の処理「ZENZAN=0」は、変数ZENZANにゼロを代入する処理である。6行目の処理「ZAN=CR-DR」、CR-DRの計算を行って、その結果を変数ZANに代入する処理である。 Specifically, the process “ZENZAN = 0” on the fifth line is a process of substituting zero into the variable ZENZAN. This is a process of calculating the process “ZAN = CR-DR”, CR-DR on the sixth line and substituting the result into the variable ZAN.
 7行目の処理「rtn=KB(2,2)」は、KDB2のアクセス定義2を実行する処理である(図15(b))。 The process “rtn = KB (2, 2)” on the seventh line is a process for executing the access definition 2 of KDB2 (FIG. 15B).
 8行目の処理「YOKIN_KEY=$文字列連結関数(F1_DATE,F1_DNO)」は、変数F1_DATEと変数F1_DNOの値を結合し、変数YOKIN_KEYに代入する処理である。預金元帳のキーを日付+伝票番号としている。 The process “YOKIN_KEY = $ character string concatenation function (F1_DATE, F1_DNO)” on the eighth line is a process of combining the values of the variables F1_DATE and F1_DNO and substituting them into the variable YOKIN_KEY. The key of the deposit ledger is date + slip number.
 9行目の処理「ZENZAN=wZENSAN」は、変数ZENZANに変数wZENSANの値を代入する処理である。 The process “ZENZAN = wZENSAN” on the ninth line is a process of substituting the value of the variable wZENSAN for the variable ZENZAN.
 10行目の処理「ZAN=ZENZAN+CR-DR」は、ZENZAN+CR-DRの計算を行って、その結果を変数ZANに代入する処理である。 The process “ZAN = ZENZAN + CR−DR” on the 10th line is a process of calculating ZENZAN + CR−DR and substituting the result into the variable ZAN.
 11行目の処理「rtn=KBLOG(2,2,F1_DNO)」は、KDB2のアクセス定義2を実行し、更新ログを出力する処理である(図15(b))。 The process “rtn = KBLOG (2, 2, F1_DNO)” on the eleventh line is a process of executing the access definition 2 of KDB2 and outputting an update log (FIG. 15B).
 12行目の処理「KEY2=F1_ACC」は、変数KEY2に変数F1_ACCの値を代入する処理である。
(6)固定資産台帳の更新動作の説明(状態遷移表Ts6)
 図16は、会計システムに対する固定資産台帳の論理出力の更新を説明する図であり、図16(a)は、コンピュータの状態遷移表Ts6を示し、図16(b)は、ローカル変数の定義LV6を示し、図16(c)は、固定資産台帳の構造ST6を示し、図16(d)は、固定資産台帳のアクセス定義AD6を示している。
The process “KEY2 = F1_ACC” on the 12th line is a process of substituting the value of the variable F1_ACC for the variable KEY2.
(6) Description of fixed asset ledger update operation (state transition table Ts6)
FIG. 16 is a diagram for explaining the update of the logical output of the fixed asset ledger for the accounting system. FIG. 16 (a) shows the computer state transition table Ts6, and FIG. 16 (b) shows the local variable definition LV6. FIG. 16C shows the fixed asset ledger structure ST6, and FIG. 16D shows the fixed asset ledger access definition AD6.
 なお、ローカル変数LV4は、論理出力を更新する動作を示す状態遷移表Ts6だけで使用する変数である。ここでは、局所座標系LCo1(図34(d)参照)により定義されている固定資産台帳を更新する動作を、状態遷移表Ts6を用いて説明する。また、この状態遷移表Ts6は、固定資産台帳の更新を行うチューリングマシン(プログラムに基づいたコンピュータによる演算機能)を定義するものである。 Note that the local variable LV4 is a variable used only in the state transition table Ts6 indicating the operation of updating the logic output. Here, the operation of updating the fixed asset ledger defined by the local coordinate system LCo1 (see FIG. 34D) will be described using the state transition table Ts6. The state transition table Ts6 defines a Turing machine (a calculation function by a computer based on a program) for updating the fixed asset ledger.
 以下、コンピュータが固定資産台帳の論理出力を更新する処理を説明する。 The following describes the process in which the computer updates the logical output of the fixed asset ledger.
 この状態遷移表Ts6の1~2行目の状態1は初期状態で、上記の状態遷移表Ts6が呼ばれた時に、コンピュータが最初に実行する処理である。 The state 1 in the first and second rows of the state transition table Ts6 is an initial state, and is a process that is first executed by the computer when the state transition table Ts6 is called.
 コンピュータは、条件「F1_DRCR=”1”」(会計伝票データの貸借F1_DRCRが”1”(借方))を満たせば、1~2行目の処理を実行し、状態2に遷移する。 If the computer satisfies the condition “F1_DRCR =“ 1 ”” (the loan / debit F1_DRCR of the accounting slip data is “1” (debit)), the computer executes the processing of the first and second lines and transitions to the state 2.
 具体的には、1行目の処理「CR=F1_AMT」は、変数CRに会計伝票の金額F1_AMTを代入する処理であり、2行目の処理「DR=0」は、変数DRにゼロを代入する処理である。 Specifically, the process “CR = F1_AMT” on the first line is a process for substituting the amount of money F1_AMT of the accounting slip into the variable CR, and the process “DR = 0” on the second line substitutes zero for the variable DR. It is processing to do.
 この状態遷移表Ts6の3~4行目には、コンピュータの状態の指定はなく、コンピュータは、前行の状態1となる。コンピュータは、条件「F1_DRCR=”2”」(会計伝票データの貸借が”2”(貸方))を満たせば、3~4行目の処理を実行し、状態2に遷移する。 In the third to fourth lines of this state transition table Ts6, there is no designation of the state of the computer, and the computer is in state 1 of the previous line. If the computer satisfies the condition “F1_DRCR =“ 2 ”” (the balance of the accounting slip data is “2” (credit)), the computer executes the processing of the third to fourth lines and shifts to the state 2.
 具体的には、3行目の処理「CR=0」は、変数CRにゼロを代入する処理である。4行目の処理「DR=F1_AMT」は、変数DRに会計伝票の金額F1_AMTを代入する処理である。 Specifically, the process “CR = 0” on the third line is a process of substituting zero for the variable CR. The process “DR = F1_AMT” on the fourth line is a process of substituting the amount F1_AMT of the accounting slip into the variable DR.
 この状態遷移表Ts6の5~12行目では、コンピュータの状態は状態2であり、条件は無条件「-」なので、コンピュータは5~12行目の処理を実行し、状態999(終了状態)に遷移する。 In the 5th to 12th lines of this state transition table Ts6, the state of the computer is the state 2 and the condition is unconditional “−”. Therefore, the computer executes the process of the 5th to 12th lines, and the state 999 (end state) Transition to.
 この状態遷移表Ts6では、5行目の処理「ZENZAN=0」は、変数ZENZANにゼロを代入する処理である。6行目の処理「ZAN=CR-DR」は、CR-DRの計算を行って、その結果を変数ZANに代入する処理である。 In the state transition table Ts6, the process “ZENZAN = 0” on the fifth line is a process of substituting zero into the variable ZENZAN. The process “ZAN = CR-DR” on the sixth line is a process of calculating CR-DR and substituting the result into a variable ZAN.
 7行目の処理「KOTEI_KEY=$文字列連結関数(F1_ACC,”^^^^”)」は、変数F1_ACCと文字列”^^^^”の値を結合し、変数KOTEI_KEYに代入する処理であり、これは、固定資産台帳の科目合計のキーを設定する処理である。8行目の処理「wNAME=$文字列トリム連結関数(ACCNAME,”計”)」は、変数ACCNAMEと文字列”計”の値を結合し、変数wNAMEに代入する処理である。 The process “KOTEI_KEY = $ character string concatenation function (F1_ACC,“ ^^^^ ”)” on the seventh line is a process of combining the variable F1_ACC and the value of the character string “^^^^” and substituting it into the variable KOTEI_KEY. Yes, this is a process for setting the key for the total item of the fixed asset ledger. The process “wNAME = $ character string trim concatenation function (ACCNAME,“ total ”)” on the eighth line is a process for combining the variable ACCNAME and the value of the character string “total” and assigning them to the variable wNAME.
 これは、固定資産台帳の科目合計の説明用の表示を行う処理である。 This is a process for displaying the total item of the fixed asset ledger for explanation.
 9行目の処理「rtn=KB(3.1)」は、KDB3のアクセス定義1(更新)AD6を実行する処理である(図16(d))。 The process “rtn = KB (3.1)” on the ninth line is a process of executing the access definition 1 (update) AD6 of KDB3 (FIG. 16D).
 10行目の処理「KOTEI_KEY=$文字列連結関数(F1_ACC,F1_SHISAN)」は、変数F1_ACCと変数F1_SHISANの値を文字結合し、変数KOTEI_KEYに代入する処理である。これは、固定資産台帳のキー(科目+資産番号)の設定処理である。 The process “KOTEI_KEY = $ character string concatenation function (F1_ACC, F1_SHISA)” on the tenth line is a process of combining the values of the variable F1_ACC and the variable F1_SHISA, and substituting them into the variable KOTEI_KEY. This is a process for setting the key (item + asset number) of the fixed asset ledger.
 11行目の処理「wNAME=ACCNAME」は、変数wNAMEに変数ACCNAMEの値を代入する処理である。12行目の処理「rtn=KBLOG(3,1,F1_DNO)」は、KDB3のアクセス定義1(更新)AD6を実行し、状態ログを出力する処理である(図16(d))。 The process “wNAME = ACCNAME” on the 11th line is a process of substituting the value of the variable ACCNAME into the variable wNAME. The process “rtn = KBLOG (3,1, F1_DNO)” on the 12th line is a process of executing the access definition 1 (update) AD6 of KDB3 and outputting a status log (FIG. 16D).
 (実施形態1の効果)
 このように本実施形態1による論理演算システム100では、会計システムなどの論理演算システムを多様体として捉え、この多様体に対する複数の論理入力、例えば複数のレコードを、多様体上に形成された個々の局所座標系(例えば個々の会計帳簿)毎に集計し、各局所座標系の論理出力(例えば個々の会計帳簿における集計結果)をリアルタイムで生成することができる。
(Effect of Embodiment 1)
As described above, in the logical operation system 100 according to the first embodiment, a logical operation system such as an accounting system is regarded as a manifold, and a plurality of logical inputs to the manifold, for example, a plurality of records, are individually formed on the manifold. For each local coordinate system (for example, individual accounting books), and a logical output of each local coordinate system (for example, a counting result in each accounting book) can be generated in real time.
 なお、上記実施形態1では、3つの会計帳簿を有する会計システムを例に挙げて本発明の論理演算システムを説明したが、本発明の論理演算システムは、上記実施形態1のものに限定されるものではない。 In the first embodiment, the logical operation system of the present invention has been described by taking an accounting system having three accounting books as an example. However, the logical operation system of the present invention is limited to that of the first embodiment. It is not a thing.
 例えば、市場データなどの時々刻々と変化する量の統計をとるリアルタイム統計システムや、工場などにおける部品管理、さらにはスーパーマーケットなどにおける在庫管理などを行うシステムも、本発明の論理演算システムにより実現することができる。
 以下、上記実施形態1で説明した論理演算システム100に、性能測定用仕様を適用して具体的な処理時間の測定を行って得られた結果について説明する。
 図45は、本発明の実施形態1による論理演算システムにおける入力データを処理したときの処理時間を説明する図であり、図45(a)は処理内容、図45(b)は処理時間を示している。
 ここで、入力データは、実施形態1で説明した会計伝票データに相当するものであるが、キー項目の桁数は10桁(6桁、4桁)とし、集計項目(借方、貸方、残高など)は、20項目として1項目を10桁で表すものとし、さらに文字項目(実際の金額などを表示する項目)を1項目として50桁で表すものとしている。
 このような会計伝票データDの100万件分を入力ファイルとして準備している。
 入力ファイルFinにおける会計伝票データDは、キー項目、集計項目(文字)、文字項目が含まれている。ここで、キー項目(例えば、売掛金を示すコード)は10桁で表されており、集計項目(文字)は、売掛金の金額を記号で示しており、10桁×20項目で表されており、さらに、文字項目は『売掛金』という項目の説明であり、50桁×1項目で表されている。
 このような会計伝票データがメモリM内に読み込まれてテーブルMT1として格納される。
 さらにこのように格納され会計伝票データの一件毎に、知識データベース20aとして構築されている論理出力構造(例えば、試算表)が更新される。
 このとき、入力ファイルから、100万件分の会計伝票データを、貸方計や借方計などの小計項目を含めずにメモリM内に読み込むのに要する時間は、2.64秒であり、さらに、メモリM内に読み込んだ100万件分の会計伝票データ(貸方計や借方計などの小計項目を含まない)に基づいて論理出力構造(例えば、試算表)20aを更新するのに要する時間が2.65秒であった。
 また、入力ファイルから、100万件分の会計伝票データを、貸方計や借方計などの小計項目を含めてメモリM内に読み込むのに要する時間は、2.64秒であり、さらに、メモリM内に読み込んだ100万件分の会計伝票データ(貸方計や借方計などの小計項目を含む)に基づいて論理出力構造(例えば、試算表)20aを更新するのに要する時間が7.97秒であった。
 このとき用いたパーソナルコンピュータの性能は、CPU(2.93GHzx4)、メモリー(4GB)、キャッシュメモリ(8MB)であった。
 さらに、上記実施形態1では、論理演算システムとして、入力データに応じてカーネルが業務機能部100aから会計システムや売買システムなどの演算システムを読み出し、入力データに対応した論理出力構造を知識データベースとして構築し、入力データが入力される度に、論理出力構造を更新するものを示したが、本発明の論理演算システムは、カーネルが親エージョンとして、複数の論理出力構造を分散かつ協調させて管理し、それぞれの論理出力構造を、それぞれに対応するエージェント(決定性チューリングマシン)により更新させるようにした分散協調マルチエージェントシステムでもよい。
 (実施形態1の変形例)
 以下、本発明の実施形態1の変形例として、このような分散協調マルチエージェントシステムについて説明する。
 図38は、本実施形態1の変形例による分散協調マルチエージェントシステム(以下、単にマルチエージェントシステムという。)の全体構成を概略的に示すブロック図である。
 このマルチエージェントシステム1000は、親エージョンとしてシステム全体を管理するカーネル1100と、試算表としての論理出力構造1230に対応する試算表エージェント1200と、取引先別状況表(勘定科目:預金)としての論理出力構造1330に対応する状況表エージェント1300と、補助元帳(勘定科目:預金)としての論理出力構造1430に対応する補助元帳エージェント1400とを有し、カーネル1100が、複数の論理出力構造を分散かつ協調させて管理し、それぞれの論理出力構造を、それぞれに対応するエージェント(決定性チューリングマシン)1200、1300、1400により更新あるいは復旧させるようにしたものである。
 また、このマルチエージェントシステム1000は、ネットワークの状況、端末2(図1(a)参照)が設置されている地域の気候、災害情報などを監視する監視エージェント1500、伝票データの入力を行う伝票入力エージェント1600、このシステム内で格納した状態ログを送信する状態ログ送信エージェント1800、および外部のシステムで格納された状態ログを受信する状態ログ受信エージェント1900を有している。
 ここで、試算表エージェント1200は、試算表1230を更新する試算表更新エージェント1210と、試算表1230を復旧する試算表復旧エージェント1220とを含む。上記試算表1230は、実施形態1で説明したようにメモリ空間上に定義されており、試算表更新エージェント1210は、伝票入力を受けるたびに、伝票入力に含まれるキー情報に基づいて該当する科目(例えば預金)の該当する項目(例えば借方、貸方など)の金額を更新し、試算表復旧エージェント1220は、試算表の全項目の金額を一定時間毎に状態ログ格納部1240に格納するものである。
 また、状況表エージェント1300は、取引先別状況表1330を更新する状況表更新エージェント1310と、取引先別状況表1330を復旧する状況表復旧エージェント1320とを含む。上記取引先別状況表1330は、実施形態1で説明したようにメモリ空間上に定義されており、状況表更新エージェント1310は、伝票入力を受けるたびに、伝票入力に含まれるキー情報に基づいて該当する取引先(例えば銀行A)の該当する項目(例えば借方、貸方など)の金額を更新し、状況表復旧エージェント1320は、取引先別状況表1330の全項目の金額を一定時間毎に状態ログ格納部1340に格納するものである。
 また、補助元帳エージェント1400は、補助元帳1430を更新する補助元帳更新エージェント1410と、補助元帳1430を復旧する補助元帳復旧エージェント1420とを含む。上記補助元帳1430は、実施形態1で説明したようにメモリ空間上に定義されており、補助元帳更新エージェント1410は、伝票入力を受けるたびに、伝票入力に含まれるキー情報に基づいて該当する補助元帳1430の日付の該当する項目の金額を更新し、補助元帳復旧エージェント1420は、補助元帳1430の全項目の金額を一定時間毎に状態ログ格納部1440に格納するものである。
 なお、ここでは、各エージェントは、1つのプロセッサ内にプログラムにより仮想的に実現された仮想プロセッサとしている。
 このようなマルチエージェントシステム1000では、各エージェント(決定性チューリングマシン)は、カーネル1100の管理の下で分散(独立)して、かつ協調して動作し、例えば、試算表エージェント1200は伝票入力を受ける度に試算表を更新するとともに、状態ログ格納部1240に一定周期で試算表の各項目の値を格納する。
 従って、試算表エージェント1200における試算表更新エージェント1210は、実施形態1の状態遷移表Ts4(図10)で定義されたチューリングマシンと同等な機能を有しており、以下試算表の更新について説明する。
 ただし、論理入力構造および論理出力構造はベクトル空間として捕らえることができ、ここでは、試算表の更新プロセス、つまり、入力データ一件毎に解が求められるプロセスを、ベクトル空間を更新する処理として説明する。
 図39は、試算表(論理出力構造)の更新をベクトル空間の更新として説明する図である。
 預金(2000円)、売掛金(2000円)を示す会計伝票である入力データD1aは、試算表の関連するキー項目を用いた入力ベクトル空間D1bに対応つけられる。
 そして、再帰差分方程式(Y(n)=Y(n-1)+d(n))に従って、チューリングマシン1310が、入力ベクトル空間D1bに基づいて出力ベクトル空間Y(0)をベクトル空間Y(1)に更新する。
 ここで、出力ベクトル空間Y(0)は初期状態の試算表であり、出力ベクトル空間Y(1)は、預金と(借方計)の位置の値を更新した状態の試算表であり、さらに、出力ベクトル空間Y(2)は売掛金と(貸方計)の位置の値を更新した状態の試算表である。
 ここで、2次元のベクトル空間内の位置YABでの値YAB(n)を以下のとおり定義する。
 Y11:預金の借方、Y13:預金の残高
 Y22:売掛金の貸方、Y23:売掛金の残高
 Y31:(借方計)の借方、Y32:(借方計)の貸方、Y33:(借方計)の残高
 再帰差分方程式:Y(n)=Y(n-1)+d(n) (dは伝票データ)
 (初期状態)
 初期状態のベクトル空間Y(0)における上記各位置の値は以下のとおりである。
 預金の借方Y11(0)=15000、預金の残高Y13(0)=14310、売掛金の貸方Y22(0)=18700、売掛金の残高Y23(0)=7180、(借方計)の借方Y31(0)=59570、(借方計)の貸方Y32(0)=30250、(借方計)の残高Y33(0)=56160
 (伝票データ1件目)
 伝票データ1件目が入力されると、初期状態のベクトル空間における上記各位置の値は以下のとおり更新される。
 Y11(1)=Y11(0)+d(1)=15000+2000=17000
 Y13(1)=Y13(0)+d(1)=14310+2000=16310
 Y31(1)=Y31(0)+d(1)=59570+2000=61570
 Y33(1)=Y33(0)+d(1)=56160+2000=58160
 (伝票データ2件目)
 伝票データ2件目が入力されると、伝票データ1件目が入力されたときのベクトル空間Y(1)における上記各位置の値は以下のとおり更新される。
 Y22(2)=Y22(1)+d(2)=18700+2000=20700
 Y23(2)=Y23(1)+d(2)=7810+(-2000)=5810
 Y32(2)=Y32(1)+d(2)=30250+2000=32250
 Y33(2)=Y33(1)+d(2)=58160+(-2000)=56160
 このように伝票データ(ベクトル空間)により初期条件が定められたベクトル空間(論理出力構造)を、伝票データとしてのベクトル空間における点と論理出力構造としてのベクトル空間における点とを1対1に対応付けるアルゴリズム(1対1対応アルゴリズム)で更新すると、論理出力構造における解(各点の値)は、一意に定まり、知識となる。
 この実施形態1の変形例では、エージェントをチューリングマシンとし、再帰的枚挙で入力データの1件毎に瞬時に解を出す。分散協調マルチエージェントはビジネスソリューションセンターとして運行可能である。
 また、マルチエージェントによりマルチタスクが可能であり、さらに、カーネルによる障害管理を実現している。
 各論理出力構造における値を状態ログに格納しておくことで、平常時と災害時のシームレスな運行が可能である。
 さらに、このシステムでは、問題、つまり試算表、状況表、補助元帳の更新という問題を、再帰分割し、エージェントも再帰分割し、分散協調で、問題を解決している。線形システムにより分割された解は重ね合わせの原理で合成することができる。
 また、知識データベースの共有でナレッジサイクルを実現している。
 つまり、論理入力(伝票データ)により更新される論理出力構造は、別の論理出力構造の論理入力構造となり得るものであることから、上記実施形態1あるいはその変形例のように論理入力により論理出力構造を更新するシステムでは、得られた論理出力構造(知識)を再利用して新たな知識(別の論理出力構造)を創造することができ、これをナレッジ・サイクル・イネーブリングという。
 以下、このようなナレッジ・サイクル・イネーブリングについて具体例を挙げて簡単に説明する。
 図40は、決算整理におけるナレッジ・サイクル・イネーブリングを説明する図である。
 貸倒引当金繰入(100)、貸倒引当金(100)を含む入力データ(決算修正仕訳)D2aは、論理入力構造D2bに変換される。
 この論理入力構造D2bに基づいて、決算整理修正仕訳機能を有する決定性チューリングマシン2100が残高試算表(論理出力構造)RSaを知識データベースとして作成する。
 作成された残高試算表RSaは、精算表作成機能を有する決定性チューリングマシン2200の論理入力構造となり、この論理入力構造から決定性チューリングマシン2200により精算表(論理出力構造)RSbが作成される。
 図41は、精算表の貸借対照表部分から貸借対照表を作成するナレッジ・サイクル・イネーブリングを説明する図である。
 上記精算表RSbの貸借対照表部分RSbaを論理入力構造として、貸借対照表作成機能を有する決定性チューリングマシン(ソリュージョンエージェント)2300が、精算表RSbの貸借対照表部分RSbaに含まれる勘定科目のうち、貸借対照表に必要となる勘定科目を定義概念(オントロジー)DC1(図46に拡大して示す)を参照して抽出して、勘定科目と金額とを対応付けた貸借対照表RScを作成する。ここで、定義概念(オントロジー)DC1は、アメリカ合衆国政府が定義した貸借対照表に用いるべき項目である。
 続いて、BSインスタンス作成部2400は、タクソノミー(現在用いられている会計報告書のモデル)TXLからラベル要素抽出により得られる形式(BSラベルテーブル)BStを参照して、上記貸借対照表RScを英語に翻訳し、貸借対照表RSdを表現する電子帳票(XBRL:BS_インスタンス)RSc’を作成する。ここで、BSインスタンス作成部2400は、ソリュージョンエージェント2300により作成された貸借対照表(論理出力構造)RScを論理入力構造としてBSインスタンスRSc’を作成する機能を有する決定性チューリングマシンである。また、電子帳票(XBRL:BS_インスタンス)RSc’をHTML変換したものが貸借対照表RSdである。なお、図43は、電子帳票(XBRL:BS_インスタンス)RSc’の全体を示している。
 図42は、精算表から損益計算書を作成するナレッジ・サイクル・イネーブリングを説明する図である。
 上記精算表RSbの損益計算書部分RSbbを論理入力構造として、損益計算書作成機能を有する決定性チューリングマシン(ソリュージョンエージェント)2500が、精算表RSbの損益計算書部分RSbbに含まれる勘定科目のうち、損益対象表に必要となる勘定科目を定義概念(オントロジー)DC2(図47に拡大して示す)を参照して抽出して、勘定科目と金額とを対応付けた損益計算表RSeを作成する。ここで、定義概念(オントロジー)DC2は、アメリカ合衆国政府が定義した損益計算表に用いるべき項目である。
 続いて、PLインスタンス作成部2600は、タクソノミー(現在用いられている会計報告書のモデル)TXLからラベル要素抽出により得られる形式(PLラベルテーブル)PLtを参照して、上記損益計算書RSeを英語に翻訳し、損益計算書RSfを表現する電子帳票(PLインスタンス)RSe’を作成する。ここで、PLインスタンス作成部2600は、ソリュージョンエージェント2500により作成された損益計算書(論理出力構造)RSeを論理入力構造としてPLインスタンスRSe’を作成する機能を有する決定性チューリングマシンである。また、電子帳票(PL_インスタンス)RSe’をHTML変換したものが損益計算書RSfである。なお、図44は、電子帳票(PLインスタンス)RSe’の全体を示している。
 〔DSPによる論理演算〕
 また、上記のような論理演算入力から論理演算出力を求める処理は、あらゆる信号処理にも適用可能である。
 近年の携帯電話などのモバイル機器では、マルチメディアデータが扱われるようになっており、音声データや映像データなどの膨大なデータを圧縮して多重化して送信しており、データの送受信にはデジタル信号の高速演算処理が必要となってきており、このような高速演算処理を行う能力を持つプロセッサはDSPの他にはなく、DSP(デジタル・シグナル・プロセッサ)の改良が進められている。
 DSPの特徴は、高速乗算器を備え、メモリと高速演算器との間でのデータ転送を効率よく行うため、データバスとプログラムバスとを分離した構成(ハーバード型アーキテクチャー)を有している点であり、最近では、複数のデータバスと複数の演算器とを備えたものもある。
 例えば、DSPでは、デジタル信号処理を高速演算器とメモリを用いて高速で行うことができ、従って、DSPの前段にAD変換器を設け、その後段にDA変換器を設けることで、映像信号、音声信号、センサ出力、記録媒体から読み出された信号、無線通信により受信された信号、電話回線から受信した信号などのあらゆるアナログ信号をリアルタイムで処理して、表示装置、スピーカ、モータへの入力信号に変換したり、発光素子からの光信号の出射、あるいはアンテナからの送信を行ったりするなどの、信号受信、信号処理、および信号出力を高速で行うことができる。
 従って、本発明の基本概念は、メモリ空間上に演算結果として求められる論理出力構造(ベクトル空間)を定義し、入力データを論理入力構造(ベクトル空間)として捕らえて、ベクトル空間の各点の値に分解し、分解した値を、論理出力構造(ベクトル空間)の点の値に一対一に対応付けて瞬時に解を求めるものであることから、このような本発明の基本概念、つまりメモリと演算器との組み合わせで、論理入力構造における点の値から論理出力構造における値を更新する演算システムは、メモリと高速演算器との間のデータ転送を効率化したDSPの設計思想と極めてマッチしたものである。
 従って、本発明は、論理演算システムをDSP上に実装することで、現在行われている携帯電話でのデータ処理を飛躍的に高速化することが可能となり、携帯電話などのモバイル機器で膨大な演算を短時間で行うことができることとなる。
For example, the logical operation system of the present invention also realizes a real-time statistical system that takes statistics of the amount that changes every moment such as market data, parts management in factories, etc., and inventory management in supermarkets, etc. Can do.
Hereinafter, a result obtained by measuring the specific processing time by applying the performance measurement specification to the logical operation system 100 described in the first embodiment will be described.
FIG. 45 is a diagram for explaining processing time when input data is processed in the logical operation system according to the first embodiment of the present invention. FIG. 45 (a) shows processing contents, and FIG. 45 (b) shows processing time. ing.
Here, the input data corresponds to the accounting slip data described in the first embodiment, but the number of digits of the key item is 10 digits (6 digits, 4 digits), and the total items (debit, credit, balance, etc.) ) Represents one item as 10 items with 10 digits, and further represents a character item (an item for displaying an actual amount of money) as one item with 50 digits.
One million cases of such accounting slip data D are prepared as input files.
The accounting slip data D in the input file Fin includes key items, summary items (characters), and character items. Here, the key item (for example, a code indicating the accounts receivable) is represented by 10 digits, and the tabulation item (character) represents the amount of the accounts receivable by a symbol, and is represented by 10 digits × 20 items. Furthermore, the text item is a description of the item “Accounts receivable”, and is represented by 50 digits × 1 item.
Such accounting slip data is read into the memory M and stored as the table MT1.
Further, the logical output structure (for example, trial calculation table) constructed as the knowledge database 20a is updated for each accounting slip data stored in this way.
At this time, it takes 2.64 seconds to read 1 million accounting slip data from the input file into the memory M without including subtotal items such as credit and debit totals. The time required to update the logical output structure (for example, trial calculation table) 20a based on the accounting slip data for 1 million items read into the memory M (not including subtotal items such as credit and debit totals) is 2 65 seconds.
Also, the time required to read 1 million accounting slip data from the input file into the memory M including subtotal items such as credit and debit totals is 2.64 seconds, and the memory M The time required to update the logical output structure (for example, trial calculation table) 20a based on the accounting slip data (including subtotal items such as credit and debit totals) for 1 million records read in 7.97 seconds Met.
The performance of the personal computer used at this time was a CPU (2.93 GHz × 4), a memory (4 GB), and a cache memory (8 MB).
Further, in the first embodiment, as a logical operation system, the kernel reads out an operation system such as an accounting system or a trading system from the business function unit 100a according to input data, and constructs a logical output structure corresponding to the input data as a knowledge database. Although the logical operation system is updated every time input data is input, the logical operation system of the present invention manages a plurality of logical output structures in a distributed and coordinated manner as a parent age. In addition, a distributed cooperative multi-agent system may be used in which each logical output structure is updated by a corresponding agent (deterministic Turing machine).
(Modification of Embodiment 1)
Hereinafter, such a distributed cooperative multi-agent system will be described as a modification of the first embodiment of the present invention.
FIG. 38 is a block diagram schematically showing an overall configuration of a distributed cooperative multi-agent system (hereinafter simply referred to as a multi-agent system) according to a modification of the first embodiment.
This multi-agent system 1000 includes a kernel 1100 that manages the entire system as a parent agent, a trial calculation table agent 1200 that corresponds to a logical output structure 1230 as a trial calculation table, and a logic as a situation table (account item: deposit) for each customer. A status table agent 1300 corresponding to the output structure 1330 and a subledger agent 1400 corresponding to the logical output structure 1430 as a subledger (account item: deposit), and the kernel 1100 distributes a plurality of logical output structures The logic output structures are updated or restored by agents (deterministic Turing machines) 1200, 1300, and 1400 corresponding to the respective logical output structures.
The multi-agent system 1000 includes a monitoring agent 1500 that monitors the network status, the climate of the area where the terminal 2 (see FIG. 1A) is installed, disaster information, and the like, and slip input that inputs slip data. It has an agent 1600, a status log transmission agent 1800 that transmits a status log stored in the system, and a status log reception agent 1900 that receives a status log stored in an external system.
Here, the trial balance agent 1200 includes a trial balance update agent 1210 that updates the trial balance 1230 and a trial balance restoration agent 1220 that restores the trial balance 1230. The trial calculation table 1230 is defined in the memory space as described in the first embodiment, and each time the trial calculation table update agent 1210 receives a slip input, the corresponding subject is based on the key information included in the slip input. The amount of the corresponding item (for example, debit, credit) of the (e.g. deposit) is updated, and the trial balance table recovery agent 1220 stores the amount of all items of the trial balance table in the status log storage unit 1240 at regular intervals. is there.
Further, the situation table agent 1300 includes a situation table update agent 1310 for updating the supplier-specific situation table 1330 and a situation table restoration agent 1320 for recovering the supplier-specific situation table 1330. The supplier-specific status table 1330 is defined in the memory space as described in the first embodiment, and the status table update agent 1310 is based on key information included in the slip input each time a slip input is received. The amount of the corresponding item (for example, debit, credit, etc.) of the corresponding business partner (for example, bank A) is updated, and the status table recovery agent 1320 changes the status of all items in the status table 1330 for each business partner at regular intervals. This is stored in the log storage unit 1340.
The subledger agent 1400 includes a subledger update agent 1410 that updates the subledger 1430 and a subledger recovery agent 1420 that recovers the subledger 1430. The auxiliary ledger 1430 is defined in the memory space as described in the first embodiment. The auxiliary ledger update agent 1410 receives the corresponding auxiliary information based on the key information included in the slip input every time the slip input is received. The amount of the item corresponding to the date of the ledger 1430 is updated, and the auxiliary ledger recovery agent 1420 stores the amount of all items of the auxiliary ledger 1430 in the status log storage unit 1440 at regular intervals.
Here, each agent is a virtual processor virtually realized by a program in one processor.
In such a multi-agent system 1000, each agent (deterministic Turing machine) operates in a distributed (independent) and coordinated manner under the management of the kernel 1100. For example, the trial balance agent 1200 receives a slip input. Each time the trial calculation table is updated, the value of each item of the trial calculation table is stored in the state log storage unit 1240 at a constant cycle.
Therefore, the trial calculation table update agent 1210 in the trial calculation table agent 1200 has a function equivalent to the Turing machine defined in the state transition table Ts4 (FIG. 10) of the first embodiment, and the update of the trial calculation table will be described below. .
However, the logical input structure and the logical output structure can be regarded as a vector space. Here, the update process of the trial calculation table, that is, the process that requires a solution for each input data is described as the process of updating the vector space. To do.
FIG. 39 is a diagram for explaining the update of the trial calculation table (logical output structure) as the update of the vector space.
Input data D1a, which is an accounting slip indicating a deposit (2000 yen) and accounts receivable (2000 yen), is associated with an input vector space D1b using related key items of the trial calculation table.
Then, according to the recursive difference equation (Y (n) = Y (n−1) + d (n)), the Turing machine 1310 converts the output vector space Y (0) into the vector space Y (1) based on the input vector space D1b. Update to
Here, the output vector space Y (0) is a trial calculation table in the initial state, the output vector space Y (1) is a trial calculation table in a state where the values of the deposit and (debit total) positions are updated, and The output vector space Y (2) is a trial calculation table in a state in which the value of the position of the accounts receivable and the (credit meter) is updated.
Here, a value Y AB (n) at a position Y AB in the two-dimensional vector space is defined as follows.
Y 11 : Debit of deposit, Y 13 : Balance of deposit Y 22 : Credit of accounts receivable, Y 23 : Balance of accounts receivable Y 31 : Debit of (debit), Y 32 : Credit of (debit), Y 33 :( Debit balance) Recursive difference equation: Y (n) = Y (n-1) + d (n) (d is slip data)
(initial state)
The value of each position in the vector space Y (0) in the initial state is as follows.
Debit of deposit Y 11 (0) = 15000, Deposit balance Y 13 (0) = 14310, Accounts receivable Y 22 (0) = 18700, Accounts receivable balance Y 23 (0) = 7180, Debit (debit) Y 31 (0) = 59570, (debit total) credit Y 32 (0) = 30250, (debit total) balance Y 33 (0) = 56160
(Voucher data 1st)
When the first slip data is input, the value of each position in the initial vector space is updated as follows.
Y 11 (1) = Y 11 (0) + d 1 (1) = 15000 + 2000 = 17000
Y 13 (1) = Y 13 (0) + d 3 (1) = 14310 + 2000 = 16310
Y 31 (1) = Y 31 (0) + d 1 (1) = 59570 + 2000 = 61570
Y 33 (1) = Y 33 (0) + d 3 (1) = 56160 + 2000 = 58160
(2nd slip data)
When the second slip data is input, the value of each position in the vector space Y (1) when the first slip data is input is updated as follows.
Y 22 (2) = Y 22 (1) + d 2 (2) = 18700 + 2000 = 20700
Y 23 (2) = Y 23 (1) + d 3 (2) = 7810 + (− 2000) = 5810
Y 32 (2) = Y 32 (1) + d 2 (2) = 30250 + 2000 = 32250
Y 33 (2) = Y 33 (1) + d 3 (2) = 58160 + (− 2000) = 56160
In this way, the vector space (logical output structure) in which the initial conditions are defined by the slip data (vector space) is associated one-to-one with the point in the vector space as the slip data and the point in the vector space as the logical output structure. When updated with an algorithm (one-to-one correspondence algorithm), the solution (value of each point) in the logical output structure is uniquely determined and becomes knowledge.
In the modification of the first embodiment, the agent is a Turing machine, and a solution is instantaneously obtained for each input data by recursive enumeration. Distributed cooperative multi-agent can operate as a business solution center.
In addition, multi-tasking is possible with multi-agents, and failure management by the kernel is realized.
By storing values in each logical output structure in the status log, seamless operation during normal times and disasters is possible.
Further, in this system, the problem, that is, the problem of updating the trial calculation table, the situation table, and the auxiliary ledger is recursively divided, and the agent is also recursively divided to solve the problem by distributed cooperation. Solutions divided by the linear system can be synthesized on the principle of superposition.
The knowledge cycle is realized by sharing the knowledge database.
That is, since the logical output structure updated by the logical input (slip data) can be a logical input structure of another logical output structure, the logical output is performed by the logical input as in the first embodiment or its modification. In the system for updating the structure, the obtained logic output structure (knowledge) can be reused to create new knowledge (another logic output structure), which is called knowledge cycle enabling.
Hereinafter, such knowledge cycle enabling will be briefly described with specific examples.
FIG. 40 is a diagram for explaining knowledge cycle enabling in settlement of accounts.
The input data (final adjustment journal) D2a including provision for allowance for doubtful accounts (100) and allowance for doubtful accounts (100) is converted into a logical input structure D2b.
Based on this logical input structure D2b, a deterministic Turing machine 2100 having a settlement settlement correction journalizing function creates a balance trial calculation table (logical output structure) RSa as a knowledge database.
The created balance trial calculation table RSa becomes a logical input structure of the deterministic Turing machine 2200 having a checkout table generation function, and a checkout table (logical output structure) RSb is generated from the logical input structure by the deterministic Turing machine 2200.
FIG. 41 is a diagram for explaining knowledge cycle enabling for creating a balance sheet from the balance sheet portion of the checkout table.
The deterministic Turing machine (Solution Agent) 2300 having a balance sheet creation function using the balance sheet part RSba of the check sheet RSb as a logical input structure, among the account items included in the balance sheet part RSba of the check sheet RSb, The account items necessary for the balance sheet are extracted with reference to the definition concept (ontology) DC1 (shown in an enlarged manner in FIG. 46), and the balance sheet RSc in which the account items are associated with the amounts is created. Here, the definition concept (ontology) DC1 is an item to be used in the balance sheet defined by the US government.
Subsequently, the BS instance creation unit 2400 refers to the format (BS label table) BSt obtained by extracting the label elements from the taxonomy (currently used accounting report model) TXL, and converts the balance sheet RSc into English. The electronic form (XBRL: BS_instance) RSc ′ expressing the balance sheet RSd is created. Here, the BS instance creation unit 2400 is a deterministic Turing machine having a function of creating a BS instance RSc ′ using the balance sheet (logical output structure) RSc created by the solution agent 2300 as a logical input structure. Further, the balance sheet RSd is obtained by converting the electronic form (XBRL: BS_instance) RSc ′ into HTML. FIG. 43 shows the entire electronic form (XBRL: BS_instance) RSc ′.
FIG. 42 is a diagram for explaining knowledge cycle enabling for creating a profit and loss statement from the checkout table.
The deterministic Turing Machine (Solution Agent) 2500 having a profit and loss statement creation function with the profit and loss statement portion RSbb of the balance sheet RSb as a logical input structure is included in the account items included in the profit and loss statement portion RSbb of the balance sheet RSb, Account items necessary for the profit and loss object table are extracted with reference to the definition concept (ontology) DC2 (shown in an enlarged manner in FIG. 47), and a profit and loss calculation table RSe in which the account items and amounts are associated with each other is created. Here, the definition concept (ontology) DC2 is an item to be used in the profit and loss calculation table defined by the United States government.
Subsequently, the PL instance creation unit 2600 refers to the format (PL label table) PLt obtained by extracting the label elements from the taxonomy (currently used accounting report model) TXL, and converts the income statement RSe into English. To generate an electronic form (PL instance) RSe ′ expressing the income statement RSf. Here, the PL instance creation unit 2600 is a deterministic Turing machine having a function of creating a PL instance RSe ′ using the profit and loss statement (logical output structure) RSe created by the solution agent 2500 as a logical input structure. Further, the profit / loss statement RSf is obtained by converting the electronic form (PL_instance) RSe ′ into HTML. FIG. 44 shows the entire electronic form (PL instance) RSe ′.
[Logical operations by DSP]
Further, the processing for obtaining the logical operation output from the logical operation input as described above can be applied to any signal processing.
In recent mobile devices such as mobile phones, multimedia data is handled, and enormous amounts of data such as audio data and video data are compressed and multiplexed before being transmitted. There is a need for high-speed signal processing, and there is no processor having the capability of performing such high-speed processing in addition to DSP, and improvements to DSPs (digital signal processors) are underway.
The DSP features a high-speed multiplier and has a configuration (Harvard architecture) in which the data bus and the program bus are separated in order to efficiently transfer data between the memory and the high-speed arithmetic unit. Recently, some have a plurality of data buses and a plurality of arithmetic units.
For example, in a DSP, digital signal processing can be performed at high speed using a high-speed arithmetic unit and a memory. Therefore, an AD converter is provided in the front stage of the DSP and a DA converter is provided in the subsequent stage. All analog signals such as audio signals, sensor outputs, signals read from recording media, signals received via wireless communication, and signals received from telephone lines are processed in real time and input to display devices, speakers, and motors. Signal reception, signal processing, and signal output, such as conversion to a signal, emission of an optical signal from a light emitting element, or transmission from an antenna, can be performed at high speed.
Therefore, the basic concept of the present invention is to define a logical output structure (vector space) obtained as an operation result on the memory space, capture input data as a logical input structure (vector space), and determine the value of each point in the vector space. And the value obtained by the decomposition is instantaneously obtained in one-to-one correspondence with the values of the points of the logical output structure (vector space), so that the basic concept of the present invention, that is, the memory and The arithmetic system that updates the value in the logical output structure from the point value in the logical input structure in combination with the arithmetic unit is extremely matched with the DSP design philosophy that streamlines the data transfer between the memory and the high-speed arithmetic unit. Is.
Therefore, according to the present invention, by implementing a logical operation system on a DSP, it is possible to dramatically speed up the data processing currently being performed on a mobile phone, which is enormous in mobile devices such as mobile phones. The calculation can be performed in a short time.
 (実施形態2)
 次に本発明の実施形態2として、上記実施形態1のホストコンピュータ3にクライアントが要求するリアルタイム演算システムとして機能させるためのプログラムを自動生成するプログラム自動生成装置について説明する。
(Embodiment 2)
Next, as a second embodiment of the present invention, an automatic program generation apparatus that automatically generates a program for causing the host computer 3 of the first embodiment to function as a real-time arithmetic system requested by a client will be described.
 まず、プログラム自動生成装置の構成について説明する。 First, the configuration of the automatic program generation device will be described.
 図33は、本実施形態2のプログラム自動生成装置を構成する図である。 FIG. 33 is a diagram of the automatic program generation apparatus according to the second embodiment.
 このプログラム自動生成装置200は、プログラムを状態遷移図あるいは状態遷移表から自動生成するプログラム自動生成装置であって、該状態遷移図あるいは状態遷移表が示す第1の情報から中間情報である第2~第4の情報を作成する中間情報作成部210と、該第2~第4の情報に基づいて、該プログラムのソースコードを生成するソースコード作成部220とを有している。 The automatic program generation apparatus 200 is an automatic program generation apparatus that automatically generates a program from a state transition diagram or a state transition table, and is a second information that is intermediate information from the first information indicated by the state transition diagram or the state transition table. An intermediate information creating unit 210 for creating fourth information, and a source code creating unit 220 for generating source code of the program based on the second to fourth information.
 ここで、前記第1の情報は、コンピュータが、どの状態のときに、どの入力があると、どの処理を行って、どの状態に遷移するかを示す情報である。中間情報作成部210は、該第1の情報に含まれる現状態と処理条件とを示す情報に基づいて、該コンピュータが現状態でどれだけの条件を判定するかを示す情報を該第2の情報として作成し、該第1の情報に含まれる条件内容と次状態とを示す情報に基づいて、該コンピュータがどのような条件でどれだけの処理を行って次の状態に移るかを示す情報を該第3の情報として作成し、該第1の情報に含まれる条件の判断と処理の実行の順序を示す情報に基づいて、該コンピュータが判断する条件と該コンピュータが実行する処理とを順に示す情報として、該第4の情報を作成する。 Here, the first information is information indicating which process is performed and which process is performed when there is any input when the computer is in which state. The intermediate information creation unit 210 obtains information indicating how much condition the computer determines in the current state based on information indicating the current state and processing conditions included in the first information. Information created as information and indicating how much processing the computer performs under the conditions and the next state based on the information indicating the condition contents and the next state included in the first information Is generated as the third information, and the conditions determined by the computer and the processing executed by the computer are sequentially executed based on the information indicating the determination of the conditions included in the first information and the order of execution of the processing. The fourth information is created as information to be shown.
 また、前記ソースコード作成部220は、該第2及び3の情報に基づいて、前記コンピュータの各状態への遷移を示すソースコードを生成し、該第4の情報に基づいて、該コンピュータが実行する前記条件及び前記処理を示すソースコードを生成する。 The source code creation unit 220 generates a source code indicating a transition to each state of the computer based on the second and third information, and is executed by the computer based on the fourth information. A source code indicating the conditions to be processed and the processing is generated.
 なお、このようなプログラム自動生成処理は、コンピュータにより行われるものであり、コンピュータは、プログラム自動生成プログラムが格納した記録媒体からプログラム自動生成プログラムを読み取って、上記プログラム自動生成処理を実行する。 Note that such automatic program generation processing is performed by a computer, and the computer reads the automatic program generation program from a recording medium stored in the automatic program generation program and executes the automatic program generation processing.
 次にプログラム自動生成装置の動作について説明する。
A.状態遷移表からプログラム生成のための表を生成する処理
 まず、上記各状態遷移表Ts1~Ts6が示す動作をコンピュータが行うためのプログラムを生成するための表2~表4を作成する方法を説明する。
Next, the operation of the automatic program generation device will be described.
A. Processing for generating a table for generating a program from the state transition table First, a method for creating Tables 2 to 4 for generating a program for the computer to perform the operations indicated by the state transition tables Ts1 to Ts6 will be described. To do.
 図17は、関数(TRANSACTION)を表す状態遷移表(表1)Ts1から、この状態遷移表が示す動作を行うプログラムを生成するための表2~表4を作成する方法を説明する図である。図18は、この方法により得られるプログラムのソースファイルを示す図である。また、状態遷移表(表1)から上記表2~4を生成するフローに相当する手順は図31に示すとおりである。 FIG. 17 is a diagram for explaining a method of creating Tables 2 to 4 for generating a program for performing the operation indicated by the state transition table from the state transition table (Table 1) Ts1 representing the function (TRANSACTION). . FIG. 18 is a diagram showing a source file of a program obtained by this method. Further, the procedure corresponding to the flow for generating the above tables 2 to 4 from the state transition table (Table 1) is as shown in FIG.
 ここで、表2は、特定のマシン(コンピュータ)が、現状態でどれだけの条件を判定するかを示す表である。表3は、コンピュータが、どのような条件でどれだけの処理を行って次の状態に移るかを示す表である。表4は、コンピュータが判断する条件と、コンピュータが実行する処理とを、状態遷移表が示すコンピュータの処理手順の順に示す表である。 Here, Table 2 is a table showing how many conditions a specific machine (computer) determines in the current state. Table 3 is a table showing how much processing is performed by the computer under what conditions to move to the next state. Table 4 is a table showing the conditions determined by the computer and the processing executed by the computer in the order of the processing procedure of the computer indicated by the state transition table.
 具体的には、表2は、各状態遷移表を有限状態マシンとしたときにこのマシンを特定するマシン番号を示す欄「マシン」、現状態を示す欄「現状態」、現状態で判定する1以上の条件の最初のものと最後のものを示す欄「from」、「to」を含んでいる。この表2のNoの欄の行番号は、状態遷移表Ts1における現状態の値に対応している。ここで、有限状態マシンは、1つのチューリングマシンであり、プログラムに基づいたコンピュータによる演算機能である。 Specifically, in Table 2, when each state transition table is a finite state machine, the column “machine” indicating the machine number identifying this machine, the column “current state” indicating the current state, and the current state are determined. It includes columns “from” and “to” indicating the first and last conditions of one or more conditions. The row number in the No column of Table 2 corresponds to the value of the current state in the state transition table Ts1. Here, the finite state machine is one Turing machine, which is an arithmetic function by a computer based on a program.
 表3は、条件の内容を示す欄「条件内容」、その条件の下で行う1以上の処理の最初のものと最後のものを示す欄「from」、「to」、および最後の処理を行った後に遷移する遷移先状態を示す欄「次状態」を含んでいる。この表3のNoの欄の行番号は、状態遷移表Ts1における条件の欄に現われる条件の順番に対応している。 Table 3 shows a column “Condition content” indicating the content of the condition, columns “from” and “to” indicating the first and last of one or more processes performed under the condition, and the last process. In addition, a column “next state” indicating a transition destination state to be transitioned after is included. The row numbers in the No column of Table 3 correspond to the order of conditions appearing in the condition column in the state transition table Ts1.
 表4は、条件および処理の内容を示す欄「内容」を含んでおり、この表4のNoの欄の行番号は、状態遷移表Ts1の条件の欄および処理の欄に現われる条件および処理の順番に対応している。 Table 4 includes a column “content” indicating the condition and the content of the process. The row number in the No column of this table 4 indicates the condition and the process appearing in the condition column and the process column of the state transition table Ts1. It corresponds to the order.
 次に、表1から上記表2~表4を作成する方法について説明する。 Next, a method for creating Tables 2 to 4 from Table 1 will be described.
 まず、状態遷移表Ts1では、マシンの現状態は1~3の3つであるので、表2(図17(b))には、各現状態に対応したNo1~No3までの欄が順次設けられる。また、この状態遷移表Ts1では、条件は4つ含まれているので、表3(図17(c))には、各条件に対応したNo1~No4までの欄が順次設けられる。また、この状態遷移表Ts1では、6つの処理と、1つの条件(無条件を含まない)とがあるため、表4(図17(d))には、これらの個数をあわせた個数に対応したNo1~No7までの欄が順次設けられる。
〔状態遷移表Ts1の1行目の処理〕
 (1.表1の1件目の入力)
 表1の1件目(No1)の入力に対して、下記の1.1~1.5の処理を順次行う。
First, in the state transition table Ts1, since the current state of the machine is three of 1 to 3, in Table 2 (FIG. 17B), columns No1 to No3 corresponding to each current state are sequentially provided. It is done. In the state transition table Ts1, since four conditions are included, the columns No1 to No4 corresponding to the respective conditions are sequentially provided in Table 3 (FIG. 17C). Further, in this state transition table Ts1, since there are six processes and one condition (not including unconditional), Table 4 (FIG. 17 (d)) corresponds to the total number of these. The columns No. 1 to No. 7 are sequentially provided.
[Process of the first row of the state transition table Ts1]
(1. First entry in Table 1)
For the first entry (No. 1) in Table 1, the following 1.1 to 1.5 processes are sequentially performed.
 ここで、表1は、上記状態遷移表Ts1~Ts6のいずれかであり、具体例としては、状態遷移表Ts1(図17(a))を挙げて説明する。 Here, Table 1 is one of the state transition tables Ts1 to Ts6, and a specific example will be described with reference to the state transition table Ts1 (FIG. 17A).
 (1.1 入力/条件の判定)
 ここで、入力/条件とは、入力した表1の行の項目の「条件」の値を言う。以下、この表現を用いる。
(1.1 Judgment of input / conditions)
Here, the input / condition refers to the value of the “condition” of the input item in the row of Table 1. Hereinafter, this expression is used.
  a)入力/条件≠「-(無条件)」の場合、つまり、条件が「-」以外の場合は、入力/条件を表4に追加する。このとき、表4の行番号を◆条件行に設定する。この条件行の表現のように先頭に◆を付けたものは、変数を意味するものとし、ここでは「◆条件行」は変数を意味している。 A) If the input / condition is not “-(unconditional)”, that is, if the condition is other than “-”, the input / condition is added to Table 4. At this time, the line number in Table 4 is set to the ◆ condition line. As in the expression of the conditional line, the one with a asterisk at the head means a variable. Here, the “◆ conditional line” means a variable.
  b)上記以外の場合、◆条件行に-1を格納する。 B) Otherwise, store -1 in the condition line.
 状態遷移表Ts1の場合、第1行目の条件は「-」であるので、◆条件行に「-1」を格納する。 In the case of the state transition table Ts1, since the condition on the first line is “−”, “−1” is stored in the condition line.
 (1.2 入力/処理の判定)
 この入力処理の判定は、入力/処理が空白であるか否かの判定を行い、判定結果を表4に格納する。
(1.2 Judgment of input / processing)
In this input process determination, it is determined whether or not the input / process is blank, and the determination result is stored in Table 4.
 a)入力/処理≠空白の場合は、入力/処理を表4に追加する。このとき表4の行番号「1」を◆処理行に格納する。この処理行の表現のように先頭に◆を付けたものは、変数を意味するものとし、ここでは「◆処理行」は変数を意味している。 A) If input / processing ≠ blank, input / processing is added to Table 4. At this time, the line number “1” in Table 4 is stored in the processing line. As shown in this processing line, a symbol with a head is a variable, and “◆ processing line” here means a variable.
 b)上記以外の場合、変数としての◆処理行に-1を格納する。 B) In other cases, -1 is stored in the ◆ processing line as a variable.
 具体的には、状態遷移表(表1)Ts1の場合を考えると、この表1の1行目の入力/処理は「rtn=ACC_LOAD」であるため、表4の1行目の内容には、「rtn=ACC_LOAD」が格納される。表4の行番号「1」が◆処理行に格納される。 Specifically, considering the case of the state transition table (Table 1) Ts1, since the input / processing of the first row of Table 1 is “rtn = ACC_LOAD”, the contents of the first row of Table 4 include , “Rtn = ACC_LOAD” is stored. The row number “1” in Table 4 is stored in the processing row.
 (1.3 表3に対する値の追加)
 次に、表4にて追加した行番号「1」を、この時点での◆表3(変数)の値とする。
(1.3 Addition of values to Table 3)
Next, the row number “1” added in Table 4 is set as the value of ◆ Table 3 (variable) at this time.
 追加時の表3の項目は以下のとおりである。 The items in Table 3 at the time of addition are as follows.
 条件内容には、◆条件行(変数)の値「-1」が格納される。 In the condition contents, the value “-1” of the condition line (variable) is stored.
 FROMには、◆処理行(変数)の値「1」が格納される。 In FROM, the value “1” of the processing line (variable) is stored.
 TOには、◆処理行(変数)の値「1」が格納される。 The value “1” of the processing line (variable) is stored in TO.
 次状態には、入力/次状態(状態遷移表Ts1の1行目の次状態)「2」が格納される。 In the next state, the input / next state (next state in the first row of the state transition table Ts1) “2” is stored.
 (1.4 表2に対する行の追加)
 追加した行番号「1」を、この時点での◆表2(変数)の値とする。
(1.4 Addition of rows to Table 2)
The added line number “1” is set to the value of ◆ Table 2 (variable) at this time.
 追加時の表2の各項目は以下のとおりである。 The items in Table 2 at the time of addition are as follows.
 表2のマシンには「1」が格納され、表2の現状態には、状態遷移表Ts1の入力/現状態の値「1」が格納され、表2のTOには、この時点での◆表3(変数)の値「1」が格納され、表2のFROMには、同様に、◆表3(変数)の値「1」が格納される。 The machine in Table 2 stores “1”, the current state in Table 2 stores the input / current state value “1” of the state transition table Ts1, and the TO in Table 2 stores the value at this time. ◆ The value “1” of Table 3 (variable) is stored, and the value “1” of Table 3 (variable) is similarly stored in the FROM of Table 2.
 (1.5 表1の読込み)
 ここでは、以下に示す表1の2行目の以降の処理を行う。
〔状態遷移表Ts1の2行目の処理〕
 (2. 表1の2行目以降の処理)
 (2.1 表1の読込み)
 表1の読込みで、2行目以降の処理があるか否かを判定し、つまり、EOF(終わり)であるか否かを判定し、EOFであれば、処理を終了する。
(1.5 Reading Table 1)
Here, the subsequent processing in the second row of Table 1 shown below is performed.
[Process of the second row of the state transition table Ts1]
(2. Processing after the second line in Table 1)
(2.1 Reading Table 1)
In reading Table 1, it is determined whether or not there is processing for the second and subsequent lines, that is, whether or not it is EOF (end), and if it is EOF, the processing ends.
 状態遷移表Ts1の場合は、2行目以降も処理があるので、以下の判定処理が行われる。 In the case of the state transition table Ts1, since the second and subsequent lines are also processed, the following determination process is performed.
 (2.2 入力/現状態≠空白の判定)
 表1の入力/現状態≠空白の場合、上記の1.1/1.2/1.3/1.4/の処理を行い、後述の2.5の処理に行く。
(2.2 Judgment of input / current state ≠ blank)
When the input / current state ≠ blank in Table 1, the above processing of 1.1 / 1.2 / 1.3 / 1.4 / is performed, and the processing of 2.5 described later is performed.
 状態遷移表Ts1の場合は、入力/現状態=空白であるので、以下の判定処理が行われる。 In the case of the state transition table Ts1, since input / current state = blank, the following determination process is performed.
 (2.3 入力/現状態=空白 AND 入力/条件≠空白の判定)
 入力/現状態=空白 AND 入力/条件≠空白の場合、上記の1.1/1.2/1.3/の処理を行う。
(2.3 Input / current state = blank AND input / condition ≠ blank judgment)
When input / current state = blank AND input / condition ≠ blank, the above processing of 1.1 / 1.2 / 1.3 / is performed.
 ◆表2(変数)の値が示す表2の行の項目「TO」に◆表3(変数)の値が格納される。 ◆ The value of Table 3 (variable) is stored in the item “TO” in the row of Table 2 indicated by the value of Table 2 (variable).
 その後、2.5の処理に行く。 Then go to 2.5.
 表1の2行目は、入力/現状態=空白 AND 入力/条件=空白であるので、以下の2.4の処理に移る。 Since the second line of Table 1 is input / current state = blank AND input / condition = blank, the process proceeds to 2.4 below.
 (2.4 入力/現状態=空白 AND 入力/条件=空白の判定)
 入力/現状態=空白 AND 入力/条件=空白の場合、上記の1.2の処理を行う。
(2.4 Input / current status = blank AND input / condition = blank)
When input / current state = blank AND input / condition = blank, the above processing of 1.2 is performed.
 なお、この条件は上記以外と同じ意であり、つまり2.1/2.2/2.3以外の場合は存在しない。 Note that this condition is the same as above, that is, there is no case other than 2.1 / 2.2 / 2.3.
 表1の2行目は、この場合に該当する。 The second line in Table 1 corresponds to this case.
 このとき、上記1.2の処理では、表4に2行目の入力/処理(rtn=LINK_LOAD)が追加され、◆処理行(変数)の値は、行番号「2」にされる。 At this time, in the process of 1.2 above, the input / process (rtn = LINK_LOAD) on the second line is added to Table 4, and the value of the process line (variable) is set to the line number “2”.
 なお、この場合、「◆処理行 = -1」はあり得ない。つまり、条件・処理共に空白の行は存在しない。 In this case, “◆ Processing Line = −1” cannot exist. In other words, there is no blank line for both conditions and processing.
 ◆表3(変数)の値が示す表3の行の項目「TO」に◆処理行(変数)の値「2」が格納される。 ◆ The value “2” of the processing line (variable) is stored in the item “TO” in the line of Table 3 indicated by the value of Table 3 (variable).
 その後、2.5の処理を経て、2.の処理に移る。
〔状態遷移表Ts1の3行目の処理〕
 (2. 表1の2行目以降の処理)
 (2.1 表1の読込み)
 表1の読込みで、3行目以降の処理があるか否かを判定し、つまり、EOF(終わり)であるか否かを判定し、EOFであれば、処理を終了する。
Then, after 2.5 processing, Move on to processing.
[Process of the third row of the state transition table Ts1]
(2. Processing after the second line in Table 1)
(2.1 Reading Table 1)
In reading Table 1, it is determined whether or not there is processing for the third and subsequent lines, that is, whether or not it is EOF (end), and if it is EOF, the processing ends.
 状態遷移表Ts1の場合は、3行目以降も処理があるので、以下の判定処理が行われる。 In the case of the state transition table Ts1, since there are processes after the third line, the following determination process is performed.
 (2.2 入力/現状態≠空白の判定)
 入力/現状態≠空白の場合、上記の1.1/1.2/1.3/1.4/の処理を行い、後述の2.5の処理に行く。
(2.2 Judgment of input / current state ≠ blank)
If the input / current state is not blank, the above 1.1 / 1.2 / 1.3 / 1.4 / processing is performed, and the processing of 2.5 described later is performed.
 状態遷移表Ts1の場合は、3行目の入力/現状態=空白であり、かつ入力/条件=空白であるので、2.3の処理を経て、上記の1.2の処理に移る。 In the case of the state transition table Ts1, since the input / current state of the third line = blank and the input / condition = blank, the process proceeds to the above-described process 1.2 through the process 2.3.
 このとき、上記1.2の処理では、表4に3行目の入力/処理(rtn=$OPEN(1,”R”))が追加され、◆処理行(変数)の値は、行番号「3」にされる。 At this time, in the process of 1.2 above, the input / process (rtn = $ OPEN (1, “R”)) of the third line is added to Table 4, and the value of the process line (variable) is the line number. It is set to “3”.
 その後、表3の行の項目「TO」に◆処理行(変数)の値「3」が格納される。 After that, the value “3” of the processing line (variable) is stored in the item “TO” in the line of Table 3.
 その後、2.5の処理を経て、2.の処理に移る。
〔状態遷移表Ts1の4行目の処理〕
 2.の処理では、状態遷移表Ts1の場合は、4行目以降も処理があるので、2.1の処理を経て、2.2の処理で、入力/現状態の空白の判定処理が行われる。
Then, after 2.5 processing, Move on to processing.
[Process of the fourth row of the state transition table Ts1]
2. In the case of the state transition table Ts1, since there are processes in the fourth and subsequent rows, the process of 2.1 is followed by the process of 2.2 to determine the blank state of the input / current state.
 この状態遷移表Ts1の4行目では、入力/現状態が空白でないので、上記の1.1/1.2/1.3/1.4/の処理を行う。 In the fourth line of this state transition table Ts1, since the input / current state is not blank, the above processing of 1.1 / 1.2 / 1.3 / 1.4 / is performed.
 まず、1.1の処理を行う。この行では、入力/条件は無条件であるので、1.1の処理では、◆条件行(変数)の値は「-1」となる。次に、1.2の処理では、4行目の入力/処理が空白でないので、表4に4行目の入力/処理(rtn=$READ(1))が追加され、◆処理行(変数)の値は、行番号「4」にされる。 First, process 1.1 is performed. In this line, since the input / condition is unconditional, in the process of 1.1, the value of the condition line (variable) is “−1”. Next, in the process of 1.2, since the input / process on the fourth line is not blank, the input / process on the fourth line (rtn = $ READ (1)) is added to Table 4, and the process line (variable) ) Is set to the line number “4”.
 続く1.3の処理では、表3に2行目を追加し、この2行目の条件内容に、この時点での◆条件行(変数)の値「-1」を格納する。◆表3(変数)に、追加した行番号「2」を格納する。 In the subsequent processing of 1.3, the second line is added to Table 3, and the value “−1” of the condition line (variable) at this time is stored in the condition contents of the second line. ◆ The added line number “2” is stored in Table 3 (variable).
 表3の追加した2行目の項目「FROM」と「TO」に、この時点での◆処理行(変数)の値「4」が格納される。 The value “4” of the ◆ processing line (variable) at this point is stored in the items “FROM” and “TO” in the second line added in Table 3.
 さらに、この表3の追加した2行目の項目「次状態」には、状態遷移表Ts1の4行目の次状態「3」を格納する。 Furthermore, the item “next state” in the second row added in Table 3 stores the next state “3” in the fourth row of the state transition table Ts1.
 次に、1.4の処理では、表2の2行目を追加する。 Next, in the process of 1.4, the second row of Table 2 is added.
 追加した行番号「2」を、この時点での◆表2(変数)の値とする。 The added line number “2” is the value in ◆ Table 2 (variables) at this point.
 表2の追加した2行目の各項目は以下のとおりである。 The items in the second row added in Table 2 are as follows.
 表2の項目マシンには、「1」が格納され、表2の項目現状態には、入力/現状態の値「2」が格納され、表2の項目TOには、この時点での◆表3(変数)の値「2」が格納され、表2の項目FROMには、同様に、◆表3(変数)の値「2」が格納される。 The item machine of Table 2 stores “1”, the item current state of Table 2 stores the input / current state value “2”, and the item TO of Table 2 contains ◆ The value “2” of Table 3 (variable) is stored, and the item “FROM” of Table 2 similarly stores the value “2” of Table 3 (variable).
 (1.4 表2に対する行の追加)
 追加した行番号「2」を、この時点での◆表2(変数)の値とする。
(1.4 Addition of rows to Table 2)
The added line number “2” is set as the value in ◆ Table 2 (variable) at this time.
 追加時の表2の各項目は以下のとおりである。 The items in Table 2 at the time of addition are as follows.
 表2のマシンには「1」が格納され、表2の現状態には、状態遷移表Ts1の入力/現状態の値「2」が格納され、表2のTOには、この時点での◆表3(変数)の値「2」が格納され、表2のFROMには、同様に、◆表3(変数)の値「2」が格納される。 The machine of Table 2 stores “1”, the current state of Table 2 stores the input / current state value “2” of the state transition table Ts1, and the TO of Table 2 stores the value at this time. The value “2” of Table 3 (variable) is stored, and the value “2” of Table 3 (variable) is similarly stored in the FROM of Table 2.
 (1.5 表1の読込み)
 表1の5行目を読み込む。
〔状態遷移表Ts1の5行目の処理〕
 次に、表1の5行目を読み込んだ後、2.の処理(表1の5行目の処理)が行われる。
(1.5 Reading Table 1)
Read the fifth line of Table 1.
[Process of the fifth row of the state transition table Ts1]
Next, after reading the fifth line in Table 1, (The process on the fifth line in Table 1) is performed.
 状態遷移表Ts1の場合は、5行目以降も処理があるので、入力/現状態の空白の判定処理が行われる。 In the case of the state transition table Ts1, since there is a process from the fifth line onward, an input / current state blank determination process is performed.
 この状態遷移表の5行目では、入力/現状態が空白でないので、上記の1.1/1.2/1.3/1.4/の処理を行う。 Since the input / current state is not blank in the fifth line of this state transition table, the above processing of 1.1 / 1.2 / 1.3 / 1.4 / is performed.
 まず、1.1の処理を行う。この行では、入力/条件は条件「rtn=3」であるので、表4にこの条件「rtn=3」を追加し、追加した行番号「5」を、◆条件行(変数)の値とする。 First, process 1.1 is performed. In this line, since the input / condition is the condition “rtn = 3”, this condition “rtn = 3” is added to Table 4, and the added line number “5” is set as the value of the condition line (variable). To do.
 1.2の処理では、状態遷移表Ts1の5行目の入力/処理は空白ではなく、処理「rtn=$CLOSE(1)」があるので、表4にこの入力/処理「rtn=$CLOSE(1)」が追加され、◆処理行(変数)の値は、追加した行番号「6」にされる。 In the process of 1.2, the input / process in the fifth row of the state transition table Ts1 is not blank, and there is a process “rtn = $ CLOSE (1)”, so this input / process “rtn = $ CLOSE” is shown in Table 4. (1) ”is added, and the value of the processing line (variable) is set to the added line number“ 6 ”.
 続く1.3の処理では、表3に3行目を追加し、この3行目の条件内容に、この時点での◆条件行(変数)の値「5」を格納する。また、◆表3(変数)に、追加した行番号「3」を格納する。 In the subsequent processing of 1.3, the third line is added to Table 3, and the value “5” of the ◆ condition line (variable) at this point is stored in the condition contents of the third line. Also, the added line number “3” is stored in Table 3 (variable).
 表3の追加した3行目の項目「FROM」と「TO」に、この時点での◆処理行(変数)の値「6」が格納される。 The value “6” of the ◆ processing line (variable) at this point is stored in the items “FROM” and “TO” on the third line added in Table 3.
 さらに、この表3の追加した3行目の項目「次状態」には、状態遷移表Ts1の5行目の次状態「999」を格納する。 Further, the item “next state” in the third row added in Table 3 stores the next state “999” in the fifth row of the state transition table Ts1.
 次に、1.4の処理では、表2の3行目を追加する。 Next, in the process of 1.4, the third row in Table 2 is added.
 追加した行番号「3」を、この時点での◆表2(変数)の値とする。 The added line number “3” is the value in ◆ Table 2 (variables) at this point.
 表2の追加した3行目の各項目は以下のとおりである。 The items in the third row added in Table 2 are as follows.
 表2の追加した3行目の項目マシンには、「1」が格納され、この3行目の表2の項目現状態には、入力/現状態の値「3」が格納され、表2の追加した3行目の項目TOには、この時点での◆表3(変数)の値「3」が格納され、表2の項目FROMには、同様に、◆表3(変数)の値「3」が格納される。 “1” is stored in the item machine in the third row added in Table 2, and the value “3” of the input / current state is stored in the item current state in Table 2 in this third row. In the item TO in the third row added, the value “3” of Table 3 (variable) at this time is stored, and in the item FROM of Table 2, similarly, the value of Table 3 (variable) is stored. “3” is stored.
 (1.5 表1の読込み)
 表1の6行目を読み込む。
〔状態遷移表Ts1の6行目の処理〕
 次に、表1の6行目を読み込んだ後、2.の処理(表1の6行目の処理)が行われる。
(1.5 Reading Table 1)
Read the sixth line of Table 1.
[Process of the sixth row of the state transition table Ts1]
Next, after reading the sixth line of Table 1, (The process on the sixth line in Table 1) is performed.
 状態遷移表Ts1の場合は、6行目も処理があるので、入力/現状態の空白の判定処理が行われる。 In the case of the state transition table Ts1, since the sixth line is also processed, the input / current state blank determination process is performed.
 この状態遷移表Ts1の6行目では、入力/現状態が空白であるので、2.2の処理は行わず、2.3の処理では、入力/条件は空白ではなく、「-(無条件)」であるので、上記の1.1/1.2/1.3/の処理を行う。 In the sixth line of the state transition table Ts1, since the input / current state is blank, the process of 2.2 is not performed. In the process of 2.3, the input / condition is not blank, and “− (unconditional ) ", The above-described processing of 1.1 / 1.2 / 1.3 / is performed.
 まず、1.1の処理を行う。この行では、入力/条件は条件「-(無条件)」であるので、◆条件行(変数)の値を「-1」とする。 First, process 1.1 is performed. In this line, since the input / condition is the condition “-(unconditional)”, the value of the condition line (variable) is set to “−1”.
 1.2の処理では、状態遷移表Ts1の6行目の入力/処理は空白ではなく、処理「rtn=KERNEL」があるので、表4にこの入力/処理「rtn=KERNEL」が追加され、◆処理行(変数)の値は、追加した行番号「7」にされる。 In the process of 1.2, since the input / process in the sixth row of the state transition table Ts1 is not blank and there is a process “rtn = KERNEL”, this input / process “rtn = KERNEL” is added to Table 4, ◆ The value of the processing line (variable) is set to the added line number “7”.
 続く1.3の処理では、表3に4行目を追加し、この4行目の条件内容に、この時点での◆条件行(変数)の値「-1」を格納する。◆表3(変数)に、追加した行番号「4」を格納する。 In the subsequent processing of 1.3, the fourth line is added to Table 3, and the condition line (variable) value “−1” at this point is stored in the condition contents of the fourth line. ◆ The added line number “4” is stored in Table 3 (variable).
 表3の追加した4行目の項目「FROM」と「TO」に、この時点での◆処理行(変数)の値「7」が格納される。 The value “7” of the ◆ processing line (variable) at this point is stored in the items “FROM” and “TO” in the fourth line added in Table 3.
 さらに、この表3の追加した4行目の項目「次状態」には、状態遷移表Ts1の7行目の次状態「2」を格納する。 Further, the item “next state” in the fourth row added in Table 3 stores the next state “2” in the seventh row of the state transition table Ts1.
 次に、◆表2(変数)の値「3」が示す表2の行の項目「TO」に、◆表3(変数)の値「4」が格納される。 Next, the value “4” in the table 3 (variable) is stored in the item “TO” in the row of the table 2 indicated by the value “3” in the table 2 (variable).
 その後、2.5の処理に行く。 Then go to 2.5.
 (2.5 表1の読込み)
 表1の7行目を読み込む。
(2.5 Reading Table 1)
Read the 7th row of Table 1.
 状態遷移表Ts1の場合は、7行目以降は含まれていないので、EOFであり、処理は終了する。 In the case of the state transition table Ts1, since the seventh and subsequent lines are not included, it is EOF and the process ends.
 上記の処理により、図17(a)に示す状態遷移表(表1)Ts1から、図17(b)~(d)に示す、上記マシン・状態の表(表2)Ts1a、状態の表(表3)Ts1b、条件と処理の表(表4)Ts1cが生成される。なお、図31に示す手順は、上記表1から表2~表4を作成する手順である。 By the above processing, from the state transition table (Table 1) Ts1 shown in FIG. 17 (a), the machine / state table (Table 2) Ts1a and the state table (shown in FIGS. 17 (b) to 17 (d) ( Table 3) Ts1b, conditions and processing table (Table 4) Ts1c are generated. The procedure shown in FIG. 31 is a procedure for creating Tables 2 to 4 from Table 1 above.
 その他の状態遷移表Ts2~Ts5についても上記と同様の1.処理(表1の1件目の入力)および2.処理(表1の2件目以降の処理)に従って、それぞれの状態遷移表(表1)から、これに対応するプログラムを作成するための表2~表4が生成される。 Other state transition tables Ts2 to Ts5 are the same as the above 1. Processing (first entry in Table 1) and 2. According to the processing (the second and subsequent processing in Table 1), Tables 2 to 4 for creating programs corresponding to the state transition tables (Table 1) are generated.
 具体的には、図19、図21、図23、図27、図29はそれぞれ、状態遷移表Ts2~Ts6に対する表2~表4を示している。 Specifically, FIGS. 19, 21, 23, 27, and 29 show Tables 2 to 4 for the state transition tables Ts2 to Ts6, respectively.
 図19(a)に示すカーネルを実現する状態遷移表(表1)Ts2は、図31に示す手順に従って、この状態遷移表Ts2からこれに対応するプログラム(図20参照)を自動生成するのに用いる表2~表4(図19(b)~(d))に変換される。 The state transition table (Table 1) Ts2 for realizing the kernel shown in FIG. 19A automatically generates a program (see FIG. 20) corresponding to the state transition table Ts2 according to the procedure shown in FIG. Tables 2 to 4 to be used (FIGS. 19B to 19D) are converted.
 図21(a)に示す会計の論理出力の更新処理を実現する状態遷移表(表1)Ts3は、図31に示す手順に従って、この状態遷移表Ts3からこれに対応するプログラム(図22参照)を自動生成するのに用いる表2~表4(図21(b)~(d))に変換される。 The state transition table (Table 1) Ts3 for realizing the update processing of the logical output of accounting shown in FIG. 21A is a program corresponding to the state transition table Ts3 according to the procedure shown in FIG. 31 (see FIG. 22). Are converted into Tables 2 to 4 (FIGS. 21 (b) to (d)) used for automatically generating.
 図23に示す試算表の更新処理を実現する状態遷移表(表1)Ts4は、図31に示す手順に従って、この状態遷移表Ts4からこれに対応するプログラム(図25および図26参照)を自動生成するのに用いる表2~表4(図24(a)~(c))に変換される。 The state transition table (Table 1) Ts4 for realizing the update process of the trial calculation table shown in FIG. 23 automatically executes the program (see FIGS. 25 and 26) corresponding to the state transition table Ts4 according to the procedure shown in FIG. Tables 2 to 4 (FIGS. 24A to 24C) used for generation are converted.
 図27(a)に示す預金元帳の更新処理を実現する状態遷移表(表1)Ts5は、図31に示す手順に従って、この状態遷移表Ts3からこれに対応するプログラム(図28参照)を自動生成するのに用いる表2~表4(図27(b)~(d))に変換される。 The state transition table (Table 1) Ts5 for realizing the updating process of the deposit ledger shown in FIG. 27A automatically executes the program (see FIG. 28) corresponding to the state transition table Ts3 according to the procedure shown in FIG. Tables 2 to 4 (FIGS. 27B to 27D) used for generation are converted.
 図29(a)に示す固定資産台帳の更新処理を実現する状態遷移表(表1)Ts6は、図31に示す手順に従って、この状態遷移表Ts6からこれに対応するプログラム(図30参照)を自動生成するのに用いる表2~表4(図29(b)~(d))に変換される。B.プログラム自動生成用の表からプログラムを生成する処理
 次に、各状態遷移表(表1)に対応する表2~4からプログラムとしてのソースファイルを自動生成する処理について説明する。
The state transition table (Table 1) Ts6 for realizing the fixed asset ledger update process shown in FIG. 29A is obtained from the state transition table Ts6 according to the procedure shown in FIG. 31 (see FIG. 30). Tables 2 to 4 (FIGS. 29B to 29D) used for automatic generation are converted. B. Processing for Generating Program from Table for Automatic Program Generation Next, processing for automatically generating a source file as a program from Tables 2 to 4 corresponding to each state transition table (Table 1) will be described.
 図32は、このソースファイルを上記表2~4から自動生成する手順を示している。 FIG. 32 shows a procedure for automatically generating this source file from Tables 2 to 4 above.
 以下、関数(TRANSACTION)を表す状態遷移表(表1)Ts1に対応するマシン・状態の表(表2)Ts1a、状態の表(表3)Ts1b、条件と処理(表4)Ts1cから、関数(TRANSACTION)としての機能を実現するプログラムを生成する方法を、図32の処理手順に従って、図17(a)~(d)および図18を参照して説明する。なお、図32に示す手順は上記プログラムを生成するフローに相当するものである。 From the state transition table (Table 1) Ts1 representing the function (TRANSACTION), the machine / state table (Table 2) Ts1a, the state table (Table 3) Ts1b, the conditions and processing (Table 4) Ts1c, A method of generating a program for realizing the function as (TRANSACTION) will be described with reference to FIGS. 17A to 17D and FIG. 18 in accordance with the processing procedure of FIG. Note that the procedure shown in FIG. 32 corresponds to a flow for generating the program.
 1.表2の第1行目の行番号「1」を◆表2(変数)に格納する。 1. The row number “1” in the first row of Table 2 is stored in ◆ Table 2 (variable).
 続いて、以下の処理を行う。 Subsequently, the following processing is performed.
 1-1.マシン1(対象となった状態遷移)の関数の先頭部分を示すCソースを生成する。これにより、ソースコードの1行目の「double TRANSACTION{」が生成され、ソースコードの2行目の「double TRANSACTION_rtn=0;」が生成される。 1-1. A C source indicating the head part of the function of the machine 1 (target state transition) is generated. As a result, “double TRANSACTION {” in the first line of the source code is generated, and “double TRANSACTION_rtn = 0;” in the second line of the source code is generated.
 1-2.マシン1で使用するローカル変数を示すCソースを生成する。これにより、ソースコードの3行目の「double rtn=0;」が生成される。 1-2. A C source indicating a local variable used in the machine 1 is generated. Thereby, “double rtn = 0;” in the third line of the source code is generated.
 1-3.状態1への遷移を示すCソース「goto s001;」(4行目のソースコード)を生成する。 1-3. A C source “goto s001;” (source code on the fourth line) indicating a transition to the state 1 is generated.
 2.の処理に行く。 2. Go to processing.
 2.状態のラベルを生成する。 2. Generate state labels.
 表2の行=◆表2(つまり◆表2(変数)の値は「1」であるので、表2の1行目)の状態を表すラベルを出力する。これにより、ソースコードの5行目のラベル「s001:」が生成される。 <Table 2 row => Table 2 (that is, the value in Table 2 (variable) is “1”, so the first row in Table 2) is output.) As a result, the label “s001:” on the fifth line of the source code is generated.
 次に、表2の行=◆表2(表2の1行目)の項目「FROM」の値「1」を◆条件FROM(変数)に格納する。 Next, the value “1” of the item “FROM” in the row of Table 2 = ♦ Table 2 (the first row of Table 2) is stored in the condition FROM (variable).
 表2の行=◆表2(表2の1行目)の項目「TO」の値「1」を◆条件TO(変数)に格納する。 [Table 2 row = ◆ The value “1” of the item “TO” in Table 2 (the first row of Table 2) is stored in the ◆ condition TO (variable).
 次に、3.の処理に行く。 Next, 3. Go to processing.
 3.表3に対応するCソースを編集する。 3. Edit the C source corresponding to Table 3.
 3-1.まず、◆XX(変数)に◆条件FROM(変数)の値を格納する。 3-1. First, the value of ◆ condition FROM (variable) is stored in ◆ XX (variable).
 3-2.◆XX > ◆条件TOの比較判定を行う。◆XX > ◆条件TOを満たす場合、4.の処理に行く。ここでは、◆XXの値「1」、◆条件TOの値「1」であるので、◆XX > ◆条件TOを満たしておらず、3-3.の処理に行く。 3-2. ◆ XX > ◆ Compare and judge the condition TO. ◆ XX > ◆ When condition TO is satisfied, 4. Go to processing. Here, since the value of ◆ XX is “1” and the value of ◆ condition TO is “1”, ◆ XX> ◆ condition TO is not satisfied, and 3-3. Go to processing.
 3-3.表3の行=◆XX(つまり◆XX(変数)の値は「1」であるので、表3の1行目)の項目「FROM」の値「1」を◆処理FROM(変数)に格納する。 3-3. Row of Table 3 = ♦ XX (that is, the value of ◆ XX (variable) is “1”, so the first row of Table 3) item “FROM” value “1” is stored in ◆ processing FROM (variable). To do.
 表3の行=◆XX(表3の1行目)の項目「TO」の値「3」を◆処理TO(変数)に格納する。 <Table 3 row = ◆ XX (first row of Table 3)> The value “3” of the item “TO” is stored in the processing TO (variable).
 表3の行=◆XX(表3の1行目)の項目「次状態」の値「2」を◆次状態(変数)に格納する。 [Table 3 row = ♦ XX (first row of Table 3)] The item “next state” value “2” is stored in the ◆ next state (variable).
 表3の行=◆XX(表3の1行目)の項目「条件内容」の値「-1」を◆条件内容(変数)に格納する。 <Table 3 row = ◆ XX (first row of Table 3)> The item “condition content” value “−1” is stored in the ◆ condition content (variable).
 3-4.◆条件内容(変数)=-1の場合は3-5.の処理に行く。 3-4. ◆ Condition contents (variable) =-1-3. Go to processing.
 上記以外の場合は、表4の行=◆条件内容の条件内容のCソースを生成する。 In cases other than the above, the C source of the condition contents of the row of Table 4 = ♦ condition contents is generated.
 ここでは、◆条件内容(変数)の値は「-1」であるので、3-5.の処理を行う。 [Here, the value of the condition contents (variable) is “−1”, so 3-5. Perform the process.
 3-5.◆処理FROM(変数)=-1の場合は、3-9.の処理を行い、◆処理FROM(変数)≠-1の場合は、以下の処理を行う。 3-5. ◆ When processing FROM (variable) =-1, 3-9. If the processing FROM (variable) ≠ −1, the following processing is performed.
 現時点では、◆処理FROM(変数)の値は、「1」であるので、以下の処理を行う。 At the present time, since the value of the processing FROM (variable) is “1”, the following processing is performed.
 3-6.◆YY(変数)に◆処理FROM(変数)の値を格納する。 3-6. ◆ The value of the processing FROM (variable) is stored in YY (variable).
 3-7.◆YY(変数)>◆処理TO(変数)の場合は、3-9.の処理を行う。 3-7. ◆ YY (variable)> ◆ In the case of processing TO (variable), 3-9. Perform the process.
 この時点では、◆YY(変数)の値は「1」であり、◆処理TO(変数)の値は、「3」であるので、◆YY(変数)>◆処理TO(変数)を満たさないので、3-8.の処理を行う。 At this time, the value of ◆ YY (variable) is “1” and the value of ◆ processing TO (variable) is “3”, so ◆ YY (variable)> ◆ processing TO (variable) is not satisfied. Therefore, 3-8. Perform the process.
 3-8.表4の行=◆YY(つまり、この時点で◆YYの値は「1」であるので、表4の1行目)の処理に相当するCソースを出力する。 3-8. The C source corresponding to the processing of the row of Table 4 = ♦ YY (that is, the value of ◆ YY is “1” at this time, so the first row of Table 4) is output.
 これにより、ソースコードの6行目の「rtn=ACC_LOAD();」が生成される。 Thereby, “rtn = ACC_LOAD ();” on the sixth line of the source code is generated.
 その後、◆YY(変数)を◆YY(変数)+1とする。これにより、◆YY(変数)の値は「2」になる。 Then, ◆ YY (variable) is set to ◆ YY (variable) +1. As a result, the value of ◆ YY (variable) becomes “2”.
 その後、3-7.の処理を行う。この場合、◆YY(変数)の値は「2」であり、◆処理TO(変数)の値は、「3」であるので、◆YY(変数)>◆処理TO(変数)を満たさないので、3-8.の処理を行う。 After that, 3-7. Perform the process. In this case, the value of ◆ YY (variable) is “2”, and the value of ◆ processing TO (variable) is “3”, so ◆ YY (variable)> ◆ processing TO (variable) is not satisfied. 3-8. Perform the process.
 3-8.表4の行=◆YY(変数)(◆YY(変数)の値は「2」であるので、表4の2行目)の処理に相当するCソースを出力する。これにより、ソースコードの7行目の「rtn=LINK_LOAD();」が生成される。 3-8. The C source corresponding to the processing of the row of Table 4 = ♦ YY (variable) (the value of ◆ YY (variable) is “2”, so the second row of Table 4)) is output. As a result, “rtn = LINK_LOAD ();” on the seventh line of the source code is generated.
 その後、◆YY(変数)を◆YY(変数)+1とする。これにより、◆YY(変数)の値は「3」になる。 Then, ◆ YY (variable) is set to ◆ YY (variable) +1. As a result, the value of ◆ YY (variable) becomes “3”.
 その後、3-7.の処理を行う。この場合、◆YY(変数)の値は「3」であり、◆処理TO(変数)の値は、「3」であるので、◆YY(変数)>◆処理TO(変数)を満たさないので、3-8.の処理を行う。 After that, 3-7. Perform the process. In this case, since the value of ◆ YY (variable) is “3” and the value of ◆ processing TO (variable) is “3”, ◆ YY (variable)> ◆ processing TO (variable) is not satisfied. 3-8. Perform the process.
 3-8.表4の行=◆YY(変数)(◆YY(変数)の値は「3」であるので、表4の3行目)の処理に相当するCソースを出力する。これにより、ソースコードの8行目の「rtn=$OPEN(_C3,_C4);」が生成される。 3-8. The C source corresponding to the processing in the row of Table 4 = ♦ YY (variable) (the value of ◆ YY (variable) is “3”, so the third row of Table 4) is output. As a result, “rtn = $ OPEN (_C3, _C4);” on the eighth line of the source code is generated.
 その後、◆YY(変数)を◆YY(変数)+1とする。これにより、◆YY(変数)の値は「4」になる。 Then, ◆ YY (variable) is set to ◆ YY (variable) +1. Thereby, the value of ◆ YY (variable) becomes “4”.
 その後、3-7.の処理を行う。この場合、◆YY(変数)の値は「4」であり、◆処理TO(変数)の値は、「3」であるので、◆YY(変数)>◆処理TO(変数)を満たすので、3-9.の処理を行う。 After that, 3-7. Perform the process. In this case, since the value of ◆ YY (variable) is “4” and the value of ◆ processing TO (variable) is “3”, ◆ YY (variable)> ◆ processing TO (variable) is satisfied. 3-9. Perform the process.
 3-9.の処理では、◆次状態(変数)への遷移に相当するCソースを生成する。つまり、この時点での◆次状態(変数)の値は「2」であるので、状態2への遷移を示すCソース「goto s002;」(9行目のソースコード)を生成する。 3-9. In the process, a C source corresponding to the transition to the next state (variable) is generated. That is, since the value of the next state (variable) at this point is “2”, the C source “goto s002;” (the source code on the ninth line) indicating the transition to the state 2 is generated.
 その後、3-10.の処理を行う。 After that, 3-10. Perform the process.
 3-10.の処理では、◆条件内容≠-1の場合は、条件(IF文)の終了を表す「}」を出力するが、この時点では、◆条件内容の値は「-1」であるので、次の3-11.の処理を行う。 3-10. In the process of <2>, if the condition content is not -1, "}" representing the end of the condition (IF statement) is output. At this point, the value of the condition content is "-1". 3-11. Perform the process.
 3-11.の処理では、◆XX(変数)を◆XX(変数)+1とする。これにより、◆XX(変数)の値は「2」になる。 3-11. In the process, ◆ XX (variable) is set to ◆ XX (variable) +1. As a result, the value of ◆ XX (variable) becomes “2”.
 その後、3-2.の処理を行う。 After that, 3-2. Perform the process.
 3-2.の処理では、◆XX > ◆条件TOの比較判定を行う。◆XX > ◆条件TOを満たす場合、4.の処理に行く。ここでは、◆XXの値「2」>◆条件TOの値「1」であるので、◆XX > ◆条件TOを満たしており、4.の処理を行う。 3-2. In the process, ◆ XX> ◆ Compares the condition TO. ◆ XX > ◆ When condition TO is satisfied, 4. Go to processing. Here, since the value of XX is “2”> the value of the condition TO is “1”, the condition XX is satisfied, and the condition TO is satisfied. Perform the process.
 4.の処理では、◆表2(変数)が示す表2の行が、最終行であれば5.の処理を行い、上記以外は、◆表2(変数)を、◆表2(変数)+1として、2.の処理を行う。 4. In the process of <5>, if the row in Table 2 indicated by Table 2 (variable) is the last row, 5. Except for the above, ◆ Table 2 (variable) is changed to ◆ Table 2 (variable) +1. Perform the process.
 この場合、◆表2(変数)が示す表2の行は、最終行ではないので、2.の処理が行われる。 In this case, the line in Table 2 shown in Table 2 (variable) is not the last line. Is performed.
 2.の処理では、状態のラベルを生成する。 2. In this process, a state label is generated.
 つまり、この時点で、表2の行=◆表2(つまり◆表2(変数)の値は「2」であるので、表2の2行目)の状態を表すラベルを出力する。これにより、ソースコードの10行目のラベル「s002:」が生成される。 That is, at this time, a label indicating the state of the row of Table 2 = ♦ Table 2 (that is, the second row of Table 2 because the value of ◆ Table 2 (variable) is “2”) is output. As a result, the label “s002:” in the 10th line of the source code is generated.
 次に、表2の行=◆表2(表2の2行目)の項目「FROM」の値「2」を◆条件FROM(変数)に格納する。 Next, the value “2” of the item “FROM” in the row of Table 2 = ◆ Table 2 (second row of Table 2) is stored in the ◆ condition FROM (variable).
 表2の行=◆表2(表2の2行目)の項目「TO」の値「2」を◆条件TO(変数)に格納する。 [Table 2 row = ◆ The value “2” of the item “TO” in Table 2 (second row of Table 2) is stored in the ◆ condition TO (variable).
 次に、3.の処理を行う。 Next, 3. Perform the process.
 3.の処理では、表3に対応するCソースを編集する。 3. In this process, the C source corresponding to Table 3 is edited.
 3-1.まず、◆XX(変数)に◆条件FROM(変数)の値を格納する。 3-1. First, the value of ◆ condition FROM (variable) is stored in ◆ XX (variable).
 3-2.◆XX > ◆条件TOの比較判定を行う。◆XX > ◆条件TOを満たす場合、4.の処理に行く。ここでは、◆XXの値「2」>◆条件TOの値「2」であるので、◆XX > ◆条件TOを満たしておらず、3-3.の処理に行く。 3-2. ◆ XX > ◆ Compare and judge the condition TO. ◆ XX > ◆ When condition TO is satisfied, 4. Go to processing. Here, since ◆ XX value “2”> ◆ condition TO value “2”, ◆ XX> ◆ condition TO is not satisfied, and 3-3. Go to processing.
 3-3.の処理では、表3の行=◆XX(つまり◆XX(変数)の値は「2」であるので、表3の2行目)の項目「FROM」の値「4」を◆処理FROM(変数)に格納する。 3-3. In the process of Table 3, the value “4” of the item “FROM” in the row = ♦ XX (that is, the value of ◆ XX (variable) is “2” in the second row of Table 3) of the table 3 is changed to the process FROM ( Variable).
 表3の行=◆XX(表3の2行目)の項目「TO」の値「4」を◆処理TO(変数)に格納する。 [Table 3 row = ♦ XX (second row of Table 3)] The item “TO” value “4” is stored in the processing TO (variable).
 表3の行=◆XX(表3の2行目)の項目「次状態」の値「3」を◆次状態(変数)に格納する。 [Table 3 row = ◆ XX (second row of Table 3)] The item “next state” value “3” is stored in the next state (variable).
 表3の行=◆XX(表3の2行目)の項目「条件内容」の値「-1」を◆条件内容(変数)に格納する。 [Table 3 row = ♦ XX (second row of Table 3)] The item “condition content” value “−1” is stored in the condition content (variable).
 3-4.の処理を行う。ここでは、◆条件内容(変数)=-1の場合は3-5.の処理に行く。上記以外の場合は、表4の行=◆条件内容の条件内容のCソースを生成する。 3-4. Perform the process. Here, if the condition content (variable) = − 1, 3-5. Go to processing. In cases other than the above, the C source of the condition contents of row = ♦ condition contents in Table 4 is generated.
 ここでは、◆条件内容(変数)の値は「-1」であるので、3-5.の処理を行う。 [Here, the value of the condition contents (variable) is “−1”, so 3-5. Perform the process.
 3-5.の処理では、処理FROM=-1の場合は3-9.の処理を行うが、この時点では、処理FROMの値は「4」であるので、3-6.の処理により、◆YY(変数)に◆処理FROM(変数)の値「4」を格納する。 3-5. In the processing of 3-9. In the case of processing FROM = −1, 3-9. However, since the value of the processing FROM is “4” at this time, 3-6. As a result, the value “4” of ◆ processing FROM (variable) is stored in ◆ YY (variable).
 その後、3-7.の処理を行う。この場合、◆YY(変数)の値は「4」であり、◆処理TO(変数)の値は、「4」であるので、◆YY(変数)>◆処理TO(変数)を満たさないので、3-8.の処理を行う。 After that, 3-7. Perform the process. In this case, since the value of ◆ YY (variable) is “4” and the value of ◆ processing TO (variable) is “4”, ◆ YY (variable)> ◆ processing TO (variable) is not satisfied. 3-8. Perform the process.
 3-8.の処理では、表4の行=◆YY(変数)(◆YY(変数)の値は「4」であるので、表4の4行目)の処理に相当するCソースを出力する。これにより、ソースコードの11行目の「rtn=$READ(_C3);」が生成される。 3-8. In the process of Table 4, the C source corresponding to the process of line = ♦ YY (variable) in Table 4 (the value of ◆ YY (variable) is “4”, so the fourth line in Table 4) is output. As a result, “rtn = $ READ (_C3);” on the eleventh line of the source code is generated.
 その後、◆YY(変数)を◆YY(変数)+1とする。これにより、◆YY(変数)の値は「5」になる。 Then, ◆ YY (variable) is set to ◆ YY (variable) +1. As a result, the value of ◆ YY (variable) becomes “5”.
 その後、3-7.の処理を行う。この場合、◆YY(変数)の値は「5」であり、◆処理TO(変数)の値は、「4」であるので、◆YY(変数)>◆処理TO(変数)を満たすので、3-9.の処理を行う。 After that, 3-7. Perform the process. In this case, since the value of ◆ YY (variable) is “5” and the value of ◆ processing TO (variable) is “4”, it satisfies ◆ YY (variable)> ◆ processing TO (variable). 3-9. Perform the process.
 3-9.の処理では、◆次状態(変数)への遷移に相当するcソースを生成する。つまり、この時点での◆次状態(変数)の値は「3」であるので、状態3への遷移を示すCソース「goto s003;」(12行目のソースコード)を生成する。 3-9. In the process of c, a c source corresponding to the transition to the next state (variable) is generated. That is, since the value of the next state (variable) at this point is “3”, the C source “goto s003;” (source code on the 12th line) indicating the transition to the state 3 is generated.
 3-10.の処理では、◆条件内容≠-1の場合は、条件(IF文)の終了を表す「}」を出力するが、この時点では、◆条件内容の値は「-1」であるので、次の3-11.の処理を行う。 3-10. In the process of <2>, if the condition content is not -1, "}" representing the end of the condition (IF statement) is output. At this point, the value of the condition content is "-1". 3-11. Perform the process.
 3-11.の処理では、◆XX(変数)を◆XX(変数)+1とする。これにより、◆XX(変数)の値は「3」になる。 3-11. In the process, ◆ XX (variable) is set to ◆ XX (variable) +1. As a result, the value of ◆ XX (variable) becomes “3”.
 その後、3-2.の処理を行う。 After that, 3-2. Perform the process.
 3-2.の処理では、◆XX > ◆条件TOの比較判定を行う。◆XX > ◆条件TOを満たす場合、4.の処理に行く。ここでは、◆XXの値「3」>◆条件TOの値「2」であるので、◆XX > ◆条件TOを満たしており、4.の処理を行う。 3-2. In the process, ◆ XX> ◆ Compares the condition TO. ◆ XX > ◆ When condition TO is satisfied, 4. Go to processing. Here, since the value of “XX” is “3”> the value of the condition TO is “2”, the condition “XX” is satisfied, and the condition “TO” is satisfied. Perform the process.
 4.の処理では、◆表2(変数)が示す表2の行が、最終行であれば5.の処理を行い、上記以外は、◆表2(変数)を、◆表2(変数)+1として、2.の処理を行う。 4. In the process of <5>, if the row in Table 2 indicated by Table 2 (variable) is the last row, 5. Except for the above, ◆ Table 2 (variable) is changed to ◆ Table 2 (variable) +1. Perform the process.
 この場合、◆表2(変数)が示す表2の行は、最終行ではないので、◆表2(変数)の値に「1」が加えられて◆表2の値は「3」となり、2.の処理が行われる。 In this case, the line in Table 2 indicated by Table 2 (variable) is not the last line, so “1” is added to the value in Table 2 (variable), and the value in Table 2 becomes “3”. 2. Is performed.
 2.の処理では、状態のラベルを生成する。 2. In this process, a state label is generated.
 つまり、この時点で、表2の行=◆表2(つまり◆表2(変数)の値は「3」であるので、表2の3行目)の状態を表すラベルを出力する。これにより、ソースコードの13行目のラベル「s003:」が生成される。 That is, at this time, the label indicating the state of the row in Table 2 = ◆ Table 2 (that is, the third row in Table 2 because the value of Table 2 (variable) is “3”) is output. As a result, the label “s003:” on the 13th line of the source code is generated.
 次に、表2の行=◆表2(表2の3行目)の項目「FROM」の値「3」を◆条件FROM(変数)に格納する。 Next, the value “3” of the item “FROM” in the row of Table 2 = ♦ Table 2 (third row of Table 2) is stored in the condition FROM (variable).
 表2の行=◆表2(表2の3行目)の項目「TO」の値「4」を◆条件TO(変数)に格納する。 [Table 2 row = ♦ The value “4” of the item “TO” in Table 2 (third row of Table 2) is stored in the ◆ condition TO (variable).
 次に、3.の処理を行う。 Next, 3. Perform the process.
 3.の処理では、表3に対応するCソースを編集する。 3. In this process, the C source corresponding to Table 3 is edited.
 3-1.まず、◆XX(変数)に◆条件FROM(変数)の値を格納する。 3-1. First, the value of ◆ condition FROM (variable) is stored in ◆ XX (variable).
 3-2.◆XX > ◆条件TOの比較判定を行う。◆XX > ◆条件TOを満たす場合、4.の処理に行く。ここでは、◆XXの値「3」>◆条件TOの値「3」であるので、◆XX > ◆条件TOを満たしておらず、3-3.の処理に行く。 3-2. ◆ XX > ◆ Compare and judge the condition TO. ◆ XX > ◆ When condition TO is satisfied, 4. Go to processing. Here, since the value of “XX” is “3”> the value of “condition TO” is “3”, ◆ XX> <condition TO is not satisfied 3-3. Go to processing.
 3-3.の処理では、表3の行=◆XX(つまり◆XX(変数)の値は「3」であるので、表3の3行目)の項目「FROM」の値「6」を◆処理FROM(変数)に格納する。 3-3. In the processing of Table 3, the value “6” of the item “FROM” in the row = ♦ XX (that is, the value of ◆ XX (variable) is “3” in the third row of Table 3) in Table 3 is used for the processing FROM ( Variable).
 表3の行=◆XX(表3の3行目)の項目「TO」の値「6」を◆処理TO(変数)に格納する。 <Table 3 row = ♦ XX (third row of Table 3) item “TO” value “6” is stored in ◆ processing TO (variable).
 表3の行=◆XX(表3の3行目)の項目「次状態」の値「999」を◆次状態(変数)に格納する。 [Table 3 row = ♦ XX (third row of Table 3)] The item “next state” value “999” is stored in the next state (variable).
 表3の行=◆XX(表3の3行目)の項目「条件内容」の値「5」を◆条件内容(変数)に格納する。 [Table 3 row = ♦ XX (3rd row of Table 3)] Item “Condition content” value “5” is stored in ◆ Condition content (variable).
 次に、3-4.の処理を行う。ここでは、◆条件内容(変数)=-1の場合は3-5.の処理に行く。上記以外の場合は、表4の行=◆条件内容の条件内容のCソースを生成する。 Next, 3-4. Perform the process. Here, if the condition content (variable) = − 1, 3-5. Go to processing. In cases other than the above, the C source of the condition contents of row = ♦ condition contents in Table 4 is generated.
 ここでは、◆条件内容(変数)の値は「5」であるので、表4の行=◆条件内容、つまり表4の5行目の条件内容のCソースを生成する。これにより、ソースコードの14行目の「if(rtn==_C1){」が生成される。 Here, since the value of ◆ condition content (variable) is “5”, the C source of the row 4 in Table 4 = ◆ condition content, that is, the condition content in the fifth row in Table 4 is generated. Thereby, “if (rtn == _ C1) {” in the 14th line of the source code is generated.
 その後、3-5.の処理を行う。ここでは、処理FROM=-1の場合は3-9.の処理を行うが、この時点では、処理FROMの値は「6」であるので、3-6.の処理により、◆YY(変数)に◆処理FROM(変数)の値「6」を格納する。 After that, 3-5. Perform the process. Here, in the case of processing FROM = −1, 3-9. However, since the value of the processing FROM is “6” at this point, 3-6. As a result, the value “6” of ◆ processing FROM (variable) is stored in ◆ YY (variable).
 その後、3-7.の処理を行う。この場合、◆YY(変数)の値は「6」であり、◆処理TO(変数)の値は、「6」であるので、◆YY(変数)>◆処理TO(変数)を満たさないので、3-8.の処理を行う。 After that, 3-7. Perform the process. In this case, the value of ◆ YY (variable) is “6”, and the value of ◆ processing TO (variable) is “6”, so ◆ YY (variable)> ◆ processing TO (variable) is not satisfied. 3-8. Perform the process.
 3-8.の処理では、表4の行=◆YY(変数)(◆YY(変数)の値は「6」であるので、表4の6行目)の処理に相当するCソースを出力する。これにより、ソースコードの15行目の「rtn=$CLOSE(_C3);」が生成される。 3-8. In the process of Table 4, the C source corresponding to the process of line = ♦ YY (variable) in Table 4 (because the value of ◆ YY (variable) is “6”, the sixth line in Table 4) is output. As a result, “rtn = $ CLOSE (_C3);” on the 15th line of the source code is generated.
 その後、◆YY(変数)を◆YY(変数)+1とする。これにより、◆YY(変数)の値は「7」になる。 Then, ◆ YY (variable) is set to ◆ YY (variable) +1. As a result, the value of ◆ YY (variable) becomes “7”.
 その後、3-7.の処理を行う。この場合、◆YY(変数)の値は「7」であり、◆処理TO(変数)の値は、「6」であるので、◆YY(変数)>◆処理TO(変数)を満たすので、3-9.の処理を行う。 After that, 3-7. Perform the process. In this case, since the value of ◆ YY (variable) is “7” and the value of ◆ processing TO (variable) is “6”, it satisfies ◆ YY (variable)> ◆ processing TO (variable). 3-9. Perform the process.
 3-9.の処理では、◆次状態(変数)への遷移に相当するcソースを生成する。つまり、この時点での◆次状態(変数)の値は「999」であるので、状態999への遷移を示すCソース「goto s999;」(16行目のソースコード)を生成する。 3-9. In the process of c, a c source corresponding to the transition to the next state (variable) is generated. That is, since the value of the next state (variable) at this point is “999”, the C source “goto 999;” (the source code on the 16th line) indicating the transition to the state 999 is generated.
 3-10.の処理では、◆条件内容≠-1の場合は、条件(IF文)の終了を表す「}」を出力する。つまり、この時点で、◆条件内容の値は「5」であるので、条件(IF文)の終了を表す「}」(17行目のソースコード)を生成する。 3-10. In the process of ◆, if “condition content ≠ −1”, “}” indicating the end of the condition (IF sentence) is output. That is, since the value of the condition content is “5” at this time, “}” (source code on the 17th line) indicating the end of the condition (IF sentence) is generated.
 続く3-11.の処理では、◆XX(変数)を◆XX(変数)+1とする。これにより、◆XX(変数)の値は「4」になる。 Continued 3-11. In the process, ◆ XX (variable) is set to ◆ XX (variable) +1. As a result, the value of ◆ XX (variable) becomes “4”.
 その後、3-2.の処理を行う。 After that, 3-2. Perform the process.
 3-2.の処理では、◆XX > ◆条件TOの比較判定を行う。◆XX > ◆条件TOを満たす場合、4.の処理に行く。 3-2. In the process, ◆ XX> ◆ Compares the condition TO. ◆ XX > ◆ When condition TO is satisfied, 4. Go to processing.
 ここでは、◆XXの値「4」>◆条件TOの値「3」であるので、◆XX > ◆条件TOを満たしており、4.の処理を行う。 Here, since ◆ XX value “4”> ◆ Condition TO value “3”, ◆ XX> ◆ Condition TO is satisfied, and 4. Perform the process.
 3-2.の処理では、◆XX > ◆条件TOを満たしておらず、3-3.の処理に行く。 3-2. In the process of ◆ XX> ◆ Condition TO is not satisfied and 3-3. Go to processing.
 3-3.の処理では、表3の行=◆XX(つまり◆XX(変数)の値は「4」であるので、表3の4行目)の項目「FROM」の値「7」を◆処理FROM(変数)に格納する。 3-3. In the process of Table 3, the value “7” of the item “FROM” in the row = ♦ XX of Table 3 (that is, the value of ◆ XX (variable) is “4”, the fourth row of Table 3)) Variable).
 表3の行=◆XX(表3の4行目)の項目「TO」の値「7」を◆処理TO(変数)に格納する。 <Table 3 row = ♦ XX (4th row of Table 3) item “TO” value “7” is stored in ◆ processing TO (variable).
 表3の行=◆XX(表3の4行目)の項目「次状態」の値「2」を◆次状態(変数)に格納する。 [Table 3 row = ♦ XX (line 4 in Table 3)] The item “next state” value “2” is stored in the next state (variable).
 表3の行=◆XX(表3の4行目)の項目「条件内容」の値「-1」を◆条件内容(変数)に格納する。 [Table 3 row = ♦ XX (line 4 of Table 3)] The item “condition content” value “−1” is stored in the condition content (variable).
 次に、3-4.の処理を行う。ここでは、◆条件内容(変数)=-1の場合は3-5.の処理に行く。上記以外の場合は、表4の行=◆条件内容の条件内容のCソースを生成する。 Next, 3-4. Perform the process. Here, if the condition content (variable) = − 1, 3-5. Go to processing. In cases other than the above, the C source of the condition contents of row = ♦ condition contents in Table 4 is generated.
 ここでは、◆条件内容(変数)の値は「-1」であるので、3-5.の処理を行う。 [Here, the value of the condition contents (variable) is “−1”, so 3-5. Perform the process.
 3-5.の処理では、処理FROM=-1の場合は3-9.の処理を行うが、この時点では、処理FROMの値は「7」であるので、3-6.の処理により、◆YY(変数)に◆処理FROM(変数)の値「7」を格納する。 3-5. In the processing of 3-9. In the case of processing FROM = -1, 3-9. However, since the value of the processing FROM is “7” at this time, 3-6. As a result, the value “7” of ◆ processing FROM (variable) is stored in ◆ YY (variable).
 その後、3-7.の処理を行う。この場合、◆YY(変数)の値は「7」であり、◆処理TO(変数)の値は、「7」であるので、◆YY(変数)>◆処理TO(変数)を満たさないので、3-8.の処理を行う。 After that, 3-7. Perform the process. In this case, since the value of ◆ YY (variable) is “7” and the value of ◆ processing TO (variable) is “7”, ◆ YY (variable)> ◆ processing TO (variable) is not satisfied. 3-8. Perform the process.
 3-8.の処理では、表4の行=◆YY(変数)(◆YY(変数)の値は「7」であるので、表4の7行目)の処理に相当するCソースを出力する。これにより、ソースコードの18行目の「rtn=KERNEL();」が生成される。 3-8. In the process of Table 4, the C source corresponding to the process of line = ♦ YY (variable) in Table 4 (the value of ◆ YY (variable) is “7”, so the 7th line in Table 4) is output. Thus, “rtn = KERNEL ();” on the 18th line of the source code is generated.
 その後、◆YY(変数)を◆YY(変数)+1とする。これにより、◆YY(変数)の値は「8」になる。 Then, ◆ YY (variable) is set to ◆ YY (variable) +1. As a result, the value of ◆ YY (variable) becomes “8”.
 その後、3-7.の処理を行う。この場合、◆YY(変数)の値は「8」であり、◆処理TO(変数)の値は、「7」であるので、◆YY(変数)>◆処理TO(変数)を満たすので、3-9.の処理を行う。 After that, 3-7. Perform the process. In this case, since the value of ◆ YY (variable) is “8” and the value of ◆ processing TO (variable) is “7”, it satisfies ◆ YY (variable)> ◆ processing TO (variable). 3-9. Perform the process.
 3-9.の処理では、◆次状態(変数)への遷移に相当するcソースを生成する。つまり、この時点での◆次状態(変数)の値は「2」であるので、状態2への遷移を示すCソース「goto s002;」(19行目のソースコード)を生成する。 3-9. In the process of c, a c source corresponding to the transition to the next state (variable) is generated. That is, since the value of the next state (variable) at this point is “2”, the C source “goto s002;” (source code on the 19th line) indicating the transition to the state 2 is generated.
 3-10.の処理では、◆条件内容≠-1の場合は、条件(IF文)の終了を表す「}」を出力する。つまり、この時点で、◆条件内容の値は「-1」であるので、3-11.の処理を行う。 3-10. In the process of ◆, if “condition content ≠ −1”, “}” indicating the end of the condition (IF sentence) is output. That is, since the value of the condition content is “−1” at this point, 3-11. Perform the process.
 続く3-11.の処理では、◆XX(変数)を◆XX(変数)+1とする。これにより、◆XX(変数)の値は「5」になる。 Continued 3-11. In the process, ◆ XX (variable) is set to ◆ XX (variable) +1. As a result, the value of ◆ XX (variable) becomes “5”.
 3-2.の処理では、◆XX > ◆条件TOの比較判定を行う。◆XX > ◆条件TOを満たす場合、4.の処理に行く。ここでは、◆XXの値「5」>◆条件TOの値「3」であるので、◆XX > ◆条件TOを満たしており、4.の処理に行く。 3-2. In the process, ◆ XX> ◆ Compares the condition TO. ◆ XX > ◆ When condition TO is satisfied, 4. Go to processing. Here, since the value of XX is “5”> the value of the condition TO is “3”, the condition TO is satisfied, and therefore, the condition TO is satisfied. Go to processing.
 4.の処理では、◆表2の値は「3」であり、最終行を示しているので、5.の処理に行く。 4. In the process of ◆, the value in Table 2 is “3”, which indicates the last line. Go to processing.
 5.の処理では、終了ラベル「s999」(20行目のソースコード)、終了処理「return 関数戻値」(21行目のソースコード)、関数の終わりを表す「}」(22行目のソースコード)が生成される。ここでは、終了処理「return 関数戻値」は、「return TRANSACTION_rtn」である。 5. In the process, the end label “s999” (source code on the 20th line), the end process “return function return value” (source code on the 21st line), “}” indicating the end of the function (source code on the 22nd line) ) Is generated. Here, the termination process “return function return value” is “return TRANSACTION_rtn”.
 (実施形態2の効果)
 このように本実施形態2では、要求される論理演算システムをコンピュータ上に構築するプログラムを、この論理演算システムを定義する仕様書から得られる状態遷移図あるいは状態遷移表に基づいて自動生成することができる効果がある。
(Effect of Embodiment 2)
As described above, in the second embodiment, a program for constructing a required logical operation system on a computer is automatically generated based on a state transition diagram or a state transition table obtained from a specification defining the logical operation system. There is an effect that can.
 なお、本実施形態2では、実施形態1の会計システムを構築するためのプログラムを自動生成する場合について説明したが、本実施形態2のプログラム自動生成装置は、状態遷移表あるいは状態遷移図により表される演算処理であれば、どのような演算処理であっても、この演算処理を行うためのプログラムのソースコードを、状態遷移表あるいは状態遷移図から自動生成することが可能である。 In the second embodiment, the case of automatically generating a program for constructing the accounting system of the first embodiment has been described. However, the automatic program generation apparatus of the second embodiment is represented by a state transition table or a state transition diagram. As long as the arithmetic processing is performed, the source code of the program for performing this arithmetic processing can be automatically generated from the state transition table or the state transition diagram.
 (実施形態3)
 次に、本発明の実施形態3による論理演算システムとして、分散共分散の逐次計算のモデルについて説明する。
(Embodiment 3)
Next, a distributed covariance sequential calculation model will be described as a logical operation system according to the third embodiment of the present invention.
 従来から統計演算処理は、一般的にはデータを蓄積した後に、バッチ演算により一括して演算結果を求めているが、金融リスクの計算(最小二乗法)などに用いられる基本変数である分散・共分散は、時々刻々と変化する株価などに基づく株価変動の予測情報、例えば、複数の銘柄の株価の相関を示すものとなり、この相関により、関連する株価の予測情報をリアルタイムで取得することは非常に有利となる。 Traditionally, statistical calculation processing generally collects data and then obtains the result of the operation in batches, but the basic variable used for financial risk calculation (least-squares method) is the variance / Covariance indicates stock price fluctuation prediction information based on stock prices that change from time to time, for example, the correlation of stock prices of multiple stocks. By this correlation, it is possible to obtain related stock price prediction information in real time. Very advantageous.
 そこで、この実施形態3では、2変数の相関を示す分散共分散を求める論理演算システムについて説明する。 Therefore, in the third embodiment, a logical operation system for obtaining a variance covariance indicating a correlation between two variables will be described.
 この論理演算システムは、2つの変数A及びB(例えば、2つの銘柄の株価)の変化に基づいて、変数Aの分散、変数A及びBの共分散、及び変数Bの分散を、変数A及びBの値を含む5つのデータが時々刻々と入力される度に算出する論理演算システムを例に挙げて説明する。 The logical operation system calculates the variance of variable A, the covariance of variables A and B, and the variance of variable B based on changes in two variables A and B (for example, stock prices of two stocks). An explanation will be given by taking as an example a logical operation system that calculates each time five pieces of data including the value of B are inputted.
 図36は、本発明の実施形態3による論理演算システムを説明する図であり、この論理演算システムで行う分散共分散の逐次計算のモデルを示している。 FIG. 36 is a diagram for explaining a logical operation system according to the third embodiment of the present invention, and shows a model of sequential calculation of distributed covariance performed by this logical operation system.
 この論理演算システム300では、2変数の論理入力Sin3に基づく論理出力Sout3である分散共分散がユーザ要求に応じた集計結果である。また、この実施形態3では、分散共分散である集計結果は、時々刻々と変化する値を有する点の集合からなる多様体上で、1つの局所座標系として定義されている。この局所座標系では、Y軸上及びX軸上にそれぞれ変数A及びBが定義され、X軸上の変数AとY軸上の変数Aとで定義される点が変数Aの分散としての値を有し、X軸上の変数BとY軸上の変数Bとで定義される点が変数Bの分散としての値を有し、X軸上の変数Aあるいは変数BとY軸上の変数Bあるいは変数Aとで定義される点が変数A及びBの共分散としての値を有している。 In this logical operation system 300, the variance covariance, which is the logical output Sout3 based on the two-variable logical input Sin3, is the aggregation result in response to the user request. Further, in the third embodiment, the aggregation result that is variance-covariance is defined as one local coordinate system on a manifold composed of a set of points having values that change from moment to moment. In this local coordinate system, variables A and B are defined on the Y axis and the X axis, respectively, and a point defined by the variable A on the X axis and the variable A on the Y axis is a value as a variance of the variable A. The point defined by the variable B on the X axis and the variable B on the Y axis has a value as the variance of the variable B, and the variable A on the X axis or the variable B and the variable on the Y axis A point defined by B or variable A has a value as a covariance of variables A and B.
 ここで、局所座標系の各点はメモリ空間に写像され、該メモリ空間上で局所座標系の各点の値が更新される。また、局所座標系の各点の値(基本変数)の更新は、要求仕様に応じた関数が組み込まれた決定性チューリングマシンを用いて行われる。 Here, each point in the local coordinate system is mapped to the memory space, and the value of each point in the local coordinate system is updated in the memory space. Further, the value (basic variable) of each point in the local coordinate system is updated using a deterministic Turing machine in which a function corresponding to the required specification is incorporated.
 従って、この実施形態3の論理演算システム300は、実施形態1のリアル会計システムとは、論理入力Sin3、論理出力構造Sout3、及び論理入力から論理出力を導出する関数が異なる以外は、同等の構成を有している。 Therefore, the logical operation system 300 of the third embodiment is equivalent to the real accounting system of the first embodiment except that the logical input Sin3, the logical output structure Sout3, and the function for deriving the logical output from the logical input are different. have.
 まず、論理入力Sin3について説明する。 First, the logical input Sin3 will be described.
 ここでは、論理入力Sin3は、変数A及びBとして、それぞれNo.1~No.5までの5件のデータを含んでいる。また、論理出力Sout3には、1~5件目のデータが入力された時点での、変数Aの分散、変数AとBの共分散、変数Bの共分散の値を含んでいる。 Here, the logic input Sin3 is No. as variables A and B, respectively. 1-No. 5 data up to 5 are included. Further, the logical output Sout3 includes the variance of the variable A, the covariance of the variables A and B, and the covariance of the variable B when the first to fifth data are input.
 一般的なバッチ処理時の分散共分散の計算式は、以下の式(1)で表される。 The calculation formula of dispersion covariance during general batch processing is expressed by the following formula (1).
Figure JPOXMLDOC01-appb-M000001
 
 ここでnはデータ件数である。変数μaは変数AnのデータA1~Anの平均値であり、一括処理により求められる。変数μbは変数BnのデータB1~Bnの平均値であり、一括処理により求められる。
Figure JPOXMLDOC01-appb-M000001

Here, n is the number of data. The variable μa is an average value of the data A1 to An of the variable An, and is obtained by batch processing. The variable μb is an average value of the data B1 to Bn of the variable Bn, and is obtained by batch processing.
 一方、本実施形態の演算処理システム300は、分散共分散を逐次計算で求めるものであり、この場合の逐次計算式は、以下の式(2)で表される。 On the other hand, the arithmetic processing system 300 of the present embodiment obtains the variance covariance by sequential calculation, and the sequential calculation formula in this case is expressed by the following formula (2).
Figure JPOXMLDOC01-appb-M000002
 
 Vabは、変数AとBの積和であり、例えば、Vab(3)=A+A+Aある。また、Taは、変数Aの和であり、Ta(3)=A+A+Aである。さらに、Tbは、変数Bの和であり、Tb(3)=B+B+Bである。
Figure JPOXMLDOC01-appb-M000002

Vab is a product sum of variables A and B, and for example, Vab (3) = A 1 B 1 + A 2 B 2 + A 3 B 3 . Ta is the sum of the variable A, and Ta (3) = A 1 + A 2 + A 3 . Further, Tb is the sum of the variable B, and Tb (3) = B 1 + B 2 + B 3 .
 なお、上記式(1)から式(2)への変換は、以下の(式3)に示す計算により行われる。 The conversion from the above formula (1) to the formula (2) is performed by the calculation shown in the following (formula 3).
Figure JPOXMLDOC01-appb-M000003
 
 ここで、Sab、Vab、Ta、Tbは、すべて場の変数、つまり多様体を構成する点の時々刻々と変化する値である。
Figure JPOXMLDOC01-appb-M000003

Here, Sab, Vab, Ta, and Tb are all field variables, that is, values that change from moment to moment at points that constitute a manifold.
 また、Taは変数Aの総和であり、Tbは変数Bの総和であるので、共に、今回までの総和は、前回までの総和に今回の値(入力値)を加算して求めることができる。 Also, since Ta is the sum of the variable A and Tb is the sum of the variable B, the sum up to this time can be obtained by adding the current value (input value) to the sum up to the previous time.
 同様にVabは、変数Aと変数Bの積の総和であるため、今回までの総和は、前回までの総和に今回の入力値(変数Aと変数Bの積)を加算して求めることができる。 Similarly, Vab is the sum of products of variable A and variable B, so the sum up to this time can be obtained by adding the current input value (product of variable A and variable B) to the sum up to the previous time. .
 つまり、これらの変数Vab、Ta、Tbの値は、式(4)に示す再帰差分方程式で求めることができ、この結果、変数A及びBの分散Sab(a=b)、さらに変数Aと変数Bの共分散Sab(a≠b)も、この再帰差分方程式で求めることが可能となる。 That is, the values of these variables Vab, Ta, and Tb can be obtained by the recursive difference equation shown in Expression (4). As a result, the variance Sab (a = b) of the variables A and B, and further, the variable A and the variable The covariance Sab of B (a ≠ b) can also be obtained by this recursive difference equation.
 Y(n)=Y(n-1)+u(n) ・・・式(4)
 最小二乗法で用いる近似直線の係数α及びβは分散、共分散により求めることができる。
Y (n) = Y (n−1) + u (n) (4)
The coefficients α and β of the approximate straight line used in the least square method can be obtained by variance and covariance.
 Y=αX+β
 α=Sxy/Sxx
 β=Ymean-(Sxy/Sxx)・Xmean
 ここで、Sxyは変数X、Yの共分散であり、Sxxは変数Xの分散である。
Y = αX + β
α = Sxy / Sxx
β = Ymean− (Sxy / Sxx) · Xmean
Here, Sxy is the covariance of variables X and Y, and Sxx is the variance of variable X.
 次に動作について説明する。 Next, the operation will be described.
 図37は、この実施形態3による論理演算システムの動作を説明する図である。 FIG. 37 is a diagram for explaining the operation of the logical operation system according to the third embodiment.
 1件目のデータ(変数A=12、変数B=3)が論理演算システム300に入力されると、Ta(1)=12、Tb(1)=3、Vaa(1)=144(=12×12)、Vab(1)=36(=12×3)、Vbb(1)=9(=3×3)が、上記式(4)により計算される。また、この演算結果を用いて、式2により、Saa(1)=0、Sab(1)=0、Sbb(1)=0が求められる(図37(a))。 When the first data (variable A = 12, variable B = 3) is input to the logical operation system 300, Ta (1) = 12, Tb (1) = 3, Vaa (1) = 144 (= 12) × 12), Vab (1) = 36 (= 12 × 3), and Vbb (1) = 9 (= 3 × 3) are calculated by the above equation (4). Also, using this calculation result, Saa (1) = 0, Sab (1) = 0, and Sbb (1) = 0 are obtained by Equation 2 (FIG. 37A).
 2件目のデータ(変数A=20、変数B=9)が論理演算システム300に入力されると、Ta(2)=32(=12+20)、Tb(2)=9(=3+6)、Vaa(2)=544(=144+20×20)、Vab(2)=156(=36+20×6)、Vbb(2)=45(=9+6×6)が、上記式(4)により計算される。また、この演算結果を用いて、式2により、Saa(2)=16、Sab(2)=6、Sbb(2)=2.25が求められる(図37(b))。 When the second data (variable A = 20, variable B = 9) is input to the logical operation system 300, Ta (2) = 32 (= 12 + 20), Tb (2) = 9 (= 3 + 6), Vaa (2) = 544 (= 144 + 20 × 20), Vab (2) = 156 (= 36 + 20 × 6), Vbb (2) = 45 (= 9 + 6 × 6) are calculated by the above equation (4). Further, using this calculation result, Saa (2) = 16, Sab (2) = 6, and Sbb (2) = 2.25 are obtained by Equation 2 (FIG. 37 (b)).
 3件目のデータ(変数A=24、変数B=7)が論理演算システム300に入力されると、Ta(3)=56(=32+24)、Tb(3)=16(=9+7)、Vaa(3)=1120(=544+24×24)、Vab(3)=324(=156+24×7)、Vbb(3)=94(=45+7×7)が、上記式(4)により計算される。また、この演算結果を用いて、式2により、Saa(3)=24.8、Sab(3)=8.44、Sbb(3)=2.89が求められる(図37(c))。 When the third data (variable A = 24, variable B = 7) is input to the logical operation system 300, Ta (3) = 56 (= 32 + 24), Tb (3) = 16 (= 9 + 7), Vaa (3) = 1120 (= 544 + 24 × 24), Vab (3) = 324 (= 156 + 24 × 7), Vbb (3) = 94 (= 45 + 7 × 7) are calculated by the above equation (4). Also, using this calculation result, Saa (3) = 24.8, Sab (3) = 8.44, and Sbb (3) = 2.89 are obtained by Equation 2 (FIG. 37 (c)).
 4件目のデータ(変数A=26、変数B=10)が論理演算システム300に入力されると、Ta(4)=82(=56+26)、Tb(4)=26(=16+10)、Vaa(4)=1796(=1120+26×26)、Vab(4)=584(=324+26×10)、Vbb(4)=194(=94+10×10)が、上記式(4)により計算される。また、この演算結果を用いて、式2により、Saa(4)=28.72、Sab(4)=12.75、Sbb(4)=6.25が求められる(図37(d))。 When the fourth data (variable A = 26, variable B = 10) is input to the logical operation system 300, Ta (4) = 82 (= 56 + 26), Tb (4) = 26 (= 16 + 10), Vaa (4) = 1799 (= 1120 + 26 × 26), Vab (4) = 584 (= 324 + 26 × 10), Vbb (4) = 194 (= 94 + 10 × 10) are calculated by the above equation (4). Also, using this calculation result, Saa (4) = 28.72, Sab (4) = 12.75, and Sbb (4) = 6.25 are obtained from Equation 2 (FIG. 37 (d)).
 5件目のデータ(変数A=33、変数B=14)が論理演算システム300に入力されると、Ta(5)=115(=82+33)、Tb(5)=40(=26+14)、Vaa(5)=2885(=1796+33×33)、Vab(5)=1046(=584+33×14)、Vbb(5)=390(=194+14×14)が、上記式(4)により計算される。また、この演算結果を用いて、式2により、Saa(5)=48、Sab(5)=25.2、Sbb(5)=14が求められる(図37(e))。 When the fifth data (variable A = 33, variable B = 14) is input to the logical operation system 300, Ta (5) = 115 (= 82 + 33), Tb (5) = 40 (= 26 + 14), Vaa (5) = 2885 (= 1796 + 33 × 33), Vab (5) = 1046 (= 584 + 33 × 14), Vbb (5) = 390 (= 194 + 14 × 14) are calculated by the above equation (4). Also, using this calculation result, Saa (5) = 48, Sab (5) = 25.2, and Sbb (5) = 14 are obtained from Equation 2 (FIG. 37 (e)).
 このように本実施形態3による論理演算システム300では、2変数の論理入力Sin3に基づく論理出力Sout3である分散共分散を、時々刻々と変化する値を有する点の集合からなる多様体上で1つの局所座標系として定義し、局所座標系の各点をメモリ空間に写像し、メモリ空間上で局所座標系の各点の値を決定性チューリングマシンを用いて更新するので、2つの変数A及びB(例えば、2つの銘柄の株価)の変化に基づいて、変数Aの分散、変数A及びBの共分散、及び変数Bの分散を、論理入力Sin3としての変数A及びBの値が入力される度に算出することができる。 As described above, in the logical operation system 300 according to the third embodiment, the variance covariance that is the logical output Sout3 based on the two-variable logical input Sin3 is set to 1 on a manifold consisting of a set of points having values that change from moment to moment. Since two local coordinate systems are defined, each point of the local coordinate system is mapped to the memory space, and the value of each point of the local coordinate system is updated on the memory space by using a deterministic Turing machine. Based on the change of the stock price (for example, two stock prices), the values of the variables A and B as the logical input Sin3 are input as the variance of the variable A, the covariance of the variables A and B, and the variance of the variable B. Can be calculated in degrees.
 以上のように、本発明の好ましい実施形態を用いて本発明を例示してきたが、本発明は、この実施形態に限定して解釈されるべきものではない。本発明は、特許請求の範囲によってのみその範囲が解釈されるべきであることが理解される。当業者は、本発明の具体的な好ましい実施形態の記載から、本発明の記載および技術常識に基づいて等価な範囲を実施することができることが理解される。本明細書において引用した特許、特許出願および文献は、その内容自体が具体的に本明細書に記載されているのと同様にその内容が本明細書に対する参考として援用されるべきであることが理解される。 As described above, the present invention has been exemplified using the preferred embodiment of the present invention, but the present invention should not be construed as being limited to this embodiment. It is understood that the scope of the present invention should be construed only by the claims. It is understood that those skilled in the art can implement an equivalent range based on the description of the present invention and the common general technical knowledge from the description of specific preferred embodiments of the present invention. Patents, patent applications, and references cited herein should be incorporated by reference in their entirety as if the contents themselves were specifically described herein. Understood.
 本発明は、論理演算方法、論理演算装置、論理演算プログラム、及びプログラム自動生成プログラムを格納した記録媒体の分野において、会計システムなどの論理演算システムを多様体として捉え、この多様体に対する複数の論理入力(レコード)を、多様体上に階層的に形成された個々の局所座標系(個々の会計帳簿)毎に集計し、各局所座標系の論理出力(例えば個々の会計帳簿における集計結果)をリアルタイムで生成することができるものである。 The present invention regards a logical operation system such as an accounting system as a manifold in the field of a storage medium storing a logical operation method, a logical operation device, a logical operation program, and a program automatic generation program. The input (record) is aggregated for each local coordinate system (individual accounting book) hierarchically formed on the manifold, and the logical output of each local coordinate system (for example, the aggregation result in each accounting book) It can be generated in real time.
 また、本発明は、プログラム自動生成方法、プログラム自動生成装置、プログラム自動生成プログラム、及びプログラム自動生成プログラムを格納した記録媒体の分野において、要求される論理演算システムをコンピュータ上に構築するためのプログラムを、この論理演算システムを定義する仕様書から得られる状態遷移図あるいは状態遷移表に基づいて自動生成することができるものである。 The present invention also relates to an automatic program generation method, an automatic program generation apparatus, an automatic program generation program, and a program for constructing a required logical operation system on a computer in the field of a recording medium storing the automatic program generation program. Can be automatically generated based on a state transition diagram or state transition table obtained from a specification defining this logical operation system.
 1 コンピュータシステム
 2 端末コンピュータ
 3 ホストコンピュータ
 4 ネットワーク
 10 リアルタイム演算システム(演算システム)
 11 カーネル
 12 監視エージェント
 13 マスタ情報格納部
 14 状態ログ格納部
 20 知識データベース
 100 会計システム
 100a 業務機能部
 101 売買システム
 200 プログラム自動生成装置
 210 中間情報作成部
 220 ソースコード作成部
 300 論理演算システム
 Sa 試算表
 Sb 預金元帳
 Sc 固定資産台帳
DESCRIPTION OF SYMBOLS 1 Computer system 2 Terminal computer 3 Host computer 4 Network 10 Real-time arithmetic system (arithmetic system)
DESCRIPTION OF SYMBOLS 11 Kernel 12 Monitoring agent 13 Master information storage part 14 Status log storage part 20 Knowledge database 100 Accounting system 100a Business function part 101 Trading system 200 Program automatic generation apparatus 210 Intermediate information creation part 220 Source code creation part 300 Logical operation system Sa Trial calculation table Sb Deposit Ledger Sc Fixed Asset Ledger

Claims (20)

  1.  論理入力に基づいて論理演算を行って、論理出力構造を有する演算結果を出力する論理演算方法であって、
     複数の点からなる多様体上に局所座標系が、該局所座標系に含まれる点の値が、該論理出力構造に含まれる変数となるよう定義され、
     メモリ空間にこの定義された局所座標系の点が写像されており、
     該論理演算方法は、
     該論理入力を入力するステップと、
     該論理入力に基づいて、該メモリ空間上で、該写像した局所座標系の各点の値を逐次更新するステップと
     を含む、論理演算方法。
    A logical operation method for performing a logical operation based on a logical input and outputting an operation result having a logical output structure,
    A local coordinate system is defined on a manifold consisting of a plurality of points, and the values of the points included in the local coordinate system are defined as variables included in the logical output structure.
    The point of this defined local coordinate system is mapped in the memory space,
    The logical operation method is:
    Inputting the logic input;
    And sequentially updating the value of each point of the mapped local coordinate system on the memory space based on the logical input.
  2.  請求項1に記載の論理演算方法において、
     前記演算結果は、階層化された複数の論理出力構造を有し、
     前記局所座標系を定義するステップは、
     前記多様体上に、該階層化された複数の論理出力構造に対応する、階層化された複数の局所座標系を定義するステップを含み、
     前記局所座標系の点をメモリ空間に写像するステップは、
     前記定義された複数の局所座標系の点を、前記メモリ空間の各局所座標系に対応するメモリ領域に写像するステップを含み、
     前記局所座標系の各点の値を逐次更新するステップは、
     該メモリ領域に写像した複数の局所座標系の各点の値を、該論理入力に基づいて逐次更新するステップを含む、論理演算方法。
    The logical operation method according to claim 1,
    The operation result has a plurality of hierarchical logic output structures,
    The step of defining the local coordinate system includes:
    Defining a plurality of layered local coordinate systems corresponding to the plurality of layered logical output structures on the manifold;
    Mapping the points of the local coordinate system to a memory space,
    Mapping the points of the plurality of defined local coordinate systems to a memory area corresponding to each local coordinate system of the memory space;
    The step of sequentially updating the value of each point in the local coordinate system includes:
    A logical operation method including a step of sequentially updating values of points of a plurality of local coordinate systems mapped to the memory area based on the logical input.
  3.  請求項1に記載の論理演算方法において、
     前記局所座標系毎に、前記論理入力から前記局所座標系の各点の値を導出するための関数が定義されている、論理演算方法。
    The logical operation method according to claim 1,
    A logical operation method in which a function for deriving a value of each point of the local coordinate system from the logical input is defined for each local coordinate system.
  4.  請求項3に記載の論理演算方法において、
     前記局所座標系の各点の値を逐次更新するステップは、前記関数を含む決定性チューリングマシンにより、該局所座標系の各点の現在の値を、前記論理入力に応じた値を該局所座標系の各点の現在の値に加算した値に置き換えるステップを含む、論理演算方法。
    The logical operation method according to claim 3,
    The step of sequentially updating the value of each point of the local coordinate system is performed by using a deterministic Turing machine including the function to set the current value of each point of the local coordinate system and the value corresponding to the logical input to the local coordinate system. A logical operation method including a step of replacing with a value added to the current value of each point.
  5.  請求項4に記載の論理演算方法において、
     前記決定性チューリングマシンは、前記論理入力に含まれる検索情報に基づいて、前記メモリ空間上に写像された局所座標系の複数の点のうちの、値を更新すべき各点の位置を検索する、論理演算方法。
    The logical operation method according to claim 4,
    The deterministic Turing machine searches the position of each point whose value is to be updated among a plurality of points of the local coordinate system mapped on the memory space, based on search information included in the logical input. Logical operation method.
  6.  請求項5に記載の論理演算方法において、
     前記論理出力構造では、
     前記局所座標系の各点が、1つのバイナリーサーチツリーのノードに割り当てられており、
     前記決定性チューリングマシンは、該バイナリーサーチツリーを用いて、前記局所座標系の更新すべき各点の位置を検索する、論理演算方法。
    The logical operation method according to claim 5,
    In the logical output structure:
    Each point of the local coordinate system is assigned to one binary search tree node;
    The deterministic Turing machine uses the binary search tree to search the position of each point to be updated in the local coordinate system.
  7.  請求項4に記載の論理演算方法において、
     前記関数は、前記論理入力に対する演算結果を、該論理入力に含まれる値と、前記論理出力構造における対応する変数の値とを加算して求める再帰差分方程式である、論理演算方法。
    The logical operation method according to claim 4,
    The logic operation method, wherein the function is a recursive difference equation that obtains an operation result for the logic input by adding a value included in the logic input and a value of a corresponding variable in the logic output structure.
  8.  請求項4記載の論理演算方法において、
     前記チューリングマシンは、前記局所座標系毎に、各局所座標系に対応する状態遷移表あるいは状態遷移図により定義され、前記メモリ領域の任意の位置に対するデータの参照、更新、および追加を行う基本機能を有しており、
     該状態遷移表あるいは状態遷移図は、該チューリングマシンの現状態、該チューリングマシンが現状態で処理を行うための条件、該チューリングマシンが現状態で行う処理の内容、該チューリングマシンの次状態を表す、論理演算方法。
    The logical operation method according to claim 4,
    The Turing machine is defined by a state transition table or a state transition diagram corresponding to each local coordinate system for each local coordinate system, and has a basic function of referring to, updating, and adding data to an arbitrary position in the memory area Have
    The state transition table or state transition diagram shows the current state of the Turing machine, the conditions for the Turing machine to perform processing in the current state, the contents of the processing that the Turing machine performs in the current state, and the next state of the Turing machine. Represents the logical operation method.
  9.  請求項8記載の論理演算方法において、
     前記多様体を構成する複数の点は、会計システムにおける演算項目に対応し、
     前記複数の局所座標系は、該会計システムを構成する種々の会計帳簿に対応し、
     該局所座標系の各点の値を逐次更新するステップは、
     該会計システムの種々の演算項目に関する情報を含む論理入力がレコードとして入力される度に、種々の会計帳簿毎に、対応する演算項目の集計結果を、該論理入力に対する論理出力として出力するステップを含む、論理演算方法。
    The logic operation method according to claim 8, wherein
    A plurality of points constituting the manifold correspond to calculation items in the accounting system,
    The plurality of local coordinate systems correspond to various accounting books constituting the accounting system,
    The step of sequentially updating the value of each point in the local coordinate system includes:
    Each time a logical input including information on various calculation items of the accounting system is input as a record, a step of outputting a total result of the corresponding calculation items as a logical output for the logical input for each of various accounting books. Including logical operation methods.
  10.  請求項9記載の論理演算方法において、
     前記種々の会計帳簿は、試算表、預金元帳、および固定資産台帳である、論理演算方法。
    The logical operation method according to claim 9, wherein
    The logical calculation method, wherein the various accounting books are a trial balance, a deposit ledger, and a fixed asset ledger.
  11.  請求項8記載の論理演算方法において、
     前記多様体を構成する複数の点は、統計システムにおける複数の演算項目に対応し、
     前記複数の演算項目は、2以上の変数を含む論理入力が複数回入力されたときの、同一の変数に対する分散、および異なる2つの変数に対する共分散であり、
     前記局所座標系の各点の値を逐次更新するステップは、
     該論理入力が入力される度に、該同一の変数に対する分散、および該異なる2つの変数に対する共分散を逐次更新するステップを含む、論理演算方法。
    The logic operation method according to claim 8, wherein
    A plurality of points constituting the manifold correspond to a plurality of calculation items in the statistical system,
    The plurality of calculation items are a variance for the same variable and a covariance for two different variables when a logical input including two or more variables is input a plurality of times.
    The step of sequentially updating the value of each point in the local coordinate system includes:
    A logical operation method including a step of sequentially updating a variance for the same variable and a covariance for the two different variables each time the logical input is input.
  12.  論理入力に基づいて論理演算を行って、論理出力構造を有する演算結果を出力する論理演算システムであって、
     複数の点からなる多様体上に局所座標系が、該局所座標系に含まれる点の値が、該論理出力構造に含まれる変数となるよう定義され、
     メモリ空間にこの定義された局所座標系の点が写像されており、
     該論理演算システムは、
     該論理入力を入力する入力部と、
     該論理入力に基づいて、該メモリ空間上で、該写像した局所座標系の各点の値を逐次更新する演算部と
     を含む、論理演算システム。
    A logical operation system that performs a logical operation based on a logical input and outputs an operation result having a logical output structure,
    A local coordinate system is defined on a manifold consisting of a plurality of points, and the values of the points included in the local coordinate system are defined as variables included in the logical output structure.
    The point of this defined local coordinate system is mapped in the memory space,
    The logical operation system is:
    An input unit for inputting the logical input;
    A logical operation system comprising: an arithmetic unit that sequentially updates the value of each point of the mapped local coordinate system on the memory space based on the logical input.
  13.  論理入力に基づいて論理演算を行って、論理出力構造を有する演算結果を出力する論理演算処理を、コンピュータに実行させるための論理演算プログラムであって、
     複数の点からなる多様体上に局所座標系が、該局所座標系に含まれる点の値が、該論理出力構造に含まれる変数となるよう定義され、
     メモリ空間にこの定義された局所座標系の点が写像されており、
     該論理演算処理は、
     該論理入力を入力するステップと、
     該論理入力に基づいて、該メモリ空間上で、該写像した局所座標系の各点の値を逐次更新するステップと
     を含む、論理演算プログラム。
    A logic operation program for causing a computer to execute a logic operation process that performs a logic operation based on a logic input and outputs an operation result having a logic output structure,
    A local coordinate system is defined on a manifold consisting of a plurality of points, and the values of the points included in the local coordinate system are defined as variables included in the logical output structure.
    The point of this defined local coordinate system is mapped in the memory space,
    The logical operation processing is
    Inputting the logic input;
    And sequentially updating the value of each point of the mapped local coordinate system on the memory space based on the logic input.
  14.  請求項13に記載の論理演算プログラムを格納したコンピュータ読取可能な記録媒体。 A computer-readable recording medium storing the logical operation program according to claim 13.
  15.  プログラムを状態遷移図あるいは状態遷移表から自動生成するプログラム自動生成方法であって、
     該状態遷移図あるいは状態遷移表が示す第1の情報から中間情報である第2~第4の情報を作成するステップと、
     該第2~第4の情報に基づいて、該プログラムのソースコードを生成するステップとを含む、プログラム自動生成方法。
    A program automatic generation method for automatically generating a program from a state transition diagram or a state transition table,
    Creating second to fourth information as intermediate information from the first information indicated by the state transition diagram or the state transition table;
    A program automatic generation method including a step of generating a source code of the program based on the second to fourth information.
  16.  請求項15に記載のプログラム自動生成方法において、
     前記第1の情報は、コンピュータが、どの状態のときに、どの入力があると、どの処理を行って、どの状態に遷移するかを示す情報であり、
     前記第2~第4の情報を作成するステップは、
     該第1の情報に含まれる現状態と処理条件とを示す情報に基づいて、該コンピュータが現状態でどれだけの条件を判定するかを示す情報を該第2の情報として作成するステップと、
     該第1の情報に含まれる条件内容と次状態とを示す情報に基づいて、該コンピュータがどのような条件でどれだけの処理を行って次の状態に移るかを示す情報を該第3の情報として作成するステップと、
     該第1の情報に含まれる条件の判断と処理の実行の順序を示す情報に基づいて、該コンピュータが判断する条件と該コンピュータが実行する処理とを順に示す情報として、該第4の情報を作成するステップとを含む、プログラム自動生成方法。
    The program automatic generation method according to claim 15,
    The first information is information indicating which state the computer performs in which state, which process is performed, and which state is changed,
    The steps of creating the second to fourth information include:
    Creating, as the second information, information indicating how many conditions the computer determines in the current state based on information indicating the current state and processing conditions included in the first information;
    Based on the information indicating the condition contents and the next state included in the first information, information indicating how much processing the computer performs under what conditions and the next state are transferred to the third information. Creating as information,
    Based on the information indicating the order of execution of the determination of the condition and the process included in the first information, the fourth information is set as information indicating the condition determined by the computer and the process executed by the computer in order. A method for automatically generating a program, including the step of creating.
  17.  請求項16に記載のプログラム自動生成方法において、
     前記ソースコードを生成するステップは、
     該第2及び3の情報に基づいて、前記コンピュータの各状態への遷移を示すソースコードを生成するステップと、
     該第4の情報に基づいて、該コンピュータが実行する前記条件及び前記処理を示すソースコードを生成するステップとを含む、プログラム自動生成方法。
    The method for automatically generating a program according to claim 16,
    The step of generating the source code includes:
    Generating a source code indicating a transition to each state of the computer based on the second and third information;
    A method for automatically generating a program, comprising: generating a source code indicating the condition executed by the computer and the process based on the fourth information.
  18.  プログラムを状態遷移図あるいは状態遷移表から自動生成するプログラム自動生成装置であって、
     該状態遷移図あるいは状態遷移表が示す第1の情報から中間情報である第2~第4の情報を作成する中間情報作成部と、
     該第2~第4の情報に基づいて、該プログラムのソースコードを生成するソースコード作成部とを含む、プログラム自動生成装置。
    An automatic program generation device that automatically generates a program from a state transition diagram or state transition table,
    An intermediate information creating unit for creating second to fourth information as intermediate information from the first information indicated by the state transition diagram or the state transition table;
    A program automatic generation apparatus, comprising: a source code creation unit that generates a source code of the program based on the second to fourth information.
  19.  プログラムを状態遷移図あるいは状態遷移表から自動生成するプログラム自動生成処理を、コンピュータにより行うためのプログラム自動生成プログラムであって、
     該プログラム自動生成処理は、
     該状態遷移図あるいは状態遷移表が示す第1の情報から中間情報である第2~第4の情報を作成するステップと、
     該第2~第4の情報に基づいて、該プログラムのソースコードを生成するステップとを含む、プログラム自動生成プログラム。
    A program automatic generation program for performing automatic program generation processing by a computer for automatically generating a program from a state transition diagram or a state transition table,
    The program automatic generation process is:
    Creating second to fourth information as intermediate information from the first information indicated by the state transition diagram or the state transition table;
    A program automatic generation program including a step of generating a source code of the program based on the second to fourth information.
  20.  請求項19に記載のプログラム自動生成プログラムを格納したコンピュータ読取可能な記録媒体。 A computer-readable recording medium storing the program automatic generation program according to claim 19.
PCT/JP2011/002395 2010-04-23 2011-04-22 Logical operation method, logical operation system, logical operation program, automatic program generation method, automatic program generation device, automatic program generation program, and recording medium WO2011132436A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012511567A JPWO2011132436A1 (en) 2010-04-23 2011-04-22 Logic operation method, logic operation system, logic operation program, program automatic generation method, program automatic generation device, program automatic generation program, and recording medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2010100342 2010-04-23
JP2010-100342 2010-04-23

Publications (1)

Publication Number Publication Date
WO2011132436A1 true WO2011132436A1 (en) 2011-10-27

Family

ID=44833977

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2011/002395 WO2011132436A1 (en) 2010-04-23 2011-04-22 Logical operation method, logical operation system, logical operation program, automatic program generation method, automatic program generation device, automatic program generation program, and recording medium

Country Status (2)

Country Link
JP (1) JPWO2011132436A1 (en)
WO (1) WO2011132436A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003030172A (en) * 2001-07-11 2003-01-31 Canon Inc Optimization method with constraint condition and program
JP2004213497A (en) * 2003-01-07 2004-07-29 Kanazawa Inst Of Technology Information management device
JP2006171800A (en) * 2004-12-10 2006-06-29 Fujitsu Ltd Data-totaling device, its method, and program
JP2008136796A (en) * 2006-12-05 2008-06-19 Sun Corp Game data management device
JP2008310796A (en) * 2007-06-15 2008-12-25 Mitsubishi Electric Research Laboratories Inc Computer implemented method for constructing classifier from training data detecting moving object in test data using classifier

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3230677B1 (en) * 2000-06-01 2001-11-19 日本インターシステムズ株式会社 Automatic counting method, automatic counting device, and recording medium
JPWO2004017240A1 (en) * 2002-08-13 2005-12-08 株式会社グローブライト総合研究所藤原会計事務所 Prepared by the International Searching Authority as shown below. Accounting data management system, management method, and management program

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003030172A (en) * 2001-07-11 2003-01-31 Canon Inc Optimization method with constraint condition and program
JP2004213497A (en) * 2003-01-07 2004-07-29 Kanazawa Inst Of Technology Information management device
JP2006171800A (en) * 2004-12-10 2006-06-29 Fujitsu Ltd Data-totaling device, its method, and program
JP2008136796A (en) * 2006-12-05 2008-06-19 Sun Corp Game data management device
JP2008310796A (en) * 2007-06-15 2008-12-25 Mitsubishi Electric Research Laboratories Inc Computer implemented method for constructing classifier from training data detecting moving object in test data using classifier

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
SHIN'ICHIRO MADO: "Agents' Evolution and Ability to Solve Problems", 2006 NENDO ANNUAL CONFERENCE OF JSAI, 7 June 2006 (2006-06-07), (DAI 20 KAI) RONBUNSHU, pages 1 - 4 *

Also Published As

Publication number Publication date
JPWO2011132436A1 (en) 2013-07-18

Similar Documents

Publication Publication Date Title
Rad et al. Industry 4.0 and supply chain performance: A systematic literature review of the benefits, challenges, and critical success factors of 11 core technologies
US11175910B2 (en) System and method for code and data versioning in computerized data modeling and analysis
US10275502B2 (en) System and method for interactive reporting in computerized data modeling and analysis
Ross Introduction to supply chain management technologies
US8340995B2 (en) Method and system of using artifacts to identify elements of a component business model
US9870630B2 (en) Methods and systems to generate graphical representations of relationships between persons based on transactions
WO2017112864A1 (en) System and method for rapid development and deployment of reusable analytic code for use in computerized data modeling and analysis
Ingvaldsen et al. Industrial application of semantic process mining
Zhen et al. Capacitated closed-loop supply chain network design under uncertainty
CN101071477A (en) Financial analysis system and method based on expert system and nonlinear technology
Nguyen et al. The effect of supply chain finance on supply chain risk, supply chain risk resilience, and performance of Vietnam SMEs in global supply chain
Dwivedi et al. A model driven service identification approach for process centric systems
Accorsi et al. A practitioner’s view on process mining adoption, event log engineering and data challenges
Tekinerdoğan et al. Classifying and evaluating architecture design methods
CN113837648B (en) Enterprise relevance analysis method, associated enterprise recommendation method and device
WO2011132436A1 (en) Logical operation method, logical operation system, logical operation program, automatic program generation method, automatic program generation device, automatic program generation program, and recording medium
Moonesian et al. Efficiency and super-efficiency under inter-temporal dependence
US20190179841A1 (en) Generation program, information processing apparatus and generation method
Schelp et al. Business application design and enterprise service design: a comparison
Sadula Integrating Big Data Analytics with US SEC Financial Statement Datasets and the Critical Examination of the Altman Z’-Score Model
Tang et al. The constructing method of meta-requirement analysis model
JP6943446B2 (en) Intellectual property information management system, program
Beimborn et al. The role of SOA for BPO intention–proposing a research model
CN116226741A (en) Modeling method and device based on data type
Beynon et al. Empirical modelling of real life financial systems: The need for integration of enabling tools and technologies

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 11771776

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2012511567

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 11771776

Country of ref document: EP

Kind code of ref document: A1