WO2004068342A1 - ソフトウェア開発前処理方法、ソフトウェア制御方法、ソフトウェア開発方法並びにソフトウェア開発装置 - Google Patents
ソフトウェア開発前処理方法、ソフトウェア制御方法、ソフトウェア開発方法並びにソフトウェア開発装置 Download PDFInfo
- Publication number
- WO2004068342A1 WO2004068342A1 PCT/JP2003/009591 JP0309591W WO2004068342A1 WO 2004068342 A1 WO2004068342 A1 WO 2004068342A1 JP 0309591 W JP0309591 W JP 0309591W WO 2004068342 A1 WO2004068342 A1 WO 2004068342A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- word
- software development
- search
- unit
- node
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
Definitions
- the present invention relates to software development, and more particularly, to a software development preprocessing method, a software control method, a software development method, and a software development apparatus based on a mathematical concept.
- a program consists of the following three parts.
- Non-Patent Documents 1 and 2 We usually express the program structure using logical relationships such as Hoar Logic and ⁇ calculation (see Non-Patent Documents 1 and 2). Representing this style of program structure helps to understand the behavioral structure of those programs. This makes it possible to understand and analyze the program, especially in the case of declarative (style) programs. However, the analysis conducted through such an approach reveals the difficulty of verifying and / or modifying semantics due to the complexity of logical expressions. I do.
- Patent Document i Patent Document i
- Patent Document 3 Patent Document 3
- Patent Document 4 Patent Document 4
- Patent Document 5 (Patent Document 5)
- Patent Document 6 (Patent Document 6)
- Non-Patent Document 3 (Non-Patent Document 3)
- Non-patent document 4 (Non-patent document 4)
- the present invention seeks to solve the above-described problems of the conventional technology, and easily verifies the semantics even if the program has a complicated logical expression. It is intended to provide a methodology that can be modified and modified.
- the present invention can achieve higher efficiency, higher speed, and higher performance in software development using the Lyee (registered trademark) methodology. aimed to. It is another object of the present invention to provide a software development pre-processing method, a software control method, a software development method, and a software development apparatus that can achieve the above objects.
- the present invention in addition to the above, mathematically expresses the program structure related to Lyee (registered trademark), the methodology, and shows its legitimacy, and its non-ordered nature. Aim. Disclosure of the invention
- an ordered relationship between word-based programs for finding a value for each word related to a software development request is represented by a directed graph, a search is performed on the represented directed graph, and a result of the search is obtained. It is characterized in that the word-based program group is rearranged based on this.
- the present invention generates an adjacency matrix from an order relationship between word-unit programs for obtaining a value for each word according to a software development request, performs a search on the generated adjacency matrix, and performs the search.
- the word-based program group is rearranged based on the result of (1).
- search means (topological sort) (to be described later), depth-first search (to be described later), depth-first search (to be described later), and breadth-first search (B readth—first).
- S earch Iterative D eeping, Heuristic search, Hill C limbing, Best priority search (Best— First S earch), It refers to various algorithms including Euler's one-stroke writing, Dijkstra's method, and the like.
- the present invention provides a method for using words in user requirements for software development.
- the adjacency matrix and the state vector are generated from the stipulation relation, and the adjacency matrix and the state vector are calculated based on a predetermined axiom, and the state of the word is grasped from the calculation result.
- the present invention is characterized in that a word-by-word program for obtaining a value in an area for each word according to a software development request is expressed in a directed graph.
- the term “software” used here has a broad meaning. In other words, it is a concept that includes both development requests from users and objective programs that meet those requests.
- the present invention provides a basic structure unit in a unit in which a set relating to the order relation between word-based programs for obtaining a value for an area for each word according to a software development request is closed. It is characterized in that it is represented by a directed graph that captures units as nodes.
- the present invention generates an adjacency matrix from the order relation between word-unit programs for obtaining a value in an area for each word according to a software development request, performs a search on the generated adjacency matrix, and The word-based program group is rearranged based on the search result, and the rearranged word-based program group is applied to the Lyee methodology to generate a code.
- the present invention also provides an adjacency matrix calculation unit that generates an adjacency matrix from an order relationship between word-based programs for obtaining a value in an area for each word according to a software development request,
- a search unit that performs a search and rearranges the word-based program group based on a result of the search; and a generation unit that applies the re-arranged word-based program group to the Lyee methodology to generate a code.
- a search unit that performs a search and rearranges the word-based program group based on a result of the search
- a generation unit that applies the re-arranged word-based program group to the Lyee methodology to generate a code.
- These parts are In the end, automatic processing can be performed consistently from the elimination of repetitive processing to software generation, and software production speed and efficiency are improved to each stage. '
- the “directed graph creator” represents each word included in the requirements issued by a user who is a software development requester by a node, and distinguishes between input words and state words.
- a partial order relation or total order relation between the starting point and the ending point a ⁇ b (defining “ ⁇ ” as a symbol meaning that b is created from a.
- a unit that implements the function of creating a directed graph For example, such a function may be programmed as software, or a code obtained by coding the software may be written in ROM (Read On 1 y Memory). Good.
- the “input word” refers to the final end word that does not have in Equation 1 (described later), and the “state word” refers to a word that is not an input word.
- the “adjacency matrix calculation unit” is obtained by calculating the adjacency matrix, which is a form that expresses the relationship between programs in word units in the form of Equation 1 (described later) and re-expresses it in the form of a matrix.
- a unit that implements a function may be programmed software, or a coded version of the software may be written in R ⁇ M (Read On 1 y Memory). Is also good.
- search unit has a function of generally realizing a search which is an algorithm including the above-described various methods.
- a function may be programmed as software, or a coded version of the software may be written in ROM (Read Only Memory). Good.
- topological 'sort part (described later) is the same as the one obtained above.
- a depth-first search (described later) is performed on the directed graph, and a node is acquired when returning to the search path from the point where it arrived. Refers to a unit.
- such a function may be programmed as software, or a coded version of the software may be written in ROM (Read On 1 y Memory). You may.
- preprocessing for eliminating repetition is automatically performed, and based on the preprocessed word-based program obtained in this manner, automatic processing is performed using the Lyee (registered trademark) methodology.
- the purpose program is generated. In other words, it can be automated from refinement (alignment) of user requirements to generation of the target program. This will have a significant effect on the software industry, including a significant increase in software production efficiency, productivity, and quality.
- Figure 1 shows the structure of a program that calculates Equation 1 for the state word ⁇ .
- Fig. 2 is an example of a directed graph to explain the order of ⁇ ⁇ relation with> a ⁇ b (b is created from a).
- Figure 3 is an example of a directed graph.
- FIG. 4 is a directed graph showing a specific partial order relation formed by certain nodes 1 to 8.
- FIG. 5 is a flowchart for explaining the operation of the topological sort.
- FIG. 6 is a flowchart for explaining an automatic control operation for eliminating repetition by using topological 'sorting when a logical element in a word unit is a node in the Lyee (registered trademark) methodology.
- FIG. 7 is a block diagram showing a functional configuration when 'the present invention is implemented as a software development device. Summary of the Invention
- the present invention solves the above-mentioned problems in the prior art by using a different approach derived from the “directed graph” technique.
- the software based on the Lye '(' registered trademark) methodology is composed of a set of word-based programs.
- word-by-word programming requirements are represented by sets of words, and words are defined using declarative statements.
- Word-based programs consist of two main components. One component is the word component.
- the requirement is a set of words that includes the name of the word, the definition of the word formula, the condition of the word formula, and the word attributes (input / output, data type, and other attributes).
- it is defined in the form of a declaration statement, not an assignment statement. For example, if 'S w is a declaration that defines the word w.
- Table 1 An example of the requirement is shown in Table 1.
- the other component is a component of the control program (the control program simply executes the word-by-word program until no further word changes, even after repeated executions).
- the definition of word a uses word b, and word b is given after word a, but the user must specify the order in which these definitions are performed (control logic).
- the execution order of one line of a program affects the execution result.
- the word a is executed. Words d, b, and c have not been executed yet, so word a cannot be determined.
- the input word c is executed. Since the word c has no execution condition, its value is determined. For example, if the value of word c is +3, then word b has the execution condition c> 0, so the definition '2 X c + 5 is executable, and the value of word b is calculated as + 1 1 1 The value can be output.
- word b and word c have determined values of +1 1 and +3, respectively, so word a gets value +1 4 and its value is appropriate. Is output to Since the values of words c, b and d have been calculated before, all of the values of these words have been determined. Thus, in the second run, all four word values have been determined.
- False The value is determined, but does not meet user requirements. Not determined (or empty): The value has not been determined. The initial state of a word is always undecided, which means that the value of the word has not yet been moved or calculated. The word defined by the name is called the end word, and the words used in the calculation conditions and formulas to define another word are called the start words. The execution of all of the. Words in the requirement once is called one-cycle processing.
- the value of a word is determined and its status becomes true when all the statuses of the starting word of the word become true.
- the state of a word that is not used as the start word does not contribute to the state of the end word.
- the repetition of one cycle is called repetition (or repetition).
- a closed loop means that the word directly or indirectly defines itself or that the requirements are not complete.
- Execution conditions must be exclusive, and negation must be explicitly defined. In other words, the sum of the conditions must form a non-overlapping whole (in other words, the sum of the conditions is 1 and not more than 1 or less than 1).
- FIG. Figure 1 is a flowchart showing the structure of the word-based program described above. It is one. The structure and operation of the program will be described with reference to FIG. Figure 1 shows the word names.
- the word definition formula (calculation formula) is executed and the result is stored in a temporary area. Therefore, a temporary area is needed. If any of the starting points is not true, do not execute the defining expression.
- Box 5 determines which of these words is I do. If the value of the word is false depending on user requirements, or the value of the starting point is false, the state of word. Is false. If the word is false, go to box 6; if the word is not false, go to pox 7.
- a program that controls the entire system is called a palette chain function (see Non-Patent Document 3).
- a control program that performs appropriate repetition processing is included in this program.
- the state of one source word is false, the state of the destination word is definitely false. Even if all states of the start word are true, if the user requirement is false, the state of the end word will be false. Therefore, in order to determine whether or not repetition is performed, it is only necessary to determine whether or not an empty (undecided) start word is included in the definition expression.
- the iteration is performed. However, if it is represented by a directed graph, the state of the destination word does not change from the sky when a closed loop is included. Also, when the system has no start word, the end word changes from empty Absent. Therefore, in such a case, the repetitive process does not end but enters an eternal loop.
- the word c which has the program code used to control the recursive counter in the program ( ⁇ ) of the palette chain function that controls all the words L (a) in the program, is Each time the word program runs out, it increments the recursion counter by one. As a condition for terminating a series of iterative processes, the fact that the value of this recursive counter is the same as the value in the previous iterative process is used. This state is called "no state change".
- Ctr is the number of words L (oi) whose state is undetermined * /
- the value of the variable Cti '' is the number of words L (o) whose state is undecided. 'When the program stops, according to the definition formula of words, there is a starting word in this system The state of the word L ( ⁇ ) is usually assigned true or false The state of the word ⁇ is undecided (empty) in the following cases:
- Exclusive is if "(> J) or puku))" is always true and "((jc> j; and (: ⁇ j))” is always false.
- X and ⁇ are defined as exclusive.
- the program structure of a word-based program can be proved by Hoa's theorem. Wear. However, it is difficult to analyze and improve the semantics of word-based programs by analyzing the Hoa's theorem approach through the complexity of the logical expression style. Therefore, the present invention is described using a mathematical structure model of a program structure based on a word-based program using an adjacency matrix, which is another approach originating from the directed graph technology.
- the program structure of a word-based program is first represented by a mathematical structure model, and its features are described. That is, a directed graph model and an adjacency matrix model. 1.
- Equation 1 is a function representing a definition expression of the i-th word X in a system having ⁇ words.
- X (i) represents the i-th word X which is the end word.
- fi (x (l), X (2) ', x (n)) is a function that represents the definition of the end-point word x (i).
- Figure 2 is a diagram showing an example of a directed graph for explaining the order having the relationship (f) of a (b is created from a).
- words form a semi-ordered set with the relationship a ⁇ b.
- the directed graph in the figure can be viewed as a set that includes the elements of the words a and b and the semi-order relations (arrows) that relate these elements.
- a directed graph can be represented by an adjacency matrix.
- the adjacency matrix representing the relationship between n words is represented by n x n matrices, which is called the adjacency matrix F.
- row headings and column headings each have n word names.
- Each of the n words is an end word when it is a row heading, and each of the n words is a starting word when it is a column heading.
- the program fi (x (i))) that generates the word x (i) uses X j as the starting word, the i-th row of the adjacency matrix
- 1 or 0 indicates whether or not the start point word ⁇ is used.
- Equation 1 The relationship between the words in Example 1 in which each word is defined by Equation 1 and defined as Equation 3 below will be specifically described in two forms: a directed graph and an adjacency matrix.
- FIG. 3 is an example of a directed graph showing the state of Example 1 above.
- Equation 4 the row header of the adjacency matrix F is the end word, and the column header is the start word. To make it easier to see which end or start word each row or column represents, and to simplify the description, the adjacency matrix contains Is attached.
- the adjacency matrix F of Equation 4 is expanded and described for each row.
- Row of the end point word X l in the first row is set to 0 also intersection between any start word string, end-point word X l is that no starting point (as i.e. this is the input word) is shown ing.
- the intersection of the columns of the start word x 4 and x 5 is 1, the intersection of the other start word strings is 0, and the end word x 3 is x 4 It has been shown to have in the x 5 as a starting point word.
- end-point word endpoint word x 7 from the end word x 4 similarly, which words or having as a start point word (or do not have) is.
- Each row of the adjacency matrix in Equation 4 can also be represented by the following equation.
- the left side is the end word that becomes the row heading
- the right side is the starting word of the column heading where the intersection value is 1. “0” on the right-hand side indicates that the value of any intersection point is “0”.
- “ten” does not mean “add” in ordinary four arithmetic operations, but determines a left-side state word (end-point word) in a mathematical expression representing a relation between words in this specification. It is used as an operator (hereinafter referred to as “addition operator”) to indicate that when there are multiple start words in a partially ordered set, they are added to define the word on the left side. From the above, therefore, it can be said that the relationship between the words defined by Equation 3 is equivalent to the relationship represented by the directed graph of FIG. 3 and the relationship described by the mathematical expression using the adjacency matrix of Equation 4 .
- Equation 4 Referring to the example of the word represented in adjacency matrix, the order in which the start point a word is displayed, base-vector X representing the state of each start word order of X 7 from Xl, for example the following Equation 5 can be used.
- the headings have been added to the vectors to make it easier to understand which starting word each line indicates and to simplify the explanation.
- Equation 5 the vector X is the state of the start words X and X 2 is “+1”, the state of the start word X 3 is “1 1”, and the state of the start words of X 4 to X 7 is Indicates "null".
- the initial values of the input words are as follows.
- Equation 1 the state does not change.
- the initial value of the status word is empty: Empty ':' value not yet determined.
- the node is not included in the closed loop, and if the value of the source word is false when the source words are sequentially searched from the node related to any source word, The value of the node (word) is not determined. If the word value does not meet the user requirements, the node value is not determined. Even if the value is calculated successfully, the value of the node (word) is determined to be false.
- the states of the n words are recorded in vector X (a matrix of one column) according to the order of the words. Arithmetic operators are defined to represent the same state as the state calculated by executing an iterative process using the adjacency matrix F and the state vector X. In other words, the multiplication of F and X is
- n number of words items of words
- the element x m , i of the state vector X m which is the product of the m-th adjacency matrix F and the state vector X (the word ⁇ after the m-th iteration is expressed by the following equation. . + ⁇ '- ⁇ ⁇
- the adjacency matrix; end-point word of the i-th row F Is given an index 1 or o (1 if it is a start word, 0 if it is not), indicating whether or not the start word j in column j is used.
- X m and i on the right side of the multiplication operator ( ⁇ ) are three types of exponents indicating the state of the start word represented in the i-th row of the vector zole X during the m-th iteration + 1 (True), -1 (false), null (where null means empty).
- the third return processing of the end word X 3 is represented by Equation ⁇ ⁇ as follows.
- Equation 8 The axiom of Equation 8 shows that: If the start word index is 0, whatever the state of the start word is, the state of the start word is true (+1) and does not affect the state of the end word. If the start word index is 1, the state of the start word does not change, and the state of the start word gives business to the state of the end word.
- Axiom 2 above can be roughly categorized by the right-hand side.
- (+1) + (+1) (+1) [The value on the right side satisfies the user requirements.]
- Equation 10 the meaning of the addition operator (+) is, for example, if there is at least one (1 1) on the left side, the right side is (1 1) . If there is no (1-1) on the left side and there is at least one empty (null), the right side is empty. If all the forces on the left side are force (+1), the state on the right side is (+1) if the value on the right side that is the end point satisfies the user requirement, and (1-1) if it does not meet the user requirement. .
- the state of the end point word ⁇ 1) (true) is when all the states of the start point word are (+1) (true) and the value of the end point word satisfies the user requirements.
- the state of the end word is 1) (false) when the state of the start word is at least one (1 1)', or all the start words are (+1) (true). And the value of the end point word does not satisfy the user requirement.
- the state of the ending word is empty (undecided) if one or more ⁇ Axiom 2 3rd> group if the state of the word is empty and the remaining state of the 'or' starting word is (+1) (true).
- F m is defined as the product of ordinary matrices.
- the elements (i, j) of F m are non-negative integers.
- the empty set, the set G (V, E) of the finite set V and the subset E of VX V, are called directed Darraf.
- the elements of V are called vertices or points, and the elements (u, v) of E are called edges or arrows.
- a finite series P of points of G, P ⁇ v 1 , v 2 , ..., v n > is v. From V! , And for each i (l ⁇ I n), when (V, Vi ) e E holds, n is called the length of this path.
- v 0 is called the start point of P ', and v n is called the end point.
- V 0 > is a zero-length path. Nose is the path that follows point G with the direction of the adjacent arrow. (Theorem 4).:
- Depth first search You can perform a topological sort by picking up a node when you return and picking up a node. Do this from each node and sort the results in reverse order. To arrange words in the ordering process (one-round process), all that is required is to arrange words by this method.
- FIG. 4 is a directed graph showing a specific order relation formed by certain nodes 1 to 8.
- node 2 ⁇ node 5 ⁇ node 6 ⁇ node 8 '(*) ⁇ node 6 (*) ⁇ node 5 (*) ⁇ node 2 (*). ⁇ .
- FIG. 5 is a flowchart for explaining the operation of the topological sort.
- a a + l is set, and the starting point is set to the node a (step 502).
- step 507 it is determined whether the node has returned to node a as a result of the recursion (step 507), and if not, the process returns to step 503.
- Step 5 10 it is checked whether or not all nodes have been searched (Step 5 10) t If there is a node that has not been searched yet, return to Step 5 02 to change the starting point and start searching again .
- the search ends and the recursive node sequence that has been evacuated is sorted in reverse order (step 5 1 1) to obtain one candidate for sorting. Then, a series of topological 'sort operations are completed (step 512).
- F '(topologically sorted F) is expressed by the following equation 14.
- F ' is obtained, and this F' is a lower triangular matrix in which all terms corresponding to the upper triangle are 0, as is clear from the form.
- This structure (which is a sorted adjacency matrix) is F (because there is only 0 in the upper triangular part), so the starting word for finding a certain node (ending word) is Only at the node in the upper row (in the adjacency matrix). Therefore, if the values are obtained in order from the top of the row of F ', the values can be obtained smoothly for all the nodes without performing recursion, as compared to the case where the same is performed with F. Now, one method of applying the above-described topological sort in the LyG (registered trademark) methodology will be described.
- FIG. 6 is a flow chart for explaining the operation of automatic control for eliminating repetition using the above-described topological sort using the logical element in word units in the Lyee (registered trademark) methodology as a node. It is.
- step 601 the relationship between the logical elements of each word (think these as nodes) is defined (step 601).
- a directed graph may be created (step 602), but the present invention is not limited to this.
- an adjacency matrix (described above) for the node is defined (step 603).
- topological sort is performed on the adjacency matrix (step 604).
- the detailed algorithm of topological 'sorting has been described in detail in FIG. 5 and the corresponding description, and is omitted here. Further, where the search technique: an example and to have been described as a topological 'sorting is Ri by the original is to be performed to execute the steps 6 0 4 In the above-mentioned other search .
- the logical elements (nodes) in the word unit are rearranged (step 605), and the operation is terminated (step 606).
- step 603 has been included in this paper to facilitate understanding, but is not essential. In other words, without defining an adjacency matrix, searching for topological 'sorts etc. directly from the definition of the relationship between logical elements for each word (step 601) or via the creation of a directed graph (step 602) It is also within the scope of the present invention to reach the step (step 604) of the present invention. It is possible to achieve the objectives of the present invention.
- L ye .e registered trademark
- soft ware produced automatically Purodara a stage before subjecting the beam of Toporojikanore sort the logical elements of each word extracted from the user requirements of L yee (TM) methodology This makes it possible to generate soft air using the Lyee® methodology, which eliminates repetition.
- the value of a certain word is obtained by determining F ′ by the above method (determining the significance).
- the purpose can be achieved with only one RUN without performing the processing repeatedly.
- the algorithm of the topological 'sort can be automated by programming itself as software.
- the software automatic generation method based on the Lyee (registered trademark) methodology can be automated to make it even more efficient and higher in quality.
- a mathematical structural model of a program based on a word unit that defines a state of a word is created, and the software is created using software based on the yee (registered trademark) methodology.
- Word states make up a complete partial order. It has the sky as the smallest element (minimum point) of a word. Using a directed graph and its adjacency matrix, this structure ⁇ del is mathematically correct.
- the mathematical concept, method, and analysis method are applied to Lyee (registered trademark) software development theory and development technology. Good, fast, and precise.
- directed graphs for example, breadth-first search (B readth—Firs search), ping), Heuristic Search (Heuristic Search), Hinore 'Climbing (Hil 1 C1 imbing), Optimal Priority Search (Best — First. Search), Euler (Euler) Sorting may be performed by combining various search techniques such as the Dijkstra method.
- the fundamental idea of the present invention may be realized by combining these various search techniques after calculating the adjacent row clear.
- the technical idea according to the present invention includes, for example, an automatic development device for computer software, an automatic development program, a recording medium on which the automatic development program is recorded, a transmission medium, and a paper medium. Needless to say, it can be realized and used in the category of computer / device, client / server type that executes automatic development programs, etc. ⁇
- FIG. 7 is a block diagram showing a functional configuration when the present invention is realized as a software development device. That is, in the example shown in the figure, the following elements are provided as a software development device 1000.
- the control unit 11010 has a function of automatically performing overall control and software development based on the Lyee (registered trademark) methodology. That is, the word-unit programs rearranged by the (directed graph creation unit 1550), adjacency matrix calculation unit 1660, and topological sort unit 1700 described later are automatically applied to the Lyee methodology. And a function to obtain a generated code.
- Lyee registered trademark
- the information input unit 10020 functions as an interface for inputting, via a screen (not shown), human intentions such as user requirements relating to Lyee (registered trademark) to the computer.
- Information acquisition unit The Z communication unit 10030 communicates with the outside and exchanges information with the database 1404, 1404, etc. (in the case of the software development device 1000). Note that this In the example, even though the database '104, 1041 is held in the software development device 100, it is a matter of course.
- the directed graph creation unit 1550 determines a partial order relationship from the user requirements for Lyee (registered trademark) as described above, and It has a function to create a directed graph.
- the adjacency matrix calculation unit 1 660 calculates the adjacency matrix as described above for the directed graph created by the directed draft creation unit 1 ⁇ 50 based on the control of the control unit 1 create.
- the topological sort unit 107 0 performs the topological sort described above on the adjacency matrix calculated and created by the adjacency matrix calculation unit 106 0. It has the function of executing ..
- topological sort unit 1700 is an example having a search function, and the search unit (general) having a function of realizing another search method is also described above. The idea of the present invention is realized.
- each function is written as software which is programmed to realize the function, or such software is written in, for example, ROM (Read Only Memory) and the ROM is used.
- ROM Read Only Memory
- the entire system (apparatus) incorporating the software is realized. I have.
- the present invention is not limited to computer systems having a single processor, a single hard disk drive, and a single local memory. It is also suitable for equipping any multiple or combination processor or storage device as an option for the system.
- Computer systems include sophisticated calculators, palm-type computers, laptop / notebook computers, minicomputers, mainframe computers, and supercomputers, and combinations of these processing system networks. Any suitable processing system that operates in accordance with the principles of the present invention may be substituted for, or used in combination with, these.
- the technical idea according to the present invention can be applied to all kinds of programming languages. Further, the technical idea according to the present invention can be applied to application software of all kinds and functions. Further, the present invention allows various modifications, additions, substitutions, enlargements, reductions, and the like within the scope of the same and equivalent technical ideas. Also, even if software produced using the present invention is registered as a secondary product and commercialized, the value of the present invention is not reduced at all.
- preprocessing for eliminating repetition is automatically performed, and a target program is automatically generated by the Lyee (registered trademark) methodology based on the preprocessed word-based program thus obtained.
- Lyee registered trademark
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
Description
Claims
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
AU2003252292A AU2003252292A1 (en) | 2003-01-28 | 2003-07-29 | Software development preprocessing method, software control method, software development method, and software development device |
EP03815603A EP1591887A1 (en) | 2003-01-28 | 2003-07-29 | Software development preprocessing method, software control method, software development method, and software development device |
JP2004567562A JPWO2004068342A1 (ja) | 2003-01-28 | 2003-07-29 | ソフトウェア開発前処理方法、ソフトウェア制御方法、ソフトウェア開発方法並びにソフトウェア開発装置 |
US10/543,303 US20060265695A1 (en) | 2003-01-28 | 2003-07-29 | Software development preprocessing method, solftware control method, software development method, and software development device |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003-19588 | 2003-01-28 | ||
JP2003019588 | 2003-01-28 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2004068342A1 true WO2004068342A1 (ja) | 2004-08-12 |
Family
ID=32820612
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2003/009591 WO2004068342A1 (ja) | 2003-01-28 | 2003-07-29 | ソフトウェア開発前処理方法、ソフトウェア制御方法、ソフトウェア開発方法並びにソフトウェア開発装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20060265695A1 (ja) |
EP (1) | EP1591887A1 (ja) |
JP (1) | JPWO2004068342A1 (ja) |
AU (1) | AU2003252292A1 (ja) |
WO (1) | WO2004068342A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008197851A (ja) * | 2007-02-09 | 2008-08-28 | Hideaki Okazaki | プログラム論理の検証方法、プログラム論理の検証プログラム |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20060121880A (ko) * | 2003-09-22 | 2006-11-29 | 카테나 가부시키가이샤 | 소프트웨어 생성방법 |
US8392008B2 (en) * | 2006-10-20 | 2013-03-05 | Rockwell Automation Technologies, Inc. | Module arbitration and ownership enhancements |
US8601435B2 (en) * | 2006-10-20 | 2013-12-03 | Rockwell Automation Technologies, Inc. | Module class subsets for industrial control |
US20080095196A1 (en) * | 2006-10-20 | 2008-04-24 | Rockwell Automation Technologies, Inc. | Unit to unit transfer synchronization |
US7894917B2 (en) * | 2006-10-20 | 2011-02-22 | Rockwell Automation Technologies, Inc. | Automatic fault tuning |
US7844349B2 (en) * | 2006-10-20 | 2010-11-30 | Rockwell Automation Technologies, Inc. | Standard MES interface for discrete manufacturing |
US8296744B2 (en) * | 2008-10-03 | 2012-10-23 | Microsoft Corporation | Tree-based directed graph programming structures for a declarative programming language |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0451328A (ja) * | 1990-06-19 | 1992-02-19 | Fujitsu Ltd | 複合型命令スケジューリング処理装置 |
JPH09120387A (ja) * | 1995-10-24 | 1997-05-06 | Fujitsu Ltd | データ処理装置 |
JP2001005651A (ja) * | 1999-06-21 | 2001-01-12 | Institute Of Computer Based Software Methodology & Technology | ソフトウェアの決定方法、ソフトウェアの使用方法、記録媒体、処理装置、ソフトウェアの保守方法、ソフトウェアの移植方法、ソフトウェアの管理方法、処理経路図の作成方法、パレット関数の作成方法、パレットの領域の決定方法、パレット連鎖関数の作成方法、位相要素の作成方法、論理要素の作成方法、作用要素の作成方法、ソフトウェアの実装方法、ソフトウェア開発方法、データ構造の置換方法、データ値の置換方法、従来型プログラムの分析方法、ソフトウェア開発管理方法、ソフトウェアの運用管理方法、並列コンピュータ及び判断補助装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5193190A (en) * | 1989-06-26 | 1993-03-09 | International Business Machines Corporation | Partitioning optimizations in an optimizing compiler |
CA2010056C (en) * | 1990-02-14 | 1998-05-12 | Charles Brian Hall | Method for improving the efficiency of arithmetic code generation in an optimizing compiler using machine independent update instruction generation |
-
2003
- 2003-07-29 EP EP03815603A patent/EP1591887A1/en not_active Withdrawn
- 2003-07-29 JP JP2004567562A patent/JPWO2004068342A1/ja active Pending
- 2003-07-29 US US10/543,303 patent/US20060265695A1/en not_active Abandoned
- 2003-07-29 AU AU2003252292A patent/AU2003252292A1/en not_active Abandoned
- 2003-07-29 WO PCT/JP2003/009591 patent/WO2004068342A1/ja not_active Application Discontinuation
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0451328A (ja) * | 1990-06-19 | 1992-02-19 | Fujitsu Ltd | 複合型命令スケジューリング処理装置 |
JPH09120387A (ja) * | 1995-10-24 | 1997-05-06 | Fujitsu Ltd | データ処理装置 |
JP2001005651A (ja) * | 1999-06-21 | 2001-01-12 | Institute Of Computer Based Software Methodology & Technology | ソフトウェアの決定方法、ソフトウェアの使用方法、記録媒体、処理装置、ソフトウェアの保守方法、ソフトウェアの移植方法、ソフトウェアの管理方法、処理経路図の作成方法、パレット関数の作成方法、パレットの領域の決定方法、パレット連鎖関数の作成方法、位相要素の作成方法、論理要素の作成方法、作用要素の作成方法、ソフトウェアの実装方法、ソフトウェア開発方法、データ構造の置換方法、データ値の置換方法、従来型プログラムの分析方法、ソフトウェア開発管理方法、ソフトウェアの運用管理方法、並列コンピュータ及び判断補助装置 |
Non-Patent Citations (1)
Title |
---|
NAKAMURA M.: "Jido Vector-ka Compiler ni okeru Idiom Ninshikiho.", TRANSACTIONS OF INFORMATION PROCESSING SOCIETY OF JAPAN, vol. 32, no. 4, 15 April 1991 (1991-04-15), pages 491 - 503, XP002979816 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008197851A (ja) * | 2007-02-09 | 2008-08-28 | Hideaki Okazaki | プログラム論理の検証方法、プログラム論理の検証プログラム |
Also Published As
Publication number | Publication date |
---|---|
US20060265695A1 (en) | 2006-11-23 |
JPWO2004068342A1 (ja) | 2006-05-25 |
EP1591887A1 (en) | 2005-11-02 |
AU2003252292A1 (en) | 2004-08-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Huang et al. | Gamepad: A learning environment for theorem proving | |
CN109800883B (zh) | 量子机器学习框架构建方法、装置及量子计算机 | |
JP7186797B2 (ja) | 量子計算のための方法及びシステム | |
She et al. | Efficient synthesis of feature models | |
JP2022547668A (ja) | 機械学習モデルの視覚的作成及び監視 | |
Gheorghiu et al. | Reducing the CNOT count for Clifford+ T circuits on NISQ architectures | |
CN113614752A (zh) | 量子算法的验证和估计运行时间 | |
CN114327483A (zh) | 图张量神经网络模型建立方法及源代码语义识别方法 | |
US11610134B2 (en) | Techniques for defining and executing program code specifying neural network architectures | |
WO2004068342A1 (ja) | ソフトウェア開発前処理方法、ソフトウェア制御方法、ソフトウェア開発方法並びにソフトウェア開発装置 | |
CN111931939A (zh) | 一种单振幅量子计算模拟方法 | |
Bernard et al. | Stochastic L-system inference from multiple string sequence inputs | |
CN113128015B (zh) | 预估单振幅模拟量子计算所需资源的方法和系统 | |
Pakin | Targeting classical code to a quantum annealer | |
KR20230132369A (ko) | 양자 회로에서의 리소스 감소 | |
Rand et al. | Formal verification vs. quantum uncertainty | |
Iacca et al. | Introducing kimeme, a novel platform for multi-disciplinary multi-objective optimization | |
JP2005115498A (ja) | ソフトウェア開発前処理方法、ソフトウェア制御方法、ソフトウェア開発方法並びにソフトウェア開発装置 | |
Cruz-Lemus et al. | Quantum Software Tools Overview | |
Neha | Quantum programming: working with IBM’S qiskit tool | |
Verghese et al. | Max-cut problem implementation and analysis on a quantum computer | |
Cutler et al. | Computational Frameworks for Political and Social Research with Python | |
Glück | A practical simulation result for two-way pushdown automata | |
Avis et al. | Polynomial size linear programs for problems in P | |
US20230138152A1 (en) | Apparatus and method for generating valid neural network architecture based on parsing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A1 Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NI NO NZ OM PH PL PT RO RU SC SD SE SG SK SL TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW |
|
AL | Designated countries for regional patents |
Kind code of ref document: A1 Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
WWE | Wipo information: entry into national phase |
Ref document number: 2004567562 Country of ref document: JP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2003815603 Country of ref document: EP |
|
WWP | Wipo information: published in national office |
Ref document number: 2003815603 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2006265695 Country of ref document: US Ref document number: 10543303 Country of ref document: US |
|
WWP | Wipo information: published in national office |
Ref document number: 10543303 Country of ref document: US |
|
WWW | Wipo information: withdrawn in national office |
Ref document number: 2003815603 Country of ref document: EP |