JP5971193B2 - Software development support apparatus, development support method and program - Google Patents
Software development support apparatus, development support method and program Download PDFInfo
- Publication number
- JP5971193B2 JP5971193B2 JP2013108218A JP2013108218A JP5971193B2 JP 5971193 B2 JP5971193 B2 JP 5971193B2 JP 2013108218 A JP2013108218 A JP 2013108218A JP 2013108218 A JP2013108218 A JP 2013108218A JP 5971193 B2 JP5971193 B2 JP 5971193B2
- Authority
- JP
- Japan
- Prior art keywords
- block
- connection
- input
- name
- cycle
- 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.)
- Active
Links
Images
Landscapes
- Stored Programmes (AREA)
Description
本発明は、ソフトウェアの開発支援装置、開発支援方法およびそのプログラムに係り、特にソフトウェアとして開発する機能ブロックの動作確認に関する。 The present invention relates to a software development support apparatus, a development support method, and a program thereof, and more particularly, to an operation check of a functional block developed as software.
自動車等の電子制御装置に組み込むソフトウェアの設計では、複数の機能ブロックをパソコン等の画面上で視覚的に組み合わせ、その情報を元に、ソフトウェアのソースコードを自動的に生成させる。 In designing software incorporated in an electronic control device such as an automobile, a plurality of functional blocks are visually combined on a screen of a personal computer or the like, and software source code is automatically generated based on the information.
そして、自動生成されたソフトウェアを電子制御装置に組み込んで実機テストを行う。しかし、実機テストの段階で動作不良が生じると、ソフトウェアの設計から見直しをしなければならず、手戻り規模が大きくなってしまう。 Then, the automatically generated software is incorporated into the electronic control device and an actual machine test is performed. However, if a malfunction occurs in the actual machine test stage, the software design must be reviewed and the rework scale will increase.
特許文献1には、複数の機能ブロックが結線されてなるモジュールの動作を確認するためのソフトウェア開発支援システムおよびプログラムが提案されている。具体的には、演算シミュレーションの途中で、動作のチェックのために演算を停止する機能ブロックを追加することが提案されている。
しかしながら、特許文献1に提案されたソフトウェア開発支援システムにおいては、演算シミュレーション途中における動作の異常は確認できても、異常の原因となる箇所を特定することは容易ではない。
However, in the software development support system proposed in
特にユーザが任意に設定できる機能ブロック毎の演算周期に関し、演算周期の設定値と各機能ブロック間を結ぶ結線によっては、信号を入力する側の機能ブロックが、信号を出力する側の機能ブロックが送出した信号を正しく参照できず、正しい動作が行われない虞がある。近年、複雑な制御のため機能ブロック規模が大きくなりつつあり、上記問題が顕著になってきている。 In particular, regarding the calculation cycle for each functional block that can be arbitrarily set by the user, depending on the connection between the set value of the calculation cycle and each functional block, the function block on the signal input side may change the function block on the signal output side. There is a possibility that the transmitted signal cannot be correctly referred to and the correct operation is not performed. In recent years, the functional block scale is becoming larger due to complicated control, and the above problem is becoming remarkable.
本発明は、上記問題点に鑑みてなされたものであり、演算周期に起因する動作エラーが生じる可能性のある機能ブロックおよび結線を容易に特定することを目的とする。 The present invention has been made in view of the above problems, and an object of the present invention is to easily identify functional blocks and connections that may cause an operation error due to a calculation cycle.
ここに開示される発明は、上記目的を達成するために以下の技術的手段を採用する。なお、特許請求の範囲及びこの項に記載した括弧内の符号は、ひとつの態様として後述する実施形態に記載の具体的手段との対応関係を示すものであって、発明の技術的範囲を限定するものではない。 The invention disclosed herein employs the following technical means to achieve the above object. Note that the reference numerals in parentheses described in the claims and in this section indicate a corresponding relationship with specific means described in the embodiments described later as one aspect, and limit the technical scope of the invention. Not what you want.
上記目的を達成するために、本発明は、機能ブロック名が付与された複数の機能ブロックと、結線名が付与され、該機能ブロックを互いに結ぶ結線と、を有するブロック図が予め格納されたブロック図格納手段(120)と、機能ブロック毎の演算周期を利用者が入力するための入力手段(200)と、入力手段により入力された演算周期を機能ブロックに割り当てる割当手段(130)と、を備え、演算周期およびブロック図に基づいて、ブロック図に対応するソースコードを出力手段(300)に出力するソフトウェアの開発支援装置であって、少なくとも、演算周期の短い機能ブロックである短周期ブロックから、該短周期ブロックよりも演算周期の長い機能ブロックである長周期ブロックへ出力される信号の伝送を表す結線名と、短周期ブロックの機能ブロック名と、長周期ブロックの機能ブロック名と、を抽出する抽出手段(150)を有することを特徴としている。 In order to achieve the above object, the present invention provides a block in which a block diagram having a plurality of function blocks to which function block names are assigned and connection lines to which connection names are assigned and the function blocks are connected is stored in advance. A figure storage means (120), an input means (200) for a user to input a calculation cycle for each functional block, and an assignment means (130) for assigning a calculation cycle input by the input means to a functional block. A software development support apparatus for outputting source code corresponding to the block diagram to the output means (300) based on the computation cycle and the block diagram, at least from a short cycle block which is a functional block having a short computation cycle A connection name indicating transmission of a signal output to a long-period block which is a functional block having a longer calculation cycle than the short-period block, and a short A functional block name phases blocks, is characterized by having an extraction means for extracting a function block name long period block (150).
これによれば、長周期ブロックが短周期ブロックの出力信号を参照しているような結線を抽出することができる。加えて、そのような結線がなされている長周期ブロックおよび短周期ブロックを抽出することができる。したがって、利用者は、該当のブロックおよび結線において、正しい動作が行われない可能性を、ソースコードを生成する前の段階で見つけ出すことができる。すなわち、実機テストで動作不良を確認する場合に較べて、手戻り規模を抑制することができる。 According to this, it is possible to extract a connection such that the long cycle block refers to the output signal of the short cycle block. In addition, it is possible to extract long-period blocks and short-period blocks in which such connections are made. Therefore, the user can find out the possibility that correct operation is not performed in the corresponding block and connection in the stage before generating the source code. That is, the scale of rework can be suppressed as compared with the case where an operation failure is confirmed by an actual machine test.
以下、本発明の実施の形態を図面に基づいて説明する。なお、以下の各図相互において、互いに同一もしくは均等である部分に、同一符号を付与する。 Hereinafter, embodiments of the present invention will be described with reference to the drawings. In the following drawings, the same reference numerals are given to the same or equivalent parts.
(第1実施形態)
最初に、図1を参照して、本実施形態に係るソフトウェアの開発支援装置10の概略構成について説明する。
(First embodiment)
First, a schematic configuration of a software
本実施形態におけるソフトウェアの開発支援装置10は、自動ソースコード生成のためのモデル設計を支援するものである。モデル設計は、各種機能を有する機能ブロック同士を結線してなるブロック図を基に、演算の妥当性等を検証しつつ行われる。
The software
ソフトウェアの開発支援装置10は、処理部100と、処理部100に必要な情報を入力する入力部200と、処理部100により処理された情報を外部に出力する出力部300と、を有する。処理部100は、いずれも周知のCPU、ROM・RAMなどのメモリ、I/Oおよびこれらを接続するバスによって構成され、与えられた命令を実行する部分である。また、入力部200は、例えばキーボードやマウスといった入力デバイスであり、出力部300は、例えばディスプレイやプリンタといった出力デバイスである。すなわち、ソフトウェアの開発支援装置10は一般的に用いられるパーソナルコンピュータおよびそれに準じる装置により構成することができる。
The software
処理部100は、複数の機能ブロックが格納された機能ブロックデータベース110(以下、機能ブロックDBと示す)と、使用者が任意に選択した機能ブロック同士を結線して作成したブロック図が格納されたブロック図データベース120(以下、ブロック図DBと示す)と、を有する。また、処理部100は、ブロック図データベース120に格納されたブロック図を構成する各機能ブロックに演算周期を設定する割当部130を有する。演算周期は入力部200を介して利用者が入力する。処理部100は、演算周期が設定された各機能ブロックにより構成されたブロック図を基に、演算シミュレーションを実施するための演算シミュレーション部140を有する。演算シミュレーションとは、利用者が作成したブロック図において、入力に対して出力が意図した通りになっているか否かをシミュレートする一般的なものであり、必ずしも、演算周期を考慮した信号の参照抜け等を忠実にシミュレートできるものとは限らない。
The
上記構成に加えて、本実施形態の処理部100は抽出部150を有する。ところで、演算周期の異なる少なくとも2つの機能ブロック同士が結線されたブロック図において、演算周期の短い短周期ブロックから、この短周期ブロックよりも演算周期の長い長周期ブロックへ信号が伝送されるような結線が存在する場合がある。このような結線がされていると、長周期ブロックは、短周期ブロックが出力した信号を正しく参照できず、正しい動作が行われない虞がある。抽出部150は、このような結線がされた機能ブロックの機能ブロック名および結線の結線名を抽出する。
In addition to the above configuration, the
本実施形態における抽出部150は、ブロック図を構成するN個の機能ブロックについて、演算周期の短い順に自然数(1〜n)の通番(以下、ブロック通番と示す)を付与するブロック通番付与部152を有する。また、機能ブロック毎に、入力に用いられる入力用結線の結線名を抽出する入力用結線名抽出部154と、出力に用いられる出力用結線の結線名を抽出する出力用結線名抽出部156と、を有する。さらに、ブロック通番m(2≦m≦n)に該当する機能ブロックにおける入力用結線の結線名と一致する結線名が、ブロック通番1〜(m−1)に該当する機能ブロックにおける出力用結線に存在するか否かを検索する検索部158を有する。
In the present embodiment, the
上記したように、このソフトウェアの開発支援装置10は、主に電子式汎用計算機として構成され、いずれも周知のCPU、ROM・RAMなどのメモリ、I/O、およびこれらを接続するバスによって構成される。そして、ソフトウェアの開発支援装置10は、メモリに記憶されたプログラムを実行することで、各処理(割当部130、抽出部150、演算シミュレーション部140に割り当てられた処理)を実行する。
As described above, the software
なお、ブロック図DB120、割当部130、抽出部150、入力部200、出力部300は、それぞれ、特許請求の範囲における、ブロック図格納手段、割当手段、抽出手段、入力手段、出力手段に相当する。また、抽出部150を構成する、ブロック通番付与部152、入力用結線名抽出部154、出力用結線名抽出部156、検索部158は、それぞれ、特許請求の範囲における、ブロック通番付与手段、入力用結線名抽出手段、出力用結線名抽出手段、検索手段に相当する。
The
次に、図2に示す具体的なブロック図の例、および図3〜図8を参照して、ソフトウェアの開発支援装置10の動作について説明する。すなわち、ソフトウェアの開発支援方法について説明する。なお、特許請求の範囲に記載の、ソフトウェアの開発支援プログラム、とは、以下に記載するソフトウェアの開発支援方法をコンピュータに実行させるプログラムである。
Next, the operation of the software
まず、図2を参照して、動作の説明の例とするブロック図の構成について説明する。 First, the configuration of a block diagram as an example of the operation will be described with reference to FIG.
図2に示すブロック図は、N個の機能ブロックから成る。それぞれの機能ブロック名は、α,β,・・・,ζである。各機能ブロックには、利用者が設定した演算周期が割当部130により割り当てられる。図2に示す例では、機能ブロックα、β、ζにそれぞれ演算周期K2、K1、Knが与えられる。また、機能ブロックα、β、ζを除く他の機能ブロックにもそれぞれ演算周期(K3〜K(n−1))が与えられるが、この例では省略する。そして、この例では、演算周期の大小関係がK1<K2<・・・<Knである。
The block diagram shown in FIG. 2 includes N functional blocks. The function block names are α, β,. The calculation unit set by the user is allocated to each functional block by the
機能ブロックαは、入力用結線として結線Eおよび結線Fが結線され、出力用結線として結線D、結線Gおよび結線Hが結線される。 In the functional block α, connection E and connection F are connected as input connections, and connection D, connection G, and connection H are connected as output connections.
機能ブロックβは、入力用結線として結線A、結線B、結線Cおよび結線Dが結線され、出力用結線として結線Eが結線される。すなわち、結線Dおよび結線Eは機能ブロックαと機能ブロックβとを結ぶ結線である。より詳しくは、結線Dは機能ブロックαにとっての出力用結線であり、且つ、機能ブロックβにとっての入力用結線である。また、結線Eは機能ブロックαにとっての入力用結線であり、且つ、機能ブロックβにとっての出力用結線である。 In the function block β, connection A, connection B, connection C, and connection D are connected as input connections, and connection E is connected as an output connection. That is, the connection D and the connection E are connections that connect the functional block α and the functional block β. More specifically, the connection D is an output connection for the functional block α and an input connection for the functional block β. The connection E is an input connection for the functional block α and an output connection for the functional block β.
機能ブロックζは、入力用結線として結線H、結線Iおよび結線Jが結線され、出力用結線として結線Kおよび結線Lが結線される。すなわち、結線Hは機能ブロックαと機能ブロックζとを結ぶ結線である。より詳しくは、結線Hは機能ブロックαにとっての出力用結線であり、且つ、機能ブロックζにとっての入力用結線である。 In the functional block ζ, a connection H, a connection I, and a connection J are connected as input connections, and a connection K and a connection L are connected as output connections. That is, the connection H is a connection connecting the functional block α and the functional block ζ. More specifically, the connection H is an output connection for the functional block α and an input connection for the functional block ζ.
次いで、図3および図4のフローチャート、ならびに、図5〜図8を参照して、ソフトウェアの開発支援装置10の動作について順を追って説明する。
Next, the operation of the software
最初に、図3に示すように、入力ステップS10を実施する。図2に示すブロック図に対して、利用者が、演算周期を機能ブロック毎に設定する。具体的には、利用者が、各機能ブロックに対応する演算周期を、入力部200を介して処理部100に入力する。
First, as shown in FIG. 3, the input step S10 is performed. With respect to the block diagram shown in FIG. 2, the user sets the calculation cycle for each functional block. Specifically, the user inputs a calculation cycle corresponding to each functional block to the
次に、割当ステップS20を実施する。このステップでは、割当部130が、入力ステップS1において入力された演算周期の情報を各機能ブロックに割り当てる。
Next, the allocation step S20 is performed. In this step, the assigning
次に、抽出ステップS30を実施する。本実施形態における抽出ステップS30は、ブロック通番付与ステップS31と、入力用結線名抽出ステップS32と、出力用結線名抽出ステップS33と、検索ステップS34と、を有する。以下、順を追って説明する。 Next, extraction step S30 is performed. The extraction step S30 in the present embodiment includes a block sequence number assigning step S31, an input connection name extraction step S32, an output connection name extraction step S33, and a search step S34. In the following, description will be given in order.
ブロック通番付与ステップS31は、演算周期の小さい順に、各機能ブロックにブロック通番を付与するステップである。このステップS31では、ブロック通番付与部152が、K1<K2<・・・<Knの順になるように、各機能ブロックを昇順ソートし、ブロック通番として、順に1〜nを付与する。そして、ブロック通番付与部152は、図5に示すテーブルをメモリに保持する。なお、図5に示すテーブルは、付与されたブロック通番、ブロック通番に対応する機能ブロックおよび演算周期が一覧化されたテーブルである。
The block sequence number assigning step S31 is a step of assigning a block sequence number to each functional block in ascending order of the calculation cycle. In step S31, the block sequence
ブロック通番付与ステップS31の後、入力用結線名抽出ステップS32および出力用結線名抽出ステップS33を実施する。なお、この2つのステップS32,S33の実施順は任意である。 After the block serial number assigning step S31, an input connection name extraction step S32 and an output connection name extraction step S33 are performed. Note that the order in which these two steps S32 and S33 are performed is arbitrary.
入力用結線名抽出ステップS32では、入力用結線名抽出部154が、図6に示すように、各機能ブロックの入力用結線の結線名のみを一覧にした入力用結線テーブルを生成する。なお、入力用結線テーブルにおいては、機能ブロック毎の結線名にも結線通番iが付与される。例えば、ブロック通番が1とされた機能ブロック(機能ブロックβ)では、図6に示すように、結線Aに結線通番i=1が付与され、結線Bには結線通番i=2が付与され、結線Cには結線通番i=3が付与され、結線Dには結線通番i=4が付与される。さらに、この機能ブロックβにおいて、すべての結線に結線通番が付与された後、最後の結線通番の直後の結線通番には結線名として「Null」が割り当てられる(i=iNull)。なお、図4に示すフローチャートにおいて、例えば、入力用結線テーブルのm行目かつi列目のセルに割り当てられた結線名をXmiと示す。
In the input connection name extraction step S32, as shown in FIG. 6, the input connection
出力用結線名抽出ステップS33では、出力用結線名抽出部156が、図7に示すように、各機能ブロックの出力用結線の結線名のみを一覧にした出力用結線テーブルを生成する。図6に示す入力用結線テーブルと同様、機能ブロック毎の結線名にも結線通番oが付与される。なお、図4に示すフローチャートにおいて、例えば、出力用結線テーブルのm行目かつo列目のセルに割り当てられた結線名をYmoと示す。
In the output connection name extraction step S33, the output connection
検索ステップS34は、入力用結線名抽出ステップS32および出力用結線名抽出ステップS33の後に実施される。検索ステップS34は、2≦m≦nを満たすブロック通番mが付与された機能ブロックの入力用結線と同じ結線が、ブロック通番1〜ブロック通番(m−1)が付与された機能ブロックの出力用結線として存在するか否かを検索するステップである。
The search step S34 is performed after the input connection name extraction step S32 and the output connection name extraction step S33. The search step S34 is for outputting the functional block to which the same connection as the input connection of the functional block to which the block serial number m satisfying 2 ≦ m ≦ n is assigned is assigned the block
そして、最後に出力ステップS40を実施する。このステップでは、抽出ステップS30により抽出された結果を出力部300に出力する。
Finally, an output step S40 is performed. In this step, the result extracted in the extraction step S30 is output to the
図4のフローチャート、図6および図7を用いて検索ステップS34について具体的に説明する。 The search step S34 will be specifically described with reference to the flowchart of FIG. 4 and FIGS.
まず、ステップS34aを実施する。ステップS34aは、検索を開始する最初の機能ブロックを設定するステップであり、図4に示すように、ブロック通番m=2の機能ブロック(本実施形態では機能ブロックα)が検索開始の最初の機能ブロックとされる。なお、ブロック通番m=1の機能ブロック(機能ブロックβ)は演算周期がもっとも短いため、他のどの機能ブロックからの出力信号も参照することができる。このため、このステップS34aでは、ブロック通番m=2の機能ブロックを検索開始の最初の機能ブロックとしている。 First, step S34a is performed. Step S34a is a step of setting the first functional block for starting the search. As shown in FIG. 4, the functional block with the block serial number m = 2 (the functional block α in this embodiment) is the first function for starting the search. It is considered as a block. Since the functional block (functional block β) with the block serial number m = 1 has the shortest calculation cycle, an output signal from any other functional block can be referred to. For this reason, in this step S34a, the functional block with the block serial number m = 2 is set as the first functional block for starting the search.
次に、ステップS34bを実施する。ステップS34bは、2≦m≦nを満たすすべての機能ブロックについて検索が終了しているか否かを判定するステップである。すべての機能ブロックの検索が終了していれば(No判定)、検索ステップS34を終了する。すべての機能ブロックの検索が終了していなければ(Yes判定)、ステップS34cに進む。本説明においては、この段階で、ステップS34aで規定された機能ブロックα(m=2)が検索の対象となっている。このため、すべての機能ブロックの検索は終了しておらず、Yes判定となるので、ステップS34cに進む。 Next, step S34b is performed. Step S34b is a step of determining whether or not the search has been completed for all functional blocks satisfying 2 ≦ m ≦ n. If the search for all the functional blocks has been completed (No determination), the search step S34 is terminated. If the search for all functional blocks has not been completed (Yes determination), the process proceeds to step S34c. In this description, at this stage, the functional block α (m = 2) defined in step S34a is a search target. For this reason, the search of all the functional blocks is not completed, and a Yes determination is made, so the process proceeds to step S34c.
次に、ステップS34cを実施する。ステップS34cは、検索を開始する最初の結線通番iを設定するステップであり、図4に示すように、結線通番i=1の入力用結線(X21:本実施形態では、図6に示すように、結線E)が検索開始の最初の結線とされる。 Next, step S34c is performed. Step S34c is a step of setting the first connection serial number i for starting the search. As shown in FIG. 4, the input connection with the connection serial number i = 1 (X 21 : in this embodiment, as shown in FIG. 6). The connection E) is the first connection at the start of the search.
次に、ステップS34dを実施する。ステップS34dは、検索の対象とされた機能ブロック、すなわち現段階での機能ブロックα、のすべての入力用結線について、検索が終了しているか否かを判定するステップである。すべての入力用結線(機能ブロックαであればi=1〜2の2つの結線)の検索が終了していれば(No判定)、ステップS34hを経由して次のブロック通番の機能ブロック(m=3)の検索に移行する。すなわち、次のブロック通番の機能ブロックについてのステップ34bに進む。ステップS34hは、検索対象の機能ブロックのブロック通番を1つ進めるステップである。一方、すべての機能ブロックの検索が終了していなければ(Yes判定)、ステップS34eに進む。本説明においては、この段階で、ステップS34aおよびステップS34dで規定された入力用結線(X21:結線E)が検索の対象となっている。このため、すべての入力用結線の検索は終了しておらず、Yse判定となるので、ステップS34eに進む。 Next, step S34d is performed. Step S34d is a step of determining whether or not the search has been completed for all input connections of the functional block that is the target of the search, that is, the functional block α at the current stage. If the search for all the input connections (i.e., two connections with i = 1 to 2 if function block α) has been completed (No determination), the function block with the next block serial number (m) is passed through step S34h. = 3) The search is shifted to. That is, the process proceeds to step 34b for the functional block of the next block serial number. Step S34h is a step in which the block serial number of the functional block to be searched is advanced by one. On the other hand, if the search for all the functional blocks has not been completed (Yes determination), the process proceeds to step S34e. In this description, at this stage, the input connection (X 21 : connection E) defined in step S34a and step S34d is the object of search. For this reason, the search for all input connections has not been completed, and a Yse determination is made, so the process proceeds to step S34e.
次に、ステップS34eを実施する。ステップS34eは、検索の対象となっている入力用結線と一致する出力用結線が、ブロック通番w(1≦w≦m−1)が付与された機能ブロックの出力用結線のなかに存在するか否かを判定するステップである。この段階では、検索の対象となっている入力用結線はX21、すなわち結線Eである。そして、図7に示すように、一致の確認が行われる出力用結線はY1oであるが、ブロック通番m=1の機能ブロックβにおける対象の結線はY11のみである。Y11は結線Eであり、X21=Y11であるから、図4におけるステップS34eはYes判定となる。すなわち、ステップS34fに進む。 Next, step S34e is performed. In step S34e, is an output connection that matches the input connection that is the object of the search present in the output connection of the functional block to which the block serial number w (1 ≦ w ≦ m−1) is assigned? This is a step of determining whether or not. At this stage, the input connection to be searched is X 21 , that is, connection E. As shown in FIG. 7, the output connection for which the match is confirmed is Y 1o , but the target connection in the functional block β with the block serial number m = 1 is only Y 11 . Y 11 is a connection E, because it is X 21 = Y 11, step S34e in Fig. 4 is Yes judgment. That is, the process proceeds to step S34f.
次に、ステップS34fを実施する。ステップS34fは、ステップS34eの条件式Xmi=Ywo(m≧2,1≦w≦m−1)を満たす結線の結線名と、その結線が結ぶ機能ブロック、すなわち、特許請求の範囲に記載の短周期ブロックおよび長周期ブロックの機能ブロック名を、処理部100が備えるメモリに格納するステップである。この段階では、結線Eが上記条件式を満たすため、結線E、結線Eが接続された短周期側の機能ブロックβおよび長周期側の機能ブロックα、の結線名および機能ブロック名が関連付けられてメモリに保持される。
Next, step S34f is performed. Step S34f describes the connection name of the connection satisfying the conditional expression X mi = Y wo (m ≧ 2, 1 ≦ w ≦ m−1) of step S34e and the functional block to which the connection connects, that is, in the claims. This is a step of storing the function block names of the short cycle block and the long cycle block in a memory provided in the
次に、ステップS34gを実施する。ステップS34gは、検索の対象となっている入力用結線の結線通番iを1つ進めるステップである。この例では、X21に次いでX22が検索の対象となる。図6に示すように、X22は結線Fである。 Next, step S34g is performed. Step S34g is a step for advancing the connection sequence number i of the input connection that is the object of the search by one. In this example, X 22 is the search target after X 21 . As shown in FIG. 6, X 22 is a connection F.
次に、再びステップS34dを実施する。ブロック通番m=2の結線通番i=2は結線FであってNullではないから、i<inullを満たす。すなわち、ステップS34dはYes判定であり、ステップS34eに進む。 Next, step S34d is performed again. Since the connection sequence number i = 2 of the block sequence number m = 2 is the connection F and not Null, i <i null is satisfied. That is, step S34d is Yes determination, and it progresses to step S34e.
次に、再びステップS34eを実施する。この段階では、検索の対象となっている入力用結線はX22、すなわち結線Fである。そして、図7に示すように、一致の確認が行われる出力用結線はY1oであるが、ブロック通番m=1の機能ブロックβにおける対象の結線はY11のみである。Y11は結線Eであり、X21≠Y11であるから、図4におけるステップS34eはNo判定となる。したがって、図4に示すように、ステップS34gを経て再びステップS34dに進む。
Next, step S34e is performed again. At this stage, the input connection to be searched is X 22 , that is, the connection F. As shown in FIG. 7, the output connection for which the match is confirmed is Y 1o , but the target connection in the functional block β with the block serial number m = 1 is only Y 11 . Since Y 11 is the connection E and X 21 ≠ Y 11 ,
この段階で、検索対象の入力用結線はX23となっている。X23はNullであるからi<inullを満たさない。すなわち、ステップS34dはNo判定であり、ステップS34hを経由して次のブロック通番の機能ブロック(m=3)の検索に移行する。 At this stage, the input connection of the search target has a X 23. Since X 23 is Null, i <i null is not satisfied. That is, step S34d is No determination, and it transfers to the search of the functional block (m = 3) of the next block serial number via step S34h.
そして、図4に示すように、再びステップS34bを実施する。本実施形態において例示するブロック図は少なくとも3つの機能ブロックα,β,ζを有する。このため、m=3であるこの段階においては、m≦nを満たす。したがって、ステップS34cに進む。ステップS34cを経由した段階で、検索の対象となる入力用結線はX31となる。 And as shown in FIG. 4, step S34b is implemented again. The block diagram illustrated in this embodiment has at least three functional blocks α, β, and ζ. Therefore, in this stage where m = 3, m ≦ n is satisfied. Accordingly, the process proceeds to step S34c. Step S34c at the stage that has passed through the input for connection to be searched becomes X 31.
そして、上記した要領でステップS34b〜ステップS34hを繰り返す。ブロック通番3〜ブロック通番nに係る各機能ブロックの入力用結線についても、上記したステップを踏んでXmi=Ywo(m≧2,1≦w≦m−1)を満たす結線の結線名と、その結線が結ぶ機能ブロック、すなわち、特許請求の範囲に記載の短周期ブロックおよび長周期ブロックの機能ブロック名を抽出する。なお、本実施形態では、Xn1=Y23であり、該当する結線H、結線Hが接続された短周期側の機能ブロックαおよび長周期側の機能ブロックζ、の結線名および機能ブロック名が関連付けられてメモリに保持される。
Then, step S34b to step S34h are repeated in the manner described above. As for the input connection of each functional block related to block
入力用結線Xn3(結線J)の検索を終了すると、ステップS34gを経由してステップS34dに進む。この段階でXn4=Nullであるから、ステップS34dはNo判定となる。そして、ステップ34hを経由してステップS34bに進む。本実施形態における機能ブロックはN個であり、ブロック通番はnまでであるから、m≦nを満たさない。したがって、ステップS34bはNo判定となる。そして、本実施形態に係るソフトウェアの開発支援装置10は、図4に示すように、検索ステップS34を終了し、出力ステップS40に進む。
When the search for the input connection X n3 (connection J) is completed, the process proceeds to step S34d via step S34g. Since X n4 = Null at this stage, step S34d is No. Then, the process proceeds to step S34b via step 34h. In the present embodiment, there are N functional blocks, and the block serial numbers are up to n, so m ≦ n is not satisfied. Therefore, step S34b is No. Then, as shown in FIG. 4, the software
出力ステップS40では、例えば、図8に示すように、ステップS34fにおいてメモリに格納した情報を出力部300に出力する。
In the output step S40, for example, as shown in FIG. 8, the information stored in the memory in step S34f is output to the
(その他の実施形態)
以上、本発明の好ましい実施形態について説明したが、本発明は上述した実施形態になんら制限されることなく、本発明の主旨を逸脱しない範囲において、種々変形して実施することが可能である。
(Other embodiments)
The preferred embodiments of the present invention have been described above. However, the present invention is not limited to the above-described embodiments, and various modifications can be made without departing from the spirit of the present invention.
上記した実施形態では、処理部100に抽出部150と演算シミュレーション部140と、を両方含む例を示したが、それぞれが独立であってもよい。
In the above-described embodiment, an example in which both the
また、上記した実施形態では、抽出ステップS30において、各機能ブロックにブロック通番を付与し、図6および図7に示すようなテーブルに分けて、該当の結線および機能ブロックを抽出する例を示した。しかしながら、これは一例であって、少なくとも、演算周期の短い短周期ブロックから、演算周期の長い長周期ブロックへ出力される信号の伝送を表す結線名と、短周期ブロック名と、長周期ブロック名と、を抽出する抽出手段を有する構成であれば同様の効果を奏することができる。 In the above-described embodiment, an example is shown in which, in the extraction step S30, a block serial number is assigned to each functional block, and the corresponding connection and functional block are extracted by dividing the table into the tables shown in FIGS. . However, this is an example, and at least a connection name indicating transmission of a signal output from a short cycle block having a short calculation cycle to a long cycle block having a long calculation cycle, a short cycle block name, and a long cycle block name If it is the structure which has the extraction means which extracts these, the same effect can be show | played.
10・・・ソフトウェアの開発支援装置
100・・・処理部
110・・・機能ブロックデータベース
120・・・ブロック図データベース
130・・・割当部
140・・・演算シミュレーション部
150・・・抽出部
200・・・入力部
300・・・出力部
DESCRIPTION OF
Claims (6)
前記機能ブロック毎の演算周期を利用者が入力するための入力手段(200)と、
前記入力手段により入力された前記演算周期を前記機能ブロックに割り当てる割当手段(130)と、を備え、
前記演算周期および前記ブロック図に基づいて、前記ブロック図に対応するソースコードを出力手段(300)に出力するソフトウェアの開発支援装置であって、
少なくとも、前記演算周期の短い前記機能ブロックである短周期ブロックから、該短周期ブロックよりも前記演算周期の長い前記機能ブロックである長周期ブロックへ出力される信号の伝送を表す前記結線名と、前記短周期ブロックの前記機能ブロック名と、前記長周期ブロックの前記機能ブロック名と、を抽出する抽出手段(150)を有することを特徴とする、ソフトウェアの開発支援装置。 A block diagram storage means (120) in which a block diagram having a plurality of function blocks to which a function block name is assigned and a connection name to which the function name is assigned and connecting the function blocks to each other is stored in advance;
Input means (200) for a user to input a calculation cycle for each functional block;
Allocating means (130) for allocating the operation cycle input by the input means to the functional block,
A software development support apparatus that outputs source code corresponding to the block diagram to the output means (300) based on the calculation cycle and the block diagram,
At least the connection name representing transmission of a signal output from the short cycle block that is the functional block having a short calculation cycle to the long cycle block that is the functional block having a longer calculation cycle than the short cycle block; A software development support apparatus comprising extraction means (150) for extracting the function block name of the short cycle block and the function block name of the long cycle block.
前記抽出手段は、
前記割当手段により前記演算周期が割り当てられた前記機能ブロックを、前記演算周期の短い順に1〜n(n=N)のブロック通番を付与するブロック通番付与手段(152)と、
前記機能ブロック毎に、入力に用いられる入力用結線の前記結線名を抽出する入力用結線名抽出手段(154)と、
前記機能ブロック毎に、出力に用いられる出力用結線の前記結線名を抽出する出力用結線名抽出手段(156)と、
ブロック通番m(2≦m≦n)に該当する前記機能ブロックにおける前記入力用結線の前記結線名と一致する前記結線名が、ブロック通番1〜(m−1)に該当する前記機能ブロックにおける前記出力用結線に存在するか否かを検索する検索手段(158)と、を有することを特徴とする請求項1に記載の、ソフトウェアの開発支援装置。 For the block diagram in which N (N ≧ 2) functional blocks are used,
The extraction means includes
Block sequence number assigning means (152) for assigning the block numbers 1 to n (n = N) to the functional blocks to which the computation period is assigned by the assigning means in the shortest order of the computation periods;
An input connection name extracting means (154) for extracting the connection name of the input connection used for input for each functional block;
An output connection name extraction means (156) for extracting the connection name of the output connection used for output for each functional block;
The connection name that matches the connection name of the input connection in the functional block corresponding to the block serial number m (2 ≦ m ≦ n) is the functional block in the functional block corresponding to the block serial number 1 to (m−1). The software development support apparatus according to claim 1, further comprising search means (158) for searching whether or not the output connection exists.
割当手段が、前記入力ステップにおいて入力された前記演算周期を前記機能ブロックに割り当てる割当ステップ(S20)と、
抽出手段が、少なくとも、前記演算周期の短い前記機能ブロックである短周期ブロックから、該短周期ブロックよりも前記演算周期の長い前記機能ブロックである長周期ブロックへ出力される信号の伝送を表す前記結線名と、前記短周期ブロックの前記機能ブロック名と、前記長周期ブロックの前記機能ブロック名と、を抽出する抽出ステップ(S30)と、を備えることを特徴とする、ソフトウェアの開発支援方法。 In a block diagram having a plurality of function blocks to which function block names are assigned and connection names to which connection names are given and connect the function blocks to each other, a user sets an operation cycle for each function block via an input unit. An input step (S10) for inputting;
An allocating step (S20) in which an allocating unit allocates the calculation cycle input in the input step to the functional block;
The extraction means represents transmission of a signal output from at least the short cycle block that is the functional block having the short calculation cycle to the long cycle block that is the functional block having the calculation cycle longer than the short cycle block. A software development support method comprising: an extraction step (S30) for extracting a connection name, the function block name of the short cycle block, and the function block name of the long cycle block.
前記抽出ステップは、
ブロック通番付与手段が、前記割当手段により前記演算周期が割り当てられた前記機能ブロックを、前記演算周期の短い順に1〜n(n=N)のブロック通番を付与するブロック通番付与ステップ(S31)と、
入力用結線名抽出手段が、前記機能ブロック毎に、入力に用いられる入力用結線の前記結線名を抽出する入力用結線名抽出ステップ(S32)と、
出力テーブル生成手段が、前記機能ブロック毎に、出力に用いられる出力用結線の前記結線名を抽出する出力用結線名抽出ステップ(S33)と、
検索手段が、ブロック通番m(2≦m≦n)に該当する前記機能ブロックにおける前記入力用結線の前記結線名と一致する前記結線名が、ブロック通番1〜(m−1)に該当する前記機能ブロックにおける前記出力用結線に存在するか否かを検索する検索ステップ(S34)と、を有することを特徴とする請求項3に記載の、ソフトウェアの開発支援方法。 For the block diagram in which N (N ≧ 2) functional blocks are used,
The extraction step includes
A block sequence number assigning step (S31) in which a block sequence number assigning unit assigns the block numbers of 1 to n (n = N) in order from the shortest computation cycle to the functional blocks to which the computation cycle is assigned by the assigning unit; ,
An input connection name extracting means for extracting, for each functional block, the connection name of the input connection used for input for each functional block;
An output table generation means for extracting the connection name of the output connection used for output for each functional block;
The connection means corresponding to the connection name of the input connection in the functional block corresponding to the block serial number m (2 ≦ m ≦ n) corresponds to the block serial number 1 to (m−1). The software development support method according to claim 3, further comprising a search step (S34) for searching whether or not the output connection exists in a functional block.
割当手段が、利用者により入力された演算周期を前記機能ブロックに割り当てる割当ステップ(S20)と、
抽出手段が、少なくとも、前記演算周期の短い前記機能ブロックである短周期ブロックから、該短周期ブロックよりも前記演算周期の長い前記機能ブロックである長周期ブロックへ出力される信号の伝送を表す前記結線名と、前記短周期ブロックの前記機能ブロック名と、前記長周期ブロックの前記機能ブロック名と、を抽出する抽出ステップ(S30)と、をコンピュータに実行させる、ソフトウェアの開発支援プログラム。 Development of software for generating source code corresponding to the block diagram based on a block diagram having a plurality of functional blocks to which functional block names are assigned and connection names to which the connection names are given and connecting the functional blocks to each other A support program,
An allocating step (S20) in which the allocating unit allocates the calculation cycle input by the user to the functional block;
The extraction means represents transmission of a signal output from at least the short cycle block that is the functional block having the short calculation cycle to the long cycle block that is the functional block having the calculation cycle longer than the short cycle block. A software development support program for causing a computer to execute an extraction step (S30) for extracting a connection name, the function block name of the short cycle block, and the function block name of the long cycle block.
前記抽出ステップは、
ブロック通番付与手段が、前記割当手段により前記演算周期が割り当てられた前記機能ブロックを、前記演算周期の短い順に1〜n(n=N)のブロック通番を付与するブロック通番付与ステップ(S31)と、
入力用結線名抽出手段が、前記機能ブロック毎に、入力に用いられる入力用結線の前記結線名を抽出する入力用結線名抽出ステップ(S32)と、
出力テーブル生成手段が、前記機能ブロック毎に、出力に用いられる出力用結線の前記結線名を抽出する出力用結線名抽出ステップ(S33)と、
検索手段が、ブロック通番m(2≦m≦n)に該当する前記機能ブロックにおける前記入力用結線の前記結線名と一致する前記結線名が、ブロック通番1〜(m−1)に該当する前記機能ブロックにおける前記出力用結線に存在するか否かを検索する検索ステップ(S34)と、を有することを特徴とする請求項5に記載のソフトウェアの開発支援プログラム。 For the block diagram in which N (N ≧ 2) functional blocks are used,
The extraction step includes
A block sequence number assigning step (S31) in which a block sequence number assigning unit assigns the block numbers of 1 to n (n = N) in order from the shortest computation cycle to the functional blocks to which the computation cycle is assigned by the assigning unit; ,
An input connection name extracting means for extracting, for each functional block, the connection name of the input connection used for input for each functional block;
An output table generation means for extracting the connection name of the output connection used for output for each functional block;
The connection means corresponding to the connection name of the input connection in the functional block corresponding to the block serial number m (2 ≦ m ≦ n) corresponds to the block serial number 1 to (m−1). 6. The software development support program according to claim 5, further comprising a retrieval step (S34) for retrieving whether or not the output connection exists in the functional block.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013108218A JP5971193B2 (en) | 2013-05-22 | 2013-05-22 | Software development support apparatus, development support method and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013108218A JP5971193B2 (en) | 2013-05-22 | 2013-05-22 | Software development support apparatus, development support method and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014229074A JP2014229074A (en) | 2014-12-08 |
JP5971193B2 true JP5971193B2 (en) | 2016-08-17 |
Family
ID=52128868
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013108218A Active JP5971193B2 (en) | 2013-05-22 | 2013-05-22 | Software development support apparatus, development support method and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5971193B2 (en) |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08150654A (en) * | 1994-11-28 | 1996-06-11 | Sekisui Chem Co Ltd | Extrusion amount operator in extrusion molding machine |
US7574690B2 (en) * | 2003-08-07 | 2009-08-11 | National Instruments Corporation | Graphical program which executes a timed loop |
JP2008090696A (en) * | 2006-10-04 | 2008-04-17 | Nissan Motor Co Ltd | Program analysis apparatus and program analysis method |
JP5422963B2 (en) * | 2008-10-21 | 2014-02-19 | 株式会社明電舎 | Software development support system, development support method and program |
JP5195311B2 (en) * | 2008-11-05 | 2013-05-08 | トヨタ自動車株式会社 | Brake control device |
JP2010211284A (en) * | 2009-03-06 | 2010-09-24 | Toyota Motor Corp | Data processing device |
JP5229393B2 (en) * | 2009-09-02 | 2013-07-03 | トヨタ自動車株式会社 | Brake control device |
JP2013254371A (en) * | 2012-06-07 | 2013-12-19 | Toyota Motor Corp | Software development support device, software development support method and software development support program |
-
2013
- 2013-05-22 JP JP2013108218A patent/JP5971193B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2014229074A (en) | 2014-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5350428B2 (en) | Automatic program generation apparatus, method and computer program | |
JP5005510B2 (en) | Software design support method, design support apparatus, and design support program | |
JP6310527B1 (en) | Object analysis apparatus, object analysis method, and program | |
JP5937245B1 (en) | Operation procedure evaluation apparatus and operation procedure evaluation program | |
JP5440287B2 (en) | Symbolic execution support program, method and apparatus | |
JP5316485B2 (en) | Software development support apparatus, software development support method, and software development support program | |
JP5971193B2 (en) | Software development support apparatus, development support method and program | |
JP2008102831A (en) | Information providing device, program and information providing method | |
JP6169302B2 (en) | Specification configuration apparatus and method | |
JP2007249826A (en) | Test item generation device | |
JP6451417B2 (en) | Debug support device, debug support system, debug support method, and debug support program | |
JP6665576B2 (en) | Support device, support method, and program | |
JP6157166B2 (en) | Parts generation system, method and program | |
JPWO2012049816A1 (en) | Model checking apparatus, method and program | |
JP2018022433A (en) | Control program, apparatus, and method | |
US8694293B2 (en) | Simulation support method, computer-readable storage medium storing simulation support program, and simulation support apparatus | |
JP6433468B2 (en) | Program creation support method | |
JP2008140036A (en) | Operation supporting device and method | |
JP6062735B2 (en) | Software development support device, software development support method, software development support program | |
JP2015069332A (en) | Object range extractor, static verification system, object range extraction method, and object range extraction program for extracting object range to be subjected to static verification by static verification device | |
CN111177836B (en) | Ocean engineering design data acquisition method, system, medium and equipment | |
JP2013206310A (en) | Model inspection device, model inspection method, and program | |
US20090089723A1 (en) | Circuit design using a spreadsheet | |
JP2007164708A (en) | Conversion data generator, data conversion system, method therefor, and program therefor | |
JP2016173756A (en) | Test case generation program, test case generation method, and test case generation device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150828 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20160531 |
|
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: 20160614 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160627 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 5971193 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |