JP2018180629A - 表示装置、及び、表示プログラム - Google Patents
表示装置、及び、表示プログラム Download PDFInfo
- Publication number
- JP2018180629A JP2018180629A JP2017074409A JP2017074409A JP2018180629A JP 2018180629 A JP2018180629 A JP 2018180629A JP 2017074409 A JP2017074409 A JP 2017074409A JP 2017074409 A JP2017074409 A JP 2017074409A JP 2018180629 A JP2018180629 A JP 2018180629A
- Authority
- JP
- Japan
- Prior art keywords
- block
- blocks
- model
- explanation
- information
- 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.)
- Pending
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
【課題】モデルにより記述された処理を理解し易くする。
【解決手段】開発支援装置は、予め定められた処理手順を示すブロックと、複数のブロックを対応付けることで、これらのブロック間のデータの入出力を示す結線とにより、コンピュータによる処理を記述したモデルを表示させる。開発支援装置により実行される説明情報表示処理のS100〜S130では、モデルにおいて記述された処理についての説明を示す説明情報が生成される。より詳しくは、これらのステップでは、複数の種類の説明情報を生成可能であり、処理に応じた種類の説明情報が生成される。また、S135,S140では、生成された説明情報が、モデルと共に表示される。
【選択図】図3
【解決手段】開発支援装置は、予め定められた処理手順を示すブロックと、複数のブロックを対応付けることで、これらのブロック間のデータの入出力を示す結線とにより、コンピュータによる処理を記述したモデルを表示させる。開発支援装置により実行される説明情報表示処理のS100〜S130では、モデルにおいて記述された処理についての説明を示す説明情報が生成される。より詳しくは、これらのステップでは、複数の種類の説明情報を生成可能であり、処理に応じた種類の説明情報が生成される。また、S135,S140では、生成された説明情報が、モデルと共に表示される。
【選択図】図3
Description
本開示は、コンピュータによる処理を記述したモデルを表示する技術に関する。
プログラム開発の手法として、モデルベース開発が知られている。モデルベース開発では、処理手順を示すブロックと、ブロック間のデータの入出力を示す結線とを含むモデルにより、コンピュータによる処理が記述される。そして、モデルに基づき、ソースコードが自動生成される。
ここで、特許文献1のモデル記述形式修正装置は、複数のモデルから生成された各ソースコードに、同一又は類似する処理の記述があるか否かを判定する。そして、このような処理の記述がある場合には、モデル記述形式修正装置は、モデルにおける該処理の記述を、他のモデルにおける該処理の記述と同一となるように修正する。これにより、これらのモデルの記述が統一され、モデルの可読性が向上する。
しかし、モデルにより記述された処理が複雑である場合等には、モデルの記述が統一されていたとしても十分な可読性が得られず、モデルにより記述された処理の理解が困難となる恐れがある。
本開示は、モデルにより記述された処理を理解し易くすることを目的とする。
本開示の表示装置(1)は、予め定められた処理手順を示すブロック(201〜227)と、複数のブロックを対応付けることで、これらのブロック間のデータの入出力を示す結線(260〜268)とにより、コンピュータによる処理を記述したモデル(200)を表示させる。表示装置は、生成部(S100〜S130)と、表示部(S135,S140)と、を備える。生成部は、処理についての説明を示す説明情報(300,301)を生成する部位であって、異なる表現方法でなされた説明を示す複数の種類の説明情報を生成可能であり、処理に応じた種類の説明情報を生成するよう構成されている。また、表示部は、生成部により生成された説明情報を、モデルと共に表示させるよう構成されている。
このような構成によれば、モデルに含まれる全部又は一部のブロックにより記述された処理について、該処理に応じた種類の説明情報が生成される。そして、該モデルと共に、該説明情報が表示される。このため、モデルにより記述された処理が理解し易くなる。
また、本開示の一側面は、上述した表示装置としてコンピュータを動作させる表示プログラムに関するものである。
このような表示プログラムによれば、上述した表示装置と同様、モデルにより記述された処理が理解し易くなる。
このような表示プログラムによれば、上述した表示装置と同様、モデルにより記述された処理が理解し易くなる。
なお、この欄及び特許請求の範囲に記載した括弧内の符号は、一つの態様として後述する実施形態に記載の具体的手段との対応関係を示すものであって、本開示の技術的範囲を限定するものではない。
以下、図面を参照しながら、本開示の実施形態を説明する。
[構成]
図1に示すように、本実施形態のPC1は、ディスプレイ10,HDD20,CPU30,ROM40,RAM50,入力装置60等を備える。
[構成]
図1に示すように、本実施形態のPC1は、ディスプレイ10,HDD20,CPU30,ROM40,RAM50,入力装置60等を備える。
ディスプレイ10は、CPU30から受けた映像信号を、ユーザに対して映像として表示する。
入力装置60は、キーボード、マウス等から構成され、ユーザが操作することにより、その操作に応じた信号をCPU30に出力する。
入力装置60は、キーボード、マウス等から構成され、ユーザが操作することにより、その操作に応じた信号をCPU30に出力する。
RAM50は読み出し、書き込み可能な揮発性メモリであり、ROM40は読み出し専用の不揮発性メモリであり、HDD20は読み出し、書き込み可能な不揮発性メモリである。ROM40,HDD20には、CPU30が読み出して実行するプログラム等が予め記憶されている。
RAM50は、CPU30がROM40,HDD20に記憶されたプログラムを実行する際に、そのプログラムを一時的に保存するための記憶領域や、作業用のデータを一時的に保存するための記憶領域等として用いられる。つまり、RAM50は、非遷移的実体的記録媒体に相当する。
CPU30は、OSをHDD20から読み出して実行し、HDD20に記憶されている各種プログラムをOS上のプロセスとして実行する。また、このプロセスにおいて、CPU30は、必要に応じて入力装置60から信号の入力を受け付け、ディスプレイ10に映像信号を出力し、RAM50,HDD20に対してデータの読み出し/書き込みの制御を行う。なお、CPU30の数は、1つでも良いし、複数であっても良い。
[開発支援ツールについて]
PC1には、開発支援ツールがインストールされている。開発支援ツールは、HDD20に保存され、OS上のプロセスとして実行されるアプリケーションの1つである。PC1は、開発支援ツールを動作させることで、モデルの作成や検証等を行う開発支援装置として稼動する。開発支援ツールを動作させることで、開発支援ツールに対応する方法が実行される。また、開発支援ツールの機能は、ソフトウェアに限らず、その一部又は全部について、ハードウェアを用いて実現してもよい。また、該機能がハードウェアである電子回路によって実現される場合、その電子回路は、多数の論理回路を含むデジタル回路、又は、アナログ回路、或いは、これらの組合せによって実現されても良い。
PC1には、開発支援ツールがインストールされている。開発支援ツールは、HDD20に保存され、OS上のプロセスとして実行されるアプリケーションの1つである。PC1は、開発支援ツールを動作させることで、モデルの作成や検証等を行う開発支援装置として稼動する。開発支援ツールを動作させることで、開発支援ツールに対応する方法が実行される。また、開発支援ツールの機能は、ソフトウェアに限らず、その一部又は全部について、ハードウェアを用いて実現してもよい。また、該機能がハードウェアである電子回路によって実現される場合、その電子回路は、多数の論理回路を含むデジタル回路、又は、アナログ回路、或いは、これらの組合せによって実現されても良い。
開発支援装置は、車載装置等といった電子装置を制御する組み込みシステム向けのプログラム開発に用いられることが考えられる。しかし、開発支援装置は、PC等の電子装置で動作するアプリケーション等を含むあらゆる用途のプログラム開発に用いることができる。
開発支援装置は、入力装置60に対する操作に従いモデルを作成すると共に、モデルからソースコードを生成する。ここで、モデルとは、ソースコードよりも記述が簡易になり、且つ、人による可読性を高くする目的で定められたモデル言語仕様に基づいて作成されるプログラムの一表現形態である。換言すれば、モデルは、コンピュータによる処理を記述したものである。なお、モデルの一例として、Simulink(登録商標)によって作成されるSimulinkモデルを挙げることができる。Simulink(登録商標)モデルを、Matlab(登録商標)上で動作するReal Time Workshop(登録商標)に入力することにより、該モデルに対応するソースコードが生成される。
本実施形態におけるモデルは、特定の処理手順を示すブロックと呼ばれる機能単位の組合せとして記述される。以後、処理手順に基づくブロックの分類を、種別とする。処理手順が同一であるブロックは、種別が同一となる。各種別のブロックは、該ブロックが示す処理手順に応じた形状で表現されても良い。また、ユーザは、各ブロックに対し付加情報を設定できる。付加情報とは、例えば、ブロックに定められた名称であっても良いし、該ブロックが出力する変数や定数の名称等であっても良い。そして、モデルが表示された際、該モデルに含まれるブロックに隣接して、該ブロックの付加情報が表示されても良い。
そして、モデルに含まれるブロックの間には、これらのブロック間のデータの入出力、及び、これらのブロックに対応する処理手順の順序を示す結線が配される。換言すれば、これらのブロックは、結線により対応付けられる。結線は、当該結線により対応付けられたブロックに接続される。なお、結線は、これらのブロックに接続されていなくても良い。
また、結線は矢印として構成されており、矢印の向きによりデータが出力される向きが示される。つまり、ブロックは、結線を挟んで、該結線により対応付けられた(換言すれば、接続関係を有する)他のブロックと連なった状態で配される。そして、これらのブロック間では、結線の矢印の向きに従い、一方のブロックから他方のブロックにデータが出力される。以後、接続関係を有する複数のブロックにおいて、結線の矢印が向かう側のブロックを接続先と記載し、その反対側のブロックを接続元と記載する。
[説明情報について]
開発支援装置は、モデルに含まれるブロックと結線とにより記述されたコンピュータの処理についての説明を示す説明情報を生成する。開発支援装置は、複数の種類の説明情報を生成可能である。各種類の説明情報は、異なる表現方法でなされた処理の説明を示し、開発支援装置は、処理に応じた種類の説明情報を生成する。そして、開発支援装置は、モデルと共に、該モデルに基づき生成した説明情報を表示する。本実施形態では、一例として、説明情報の種類として、言語説明情報と数式説明情報とが設けられている。言語説明情報は、言語に基づく説明を示す。換言すれば、言語説明情報は、主に言語により処理を説明したものである。また、数式説明情報は、数式に基づく説明を示す。換言すれば、数式説明情報は、主に数式により処理を説明したものである。
開発支援装置は、モデルに含まれるブロックと結線とにより記述されたコンピュータの処理についての説明を示す説明情報を生成する。開発支援装置は、複数の種類の説明情報を生成可能である。各種類の説明情報は、異なる表現方法でなされた処理の説明を示し、開発支援装置は、処理に応じた種類の説明情報を生成する。そして、開発支援装置は、モデルと共に、該モデルに基づき生成した説明情報を表示する。本実施形態では、一例として、説明情報の種類として、言語説明情報と数式説明情報とが設けられている。言語説明情報は、言語に基づく説明を示す。換言すれば、言語説明情報は、主に言語により処理を説明したものである。また、数式説明情報は、数式に基づく説明を示す。換言すれば、数式説明情報は、主に数式により処理を説明したものである。
本実施形態では、ブロックと結線とにより記述された処理として、選択処理と、演算処理と、非表示処理とを含む複数の種類が設けられている。選択処理では、条件が充足されたか否かに応じて選択が行われる。本実施形態では、一例として、選択肢が2つである選択を行う処理を、選択処理としている。しかし、選択肢が3つ以上である選択を行う処理を、選択処理としても良い。また、演算処理は、数値を算出するための処理である。また、非表示処理とは、言語や数式等による説明よりも、モデルを参照した方が内容を把握しやすいと考えられる処理である。本実施形態では、一例として、選択肢が3つ以上である選択を行う処理を、非表示処理としている。
開発支援装置は、ブロックと結線とにより記述された処理の種類を、該ブロックの種別と該結線により示される接続関係とに基づき判別する。そして、該処理の種類に応じた種類の説明情報が生成される。具体的には、選択処理については言語説明情報が生成され、演算処理については数式説明情報が生成される。また、非表示処理については、説明情報が生成されない。
より詳しくは、モデルに含まれる各ブロックに対し、その種別に基づきフラグが設定され、フラグの値に基づき、複数のブロックにより記述された処理の種類が判別される。また、ブロックにはテンプレートが設定され、該処理を記述する複数のブロックに設定されたテンプレートに基づき、説明情報が生成される。
図2に示すように、ブロックの各種別に対応して、フラグの値とテンプレートとが定められている。そして、モデルに含まれる各ブロックは、その種別に応じた値のフラグが設定される。フラグの値として、1,0と、0,1と、0,0と、−1,−1との4種類が設けられている。詳細は後述するが、1,0は選択処理に、0,1は演算処理に、0,0は非表示処理に対応する。また、−1,−1は、接続元のブロックのフラグの値が継承されることを示す。
また、テンプレートは、対応する種別のブロックの処理手順に応じた内容を有する。そして、モデルに含まれる各ブロックには、その種別に対応して定められたテンプレートが設定される。なお、テンプレートが定められていないブロックの種別が存在しても良い。テンプレートは、例えば、説明情報の全部又は一部の内容を示す言語又は数式を含んでいても良い。ここで、テンプレートは、例えば、予め定められた変換ルールに従い説明情報に変換される記号を含んでいても良い。より詳しくは、該変換ルールとは、例えば、組版処理システムであるLATEXにおいて、数式等を表示するために用いられるルールであっても良い。図2に示すように、一例として、種別“Division”に対応するテンプレートは、“¥frac”という記号の列を含んでいる。該記号の列は、LATEXにて、分数を示す数式を表示するために用いられる。また、一例として、種別“SQRT”に対応するテンプレートは、“¥sqrt”という記号の列を含んでいる。該記号の列は、LATEXにて、平方根を示す数式を表示するために用いられる。
そして、詳細は後述するが、選択処理や演算処理の説明情報は、該処理を記述する複数のブロックに設定されたテンプレートと、これらのブロックの接続関係とに基づき生成される。すなわち、これらのブロックにおいて、接続元のブロックのテンプレートを、該ブロックの接続先のブロックに継承し、これらのブロックのテンプレートを組み合わせることで、説明情報が生成される。より詳しくは、テンプレートは、固定部分と可変部分を有する。図2に例示されているテンプレートにおいては、[]の内側が可変部分を示し、それ以外の部分が固定部分を示す。可変部分の内容は、接続元のブロックからテンプレートを継承することで定められる。換言すれば、可変部分には、接続元のブロックのテンプレートに基づく情報が配置される。なお、可変部分、又は、固定部分のみを有するテンプレートが設けられていても良い。
[説明情報表示処理について]
次に、入力データから把握されるモデルの説明情報を生成し、該モデルと共に説明情報を表示する説明情報表示処理について、図3を用いて説明する。本処理は、ユーザからの指示に応じて、開発支援装置のCPUにより実行される。
次に、入力データから把握されるモデルの説明情報を生成し、該モデルと共に説明情報を表示する説明情報表示処理について、図3を用いて説明する。本処理は、ユーザからの指示に応じて、開発支援装置のCPUにより実行される。
S100では、開発支援装置は、モデルに含まれる各ブロックについて、該ブロックの種別に応じた値のフラグを設定し、S105に移行する。
S105では、開発支援装置は、−1,−1が設定されたブロックに対し、該ブロックの接続元のブロックのフラグの値を設定することで、接続元のブロックのフラグを継承させ、S110に移行する。
S105では、開発支援装置は、−1,−1が設定されたブロックに対し、該ブロックの接続元のブロックのフラグの値を設定することで、接続元のブロックのフラグを継承させ、S110に移行する。
S110では、開発支援装置は、フラグと接続関係等とに基づき、モデルに含まれる各ブロックを1又は複数のグループに分類し、S115に移行する。グループは、1又は複数のブロックを含む。また、以下の(a),(b)条件を充足させる複数のブロックは、1のグループに分類される。
(a)フラグの値が同一である。
(b)該グループに属するいずれかのブロックと接続関係を有する。
S115では、開発支援装置は、接続元が存在しないブロックを特定すると共に、特定されたブロックに対し、該ブロックの種別に対応するテンプレートを設定する。この時、該テンプレートの可変部分が設定される。
(b)該グループに属するいずれかのブロックと接続関係を有する。
S115では、開発支援装置は、接続元が存在しないブロックを特定すると共に、特定されたブロックに対し、該ブロックの種別に対応するテンプレートを設定する。この時、該テンプレートの可変部分が設定される。
S120では、開発支援装置は、継承先ブロックを選択する。具体的には、開発支援装置は、直前にS115が実行された場合であれば、S115でテンプレートが設定されたブロックを継承元ブロックとする。一方、そうでない場合には、開発支援装置は、直前に実行されたS125においてテンプレートの継承がなされたブロックを、継承元ブロックとする。そして、開発支援装置は、継承元ブロックの接続先のブロックを継承先ブロックとして選択すると共に、継承先ブロックに対し、該継承先ブロックの種別に対応するテンプレートを設定し、S125に移行する。
S125では、開発支援装置は、継承元ブロックのテンプレートを、該継承元ブロックの接続先である継承先ブロックのテンプレートに継承する。換言すれば、該継承先ブロックのテンプレートの可変部分が、該継承元ブロックのテンプレートに基づき設定される。具体的には、例えば、該継承先ブロックのテンプレートの可変部分に、該継承元ブロックのテンプレートの全てが配置されても良いし、該テンプレートの一部が配置されても良い。また、例えば、該可変部分に、該継承元ブロックのテンプレートに改変を加えた情報が配置されても良い。
なお、継承先ブロックの種別に対応するテンプレートが存在しない場合には、該継承先ブロックに対し、該継承先ブロックの接続元である継承元ブロックのテンプレートを設定することで、テンプレートが継承されても良い。
続くS130では、開発支援装置は、モデルに含まれる全ブロックについて、テンプレートが継承されたか否かを判定する。そして、肯定判定の場合には(S130:Yes)、S135に移行する。一方、否定判定の場合には(S130:No)、開発支援装置は、継承先ブロックの選択を解除し、S120に移行する。
なお、継承先ブロックに複数の接続元のブロックが存在する場合が想定される。さらに、これらの全ての接続元のブロックにて、テンプレートの継承が完了していない場合が想定される。このような場合、開発支援装置は、該継承先ブロックへのテンプレートの継承を行わず、該継承先ブロックが選択された状態を維持したまま、S120に移行しても良い。そして、開発支援装置は、これらの全ての接続元のブロックにてテンプレートの継承が完了した後に、該継承先ブロックへのテンプレートの継承を行っても良い。
S135では、開発支援装置は、説明情報を入力データに付加する。具体的には、フラグの値が1,0であるブロックが属するグループは、言語説明情報を付加する対象グループとして特定される。また、フラグの値が0,1であるブロックが属するグループは、数式説明情報を付加する対象グループとして特定される。そして、対象グループに属するブロックのうち、フラグの値が異なるブロックを接続先とするブロックが、対象ブロックとして特定される。さらに、開発支援装置は、対象ブロックに設定されたテンプレートに基づき、該対象ブロックを含む対象グループにより記述された処理の説明情報を生成する。そして、開発支援装置は、該対象ブロックに対応付けた状態で、該説明情報を入力データに付加する。なお、開発支援装置は、対象グループに属する対象ブロック以外のブロックに対し、説明情報を対応付けても良い。
続くS140では、開発支援装置は、説明情報が付加された入力データに基づき、該入力データから把握されるモデルをディスプレイ10に表示し、本処理を終了する。この時、該モデルと共に、対象ブロックに対応付けられた状態で、該対象ブロックを含む対象グループについての説明情報が表示される。
[具体例について]
次に、図3に示すモデル200に対して説明情報表示処理が行われた場合の具体例について説明する。
次に、図3に示すモデル200に対して説明情報表示処理が行われた場合の具体例について説明する。
(1)処理の対象となるモデルについて
モデル200は、第1〜第5入力ブロック201〜205と、第1〜第6定数ブロック206〜210,219と、変換ブロック212,213,224と、多分岐ブロック211と、第1,第2比較ブロック221,222と、ANDブロック225と、切替ブロック226と、減算ブロック214,215と、2乗ブロック216,217と、加算ブロック218と、ルートブロック220と、除算ブロック223と、出力ブロック227とを有する。また、モデル200は、これらのブロック同士を対応付ける結線260〜268を有する。
モデル200は、第1〜第5入力ブロック201〜205と、第1〜第6定数ブロック206〜210,219と、変換ブロック212,213,224と、多分岐ブロック211と、第1,第2比較ブロック221,222と、ANDブロック225と、切替ブロック226と、減算ブロック214,215と、2乗ブロック216,217と、加算ブロック218と、ルートブロック220と、除算ブロック223と、出力ブロック227とを有する。また、モデル200は、これらのブロック同士を対応付ける結線260〜268を有する。
第1〜第5入力ブロック201〜205は、それぞれ、接続先である多分岐ブロック211、第1,第2比較ブロック221,222、変換ブロック212、減算ブロック214,215、及び、変換ブロック213に、変数を出力する。第1〜第5入力ブロック201〜205の種別は、Inportとなる。
また、第1〜第6定数ブロック206〜210,219は、それぞれ、接続先である多分岐ブロック211、第1,第2比較ブロック221,222、及び、除算ブロック223に、固定値を接続先のブロックに出力する。第1〜第6定数ブロック206〜210,219の種別は、Constとなる。
また、変換ブロック212,213,224は、それぞれ、第3,第5入力ブロック203,205、及び、除算ブロック223から入力された数値のデータ型を変換し、接続先である減算ブロック214,215、及び、切替ブロック226に出力する。変換ブロック212,213,224の種別は、Convertとなる。
また、多分岐ブロック211は、第1入力ブロック201から入力された変数に基づき、第1〜第3定数ブロック206〜208から入力された数値を選択し、選択した数値を、接続先のブロックである切替ブロック226に出力する。多分岐ブロック211の種別は、Muliport Switchとなる。
また、第1,第2比較ブロック221,222は、それぞれ、2つの接続元から入力された2つの数値の大小を比較し、比較結果を示す1ビットの2進数の数値を、接続先であるANDブロック225に出力する。第1,第2比較ブロック221,222の種別は、それぞれ、Compare1,Compare2となる。
また、ANDブロック225は、2つの接続元から入力された2進数の数値のANDを算出し、算出結果を、接続先である切替ブロック226に出力する。ANDブロック225の種別は、ANDとなる。
また、切替ブロック226は、ANDブロック225から入力された数値が1か否かを判定すると共に、判定結果に応じて、多分岐ブロック211及び変換ブロック224から入力された2つの数値のうちの一方を選択する。そして、切替ブロック226は、選択した数値を、接続先である出力ブロック227に出力する。切替ブロック226の種別は、Switchとなる。
また、減算ブロック214は、変換ブロック212と第4入力ブロック204とから入力された2つの数値の差を算出し、算出結果を、接続先である2乗ブロック216に出力する。また、減算ブロック215は、変換ブロック213と第4入力ブロック204とから入力された2つの数値の差を算出し、算出結果を、接続先である2乗ブロック217に出力する。
また、2乗ブロック216,217は、それぞれ、減算ブロック212,213から入力された1つの数値を2乗し、算出結果を、接続先である加算ブロック218に出力する。
また、加算ブロック218は、2乗ブロック216,217から入力された2つの数値の和を算出し、算出結果を、接続先であるルートブロック220に出力する。
また、ルートブロック220は、加算ブロック218から入力された1つの数値の平方根を算出し、算出結果を、接続先である除算ブロック223に出力する。ルートブロック220の種別は、SQRTとなる。
また、ルートブロック220は、加算ブロック218から入力された1つの数値の平方根を算出し、算出結果を、接続先である除算ブロック223に出力する。ルートブロック220の種別は、SQRTとなる。
また、除算ブロック223は、ルートブロック220及び第6定数ブロック219から入力された2つの数値の商を算出し、算出結果を、接続先である変換ブロック224に出力する。除算ブロック223の種別は、Divisionとなる。
また、出力ブロック227は、切替ブロック226からの数値の入力を受け付ける。
(2)ブロックの分類について
次に、説明情報表示処理のS100〜S110にて行われる、モデルに含まれるブロックの分類について説明する。
(2)ブロックの分類について
次に、説明情報表示処理のS100〜S110にて行われる、モデルに含まれるブロックの分類について説明する。
図4に示すように、第1,第2比較ブロック221,222、ANDブロック225、及び、切替ブロック226に設定されるフラグの値は、1,0となる。また、同様に、減算ブロック214,215、2乗ブロック216,217、加算ブロック218、ルートブロック220、及び、除算ブロック223に設定されるフラグの値は、0,1となり、変換ブロック224に設定されるフラグの値は、−1,−1となる。また、モデル200に含まれる他のブロックに設定されるフラグの値は、0,0となる。
また、変換ブロック224の接続元である除算ブロック223のフラグの値は、0,1である。このため、上述した継承により、変換ブロック224のフラグの値には、除算ブロック223のフラグの値である0,1が設定される。
したがって、S110において、第1,第2比較ブロック221,222、ANDブロック225、及び、切替ブロック226は、グループ240に分類される。また、減算ブロック214,215、2乗ブロック216,217、加算ブロック218、ルートブロック220、除算ブロック223、及び、変換ブロック224は、グループ241に分類される。
(3)テンプレートの継承について
次に、説明情報表示処理のS115〜S130にて行われる、テンプレートの継承について説明する。
次に、説明情報表示処理のS115〜S130にて行われる、テンプレートの継承について説明する。
S115では、入力ブロック201〜205、及び、定数ブロック206〜210,219が、接続元が存在しないブロックとして特定され、これらのブロックにテンプレートが設定される。そして、S120〜130の処理を繰り返すことで、テンプレートの継承が行われる。ここでは、図5,6により、モデル200における第2入力ブロック202、第4,第5定数ブロック209,210、第1,第2比較ブロック221,222、ANDブロック225、及び、切替ブロック226に対して行われるテンプレートの継承を例示する。
まず、S115にて、LOOP1に含まれる第2入力ブロック202、及び、第4,第5定数ブロック209,210が、接続元が存在しないブロックとして特定される。これらのブロックには、それぞれ、図2,6に示すテンプレートが設定される。なお、図4,5に示すように、第2入力ブロック202、及び、第4,第5定数ブロック209,210の付加情報は、それぞれ、“制御値2”、“定数4”、及び、“定数5”となる。また、これらのブロックのテンプレートは、図2,6において“付加情報”と示された可変部分を有する。該可変部分には、ブロックの付加情報が配置される。その結果、これらのブロックには、図6の「LOOP1」に示すテンプレートが設定される。
これに続く1回目のS120〜130の処理では、LOOP1に含まれる第2入力ブロック202、及び、第4,第5定数ブロック209,210が、継承元ブロックとして特定される。また、LOOP2に含まれる第1,第2比較ブロック221,222が、継承先ブロックとして特定される。そして、第2入力ブロック202、及び、第4定数ブロック209のテンプレートが、第1比較ブロック221に継承される。また、第2入力ブロック202、及び、第5定数ブロック210のテンプレートが、第2比較ブロック222に継承される。第1,第2比較ブロック221,222のテンプレートは、図2,6において“入力1”,“入力2”と示された可変部分を有する。“入力1”には、上側の接続点で第1,第2比較ブロック221,222と接続する結線261を介して接続関係を有する第2入力ブロック202のテンプレートが配置される。また、“入力2”には、下側の接続点で第1,第2比較ブロック221,222と接続する結線262,263を介して接続関係を有する第4,第5定数ブロック209,210のテンプレートが配置される。その結果、第1,第2比較ブロック221,222には、図6の「LOOP2」に示すテンプレートが設定される。
2回目のS120〜130の処理では、LOOP2に含まれる第1,第2比較ブロック221,222が、継承元ブロックとして特定される。また、LOOP3に含まれるANDブロック225が、継承先ブロックとして特定される。そして、第1,第2比較ブロック221,222のテンプレートが、ANDブロック225に継承される。ANDブロック225のテンプレートは、図2,6において“入力1”,“入力2”と示された可変部分を有する。“入力1”には、上側の接続点でANDブロック225と接続する結線264を介して接続関係を有する第1比較ブロック221のテンプレートが配置される。また、“入力2”には、下側の接続点でANDブロック225と接続する結線265を介して接続関係を有する第2比較ブロック222のテンプレートが配置される。このため、これらのブロックには、図6の「LOOP3」に示すテンプレートが設定される。
3回目のS120〜130の処理では、LOOP3に含まれるANDブロック225が、継承元ブロックとして特定される。また、LOOP4に含まれる切替ブロック226が、継承先ブロックとして特定される。そして、ANDブロック225のテンプレートが、切替ブロック226に継承される。さらに、多分岐ブロック211及び変換ブロック224のテンプレートが、切替ブロック226に継承される。切替ブロック226のテンプレートは、図2,6において“入力1”,“入力2”,“入力3”と示された可変部分を有する。“入力1”には、中央の接続点で切替ブロック226と接続する結線266を介して接続関係を有するANDブロック225のテンプレートが配置される。また、“入力2”には、上側の接続点で切替ブロック226と接続する結線267を介して接続関係を有する多分岐ブロック211のテンプレートが配置される。また、“入力3”には、下側の接続点で切替ブロック226と接続する結線268を介して接続関係を有する変換ブロック224のテンプレートが配置される。このため、切替ブロック226には、図6の「LOOP4」に示すテンプレートが設定される。なお、図6に示す該テンプレートでは、“入力2”及び“入力3”に配置されるテンプレートの記載は、省略されている。
(4)説明情報の表示について
S135では、モデル200におけるグループ240,241が、対象グループとして特定される。また、グループ240における切替ブロック226と、グループ241における変換ブロック224とが、対象ブロックとして特定される。そして、切替ブロック226に設定されたテンプレートに基づき、グループ240に属するブロック及び結線により記述された、選択処理についての言語説明情報300が生成される。また、変換ブロック224に設定されたテンプレートに基づき、グループ241に属するブロック及び結線により記述された、演算処理についての数式説明情報301が生成される。言語説明情報300は、切替ブロック226に対応付けられた状態で、モデル200を示す入力データに付加される。また、数式説明情報301は、変換ブロック224に対応付けられた状態で、該入力データに付加される。なお、対象ブロック以外のブロックについては、説明情報は生成されない。
S135では、モデル200におけるグループ240,241が、対象グループとして特定される。また、グループ240における切替ブロック226と、グループ241における変換ブロック224とが、対象ブロックとして特定される。そして、切替ブロック226に設定されたテンプレートに基づき、グループ240に属するブロック及び結線により記述された、選択処理についての言語説明情報300が生成される。また、変換ブロック224に設定されたテンプレートに基づき、グループ241に属するブロック及び結線により記述された、演算処理についての数式説明情報301が生成される。言語説明情報300は、切替ブロック226に対応付けられた状態で、モデル200を示す入力データに付加される。また、数式説明情報301は、変換ブロック224に対応付けられた状態で、該入力データに付加される。なお、対象ブロック以外のブロックについては、説明情報は生成されない。
そして、S140では、図7に示すように、該入力データに基づきモデルが表示される。この時、言語説明情報300は、切替ブロック226の付近に配置されることで、切替ブロック226に対応付けられる。また、数式説明情報301は、変換ブロック224の付近に配置されることで、変換ブロック224に対応付けられる。
[効果]
上記実施形態によれば、以下の効果を奏する。
(1)上記実施形態によれば、モデルに含まれる全部又は一部のブロックにより記述された処理について、該処理に応じた種類の説明情報が生成される。そして、該モデルと共に、該説明情報が表示される。このため、モデルにより記述された処理が理解し易くなる。したがって、例えば、モデルにより複雑な演算が記述されている場合や、実装段階で必要となる複雑な処理がモデルにより記述されている場合であっても、モデルの検証やレビュー等を容易に実施可能となる。
上記実施形態によれば、以下の効果を奏する。
(1)上記実施形態によれば、モデルに含まれる全部又は一部のブロックにより記述された処理について、該処理に応じた種類の説明情報が生成される。そして、該モデルと共に、該説明情報が表示される。このため、モデルにより記述された処理が理解し易くなる。したがって、例えば、モデルにより複雑な演算が記述されている場合や、実装段階で必要となる複雑な処理がモデルにより記述されている場合であっても、モデルの検証やレビュー等を容易に実施可能となる。
(2)また、各ブロックには、その処理手順に応じた種別が定められている。また、ブロックの種別と、該ブロックと他のブロックとを対応付ける結線とに基づき、ブロックにより記述された処理の種類が判別される。そして、該処理に対し、該処理の種類に応じた種類の説明情報が生成される。このため、より理解し易い説明情報を生成可能となる。
(3)また、予め定められた条件が充足されたか否かに応じて選択が行われる選択処理に対しては、主に言語を用いた説明を示す説明情報が生成される。このため、選択処理の理解が容易となる。
(4)また、数値を算出するための演算処理に対しては、主に数式を用いた説明を示す説明情報が生成される。このため、演算処理の理解が容易となる。
(5)また、モデルを参照した方が内容を把握しやすいと考えられる非表示処理に対しては、説明情報が生成されない。つまり、上記実施形態の開発支援装置によりモデルが表示された際、該モデルにおける非表示処理を記述したブロックについては、説明情報が表示されない。このため、非表示処理の理解が容易となる。
(5)また、モデルを参照した方が内容を把握しやすいと考えられる非表示処理に対しては、説明情報が生成されない。つまり、上記実施形態の開発支援装置によりモデルが表示された際、該モデルにおける非表示処理を記述したブロックについては、説明情報が表示されない。このため、非表示処理の理解が容易となる。
(6)また、複数のブロックにより記述された処理の説明情報は、これらのブロックに定められたテンプレートと、これらのブロックの接続関係とに基づき生成される。このため、ブロックにより記述される様々な処理の説明情報を、適切に生成可能となる。
[他の実施形態]
以上、本開示の実施形態について説明したが、本開示は上述の実施形態に限定されることなく、種々変形して実施することができる。
以上、本開示の実施形態について説明したが、本開示は上述の実施形態に限定されることなく、種々変形して実施することができる。
(1)上記実施形態では、処理手順が同一であるブロックが同一種別に分類され、ブロックの各種別に対応してテンプレートが定められている。しかし、処理手順が同一又は類似するブロックが、同一種別に分類されるようにしても良い。また、複数の種別のブロックに対応して、同一のテンプレートが定められていても良い。また、ブロックの種別とは無関係に、テンプレートが定められていても良い。より詳しくは、例えば、詳細情報表示処理において、ブロックにより記述される処理の目的や、該処理により実現される機能等に応じたテンプレートが、該ブロックに設定されても良い。そして、上記実施形態と同様にして、このようなテンプレートに基づき説明情報が生成されても良い。
(2)上記実施形態では、数式又は言語に基づく説明情報が生成される。しかしながら、例えば、静止画、動画、又は、音声等に基づく説明情報が生成されるようにしても良い。より詳しくは、例えば、静止画や動画は、モデルにより記述された処理により生成される信号、静止画、又は、動画等を示すものであっても良いし、音声は、該処理により生成される信号、又は、音声等を示すものであっても良い。
(3)上記実施形態における1つの構成要素が有する複数の機能を、複数の構成要素によって実現したり、1つの構成要素が有する1つの機能を、複数の構成要素によって実現したりしてもよい。また、複数の構成要素が有する複数の機能を、1つの構成要素によって実現したり、複数の構成要素によって実現される1つの機能を、1つの構成要素によって実現したりしてもよい。また、上記実施形態の構成の一部を省略してもよい。また、上記実施形態の構成の少なくとも一部を、他の上記実施形態の構成に対して付加又は置換してもよい。なお、特許請求の範囲に記載した文言から特定される技術思想に含まれるあらゆる態様が本開示の実施形態である。
(4)上述した開発支援装置及び開発支援ツールの他、当該開発支援装置を構成要素とするシステム、開発支援ツールを記録した半導体メモリ等の非遷移的実態的記録媒体、開発支援装置及び開発支援ツールにより実現される処理に相当する方法など、種々の形態で本開示を実現することもできる。
[特許請求の範囲との対応]
上記実施形態の説明で用いた用語と、特許請求の範囲の記載に用いた用語との対応を示す。
上記実施形態の説明で用いた用語と、特許請求の範囲の記載に用いた用語との対応を示す。
開発支援装置が表示装置の一例に、開発支援ツールが表示プログラムの一例に相当する。また、説明情報表示処理のS100〜S130が生成部の一例に、S135,S140が表示部の一例に相当する。
1…PC、10…ディスプレイ、20…HDD、30…CPU、40…ROM、50…RAM、60…入力装置、200…モデル、201〜227…出力ブロック、240,241…グループ、260〜268…結線、300…言語説明情報、301…数式説明情報。
Claims (7)
- 予め定められた処理手順を示すブロック(201〜227)と、複数の前記ブロックを対応付けることで、これらのブロック間のデータの入出力を示す結線(260〜268)とにより、コンピュータによる処理を記述したモデル(200)を表示させる表示装置(1)であって、
前記処理についての説明を示す説明情報(300,301)を生成する部位であって、異なる表現方法でなされた前記説明を示す複数の種類の前記説明情報を生成可能であり、前記処理に応じた前記種類の前記説明情報を生成するよう構成された生成部(S100〜S130)と、
前記生成部により生成された前記説明情報を、前記モデルと共に表示させるよう構成された表示部(S135,S140)と、
を備える表示装置。 - 請求項1に記載の表示装置であって、
前記ブロックには、該ブロックが示す前記処理手順に基づく種別が定められており、
前記生成部は、前記処理を記述する前記ブロックの前記種別と前記結線とに応じた種類の前記説明情報を生成するよう構成されている
表示装置。 - 請求項1又は請求項2に記載の表示装置であって、
予め定められた条件が充足されたか否かに応じて選択が行われる前記処理を、選択処理とし、
前記生成部は、前記選択処理に応じた前記種類の前記説明情報として、言語に基づく前記説明を示す前記説明情報を生成するよう構成されている
表示装置。 - 請求項1から請求項3のうちのいずれか1項に記載の表示装置であって、
数値を算出するための前記処理を、演算処理とし、
前記生成部は、前記演算処理に応じた前記種類の前記説明情報として、数式に基づく前記説明を示す前記説明情報を生成するよう構成されている
表示装置。 - 請求項1から請求項4のうちのいずれか1項に記載の表示装置であって、
前記生成部は、予め定められた前記処理については、前記説明情報を生成しないよう構成されている
表示装置。 - 請求項1から請求項5のうちのいずれか1項に記載の表示装置であって、
前記ブロックには、該ブロックの前記処理手順に応じたテンプレートが定められており、
前記生成部は、複数の前記ブロックと前記結線とにより記述された前記処理についての前記説明情報を、これらのブロックに定められた前記テンプレートと、該結線によるこれらのブロックの対応付けとに基づき生成するよう構成されている
表示装置。 - 予め定められた処理手順を示すブロック(201〜227)と、複数の前記ブロックを対応付けることで、これらのブロック間のデータの入出力を示す結線(260〜268)とにより、コンピュータによる処理を記述したモデル(200)を表示させる表示装置としてコンピュータを動作させる表示プログラム(50)であって、
前記処理についての説明を示す説明情報(300,301)を生成する部位であって、異なる表現方法でなされた前記説明を示す複数の種類の前記説明情報を生成可能であり、前記処理に応じた前記種類の前記説明情報を生成するよう構成された生成部(S100〜S130)と、
前記生成部により生成された前記説明情報を、前記モデルと共に表示させるよう構成された表示部(S135,S140)として、
コンピュータを動作させる表示プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017074409A JP2018180629A (ja) | 2017-04-04 | 2017-04-04 | 表示装置、及び、表示プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017074409A JP2018180629A (ja) | 2017-04-04 | 2017-04-04 | 表示装置、及び、表示プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2018180629A true JP2018180629A (ja) | 2018-11-15 |
Family
ID=64276736
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017074409A Pending JP2018180629A (ja) | 2017-04-04 | 2017-04-04 | 表示装置、及び、表示プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2018180629A (ja) |
-
2017
- 2017-04-04 JP JP2017074409A patent/JP2018180629A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4648386B2 (ja) | 設計支援装置、設計支援方法、設計支援プログラム | |
JP5747698B2 (ja) | 要件管理支援装置 | |
CN106682275B (zh) | 工业厂房结构建模的荷载处理方法和装置 | |
JP2018180629A (ja) | 表示装置、及び、表示プログラム | |
JP2015072505A (ja) | ソフトウェア検証装置 | |
JP5041990B2 (ja) | ソフトウェア部品抽出支援装置 | |
KR101726120B1 (ko) | 프로그램 편집 장치, 프로그램 편집 방법 및 프로그램 편집 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체 | |
CN108255486A (zh) | 用于表单设计的视图转换方法、装置和电子设备 | |
JP2009146280A (ja) | レガシーマイグレーション支援システム | |
JP6519530B2 (ja) | 検証装置、検証プログラム、及び、検証方法 | |
JP2009251666A (ja) | 変更履歴作成装置、方法及びプログラム | |
JPH09179850A (ja) | 需要予測モデル評価方法 | |
JP2020144509A (ja) | 自動コード生成方法、及び自動コード生成プログラム | |
JP4481037B2 (ja) | テスト支援装置 | |
JP2019021037A (ja) | ソースコード評価装置、ソースコード評価方法及びソースコード評価プログラム | |
JP6137962B2 (ja) | 情報処理装置、情報処理方法及びプログラム | |
JPH08292974A (ja) | 制御系・電気回路・管路網の連成汎用解析方法及び装置 | |
JP5155002B2 (ja) | 工程設定支援処理プログラム | |
JP6085264B2 (ja) | コントローラ開発ツール | |
JP2017091055A (ja) | 設計支援装置 | |
JP2004272718A (ja) | 制御プログラム作成装置および制御プログラム作成方法 | |
JP5949889B2 (ja) | ソフトウェア開発支援装置 | |
JP2017174129A (ja) | 設計支援装置 | |
JP4089806B2 (ja) | 曲線生成装置およびその方法ならびに記憶媒体 | |
JP2007164707A (ja) | データ変換設計装置、データ変換システム及びこれらの方法並びにプログラム |