Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP5487789B2 - Software development support system, support method and program - Google Patents
[go: Go Back, main page]

JP5487789B2 - Software development support system, support method and program - Google Patents

Software development support system, support method and program Download PDF

Info

Publication number
JP5487789B2
JP5487789B2 JP2009184057A JP2009184057A JP5487789B2 JP 5487789 B2 JP5487789 B2 JP 5487789B2 JP 2009184057 A JP2009184057 A JP 2009184057A JP 2009184057 A JP2009184057 A JP 2009184057A JP 5487789 B2 JP5487789 B2 JP 5487789B2
Authority
JP
Japan
Prior art keywords
branch
hierarchy list
code
child
branch hierarchy
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
JP2009184057A
Other languages
Japanese (ja)
Other versions
JP2011039618A (en
Inventor
富士也 海野
有 船津
達斎 外山
進 丸山
和也 多田
泰宏 金刺
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Meidensha Corp
Original Assignee
Meidensha Corp
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 Meidensha Corp filed Critical Meidensha Corp
Priority to JP2009184057A priority Critical patent/JP5487789B2/en
Publication of JP2011039618A publication Critical patent/JP2011039618A/en
Application granted granted Critical
Publication of JP5487789B2 publication Critical patent/JP5487789B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本発明は、装置に組み込んで特定の情報処理機能を実現するためのソフトウェアの開発支援システムおよび支援方法に係り、特に特定の情報処理機能を実現するための設計図を元にしたソースコードの出力および演算シミュレーションの実行に関する。   The present invention relates to a software development support system and a support method for realizing a specific information processing function by being incorporated in an apparatus, and in particular, outputting source code based on a design drawing for realizing a specific information processing function. And execution of arithmetic simulation.

組込みソフトウェア開発では、最初の設計段階として、特定の情報処理機能を実現するための設計図(ブロック図、フローチャート、状態遷移図など)を作成する。このうち、ブロック図の要素は演算ブロックで表現され、また、フローチャートの要素は処理ブロックで表現され、状態遷移図の要素は状態ブロックで表現され、これらブロックが設計図上で線で結合されることで、ソフトウェアとして実現したい内容を表現する。   In embedded software development, as the first design stage, a design diagram (block diagram, flowchart, state transition diagram, etc.) for realizing a specific information processing function is created. Among these, the elements of the block diagram are represented by operation blocks, the elements of the flowchart are represented by processing blocks, the elements of the state transition diagram are represented by state blocks, and these blocks are connected by lines on the design drawing. In this way, express what you want to realize as software.

これらの設計図を元にしてコンピュータ処理できるソフトウェアを開発するには、ソフトウェア開発者が設計図から設計情報を読み取りながら、手作業でソースコードの出力などを行っている。   In order to develop software that can be computer-processed based on these design drawings, a software developer manually outputs source code while reading design information from the design drawings.

例えば、図11に設計図(ブロック図)DC1で示すように、開発対象の組込み機器の演算機能が、値設定1(VAR1)と値設定2(VAR2)を加え、その加算結果VAR4に値設定3(VAR3)を掛けることで値設定4(VAR5)を得る場合、入力から出力まで、加算や乗算を表す演算部品を配置し、各演算部品間を線で結んで演算順序を表現する。   For example, as shown in the design drawing (block diagram) DC1 in FIG. 11, the calculation function of the embedded device to be developed adds a value setting 1 (VAR1) and a value setting 2 (VAR2), and sets a value in the addition result VAR4 When value setting 4 (VAR5) is obtained by multiplying 3 (VAR3), arithmetic components representing addition and multiplication are arranged from input to output, and the arithmetic components are expressed by connecting the arithmetic components with lines.

このときの演算順序は、乗算部品がデータVAR4の入力を待つ必要があるため、乗算部品よりも加算部品の方が先になり、図11中に示すように、加減算部品に次いで乗算部品を配置し、最後に出力ブロック(値設定4)を配置する。   Since the multiplication component needs to wait for the input of the data VAR4 at this time, the addition component precedes the multiplication component, and the multiplication component is arranged next to the addition / subtraction component as shown in FIG. Finally, an output block (value setting 4) is arranged.

ソフトウェア開発者は、決定された演算順序に従ってソースコード(プログラム)を出力し、さらに専用のコンパイラを使用してソースコードをコンパイルし、シミュレーションを行い、さらには実機に組み込んで動作試験を行う。   The software developer outputs the source code (program) according to the determined operation order, compiles the source code using a dedicated compiler, performs simulation, and further incorporates it into an actual machine to perform an operation test.

演算順序からのソースコード出力には、各演算部品が各演算特性を表すコード片(ブロックに対応する部分的なソースコード)をもち、このコード片に入力データを割付けることとする。例えば、加算の場合は、入力した2つのデータVAR1,VAR2を足して1つのデータVAR4を出力するというコード片に、データVAR1,VAR2などを割り付ける。   The source code output from the calculation order has a code piece (partial source code corresponding to a block) in which each calculation component represents each calculation characteristic, and input data is assigned to this code piece. For example, in the case of addition, the data VAR1, VAR2, etc. are allocated to a code piece that adds two input data VAR1, VAR2 and outputs one data VAR4.

図12は設計図が分岐を含むフローチャート(流れ図)である場合の演算順序とソースコードの例を示す。図13は設計図が状態遷移図である場合の演算順序とソースコードの例を示す。   FIG. 12 shows an example of the calculation order and source code when the design drawing is a flowchart including a branch (flow diagram). FIG. 13 shows an example of the calculation order and source code when the design drawing is a state transition diagram.

以上のように、ソフトウェア開発には、設計図から演算順序作成を経てソースコードの出力という手順で行われており、このうちソースコードの出力やシミュレーションの実行を支援する設計支援ツールも提案されている(例えば、非特許文献1、非特許文献2参照)。   As described above, software development is performed in the order of source code output after creating the calculation sequence from the design drawing, and among these, design support tools that support source code output and simulation execution have also been proposed. (For example, see Non-Patent Document 1 and Non-Patent Document 2).

明電情報 通巻322号 2009 NO.1,p11、共通基礎技術Meiden Information Vol.322 No. 2009 NO. 1, p11, common basic technology MATLAB/Simulink(http://www.cybernet.co.jp/matlab/products/product_listing/simulink/)MATLAB / Simulink (http://www.cybernet.co.jp/matlab/products/product_listing/simlink/)

前記のように、組込みソフトウェア開発支援システムにおけるソースコードの出力と演算シミュレーションの実行は、処理の流れを表す情報に基づき実施することができ、さらには開発者の作業負担を軽減する支援ツールもあるが、以下の問題点がある。   As described above, the output of the source code and the execution of the operation simulation in the embedded software development support system can be performed based on information representing the flow of processing, and there is also a support tool that reduces the workload of the developer. However, there are the following problems.

(1)上記の処理の流れの表現(演算順序)は、実施する処理(部品)を順番に並べることにより表現される。この演算順序の表現方法についての問題点を説明する。   (1) The above processing flow expression (calculation order) is expressed by arranging the processing (components) to be performed in order. The problem with the method of expressing the calculation order will be described.

従来は、演算シミュレーションの実行またはソースコードの出力時に処理の流れを表す図を表示し、設計図と照らし合わして確認していたが、設計図として分岐をもつ流れ図の場合に分岐がどのように行われるのか開発者には直感的に分かりづらいものであった。   Previously, a diagram representing the flow of processing was displayed when executing an operation simulation or outputting source code, and this was checked against the design drawing. How is a branch in the case of a flow diagram with a branch as the design drawing? It was difficult for developers to understand whether this was done.

例えば図14の左側に示す流れ図に対し、演算要素リストは同図の右側に示すように羅列されるが、このリストからだけでは分岐条件(ガード1,2)がわかりづらかった。また、分岐による処理の流れを特定してからでないとソースコードを出力することができない。これら問題は、以下の不都合を起こす。   For example, with respect to the flowchart shown on the left side of FIG. 14, the calculation element list is arranged as shown on the right side of the same figure, but it was difficult to understand the branch conditions (guards 1 and 2) only from this list. Also, the source code cannot be output unless the processing flow by branching is specified. These problems cause the following inconveniences.

・分岐がある場合、処理の流れを表す情報から容易に設計図をイメージできないため、開発及び保守が容易でない。例えば、図15の右側に示すように、処理の流れを示す情報はフラットに並ぶ、どこが処理の流れの分岐で合流か一見してわからないため、処理の流れを表す情報の正当性を判断しにくい。   ・ If there is a branch, development and maintenance are not easy because the design drawing cannot be easily imagined from information representing the flow of processing. For example, as shown on the right side of FIG. 15, the information indicating the processing flow is arranged in a flat manner, and it is difficult to determine the legitimacy of the information indicating the processing flow because it is not obvious at first glance where the processing flow branches. .

・分岐による処理の流れの順序を決める必要があるため、演算順序を決めるアルゴリズムが複雑になる。例えば、図15の右側に示すように、分岐から合流までの処理区間を判断して演算順序を決定する必要がある。   -Since it is necessary to determine the order of the flow of processing by branching, the algorithm for determining the operation order becomes complicated. For example, as shown on the right side of FIG. 15, it is necessary to determine the processing order by determining the processing section from branching to merging.

(2)上記の演算順序に基づき実現されるソースコードの出力においての問題点を説明する。   (2) A problem in the output of the source code realized based on the above calculation order will be described.

・分岐がある場合、容易にソースコードをイメージできないため、開発及び保守が容易でない。例えば、図16の中央に演算順序を、右側にソースコードを示すように、処理の流れを示す情報はフラットに並ぶため、どこが条件分岐の特性を持つ部品か一見してわからないため、ソースコードの出力の正当性を判断しにくい。   -If there is a branch, development and maintenance are not easy because the source code cannot be easily imagined. For example, as shown in the operation sequence in the center of FIG. 16 and the source code on the right side, the information indicating the flow of processing is arranged in a flat manner, so it is not possible to see at a glance which part has the characteristic of conditional branching. It is difficult to judge the correctness of the output.

・処理の流れの区間を特定する必要があるため、ソースコード出力のアルゴリズムが複雑になる。例えば、図16の右側に示すように、条件分岐の終わり(処理の流れの分岐している区間)を特定して閉じ括弧「}」をつけることが必要となる。   -Since it is necessary to specify the section of the processing flow, the source code output algorithm becomes complicated. For example, as shown on the right side of FIG. 16, it is necessary to identify the end of the conditional branch (the section where the processing flow branches) and put a closing bracket “}”.

(3)上記の演算順序に基づき実現される演算シミュレーションにおいての問題点を説明する。   (3) A problem in the operation simulation realized based on the above operation order will be described.

・分岐がある場合、容易にシミュレーションの流れをイメージできないため、開発及び保守が容易でない。例えば、図17の右側に演算順序を示すように、どこが処理の流れの分岐になって、どこに処理の流れが遷移するのか一見してわからないため、演算シミュレーションの正当性を判断しにくい。   ・ If there is a branch, development and maintenance are not easy because the flow of simulation cannot be easily imagined. For example, as shown in the calculation order on the right side of FIG. 17, it is difficult to determine the legitimacy of the calculation simulation because it is impossible to see at a glance where the processing flow branches and where the processing flow transitions.

・次の処理を条件により特定する必要があるため、演算シミュレーションのアルゴリズムが複雑になる。例えば、図17の右側に演算順序を示すように、線(ガード1)の条件不成立時は次に線(ガード2)を実施する必要がある、また、処理2を実施後は合流を実施する必要があり、条件分岐の終わり(処理の流れの分岐している区間)を特定して次に行う部品を決定する必要がある。   -Since it is necessary to specify the next process according to conditions, the algorithm of the operation simulation becomes complicated. For example, as shown in the calculation order on the right side of FIG. 17, when the condition of the line (guard 1) is not satisfied, it is necessary to execute the line (guard 2) next, and after processing 2, the merge is performed. It is necessary to identify the end of the conditional branch (the section where the processing flow branches) and determine the part to be performed next.

本発明の目的は、設計図中の分岐による処理の流れの認識を容易にし、この処理の流れを基にしたソースコードの出力および演算シミュレーションの実行を確実、容易にしたソフトウェアの開発支援システム、支援方法およびプログラムを提供することにある。   An object of the present invention is to facilitate the recognition of a process flow by branching in a design drawing, and to reliably and easily execute a source code output and an operation simulation based on this process flow, a software development support system, To provide a support method and program.

本発明は、前記の課題を解決するため、設計図中の分岐による処理の流れを階層構造化した分岐階層リストとして表現、生成し、この分岐階層リストに従ってソースコードを出力、または演算シミュレーションを実行するようにしたもので、以下のシステム、方法およびプログラムを特徴とする。   In order to solve the above-described problems, the present invention expresses and generates a process flow by branching in a design drawing as a hierarchically structured branching hierarchy list, and outputs source code according to this branching hierarchy list or executes an operation simulation. The following system, method and program are characterized.

(システムの発明)
(1)装置に組み込んで特定の情報処理機能を実現するためのソフトウェアの開発支援システムであって、
設計図中の分岐による処理の流れを階層構造化した分岐階層リストとして生成する分岐階層リスト生成手段と、
前記分岐階層リストに従って、当該リストの各部品が持つコード片を設定/出力し、このコード片をソースコードとして出力するソースコード出力手段と、を備え、
前記ソースコード出力手段は、
前記分岐階層リストの部品が持つコード片を設定するコード片設定手段と、前記分岐階層リストの部品が持つコード片を出力するコード片出力手段とを備え、
前記分岐階層リストに子があれば、前記コード片設定手段による子の部品が持つコード片の設定処理と、前記コード片出力手段による当該コード片の出力処理を、子の部品がなくなるまで繰り返し、子の部品がなくなった後は分岐階層リストの分岐から合流までの区間を持つものに閉じ括弧を付加する後処理を行ない、これら処理を分岐階層リストの終わりまで再帰的に実行することを特徴とする。
(Invention of the system)
(1) A software development support system for implementing a specific information processing function by being incorporated in an apparatus,
A branch hierarchy list generating means for generating a process flow by branching in the design drawing as a branch hierarchy list having a hierarchical structure;
Source code output means for setting / outputting a code fragment of each component of the list according to the branch hierarchy list, and outputting the code fragment as a source code ,
The source code output means includes
Code piece setting means for setting a code piece that the branch hierarchy list component has, and code piece output means for outputting a code piece that the branch hierarchy list component has,
If there is a child in the branch hierarchy list, the code piece setting process of the child part by the code piece setting means and the output process of the code piece by the code piece output means are repeated until there are no child parts, After there are no child parts, post-processing is performed to add a closing parenthesis to a branch hierarchy list that has a section from branch to merge, and these processes are recursively executed to the end of the branch hierarchy list. To do.

(2)装置に組み込んで特定の情報処理機能を実現するためのソフトウェアの開発支援システムであって、
設計図中の分岐による処理の流れを階層構造化した分岐階層リストとして生成する分岐階層リスト生成手段と、
前記分岐階層リストの部品が持つコード片を設定するコード片設定手段および前記分岐階層リストの部品が持つコード片を実行するコード片実行手段を備えた演算シミュレーション手段と、を備え、
前記演算シミュレーション手段は、
記分岐階層リストに子があれば、前記コード片設定手段による子の部品が持つコード片の設定処理と、前記コード片実行手段による当該コード片の実行処理を繰り返し、この繰り返しは、処理の流れの区間の始まりの部品(ガード)が自分の処理時に条件一致であれば、自分の子となる部品を処理することと、さらにその親の区間の開始部品(分岐)が自分の子となるガードの処理結果を受けて、対となる区間の始まり(ガード)を処理するかを判定することにより子または次の子を実行するか否かを制御し、これら処理を分岐階層リストの終わりまで再帰的に実行することを特徴とする。
(2) A software development support system for realizing a specific information processing function by being incorporated in an apparatus,
A branch hierarchy list generating means for generating a process flow by branching in the design drawing as a branch hierarchy list having a hierarchical structure;
A code piece setting means for setting a code piece that the part of the branch hierarchy list has, and an operation simulation means comprising a code piece execution means for executing the code piece that the part of the branch hierarchy list has,
The calculation simulation means includes
If there is a child in the branching hierarchy list, the code piece setting process of the child part by the code piece setting means and the execution process of the code piece by the code piece execution means are repeated. If the part at the beginning of the section (guard) matches the conditions at the time of its own processing, the part that is its child is processed, and the guard that the starting part (branch) of its parent section is its child Control whether to execute the child or the next child by determining whether to process the start (guard) of the paired section, and recurs the processing to the end of the branch hierarchy list It is characterized by being executed .

(3)前記分岐階層リスト生成手段は、
処理の開始部品を取得する開始部品取得手段と、
各部品の結線状態を取得する結線取得手段と、
結線先の部品を取得する結線先部品取得手段と、
分岐から合流区間以降の区間を統合する分岐階層リスト最適化手段と、
を備えたことを特徴とする。
(3) The branch hierarchy list generating means includes:
Start part acquisition means for acquiring a start part of processing;
Connection acquisition means for acquiring the connection state of each component;
A connection destination part acquisition means for acquiring a connection destination part;
A branch hierarchy list optimizing means for integrating the sections after the merge section from the branch;
It is provided with.

(方法の発明)
(4)装置に組み込んで特定の情報処理機能を実現するためのソフトウェアの開発支援方法であって、
設計図中の分岐による処理の流れを階層構造化した分岐階層リストとして生成する分岐階層リスト生成ステップと、
前記分岐階層リストに従って、当該リストの各部品が持つコード片を設定/出力し、このコード片をソースコードとして出力するソースコード出力ステップと、を備え、
前記ソースコード出力ステップは、
前記分岐階層リストの部品が持つコード片を設定するコード片設定ステップと、前記分岐階層リストの部品が持つコード片を出力するコード片出力ステップとを備え、
前記分岐階層リストに子があれば、前記コード片設定ステップによる子の部品が持つコード片の設定処理と、前記コード片出力ステップによる当該コード片の出力処理を、子の部品がなくなるまで繰り返し、子の部品がなくなった後は分岐階層リストの分岐から合流までの区間を持つものに閉じ括弧を付加する後処理を行ない、これら処理を分岐階層リストの終わりまで再帰的に実行することを特徴とする。
(Invention of method)
(4) A software development support method for realizing a specific information processing function incorporated in an apparatus,
A branch hierarchy list generation step for generating a process flow by branching in the blueprint as a hierarchically structured branch hierarchy list;
A source code output step of setting / outputting a code fragment of each component of the list according to the branch hierarchy list, and outputting the code fragment as a source code ,
The source code output step includes
A code fragment setting step for setting a code fragment possessed by a component of the branch hierarchy list; and a code fragment output step for outputting a code fragment possessed by the component of the branch hierarchy list;
If there is a child in the branch hierarchy list, repeat the code piece setting process of the child part by the code piece setting step and the output process of the code piece by the code piece output step until there are no child parts, After there are no child parts, post-processing is performed to add a closing parenthesis to a branch hierarchy list that has a section from branch to merge, and these processes are recursively executed to the end of the branch hierarchy list. To do.

(5)装置に組み込んで特定の情報処理機能を実現するためのソフトウェアの開発支援方法であって、
設計図中の分岐による処理の流れを階層構造化した分岐階層リストとして生成する分岐階層リスト生成ステップと、
前記分岐階層リストの部品が持つコード片を設定するコード片設定ステップおよび前記分岐階層リストの部品が持つコード片を出力するコード片実行ステップを備えて演算シミュレーションを実行する演算シミュレーションステップと、を備え、
前記演算シミュレーションステップは、
前記分岐階層リストに子があれば、前記コード片設定ステップによる子の部品が持つコード片の設定処理と、前記コード片実行ステップによる当該コード片の実行処理を繰り返し、この繰り返しは、処理の流れの区間の始まりの部品(ガード)が自分の処理時に条件一致であれば、自分の子となる部品を処理することと、さらにその親の区間の開始部品(分岐)が自分の子となるガードの処理結果を受けて、対となる区間の始まり(ガード)を処理するかを判定することにより子または次の子を実行するか否かを制御し、これら処理を分岐階層リストの終わりまで再帰的に実行することを特徴とする。
(5) A software development support method for realizing a specific information processing function incorporated in an apparatus,
A branch hierarchy list generation step for generating a process flow by branching in the blueprint as a hierarchically structured branch hierarchy list;
An operation simulation step for executing an operation simulation by including a code fragment setting step for setting a code fragment possessed by the component of the branch hierarchy list and a code fragment execution step for outputting a code fragment possessed by the component of the branch hierarchy list. ,
The calculation simulation step includes:
If there is a child in the branch hierarchy list, the code piece setting process of the child part in the code piece setting step and the execution process of the code piece in the code piece execution step are repeated. If the part at the beginning of the section (guard) matches the conditions at the time of its own processing, the part that is its child is processed, and the guard that the starting part (branch) of its parent section is its child Control whether to execute the child or the next child by determining whether to process the start (guard) of the paired section, and recurs the processing to the end of the branch hierarchy list It is characterized by being executed.

(6)前記分岐階層リスト生成ステップは、
処理の開始部品を取得する開始部品取得ステップと、
各部品の結線状態を取得する結線取得ステップと、
結線先の部品を取得する結線先部品取得ステップと、
分岐から合流区間以降の区間を統合する分岐階層リスト最適化ステップと、
を備えたことを特徴とする。
(6) The branch hierarchy list generation step includes:
A start part acquisition step for acquiring a start part of processing;
A connection acquisition step for acquiring the connection state of each component;
A connection destination part acquisition step for acquiring a connection destination part;
A branch hierarchy list optimization step for integrating the sections from the branch to the merge section,
It is provided with.

(プログラムの発明)
(7)上記(4)〜(6)のいずれか1項に記載のソフトウェアの開発支援方法における処理ステップをコンピュータで実行可能にしたことを特徴とするプログラム。
(Invention of the program)
(7) A program characterized in that the processing steps in the software development support method described in any one of (4) to (6 ) above can be executed by a computer.

以上のとおり、本発明によれば、設計図中の分岐による処理の流れを階層構造化した分岐階層リストとして表現、生成し、この分岐階層リストに従ってソースコードを出力、または演算シミュレーションを実行するようにしたため、設計図中の分岐による処理の流れの認識を容易にし、この処理の流れを基にしたソースコードの出力および演算シミュレーションの実行が確実、容易になる。   As described above, according to the present invention, the flow of processing by branches in a design drawing is expressed and generated as a hierarchically structured branch hierarchy list, and source code is output according to the branch hierarchy list or an operation simulation is executed. Therefore, it becomes easy to recognize the processing flow by the branch in the design drawing, and the output of the source code and the execution of the operation simulation based on this processing flow are surely and easily performed.

具体的には、以下の効果が得られる。   Specifically, the following effects can be obtained.

(1)処理の流れを表す情報(演算順序)を階層構造化した分岐階層リストによって表現するため、処理の流れを容易にイメージでき、ソフトウェアの開発保守が容易になる。   (1) Since the information representing the flow of processing (operation order) is expressed by a hierarchically structured branch hierarchy list, the flow of processing can be easily imaged, and software development and maintenance can be facilitated.

(2)階層構造化した分岐階層リストによって処理の流れを表現するため、処理の流れの区間が予め特定され、ソースコード出力のアルゴリズムが容易になる。   (2) Since the process flow is expressed by the hierarchically structured branch hierarchy list, the section of the process flow is specified in advance, and the source code output algorithm becomes easy.

(3)階層構造化した分岐階層リストによって処理の流れを表現するため、処理の流れの区間が予め特定され、演算シミュレーションのアルゴリズムが容易になる。   (3) Since the process flow is expressed by the hierarchically structured branch hierarchy list, the process flow interval is specified in advance, and the algorithm of the operation simulation becomes easy.

本発明に係る開発支援システムの要部構成図(ソースコード出力)。The principal part block diagram (source code output) of the development support system which concerns on this invention. 本発明に係る開発支援システムの要部構成図(演算シミュレーション実行)。The principal part block diagram of the development assistance system which concerns on this invention (calculation simulation execution). 流れ図と分岐階層リストの構成図(実施形態)。A flow chart and a block diagram of a branch hierarchy list (embodiment). 分岐階層リストの表現例(実施形態)。A representation example of a branch hierarchy list (embodiment). 分岐階層リスト画面例(実施形態)。Branch hierarchy list screen example (embodiment). 分岐階層リストによるソースコードの出力の例(実施形態)。An example of output of source code by a branch hierarchy list (embodiment). 演算順序によるソースコードの生成例(従来)。Source code generation example according to the operation order (conventional). 分岐階層リストによるソースコードの生成例(実施形態)。An example of generating source code by a branch hierarchy list (embodiment). 分岐階層リストによる演算シミュレーションの実行の例(実施形態)Example of execution of operation simulation by branch hierarchy list (embodiment) 演算順序または分岐階層リストから処理部品を特定する例。An example of specifying a processing component from an operation order or a branch hierarchy list. 演算順序生成とソースコード出力および演算シミュレーションの例(従来)。Example of calculation sequence generation, source code output and calculation simulation (conventional). 流れ図と演算順序とソースコードの例。Example of flow chart, operation order and source code. 状態遷移図と演算順序とソースコードの例。Example of state transition diagram, operation sequence, and source code. 流れ図と演算要素リストの例。Example of flow chart and operation element list. 流れ図と演算順序の流れ区間特定の例。An example of specifying a flow section of a flowchart and calculation sequence. 流れ図と演算順序とソースコードの区間特定の例。Example of flow chart, calculation order, and source code section identification. 流れ図と演算順序による演算シミュレーションの例。An example of a calculation simulation based on a flowchart and calculation order.

(1)システム構成
図1は、本発明に係る開発支援システムの要部構成図であり、ソースコード出力を支援するための機能構成を示す。同様に、図2は、本発明に係る開発支援システムの要部構成図であり、演算シミュレーション実行を支援するための機能構成を示す。なお、装置に搭載する各機能は、コンピュータ資源とこれを利用して当該機能を実現するためのプログラムとして記載するソフトウェアで実現される。
(1) System Configuration FIG. 1 is a main configuration diagram of a development support system according to the present invention, and shows a functional configuration for supporting source code output. Similarly, FIG. 2 is a main part configuration diagram of the development support system according to the present invention, and shows a functional configuration for supporting the execution of the arithmetic simulation. Each function installed in the apparatus is realized by a computer resource and software described as a program for realizing the function using the computer resource.

図1に示すソースコード出力装置100は、特定の情報処理機能を実現するために設計された設計図(ブロック図、フローチャート、状態遷移図など)を元にソースコードを生成して出力するための処理手段として、分岐階層リスト生成機能101、コード片設定機能102およびコード片出力機能103を備える。   A source code output device 100 shown in FIG. 1 is for generating and outputting source code based on a design diagram (block diagram, flowchart, state transition diagram, etc.) designed to realize a specific information processing function. As processing means, a branch hierarchy list generation function 101, a code piece setting function 102, and a code piece output function 103 are provided.

同様に、図2に示す演算シミュレーション装置300は、設計図(ブロック図、フローチャート、状態遷移図など)を元に生成するソースコードで演算シミュレーションを実行するための処理手段として、分岐階層リスト生成機能301、コード片設定機能302およびコード片実行機能303を備える。   Similarly, the operation simulation apparatus 300 shown in FIG. 2 has a branch hierarchy list generation function as a processing means for executing an operation simulation with source code generated based on a design drawing (block diagram, flowchart, state transition diagram, etc.). 301, a code piece setting function 302 and a code piece execution function 303 are provided.

上記の分岐階層リスト生成機能101、301による分岐階層リスト生成を支援する分岐階層リスト取得装置200は、開始部品取得機能201,結線取得機能202,結線先部品取得機能203,分岐階層リスト最適化機能204および分岐階層リスト表示機能205を備え、設計図から分岐階層リストを生成、取得する。   The branch hierarchy list acquisition device 200 that supports the branch hierarchy list generation by the branch hierarchy list generation functions 101 and 301 described above includes a start part acquisition function 201, a connection acquisition function 202, a connection destination part acquisition function 203, and a branch hierarchy list optimization function. 204 and a branch hierarchy list display function 205, and generate and acquire a branch hierarchy list from the design drawing.

(2)分岐階層リスト生成
図1における分岐階層リスト生成機能101は、設計図に従って作成されていた従来の演算順序(演算処理の流れを表す情報)に代えて、処理の流れを分岐で階層構造化した分岐階層リストとして表現、生成する。この分岐階層リストは、設計図に分岐処理が存在する場合に当該分岐処理の流れの区間(分岐の各枝から合流手前まで)を階層構造化したものである。
(2) Branch Hierarchy List Generation The branch hierarchy list generation function 101 in FIG. 1 has a hierarchical structure in which the process flow is branched instead of the conventional calculation order (information indicating the flow of the calculation process) created according to the design drawing. Express and generate as a generalized branch hierarchy list. This branch hierarchy list is a hierarchical structure of sections of the branch process flow (from each branch of the branch to before the merge) when the branch process exists in the design drawing.

例えば、図3の左側に示す流れ図の分岐階層リストは同図の右側に示すように、処理1とそれに続く分岐はルートの子になるため階層を1つ下げて表示し、当該分岐に結合される1つの分岐線1は当該分岐の子になるため階層を1つ下げて表示し、処理2は分岐線1の子になるため階層を1つ下げて表示し、分岐線2は分岐線1と同じ分岐の子になるため同じ階層で表示し、処理3は分岐線2の子になるため階層を1つ下げて表示し、合流と処理4はルートの子になるため処理1,分岐と同じ階層で表示する。   For example, in the branch hierarchy list of the flowchart shown on the left side of FIG. 3, as shown in the right side of the figure, the process 1 and the subsequent branch are children of the root, so the hierarchy is lowered by one and displayed. Since one branch line 1 is a child of the branch, the hierarchy is lowered by one, and the process 2 is a child of the branch line 1, so that the hierarchy is lowered by one, and the branch line 2 is the branch line 1 Is displayed at the same level because process 3 is a child of branch line 2 and is displayed one level lower, and merge and process 4 are children of root, so process 1 and branch Display on the same level.

分岐階層リスト生成機能101は、開発者が分岐階層リスト生成の実行を指令操作したときに起動され、プログラム作成対象となる設計図情報と、分岐階層リスト生成処理命令を分岐階層リスト取得装置200に転送する。   The branch hierarchy list generation function 101 is activated when a developer instructs to execute the generation of a branch hierarchy list, and the design drawing information to be created and a branch hierarchy list generation processing instruction are sent to the branch hierarchy list acquisition apparatus 200. Forward.

分岐階層リスト取得装置200による分岐階層リスト取得は、設計図から開始部品取得機能201により取得した開始部品に繋がる線を結線取得機能202により取得し、それが分岐線であれば、分岐階層リストの階層を下げて追加する。結線取得機能202により取得した線が分岐線でなければ、分岐階層リストの階層を下げずに追加する。   The branch hierarchy list acquisition by the branch hierarchy list acquisition apparatus 200 is performed by acquiring a line connected to the start part acquired by the start part acquisition function 201 from the design drawing by the connection acquisition function 202. Add lower levels. If the line acquired by the connection acquisition function 202 is not a branch line, it is added without lowering the hierarchy of the branch hierarchy list.

結線取得機能202により取得した線に対して結線先部品取得機能203により取得した結線先部品を、結線取得機能202により取得した線が分岐線であれば、分岐階層リストの階層を下げて追加する。結線取得機能202により取得した線が分岐線でなければ、分岐階層リストの階層を下げずに追加する。結線の終わりまで(一つ下流の線がなくなるまで)、結線取得機能202と結線先取得機能203を再帰的に繰り返し、分岐階層リストを生成する。   If the line acquired by the connection acquisition function 202 is a branch line, the connection destination part acquired by the connection destination component acquisition function 203 is added to the line acquired by the connection acquisition function 202 by lowering the hierarchy of the branch hierarchy list. . If the line acquired by the connection acquisition function 202 is not a branch line, it is added without lowering the hierarchy of the branch hierarchy list. Until the end of the connection (until there is no downstream line), the connection acquisition function 202 and the connection destination acquisition function 203 are recursively repeated to generate a branch hierarchy list.

その後、分岐階層リスト最適化機能204により、図4の中央と右側に示すとおり、分岐している線同士に繋がる部品で共通している部品の階層を分岐している部品の階層まで上げる。   Thereafter, the branch hierarchy list optimizing function 204 raises the hierarchy of parts common to the parts connected to the branched lines to the hierarchy of the parts being branched, as shown in the center and right side of FIG.

最後に分岐階層リスト表示機能205により分岐階層リスト画面(図5右側)を表示する。この分岐階層リスト表示は、例えばツリー表示の場合、分岐階層リストのルート要素をツリーのルートアイテムにする。ルート要素の子要素をルートアイテムの子アイテムにする。子要素にさらに子要素があれば子アイテムのさらに子アイテムにする。アイテム名は要素名を表示する(要素名以外でもよい)。   Finally, the branch hierarchy list display function 205 displays the branch hierarchy list screen (right side in FIG. 5). In this branch hierarchy list display, for example, in the case of a tree display, the root element of the branch hierarchy list is used as the root item of the tree. Make the child element of the root element a child item of the root item. If there are more child elements in the child element, it becomes a child item of the child item. The item name displays the element name (may be other than the element name).

同様に、前記の図2における分岐階層リスト生成機能301は、設計図に従って作成されていた従来の演算順序(演算処理の流れを表す情報)に代えて、処理の流れを分岐で階層構造化した分岐階層リストを生成し、演算シミュレーションの実行を支援する。   Similarly, the branch hierarchy list generation function 301 in FIG. 2 described above has a hierarchical structure of the process flow in place of the conventional calculation order (information indicating the flow of the calculation process) created according to the design drawing. A branch hierarchy list is generated to support execution of an arithmetic simulation.

したがって、本実施形態では、処理の流れを分岐で階層構造化した分岐階層リストを生成するため、処理の流れを表す情報(演算順序)を容易にイメージでき、開発保守が容易になる。   Therefore, in this embodiment, a branch hierarchy list in which the process flow is hierarchically structured by branching is generated, so that information (operation order) representing the process flow can be easily imagined, and development maintenance is facilitated.

(3)ソースコードの出力
図6に例を示すように、処理の流れを分岐で階層構造化した分岐階層リストから、階層構造に従ったソースコード出力を行う。このための処理は、図1のコード片設定機能102とコード片出力機能103による以下の処理手順S1〜S5によってソースコード出力を得る。
(3) Output of source code As shown in the example of FIG. 6, the source code is output according to the hierarchical structure from the branch hierarchy list in which the process flow is hierarchically structured by branching. For this process, a source code output is obtained by the following processing procedures S1 to S5 by the code fragment setting function 102 and the code fragment output function 103 of FIG.

(S1)コード片設定機能102により、分岐階層リストの部品が持つコード片を設定する。   (S1) The code fragment setting function 102 sets the code fragment of the parts in the branch hierarchy list.

(S2)コード片出力機能103により、分岐階層リストの部品が持つコード片を出力する。   (S2) The code fragment output function 103 outputs the code fragment possessed by the parts in the branch hierarchy list.

(S3)分岐階層リストに子があれば、子の部品が持つコード片を設定し、当該コード片を出力するという処理S1,S2を子の部品がなくなるまで繰り返す。   (S3) If there is a child in the branch hierarchy list, the code pieces of the child parts are set, and the processes S1 and S2 of outputting the code pieces are repeated until there are no child parts.

(S4)子の部品がなくなった後は分岐階層リストの後処理をする。例えば、区間(分岐から合流まで)を持つもの(ガード等)であれば、閉じ括弧をつける。   (S4) After there are no child parts, post-processing of the branch hierarchy list is performed. For example, if there is a section (from a branch to a merge) (such as a guard), a closing parenthesis is attached.

(S5)上記のS1〜S4を分岐階層リストの終わりまで再帰的に実行する。   (S5) The above steps S1 to S4 are recursively executed until the end of the branch hierarchy list.

このような処理により、図6に例示する分岐階層リストは、処理2および処理3の区間は階層化され、その後処理では閉じ括弧「}」を付加することができる。   With such a process, the branch hierarchy list illustrated in FIG. 6 is hierarchized in the sections of the process 2 and the process 3, and a closing bracket “}” can be added in the process thereafter.

したがって、階層構造化した分岐階層リストにより処理の流れの区間が予め特定されるため、ソースコード出力のアルゴリズムが容易になる。このことを以下に詳細に説明する。   Accordingly, since the process flow section is specified in advance by the hierarchically structured branch hierarchy list, the source code output algorithm is facilitated. This will be described in detail below.

従来の演算順序により処理の流れを示す場合、処理の流れの区間を表現していなかったため、ソースコード出力時に、設計図の分岐と合流の関係から処理の区間を特定し、区間の終わりの部品が対応する区間分の閉じ括弧「}」をつける必要があった。閉じ括弧の付け方の例を図7に示し、分岐処理に際して、ガード1が開き括弧を付け、処理2が括弧を付けるか判定して閉じ括弧を付け、ガード2が開き括弧を付け、処理3が括弧を付けるか判定して閉じ括弧を付ける。   When the processing flow is shown in the conventional calculation order, the processing flow section was not expressed. Therefore, when outputting the source code, the processing section is identified from the relationship between the branch and merge of the design drawing, and the end part of the section It was necessary to put a closing bracket "}" for the corresponding section. An example of how to add a closing parenthesis is shown in FIG. 7. In branch processing, guard 1 attaches an opening parenthesis, processing 2 determines whether to add a parenthesis, and a closing parenthesis is attached. Determine whether to add parentheses and put closing parenthesis.

本実施形態では、処理の流れの区間(分岐の各枝から合流手前まで)を階層構造化することで表現しており、ソースコード出力時には設計情報全体を判定する必要がない。閉じ括弧の付け方の例を図8に示し、分岐処理に際して、処理の流れの区間の始まりの部品(ガード)が自分の処理時に開き括弧「{」を、自分の子となる部品を処理後に閉じ括弧「}」を付けるだけなので、ソースコード出力のアルゴリズムが容易になる。   In this embodiment, the processing flow section (from each branch to before the merge) is expressed by hierarchical structure, and it is not necessary to determine the entire design information when outputting the source code. An example of how to add a closing parenthesis is shown in FIG. 8, and at the time of branch processing, the part (guard) at the beginning of the section of the processing flow opens at the time of own processing, and the parenthesis "{" is closed after the processing of its child parts. Since only parentheses “}” are added, the source code output algorithm becomes easy.

(4)演算シミュレーションの実行
図9に例を示すように、処理の流れを分岐で階層構造化した分岐階層リストに従い演算シミュレーションを行う。このための処理は、図2のコード片設定機能302とコード片実行機能303による以下の処理手順S1〜S5によって演算シミュレーションを実行する。
(4) Execution of Operation Simulation As shown in FIG. 9, an operation simulation is performed according to a branch hierarchy list in which the process flow is hierarchically structured by branches. For this process, an operation simulation is executed by the following processing steps S1 to S5 by the code piece setting function 302 and the code piece execution function 303 of FIG.

(S1)コード片設定機能302により、分岐階層リストの部品が持つコード片を設定する。   (S1) The code piece setting function 302 sets the code piece that the parts of the branch hierarchy list have.

(S2)コード片実行機能303により、分岐階層リストの部品が持つコード片を実行する。   (S2) The code fragment execution function 303 executes the code fragment possessed by the component in the branch hierarchy list.

(S3)分岐階層リストに子があれば、子の部品が持つコード片を設定し、当該コード片を実行するという処理S1,S2を繰り返す。このとき、部品が持つ特性により子または次の子を実行するか否かを制御する。   (S3) If there is a child in the branch hierarchy list, the code pieces possessed by the child parts are set, and the processes S1 and S2 of executing the code piece are repeated. At this time, whether to execute the child or the next child is controlled according to the characteristics of the component.

(S4)上記のS1〜S3を分岐階層リストの終わりまで再帰的に実行する。   (S4) The above S1 to S3 are recursively executed until the end of the branch hierarchy list.

したがって、階層構造化した分岐階層リストにより処理の流れの区間が予め特定されるため、演算シミュレーションのアルゴリズムが容易になる。このことを以下に詳細に説明する。   Accordingly, since the process flow section is specified in advance by the hierarchically structured branch hierarchy list, the algorithm of the arithmetic simulation becomes easy. This will be described in detail below.

従来の演算順序により処理の流れを示す場合、処理の流れの区間を表現していなかったため、演算シミュレーション時に、設計図の分岐と合流の関係から処理の区間を特定し、次に処理する部品を特定する必要があった。演算順序から処理する部品を特定する例を図10の右側に示し、線(ガード1)は条件不一致時に次に処理する部品を、処理2は次に処理する部品を特定する必要がある。   When the processing flow is shown in the conventional calculation order, the processing flow section is not expressed. Therefore, at the time of calculation simulation, the processing section is identified from the relationship between the branch of the design drawing and the merge, and the part to be processed next There was a need to identify. An example of specifying a part to be processed from the calculation order is shown on the right side of FIG.

本実施形態では、処理の流れの区間(分岐の各枝から合流手前まで)を階層構造化することで表現しており、演算シミュレーション時には設計情報全体を判定する必要がない。部品の特定の例を図10の中央側に示し、分岐処理に際して、処理の流れの区間の始まりの部品(ガード)が自分の処理時に条件一致であれば、自分の子となる部品を処理することと、さらにその親の区間の開始部品(分岐)が自分の子となるガードの処理結果を受けて、対となる区間の始まり(ガード)を処理するか判定するだけなので、演算シミュレーションのアルゴリズムが容易になる。   In the present embodiment, the processing flow section (from each branch to the front of the merge) is represented by a hierarchical structure, and it is not necessary to determine the entire design information during the operation simulation. A specific example of a part is shown on the center side of FIG. 10, and in branch processing, if the part (guard) at the beginning of the process flow section matches the condition at the time of own processing, the part that is its child is processed. In addition, the start part (branch) of the parent section receives the processing result of the guard that is its child and determines whether to process the start of the paired section (guard). Becomes easier.

なお、本発明は、図1,2等に示した方法の一部又は全部の処理機能をプログラムとして構成してコンピュータに実行させることができる。   In the present invention, some or all of the processing functions of the method shown in FIGS. 1 and 2 can be configured as a program and executed by a computer.

100 ソースコード出力装置
200 分岐階層リスト生成装置
300 演算シミュレーション装置
101、301 分岐階層リスト生成機能
102、302 コード片設定機能
103 コード片出力機能
201 開始部品取得機能
202 結線取得機能
203 結線先部品取得機能
204 分岐階層リスト最適化機能
205 分岐階層リスト表示機能
303 コード片実行機能
DESCRIPTION OF SYMBOLS 100 Source code output device 200 Branch hierarchy list generation apparatus 300 Operation simulation apparatus 101, 301 Branch hierarchy list generation function 102, 302 Code piece setting function 103 Code piece output function 201 Start part acquisition function 202 Connection acquisition function 203 Connection destination part acquisition function 204 Branch hierarchy list optimization function 205 Branch hierarchy list display function 303 Code fragment execution function

Claims (7)

装置に組み込んで特定の情報処理機能を実現するためのソフトウェアの開発支援システムであって、
設計図中の分岐による処理の流れを階層構造化した分岐階層リストとして生成する分岐階層リスト生成手段と、
前記分岐階層リストに従って、当該リストの各部品が持つコード片を設定/出力し、このコード片をソースコードとして出力するソースコード出力手段と、を備え、
前記ソースコード出力手段は、
前記分岐階層リストの部品が持つコード片を設定するコード片設定手段と、前記分岐階層リストの部品が持つコード片を出力するコード片出力手段とを備え、
前記分岐階層リストに子があれば、前記コード片設定手段による子の部品が持つコード片の設定処理と、前記コード片出力手段による当該コード片の出力処理を、子の部品がなくなるまで繰り返し、子の部品がなくなった後は分岐階層リストの分岐から合流までの区間を持つものに閉じ括弧を付加する後処理を行ない、これら処理を分岐階層リストの終わりまで再帰的に実行することを特徴とするソフトウェアの開発支援システム。
A software development support system for realizing a specific information processing function by being incorporated in a device,
A branch hierarchy list generating means for generating a process flow by branching in the design drawing as a branch hierarchy list having a hierarchical structure;
Source code output means for setting / outputting a code fragment of each component of the list according to the branch hierarchy list, and outputting the code fragment as a source code ,
The source code output means includes
Code piece setting means for setting a code piece that the branch hierarchy list component has, and code piece output means for outputting a code piece that the branch hierarchy list component has,
If there is a child in the branch hierarchy list, the code piece setting process of the child part by the code piece setting means and the output process of the code piece by the code piece output means are repeated until there are no child parts, After there are no child parts, post-processing is performed to add a closing parenthesis to a branch hierarchy list that has a section from branch to merge, and these processes are recursively executed to the end of the branch hierarchy list. software development support system of that.
装置に組み込んで特定の情報処理機能を実現するためのソフトウェアの開発支援システムであって、
設計図中の分岐による処理の流れを階層構造化した分岐階層リストとして生成する分岐階層リスト生成手段と、
前記分岐階層リストの部品が持つコード片を設定するコード片設定手段および前記分岐階層リストの部品が持つコード片を実行するコード片実行手段を備えた演算シミュレーション手段と、を備え、
前記演算シミュレーション手段は、
記分岐階層リストに子があれば、前記コード片設定手段による子の部品が持つコード片の設定処理と、前記コード片実行手段による当該コード片の実行処理を繰り返し、この繰り返しは、処理の流れの区間の始まりの部品(ガード)が自分の処理時に条件一致であれば、自分の子となる部品を処理することと、さらにその親の区間の開始部品(分岐)が自分の子となるガードの処理結果を受けて、対となる区間の始まり(ガード)を処理するかを判定することにより子または次の子を実行するか否かを制御し、これら処理を分岐階層リストの終わりまで再帰的に実行することを特徴とするソフトウェアの開発支援システム。
A software development support system for realizing a specific information processing function by being incorporated in a device,
A branch hierarchy list generating means for generating a process flow by branching in the design drawing as a branch hierarchy list having a hierarchical structure;
A code piece setting means for setting a code piece that the part of the branch hierarchy list has, and an operation simulation means comprising a code piece execution means for executing the code piece that the part of the branch hierarchy list has,
The calculation simulation means includes
If there is a child in the branching hierarchy list, the code piece setting process of the child part by the code piece setting means and the execution process of the code piece by the code piece execution means are repeated. If the part at the beginning of the section (guard) matches the conditions at the time of its own processing, the part that is its child is processed, and the guard that the starting part (branch) of its parent section is its child Control whether to execute the child or the next child by determining whether to process the start (guard) of the paired section, and recurs the processing to the end of the branch hierarchy list Software development support system characterized by the fact that it is executed dynamically.
前記分岐階層リスト生成手段は、
処理の開始部品を取得する開始部品取得手段と、
各部品の結線状態を取得する結線取得手段と、
結線先の部品を取得する結線先部品取得手段と、
分岐から合流区間以降の区間を統合する分岐階層リスト最適化手段と、
を備えたことを特徴とする請求項1又は2に記載のソフトウェアの開発支援システム。
The branch hierarchy list generation means includes:
Start part acquisition means for acquiring a start part of processing;
Connection acquisition means for acquiring the connection state of each component;
A connection destination part acquisition means for acquiring a connection destination part;
A branch hierarchy list optimizing means for integrating the sections after the merge section from the branch;
The software development support system according to claim 1 or 2, further comprising:
装置に組み込んで特定の情報処理機能を実現するためのソフトウェアの開発支援方法であって、
設計図中の分岐による処理の流れを階層構造化した分岐階層リストとして生成する分岐階層リスト生成ステップと、
前記分岐階層リストに従って、当該リストの各部品が持つコード片を設定/出力し、このコード片をソースコードとして出力するソースコード出力ステップと、を備え、
前記ソースコード出力ステップは、
前記分岐階層リストの部品が持つコード片を設定するコード片設定ステップと、前記分岐階層リストの部品が持つコード片を出力するコード片出力ステップとを備え、
前記分岐階層リストに子があれば、前記コード片設定ステップによる子の部品が持つコード片の設定処理と、前記コード片出力ステップによる当該コード片の出力処理を、子の部品がなくなるまで繰り返し、子の部品がなくなった後は分岐階層リストの分岐から合流までの区間を持つものに閉じ括弧を付加する後処理を行ない、これら処理を分岐階層リストの終わりまで再帰的に実行することを特徴とするソフトウェアの開発支援方法。
A software development support method for realizing a specific information processing function by being incorporated in a device,
A branch hierarchy list generation step for generating a process flow by branching in the blueprint as a hierarchically structured branch hierarchy list;
A source code output step of setting / outputting a code fragment of each component of the list according to the branch hierarchy list, and outputting the code fragment as a source code ,
The source code output step includes
A code fragment setting step for setting a code fragment possessed by a component of the branch hierarchy list; and a code fragment output step for outputting a code fragment possessed by the component of the branch hierarchy list;
If there is a child in the branch hierarchy list, repeat the code piece setting process of the child part by the code piece setting step and the output process of the code piece by the code piece output step until there are no child parts, After there are no child parts, post-processing is performed to add a closing parenthesis to a branch hierarchy list that has a section from branch to merge, and these processes are recursively executed to the end of the branch hierarchy list. development support method of software.
装置に組み込んで特定の情報処理機能を実現するためのソフトウェアの開発支援方法であって、
設計図中の分岐による処理の流れを階層構造化した分岐階層リストとして生成する分岐階層リスト生成ステップと、
前記分岐階層リストの部品が持つコード片を設定するコード片設定ステップおよび前記分岐階層リストの部品が持つコード片を出力するコード片実行ステップを備えて演算シミュレーションを実行する演算シミュレーションステップと、を備え、
前記演算シミュレーションステップは、
前記分岐階層リストに子があれば、前記コード片設定ステップによる子の部品が持つコード片の設定処理と、前記コード片実行ステップによる当該コード片の実行処理を繰り返し、この繰り返しは、処理の流れの区間の始まりの部品(ガード)が自分の処理時に条件一致であれば、自分の子となる部品を処理することと、さらにその親の区間の開始部品(分岐)が自分の子となるガードの処理結果を受けて、対となる区間の始まり(ガード)を処理するかを判定することにより子または次の子を実行するか否かを制御し、これら処理を分岐階層リストの終わりまで再帰的に実行することを特徴とするソフトウェアの開発支援方法。
A software development support method for realizing a specific information processing function by being incorporated in a device,
A branch hierarchy list generation step for generating a process flow by branching in the blueprint as a hierarchically structured branch hierarchy list;
An operation simulation step for executing an operation simulation by including a code fragment setting step for setting a code fragment possessed by the component of the branch hierarchy list and a code fragment execution step for outputting a code fragment possessed by the component of the branch hierarchy list. ,
The calculation simulation step includes:
If there is a child in the branch hierarchy list, the code piece setting process of the child part in the code piece setting step and the execution process of the code piece in the code piece execution step are repeated. If the part at the beginning of the section (guard) matches the conditions at the time of its own processing, the part that is its child is processed, and the guard that the starting part (branch) of its parent section is its child Control whether to execute the child or the next child by determining whether to process the start (guard) of the paired section, and recurs the processing to the end of the branch hierarchy list Software development support method characterized in that it is executed dynamically.
前記分岐階層リスト生成ステップは、
処理の開始部品を取得する開始部品取得ステップと、
各部品の結線状態を取得する結線取得ステップと、
結線先の部品を取得する結線先部品取得ステップと、
分岐から合流区間以降の区間を統合する分岐階層リスト最適化ステップと、
を備えたことを特徴とする請求項4又は5に記載のソフトウェアの開発支援方法。
The branch hierarchy list generation step includes:
A start part acquisition step for acquiring a start part of processing;
A connection acquisition step for acquiring the connection state of each component;
A connection destination part acquisition step for acquiring a connection destination part;
A branch hierarchy list optimization step for integrating the sections from the branch to the merge section,
The software development support method according to claim 4, wherein the software development support method is provided.
請求項4〜6のいずれか1項に記載のソフトウェアの開発支援方法における処理ステップをコンピュータで実行可能にしたことを特徴とするプログラム。 A program characterized in that the processing steps in the software development support method according to any one of claims 4 to 6 can be executed by a computer.
JP2009184057A 2009-08-07 2009-08-07 Software development support system, support method and program Expired - Fee Related JP5487789B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009184057A JP5487789B2 (en) 2009-08-07 2009-08-07 Software development support system, support method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009184057A JP5487789B2 (en) 2009-08-07 2009-08-07 Software development support system, support method and program

Publications (2)

Publication Number Publication Date
JP2011039618A JP2011039618A (en) 2011-02-24
JP5487789B2 true JP5487789B2 (en) 2014-05-07

Family

ID=43767348

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009184057A Expired - Fee Related JP5487789B2 (en) 2009-08-07 2009-08-07 Software development support system, support method and program

Country Status (1)

Country Link
JP (1) JP5487789B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101597780B1 (en) * 2014-05-22 2016-02-25 황수진 Method and apparatus for visually implementing software code

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6254337A (en) * 1985-09-02 1987-03-10 Nec Corp Specification displaying system for program hierarchy
JPH02140828A (en) * 1988-11-22 1990-05-30 Nec Corp Program display system sorted by hierarchy in graphic program editor
JPH03292532A (en) * 1990-04-11 1991-12-24 Nissan Motor Co Ltd Back-up device for development of program
JPH06214777A (en) * 1993-01-20 1994-08-05 Hitachi Ltd Program development method and apparatus
JPH0887406A (en) * 1994-09-19 1996-04-02 Fuji Electric Co Ltd Program display device
JP3177105B2 (en) * 1994-10-03 2001-06-18 株式会社東芝 Program creation method and control device using program
JPH09198236A (en) * 1996-01-19 1997-07-31 Honda Motor Co Ltd Method and apparatus for determining instruction sequence
JPH09258972A (en) * 1996-03-25 1997-10-03 Meidensha Corp Editor
JPH1124911A (en) * 1997-07-04 1999-01-29 Hitachi Koukiyou Syst Eng Kk Source program automatic generation method
JPH11212776A (en) * 1998-01-27 1999-08-06 Nec Commun Syst Ltd System specification description language / program code conversion method and recording medium
JPH11305813A (en) * 1998-04-24 1999-11-05 Toyo Electric Mfg Co Ltd Program editing device for programmable controller
JP2005222221A (en) * 2004-02-04 2005-08-18 Hitachi Ltd Embedded controller development tool, embedded controller, and embedded controller development process
JP2007128345A (en) * 2005-11-04 2007-05-24 Toshiba Corp Program automatic generation apparatus, program automatic generation method, and program automatic generation program

Also Published As

Publication number Publication date
JP2011039618A (en) 2011-02-24

Similar Documents

Publication Publication Date Title
US8370810B2 (en) Debugging device and debugging method
US20110225565A1 (en) Optimal incremental workflow execution allowing meta-programming
CN108920496B (en) Rendering method and device
JP2015043198A (en) Analysis system, analysis method and analysis program
US11989537B2 (en) Dataflow-based computer program visualization and refactoring
JPWO2013161195A1 (en) Program unit test support device
US10379821B1 (en) Optimization tracing
JPWO2015136607A1 (en) Software development support system, software development support method, and software development support program
JP5487789B2 (en) Software development support system, support method and program
JP2009176064A (en) Software refactoring support apparatus and method
CN110554861B (en) Software development environment with compile and read-evaluate-print-loop operations
JP2008276735A (en) Program code conversion apparatus and program code conversion method
JP2009211424A (en) Optimization point determining device, optimization point determination system, computer program, and optimization point determination method
US9720690B2 (en) Software architecture by untangling undesired code level dependencies using code refactoring
Al-Kofahi et al. Escaping AutoHell: a vision for automated analysis and migration of autotools build systems
JPWO2016038741A1 (en) Source code equivalence verification apparatus and source code equivalence verification method
Attallah et al. Towards a COSMIC FSM Programming Language Compiler.
US20120227029A1 (en) Method for code transformation supporting temporal abstraction of parameters
Rentz et al. Extracting interactive actor-based dataflow models from legacy C code
Abate et al. Bootstrapping software distributions
JP2008269529A (en) Debugging support device
JP4860564B2 (en) Program profiling apparatus, program profiling method, and program
JP5181947B2 (en) Embedded software development support system, support method and program
JP5120166B2 (en) Embedded software development support system, support method and program
Jiang et al. WebGen-R1: Incentivizing LLMs to Generate Functional and Aesthetic Websites with Reinforcement Learning

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120523

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130326

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130524

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20130524

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131126

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140107

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140128

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140210

R150 Certificate of patent or registration of utility model

Ref document number: 5487789

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees