JP4667954B2 - 解析支援装置 - Google Patents
解析支援装置 Download PDFInfo
- Publication number
- JP4667954B2 JP4667954B2 JP2005143937A JP2005143937A JP4667954B2 JP 4667954 B2 JP4667954 B2 JP 4667954B2 JP 2005143937 A JP2005143937 A JP 2005143937A JP 2005143937 A JP2005143937 A JP 2005143937A JP 4667954 B2 JP4667954 B2 JP 4667954B2
- Authority
- JP
- Japan
- Prior art keywords
- source code
- information
- unit
- control signal
- code 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
Description
例えば、特許文献1は、ソフトウェアのソースコードを解析し、その構文及び意味に関する情報を記憶する。ユーザからの問い合わせに応じて、モジュールの関係、変数の関係等を表示することにより、ソフトウェアの内容の理解を容易にするものである。
このような製品が故障した場合、例えば、エレベータのように設置場所から動かせない製品であれば、修理担当者が現場に行って修理することになる。修理担当者が故障の原因を探索するにあたり、そのなかに組み込まれたソフトウェアの内容を理解する必要に迫られる場合もある。しかし、修理担当者は必ずしもそのソフトウェアを記述した言語に精通しているとは限らない。
実行可能なソフトウェアを内蔵した制御部と、
上記制御部により制御される制御対象部と、
を有する解析対象装置の解析を支援する解析支援装置において、
上記ソフトウェアのソースコードの情報であるソースコード情報を記憶するソースコード情報記憶部と、
上記解析対象装置と接続して、上記解析対象装置の制御部と上記解析対象装置の制御対象部との間の制御信号を取得する制御信号取得部と、
上記解析対象装置の回路図の情報である回路図情報を記憶する回路図情報記憶部と、
上記ソースコード情報記憶部が記憶したソースコード情報を表示するソースコード情報表示部と、
上記制御信号取得部が取得した制御信号を表示する制御信号表示部と、
上記回路図情報記憶部が記憶した回路図情報を表示する回路図情報表示部と
を有することを特徴とする。
実施の形態1を図1〜図6を用いて説明する。
図1は、解析支援装置100のハードウェア構成の一例を示す。
図1において、解析支援装置100は、システムユニット910、CRT(Cathode Ray Tube)表示装置901、キーボード(K/B)902、マウス903、コンパクトディスク装置(CDD)905、プリンタ装置906、スキャナ装置907を備え、これらはケーブルで接続されている。
さらに、解析支援装置100は、FAX機932、電話器931とケーブルで接続され、また、ローカルエリアネットワーク(LAN)942、ゲートウェイ941を介してインターネット940に接続されている。
また、解析支援装置100は、LAN942を介して、エレベータ200(解析対象装置の一例)に接続されている。
しかし、必ずしもLANを介する必要はなく、直接接続する構成でもよい。逆に、インターネットを介して、遠隔接続する構成でもよい。また、常に接続されている必要もなく、コネクタを介して接続し、必要のないときには、外しておく構成でもよい。
図2において、解析支援装置100は、プログラムを実行するCPU(Central Processing Unit)911を備えている。CPU911は、バス912を介してROM913、RAM914、通信ボード915、CRT表示装置901、K/B902、マウス903、FDD(Flexible Disk Drive)904、磁気ディスク装置920、CDD905、プリンタ装置906、スキャナ装置907と接続されている。
RAM914は、揮発性メモリの一例である。ROM913、FDD904、CDD905、磁気ディスク装置920は、不揮発性メモリの一例である。これらは、記憶装置あるいは記憶部の一例である。
通信ボード915は、FAX機932、電話器931、LAN942等に接続されている。
例えば、通信ボード915、K/B902、スキャナ装置907、FDD904などは、入力部の一例である。
また、例えば、通信ボード915、CRT表示装置901などは、出力部の一例である。
ここで、通信ボード915は、LAN942に限らず、直接、インターネット940、或いはISDN等のWAN(ワイドエリアネットワーク)に接続されていても構わない。直接、インターネット940、或いはISDN等のWANに接続されている場合、解析支援装置100は、インターネット940、或いはISDN等のWANに接続され、ゲートウェイ941は不用となる。
上記プログラム群923には、以下に述べる実施の形態の説明において「〜部」として説明する機能を実行するプログラムが記憶されている。プログラムは、CPU911により読み出され実行される。
また、以下に述べる実施の形態の説明において説明するフローチャートの矢印の部分は主としてデータの入出力を示し、そのデータの入出力のためにデータは、磁気ディスク装置920、FD(Flexible Disk)、光ディスク、CD(コンパクトディスク)、MD(ミニディスク)、DVD(Digital Versatile Disk)等のその他の記録媒体に記録される。あるいは、信号線やその他の伝送媒体により伝送される。
この例では、解析対象装置として、エレベータを例にとって説明するが、およそソフトウェアによって制御される装置であれば、何でも構わない。
エレベータ200は、実行可能なソフトウェアを実行する制御部210、制御部210と制御信号で結ばれた制御対象部220、解析支援装置100を接続するための接続部230などから成る。
制御対象部220に備えられた回転数センサー221、位置センサー222、積載重量センサー223、行き先ボタン224、呼出しボタン225等の情報収集部は、外部から情報を収集し、制御信号により、制御部210に伝える。
制御部210は、磁気ディスク装置240に記憶されたソフトウェア511を実行し、制御信号を出す。
制御信号は、駆動モータ226、現在階表示器227、到着表示灯228等の動作部に伝えられ、所定の動作をする。
このとき、各制御信号に割り振られたアドレスは、コンパイル時に装置情報521としてCコンパイラ装置300に与えられており、Cコンパイラ装置300は、それに基づいて、制御信号を記述した変数を、所定のアドレスに変換する。
装置情報521には、その他に、制御部210が使用できるRAM251のアドレス等、ソースコードを制御部210で実行できるソフトウェアにコンパイルするのに必要な情報が含まれている。
なお、ソースコードはC言語で書かれているものに限らず、FORTRAN(フォートラン)、COBOL(コボル)、BASIC(ベーシック)などの言語で書かれていてもよいし、アセンブリ言語で書かれたものをアセンブルしてもよい。また、スクリプト言語で書かれたソースコードを制御部210がインタプリトしながら実行する形でも構わない。
アドレス対応関係512は、解析支援装置100のアドレス対応関係記憶部152が記憶する。同様に、変数記憶対応関係513は、記憶対応関係記憶部153が記憶する。
関数の定義位置、戻り値、引数、使用している広域変数、局所変数、マクロ、呼び出している関数、呼び出されている関数、関数のプログラム図の情報を含む関数情報。
広域変数の定義位置、型、使用されている位置の情報を含む広域変数情報。
局所変数の定義位置、型、使用されている位置の情報を含む局所変数情報。
引数の定義位置、型、使用されている位置の情報を含む引数情報。
型の定義位置、定義の実体、使用されている位置の情報を含む型情報。
マクロの定義、使用されている位置の情報を含むマクロ情報。
定数の使用されている位置の情報を含む定数情報。
関数スコープの中での広域変数の依存関係を含む広域変数依存関係情報。
また、変数対応関係532として、制御信号を記述した変数とその変数によって記述された制御信号との対応を示す情報を出力する。
ソースコード501及びソースコード解析情報531は、ソースコード情報として解析支援装置100のソースコード情報記憶部151が記憶する。また、変数対応関係532は、記述対応関係記憶部154が記憶する。
回路図情報551には、例えば、回路図のイメージデータあるいは回路図のCAD(Computer aided design:コンピュータ支援設計)データ等、回路図面そのものに関する情報のほか、装置のブロック構成や、各信号線の名称等の情報も含まれている。
制御対応関係561には、例えば、エレベータ200の情報収集部に対応する回路部分を示す回路情報と、その情報収集部が収集した情報を制御部210に伝えるための制御信号との対応を示す情報収集信号対応関係や、エレベータ200の動作部に対応する回路部分を示す回路情報と、その動作部を動作させるために制御部から伝えられる制御信号との対応を示す動作信号対応関係などがある。
例えば、回転数センサー221は、駆動モータ226の回転数を検知し、その情報を制御信号として制御部に伝える。したがって、回転数センサー221が検知した回転数を示す制御信号は、回路情報のうち、回転数センサー221を示す回路情報と対応している。
これらの情報は、通常電子データの形で出力されるので、これをフレキシブルディスクに記憶し、解析支援装置100に読み込ませる。あるいは、インターネット等に接続されたサーバーに記憶し、必要に応じて、解析支援装置100がダウンロードしてもよい。更に、解析対象装置の種別を入力すると、解析支援装置100が自動的に読み込む構成としてもよい。
解析支援装置100には大きく分けて3つの表示部がある。
図5及び図6は、ソースコード情報表示部112が表示するソースコード情報の一例を示す。
修理担当者は、解析支援装置100をエレベータ200に接続して、制御信号を調べる。
ここで、正常な制御信号が制御部210から駆動モータ226などの動作部に送られているにもかかわらず、それによって動作するはずの動作部が動作しないのであれば、その動作部が故障していることがわかる。
また、回転数センサー221などの情報収集部から制御部210に送られる制御信号が異常値であれば、その情報収集部が故障していることがわかる。
実施の形態2を図1〜図8を用いて説明する。
この実施の形態における解析支援装置100の全体構成は、実施の形態1で説明した構成と同じ構成である。
例えば、駆動モータ226が動かないという症状が出ているのであれば、制御部210から駆動モータ226に対して送られる制御信号を調べる必要がある。
この実施の形態では、特定の制御信号に着目し、着目した着目制御信号に関連する部分を強調して表示する。
まず、着目制御信号判別部121が特定の制御信号を着目制御信号として判別する。
制御信号表示部111は、着目制御信号の名称及び着目制御信号の内容をCRT901に強調して表示する。
着目ソースコード情報判別部122は、記述対応関係記憶部154から記述対応関係を読出し、着目制御信号に対応するソースコード情報を選らび出す。これを着目ソースコード情報としてソースコード情報表示部112に送ると、ソースコード情報表示部112は着目ソースコード情報をCRT901に強調して表示する。
ここでは、制御信号はそれに対応する広域変数という形で記述されている。
例えば、駆動モータ226の回転数を制御するために制御部から伝えられる制御信号は、「motor_speed」という変数で記述されており、変数「motor_speed」に値を代入すると、その値が制御信号として駆動モータ226に送られ、駆動モータ226は与えられた回転数になるように動作する。
したがって、駆動モータ226を駆動する制御信号に着目した場合、ソースコード501の中で変数「motor_speed」が使われている部分が、着目制御信号に対応する部分となる。
ソースコード情報表示部112は、ここで、ソースコード情報のうちソフトウェアの制御の流れを図形化したチャート図形情報を表示している。このとき、チャート図形情報とともに、それに対応するソースコードも表示しているが、着目制御信号を記述した変数「global_in」及び「global_out」が表れる行はそのまま表示しているのに対し、それ以外の行はコメントのみとし、細部を省略して表示している。これにより、着目制御信号を記述した変数の表れる行が目立つようになる。
着目回路部分判別部123は、制御対応関係記憶部156から制御対応関係を読出し、着目制御信号に対応する回路図情報を選び出す。これを着目回路部分として回路図情報表示部113に送ると、回路図情報表示部113は着目回路図情報をCRT901に強調して表示する。
例えば、駆動モータ226を駆動する制御信号に着目した場合には、駆動モータ226に対応する回路図情報が着目回路部分となる。また、回転数センサー221から送られる駆動モータ226の回転数を示す制御信号に着目した場合には、回転数センサー221に対応する回路図情報が着目回路部分となる。
実施の形態3を図1〜図9を用いて説明する。
この実施の形態における解析支援装置100の全体構成は、実施の形態1で説明した構成に、図9の構成を加えたものである。
図9は、この実施の形態における解析支援装置100の一部を示す。
修理担当者が注目したい制御信号の名前を知っている場合、制御信号表示部111がCRT901に表示した制御信号のなかから注目したい制御信号を選択し、例えば、マウス903でCRT901に表示されているマウスポインタを動かしてその制御信号をクリックする。あるいは、キーボード902のカーソルキーでCRT901に表示されているカーソルを動かしてその制御信号に合わせ、エンターキーを押す。
選択制御信号入力部131は、修理担当者によるこれらの操作を監視して、修理担当者が選択した制御信号を選択制御信号とし、着目制御信号判別部121に送る。
この場合、着目制御信号判別部121は、選択制御信号をそのまま着目制御信号として判別する。
選択回路部分入力部133は、修理担当者によるこれらの操作を監視して、修理担当者が選択した回路部分を選択回路部分とし、着目制御信号判別部121に送る。
制御信号が回路図のどの部分と対応するかについての情報である制御対応関係は、制御対応関係記憶部156が記憶している。
着目制御信号判別部121は、制御対応関係記憶部156から制御対応関係を読出し、選択回路部分に対応する制御信号を選び出して、これを着目制御信号として判別する。
選択ソースコード情報入力部132は、修理担当者によるこれらの操作を監視して、修理担当者が選択したソースコード情報を選択ソースコード情報とし、着目制御信号判別部121に送る。
着目制御信号判別部121は、記述対応関係記憶部154から記述対応関係を読出し、選択ソースコード情報に対応する制御信号を選び出して、これを着目制御信号として判別する。
着目制御信号判別部121は、記述対応関係記憶部154が記憶している記述対応関係のうち、ソースコード501のなかで制御信号を記述した変数とその変数によって記述された制御信号との対応を示す変数対応関係を読出し、選択された変数によって記述された制御信号を選び出して、それを着目制御信号として判別する。
着目制御信号判別部121は、記述対応関係記憶部154が記憶している記述対応関係のうち、ソースコード501のなかで変数が使用されている位置についての情報を読出し、選択された部分で使用されている変数を割り出す。
次に、記述対応関係記憶部154が記憶している記述対応関係のうち変数対応関係を読出し、選択された部分で使用されている変数によって記述された制御信号を選び出して、それを着目制御信号として判別する。
あるいは、修理担当者に正常な制御信号の範囲を入力させて、その範囲を逸脱したら、異常制御信号判別部124がその制御信号を異常制御信号として判別することとしてもよい。
着目制御信号判別部121は、異常制御信号判別部124が判別した異常制御信号をそのまま着目制御信号として判別する。
このように、着目制御信号を容易に決定できることにより、解析対象装置の解析の効率を高めることができる。
実施の形態4を図1〜図13を用いて説明する。
この実施の形態における解析支援装置100の全体構成は、実施の形態3で説明した構成と同じ構成である。
したがって、制御信号同士の関係は非常に複雑に絡み合っている。
ここで、駆動モータ226を駆動する制御信号が正常であるにもかかわらず、駆動モータ226が動かないのであれば、駆動モータ226が故障していることがわかる。
しかし、そもそも駆動モータ226を駆動する制御信号が異常値なのであれば、駆動モータ226が動かないのは当然であり、他の部分が故障していることになる。
そこで、修理担当者は、駆動モータ226を駆動する制御信号が異常値を示す原因を探索することになる。
図10〜図13は、制御部210が実行しているソフトウェア511のソースコード501の一例である。
関数「func_X」のなかで変数「g_in1」の値が変数「g_out1」に代入されている。したがって、関数「func_X」が実行されるとき、変数「g_in1」の値が変わっていれば、変数「g_out1」の値も変わる。したがって、変数「g_in1」によって記述されている制御信号の値が変われば、変数「g_out1」によって記述されている制御信号の値も変わる。すなわち、この2つの制御信号の間には、代入による依存関係がある。
関数「func_X」のなかで変数「g_in2」と変数「g_out2」は、一つの代入式の右辺と左辺に記述されているのではないので、関係がないようにも見える。しかし、実際には、変数「g_in2」の値が変数「l_chuukan1」に代入され、変数「l_chuukan1」の値が変数「g_out2」に代入されている。したがって、変数「g_in2」の値が変わっていれば、変数「l_cyuukan1」の値が変わり、その結果、変数「g_out2」の値も変わる。すなわち、変数「g_in2」によって記述されている制御信号と、変数「g_out2」によって記述されている制御信号との間には、やはり代入による依存関係がある。
関数「func_X」のなかで、変数「g_in3」の値が0と等しいかによってソフトウェアの実行経路が変わる。ソフトウェアの実行経路が変わることにより、変数「g_out3」に代入される値が変わる。したがって、変数「g_in3」の値が変われば、変数「g_out3」の値も変わる可能性がある。すなわち、変数「g_in3」によって記述されている制御信号と、変数「g_out3」によって記述されている制御信号との間には、条件分岐による依存関係がある。
関数「func_X」のなかで、変数「g_in3」の値が変数「l_cyuukan2」に代入される。次に、変数「l_cyuukan2」の値が0と等しいかによってソフトウェアの実行経路が変わる。ソフトウェアの実行経路が変わることにより、変数「g_out4」に代入される値が変わる。したがって、変数「g_in4」の値が変われば、変数「g_out4」の値も変わる可能性がある。すなわち、変数「g_in4」によって記述されている制御信号と、変数「g_out4」によって記述されている制御信号との間にも、条件分岐による依存関係がある。
したがって、修理担当者は、異常値を示している制御信号と依存関係のある制御信号だけを探索すればよい。
また、着目制御信号が複数ある場合には、2つ以上の着目制御信号と依存関係のある制御信号を特に注目すべき制御信号として、それに関連する情報を更に強調して表示することとしてもよい。2つ以上の症状が同時に出ている場合、その原因となっている故障は、一つであることが多い。したがって、これにより、探索すべき制御信号を更に絞り込むことができる。
実施の形態5を図1〜図3及び図14を用いて説明する。
図1〜図3は、この実施の形態における解析支援装置100の構成を示す。図面の説明は、実施の形態1に記載したので、ここでは省略する。
この実施の形態における解析支援装置100は、更に、図14に示す構成を有する。
したがって、その条件を満たしていない状態では、ソフトウェア511のなかに実行されない部分が存在することになる。
実施の形態6を図1〜図3及び図14〜図16を用いて説明する。
この実施の形態における解析支援装置100の全体構成は、実施の形態5で説明した構成と同じである。
図15において、この例のソースコードは制御の流れにより、分岐位置及び合流位置で4つの部分に分割できる。すなわち、関数「func_X」を実行すると、「/* 処理A */」の部分は常に実行されるが、「/* 処理B */」の部分は分岐条件「g_in1>0」が真の場合にのみ実行される。「/* 処理C */」の部分は逆に分岐条件「g_in1>0」が偽の場合にのみ実行される。その後、制御の流れは合流し、「/* 処理D */」の部分は常に実行される。
したがって、「/* 処理B */」と「/* 処理C */」のどちらを実行するかは、分岐条件「g_in1>0」が真かどうかを見れば判別できる。
したがって、変数「g_in1」によって記述されている制御信号の値がわかれば、分岐条件「g_in1>0」が真かどうかがわかり、「/* 処理B */」と「/* 処理C */」のどちらを実行するかも判別できる。
実行ソースコード情報判別部161は、記述対応関係記憶部154が記憶している変数対応関係532を読出し、変数「g_in1」によって記述されている制御信号の値から、変数「g_in1」の値を求める。
実行ソースコード情報判別部161は、更に、変数「g_in1」の値から、分岐条件「g_in1>0」が真かどうかを求める。以下、分岐条件「g_in1>0」が真だったとして説明する。
実行ソースコード情報判別部161は、分岐条件「g_in1>0」が真だったので、「/* 処理A */」「/* 処理B */」「/* 処理D */」に対応するソースコード情報を実行ソースコード情報として判別する。
ソースコード情報表示部112は、実行ソースコード情報を強調して表示する。図15では、「/* 処理A */」「/* 処理B */」「/* 処理D */」に対応する部分を大きく、かつ、線を太くして表示することで、強調部分が目立つようにしている。
分岐条件「g_in2=0」が真の場合は、「/* 処理B */」が実行される。
分岐条件「g_in2=0」が偽であるが分岐条件「g_in2=local」が真の場合には、「/* 処理C */」が実行される。
上記分岐条件が両方とも偽の場合には、「/* 処理D */」が実行される。
実行ソースコード情報判別部161は、記述対応関係記憶部154が記憶している変数対応関係532を読出し、変数「g_in2」によって記述されている制御信号の値から、変数「g_in2」の値を求める。
実行ソースコード情報判別部161は、更に、変数「g_in2」の値から、分岐条件「g_in2=0」が真かどうかを求め、真の場合には、「/* 処理B */」に対応するソースコード情報を実行ソースコード情報として判別する。
変数「local」はソースコード501のなかで制御信号を記述したものではないので、制御信号取得部141が取得した制御信号の値から、変数「local」の値を知ることはできない。
すなわち、エレベータ200の制御部210に入力される制御信号の値は、制御信号取得部141が取得しているので、その値に基づいて制御信号を記述した変数の値を求めることができる。
次に、その値に基づいて他の変数の値を計算している場合には、その計算と同じ計算をして、他の変数の値を求める。
また、それらの変数の値によって、制御の流れが分岐する場合には、計算した変数の値に基づいて分岐条件を満たすかどうかを調べ、次に実行する処理を求める。
このように、エレベータ200の制御部210が実行しているソフトウェア511の処理を、解析支援装置100の内部で模倣することで、変数「local」の値を知ることができる。
エレベータ200のRAM251の記憶内容は、記憶内容取得部142がエレベータ200の接続部230と通信して、取得する。しかし、エレベータ200の接続部230を介して、直接、RAM251に接続し、例えばDMA(Direct Memory Access:ダイレクトメモリアクセス)により取得してもよい。
実行ソースコード情報判別部161は、記憶対応関係記憶部153が記憶している変数記憶対応関係513により、RAM251の記憶内容のうちのどこに変数「local」の値があるかを判別し、変数「local」の値を求める。
ソースコード情報表示部112は、実行ソースコード情報を強調して表示する。図16では、「/* 処理A */」「/* 処理C */」「/* 処理E */」に対応する部分を大きく、かつ、線を太くして表示するだけでなく、それ以外の部分である「/* 処理B */」「/* 処理D */」に対応する部分を表示しないことにより、強調部分を目立たせている。
実施の形態7を図1〜図3及び図17を用いて説明する。
図1〜図3は、この実施の形態における解析支援装置100の構成を示す。図面の説明は実施の形態1に記載したので、ここでは省略する。
この実施の形態における解析支援装置100は、更に、図17に示す構成を有する。
エレベータ200の制御部210のPC(Program Counter:プログラムカウンタ)の値など、実際に実行しているソフトウェア511のメモリ上のアドレスである実行アドレスを取得すれば、実行経路が特定できるので、それに対応する実行ソースコード情報が判別できる。
図18は、エレベータ故障解析装置(解析支援装置の一例)の構成の一例を示す図である。同図に示すエレベータ故障解析装置100は、入出力装置950と、解析対象ソフトウェア記憶部651と、ソフトウェア故障解析部671と、変数依存関係解析部672と、エレベータ故障解析情報記憶部652と、エレベータ通信部641と、故障解析情報表示部611と、実行経路表示部612と、変数値表示部613と、エレベータ構成情報記憶部654と、特定構成表示部614と、電気回路図面関連記憶部653と、電気回路図面記憶部655と、電解回路図面表示部615より構成される。
ソフトウェア故障解析部671は、解析対象のソフトウェアを解析し、関数の定義位置、戻り値、引数、使用しているグローバル変数、ローカル変数、マクロ、呼び出している関数、呼び出されている関数、関数のプログラム図の情報を含む関数情報、グローバル変数の定義位置、型、使用されている位置の情報を含むグローバル変数情報、ローカル変数の定義位置、型、使用されている位置の情報を含むローカル変数情報、引数の定義位置、型、使用されている位置の情報を含む引数情報、型の定義位置、定義の実体、使用位置の情報を含む型情報、マクロの定義、使用位置の情報を含むマクロ情報、定数の使用位置の情報を含む定数情報を含むエレベータのソフトウェアの情報を生成する。
変数依存関係解析部672は、関数スコープの中で、グローバル変数の依存関係を解析する。
エレベータ故障解析情報記憶部652は、ソフトウェア故障解析部671及び変数依存関係解析部672の解析結果を記憶する。
エレベータ通信部141は、エレベータと通信し、エレベータの実行経路の情報及び、エレベータ中の変数の値の情報を取得する。
故障解析情報表示部611は、エレベータ故障解析情報記憶部の情報を表示する。
実行経路表示部612は、エレベータ通信部を介してエレベータと通信し、実行経路を取得し、実行した経路に関係するエレベータ故障解析情報記憶部のみを表示する。
変数値表示部613は、エレベータ通信部を介してエレベータと通信し、定期的に、エレベータ中の変数の値を表示する。
エレベータ構成情報記憶部654は、エレベータソフトウェアの構成を記憶する。
特定構成表示部614は、エレベータ構成情報記憶部654を参照し、特定のエレベータ構成に関係する情報のみを表示する。
電気回路図面関連記憶部653は、関数や変数と、関数や変数に関連する電気回路図面との関連の情報を記憶する。
電気回路図面記憶部655は、電気回路図面を記憶する。
電気回路図面表示部は、電気回路図面関連記憶部653、電気回路図面記憶部655を参照して特定の関数や変数に関連する電気回路図面を表示する。
・ 関数情報:
関数の定義位置、戻り値、引数、使用しているグローバル変数、ローカル変数、マクロ、呼び出している関数、呼び出されている関数、関数のプログラム図の情報を含む関数情報
・ グローバル変数情報:
グローバル変数の定義位置、型、使用されている位置の情報を含むグローバル変数情報
・ ローカル変数情報:
ローカル変数の定義位置、型、使用されている位置の情報を含むローカル変数情報
・ 引数情報:
引数の定義位置、型、使用されている位置の情報を含む引数情報
・ 型情報:
型の定義位置、定義の実体、使用位置の情報を含む型情報
・ マクロ情報:
マクロの定義位置、定義、使用位置の情報を含むマクロ情報
・ 定数情報:
定数の使用位置の情報を含む定数情報
図5のソフトウェアを解析し、生成されたエレベータ故障解析情報を故障解析情報表示部611(ソースコード情報表示部の一例)を介してHTML形式で表示する。表示される関数情報及び、グローバル変数情報を図5に示す。表示の形式はHTML形式以外の任意の形式で構わない。
この実施の形態における解析支援装置100の構成は、実施の形態8で説明した構成と同じである。
この実施の形態は、更に、プログラム図を生成する際に、作業者に必要な情報のみを生成する。
・ ソースとコメントの両者
・ ソースのみ
・ コメントのみ
の情報を抽出することが可能である。
この実施の形態における解析支援装置100の構成は、実施の形態8で説明した構成と同じである。
この実施の形態は、更に、関数スコープの中で、解析対象の変数が依存している変数を、絞り込むことを支援する。
・ 代入に関する依存関係
・ 制御に関する依存関係
また,依存関係は,内部変数を介して上記の依存関係が成立することがある。
この実施の形態における解析支援装置100の構成は、実施の形態8で説明した構成と同じである。
この実施の形態は、更に、動作中のエレベータと通信を行い、解析対象の変数の値を取得する。
この実施の形態における解析支援装置100の構成は、実施の形態8で説明した構成と同じである。
この実施の形態は、更に、動作中のエレベータと通信して取得した変数の値を参照して、プログラム図中で、実行されているプログラム経路を表示する。
この実施の形態における解析支援装置100の構成は、実施の形態8で説明した構成と同じである。
この実施の形態は、更に、解析対象の変数に関連する電気回路図面を表示する。
この実施の形態における解析支援装置100の構成は、実施の形態8で説明した構成と同じである。
この実施の形態は、更に、エレベータの構成毎に、対象の構成の時に関係する情報のみを表示する。
以上、実施の形態1〜実施の形態14で述べた構成は、任意に組み合わせることができる。
Claims (25)
- 実行可能なソフトウェアを内蔵した制御部と、上記制御部により制御される制御対象部とを有する解析対象装置の解析を支援する解析支援装置において、
上記ソフトウェアのソースコードの情報であるソースコード情報を記憶するソースコード情報記憶部と、
上記解析対象装置と接続して、上記解析対象装置の制御部と上記解析対象装置の制御対象部との間の制御信号を取得する制御信号取得部と、
上記解析対象装置の回路図の情報である回路図情報を記憶する回路図情報記憶部と、
上記回路図情報記憶部が記憶した回路図情報を表示する回路図情報表示部と、
上記回路図情報表示部が表示した回路図情報から選択した選択回路部分を入力させる選択回路部分入力部と、
上記解析対象装置のうち外部の情報を収集する情報収集部に対応する回路部分と上記情報収集部が収集する情報を上記解析対象装置の制御部へ伝達する上記制御信号との対応関係を示す情報収集信号対応関係と、上記解析対象装置のうち上記解析対象装置の制御部から伝達された制御信号によって動作する動作部に対応する回路部分と上記動作部に伝達される上記制御信号との対応関係を示す動作信号対応関係とのうち少なくともいずれかを、制御対応関係として記憶する制御対応関係記憶部と、
上記制御対応関係記憶部が記憶した制御対応関係に基づいて、上記選択回路部分入力部に入力された選択回路部分に対応する制御信号を着目制御信号として判別する着目制御信号判別部と、
上記ソースコード情報記憶部が記憶したソースコード情報を表示するソースコード情報表示部と、
上記制御信号取得部が取得した制御信号を表示し、上記制御信号のうち、上記着目制御信号判別部が判別した着目制御信号を強調して表示する制御信号表示部とを有することを特徴とする解析支援装置。 - 実行可能なソフトウェアを内蔵した制御部と、上記制御部により制御される制御対象部とを有する解析対象装置の解析を支援する解析支援装置において、
上記ソフトウェアのソースコードの情報であるソースコード情報を記憶し、上記ソフトウェアのソースコードにおいて変数が使用されている位置についての変数使用位置情報を記憶するソースコード情報記憶部と、
上記解析対象装置と接続して、上記解析対象装置の制御部と上記解析対象装置の制御対象部との間の制御信号を取得する制御信号取得部と、
上記解析対象装置の回路図の情報である回路図情報を記憶する回路図情報記憶部と、
上記ソースコード情報記憶部が記憶したソースコード情報を表示するソースコード情報表示部と、
上記ソースコード情報表示部が表示したソースコード情報から選択した選択ソースコード情報を入力させる選択ソースコード情報入力部と、
上記ソフトウェアのソースコードにおいて上記制御信号を記述した変数と、上記変数によって記述された上記制御信号との対応関係を示す変数対応関係を記憶する記述対応関係記憶部と、
上記ソースコード情報記憶部が記憶した変数使用位置情報に基づいて、上記ソフトウェアのソースコードにおいて、上記選択ソースコード情報入力部に入力された選択ソースコード情報に対応する部分で使用されている変数を選択変数として判別し、上記記述対応関係記憶部が記憶した変数対応関係に基づいて、上記選択変数に対応する制御信号を着目制御信号として判別する着目制御信号判別部と、
上記制御信号取得部が取得した制御信号を表示し、上記制御信号のうち、上記着目制御信号判別部が判別した着目制御信号を強調して表示する制御信号表示部と、
上記回路図情報記憶部が記憶した回路図情報を表示する回路図情報表示部とを有することを特徴とする解析支援装置。 - 実行可能なソフトウェアを内蔵した制御部と、上記制御部により制御される制御対象部とを有する解析対象装置の解析を支援する解析支援装置において、
上記ソフトウェアのソースコードの情報であるソースコード情報を記憶するソースコード情報記憶部と、
上記解析対象装置と接続して、上記解析対象装置の制御部と上記解析対象装置の制御対象部との間の制御信号を取得する制御信号取得部と、
上記解析対象装置の回路図の情報である回路図情報を記憶する回路図情報記憶部と、
上記回路図情報記憶部が記憶した回路図情報を表示する回路図情報表示部と、
上記回路図情報表示部が表示した回路図情報から選択した選択回路部分を入力させる選択回路部分入力部と、
上記解析対象装置のうち外部の情報を収集する情報収集部に対応する回路部分と上記情報収集部が収集する情報を上記解析対象装置の制御部へ伝達する上記制御信号との対応関係を示す情報収集信号対応関係と、上記解析対象装置のうち上記解析対象装置の制御部から伝達された制御信号によって動作する動作部に対応する回路部分と上記動作部に伝達される上記制御信号との対応関係を示す動作信号対応関係とのうち少なくともいずれかを、制御対応関係として記憶する制御対応関係記憶部と、
上記制御対応関係記憶部が記憶した制御対応関係に基づいて、上記選択回路部分入力部に入力された選択回路部分に対応する制御信号を着目制御信号として判別する着目制御信号判別部と、
上記ソフトウェアのソースコードにおいて上記制御信号を記述した変数と、上記変数によって記述された上記制御信号との対応関係を示す変数対応関係を記憶する記述対応関係記憶部と、
上記記述対応関係記憶部が記憶した変数対応関係に基づいて、上記ソースコード情報記憶部が記憶したソースコード情報のうち、上記着目制御信号判別部が判別した着目制御信号に対応するソースコード情報を着目ソースコード情報として判別する着目ソースコード情報判別部と、
上記ソースコード情報記憶部が記憶したソースコード情報を表示し、上記ソースコード情報のうち、上記着目ソースコード情報判別部が判別した着目ソースコード情報を強調して表示するソースコード情報表示部と、
上記制御信号取得部が取得した制御信号を表示する制御信号表示部とを有することを特徴とする解析支援装置。 - 実行可能なソフトウェアを内蔵した制御部と、上記制御部により制御される制御対象部とを有する解析対象装置の解析を支援する解析支援装置において、
上記ソフトウェアのソースコードの情報であるソースコード情報を記憶し、上記ソフトウェアのソースコードにおいて変数が使用されている位置についての変数使用位置情報を記憶するソースコード情報記憶部と、
上記解析対象装置と接続して、上記解析対象装置の制御部と上記解析対象装置の制御対象部との間の制御信号を取得する制御信号取得部と、
上記解析対象装置の回路図の情報である回路図情報を記憶する回路図情報記憶部と、
上記ソースコード情報記憶部が記憶したソースコード情報を表示するソースコード情報表示部と、
上記ソースコード情報表示部が表示したソースコード情報から選択した選択ソースコード情報を入力させる選択ソースコード情報入力部と、
上記ソフトウェアのソースコードにおいて上記制御信号を記述した変数と、上記変数によって記述された上記制御信号との対応関係を示す変数対応関係を記憶する記述対応関係記憶部と、
上記ソースコード情報記憶部が記憶した変数使用位置情報に基づいて、上記ソフトウェアのソースコードにおいて、上記選択ソースコード情報入力部に入力された選択ソースコード情報に対応する部分で使用されている変数を選択変数として判別し、上記記述対応関係記憶部が記憶した変数対応関係に基づいて、上記選択変数に対応する制御信号を着目制御信号として判別する着目制御信号判別部と、
上記記述対応関係記憶部が記憶した変数対応関係に基づいて、上記ソースコード情報記憶部が記憶したソースコード情報のうち、上記着目制御信号判別部が判別した着目制御信号に対応するソースコード情報を着目ソースコード情報として判別する着目ソースコード情報判別部と、
上記制御信号取得部が取得した制御信号を表示する制御信号表示部と、
上記回路図情報記憶部が記憶した回路図情報を表示する回路図情報表示部とを有し、
上記ソースコード情報表示部は、上記ソースコード情報のうち、上記着目ソースコード情報判別部が判別した着目ソースコード情報を強調して表示することを特徴とする解析支援装置。 - 上記解析支援装置は、更に、
上記回路図情報表示部が表示した回路図情報から選択した選択回路部分を入力させる選択回路部分入力部と、
上記解析対象装置のうち外部の情報を収集する情報収集部に対応する回路部分と上記情報収集部が収集する情報を上記解析対象装置の制御部へ伝達する上記制御信号との対応関係を示す情報収集信号対応関係と、上記解析対象装置のうち上記解析対象装置の制御部から伝達された制御信号によって動作する動作部に対応する回路部分と上記動作部に伝達される上記制御信号との対応関係を示す動作信号対応関係とのうち少なくともいずれかを、制御対応関係として記憶する制御対応関係記憶部とを有し、
上記着目制御信号判別部は、更に、上記制御対応関係記憶部が記憶した制御対応関係に基づいて、上記選択回路部分入力部に入力された選択回路部分に対応する制御信号を着目制御信号として判別することを特徴とする請求項2または請求項4に記載の解析支援装置。 - 実行可能なソフトウェアを内蔵した制御部と、上記制御部により制御される制御対象部とを有する解析対象装置の解析を支援する解析支援装置において、
上記ソフトウェアのソースコードの情報であるソースコード情報を記憶するソースコード情報記憶部と、
上記解析対象装置と接続して、上記解析対象装置の制御部と上記解析対象装置の制御対象部との間の制御信号を取得する制御信号取得部と、
上記解析対象装置の回路図の情報である回路図情報を記憶する回路図情報記憶部と、
上記回路図情報記憶部が記憶した回路図情報を表示する回路図情報表示部と、
上記回路図情報表示部が表示した回路図情報から選択した選択回路部分を入力させる選択回路部分入力部と、
上記解析対象装置のうち外部の情報を収集する情報収集部に対応する回路部分と上記情報収集部が収集する情報を上記解析対象装置の制御部へ伝達する上記制御信号との対応関係を示す情報収集信号対応関係と、上記解析対象装置のうち上記解析対象装置の制御部から伝達された制御信号によって動作する動作部に対応する回路部分と上記動作部に伝達される上記制御信号との対応関係を示す動作信号対応関係とのうち少なくともいずれかを、制御対応関係として記憶する制御対応関係記憶部と、
上記制御対応関係記憶部が記憶した制御対応関係に基づいて、上記選択回路部分入力部に入力された選択回路部分に対応する制御信号を着目制御信号として判別する着目制御信号判別部と、
上記制御対応関係記憶部が記憶した制御対応関係に基づいて、上記着目制御信号判別部が判別した着目制御信号に対応する回路部分を着目回路部分として判別する着目回路部分判別部と、
上記ソースコード情報記憶部が記憶したソースコード情報を表示するソースコード情報表示部と、
上記制御信号取得部が取得した制御信号を表示する制御信号表示部とを有し、
上記回路図情報表示部は、上記回路図情報のうち、上記着目回路部分判別部が判別した着目回路部分を強調して表示することを特徴とする解析支援装置。 - 実行可能なソフトウェアを内蔵した制御部と、上記制御部により制御される制御対象部とを有する解析対象装置の解析を支援する解析支援装置において、
上記ソフトウェアのソースコードの情報であるソースコード情報を記憶し、上記ソフトウェアのソースコードにおいて変数が使用されている位置についての変数使用位置情報を記憶するソースコード情報記憶部と、
上記解析対象装置と接続して、上記解析対象装置の制御部と上記解析対象装置の制御対象部との間の制御信号を取得する制御信号取得部と、
上記解析対象装置の回路図の情報である回路図情報を記憶する回路図情報記憶部と、
上記ソースコード情報記憶部が記憶したソースコード情報を表示するソースコード情報表示部と、
上記ソースコード情報表示部が表示したソースコード情報から選択した選択ソースコード情報を入力させる選択ソースコード情報入力部と、
上記ソフトウェアのソースコードにおいて上記制御信号を記述した変数と、上記変数によって記述された上記制御信号との対応関係を示す変数対応関係を記憶する記述対応関係記憶部と、
上記ソースコード情報記憶部が記憶した変数使用位置情報に基づいて、上記ソフトウェアのソースコードにおいて、上記選択ソースコード情報入力部に入力された選択ソースコード情報に対応する部分で使用されている変数を選択変数として判別し、上記記述対応関係記憶部が記憶した変数対応関係に基づいて、上記選択変数に対応する制御信号を着目制御信号として判別する着目制御信号判別部と、
上記回路図情報記憶部が記憶した回路図情報において上記制御信号に対応する回路部分と上記回路部分に対応する上記制御信号との対応関係を示す制御対応関係を記憶する制御対応関係記憶部と、
上記制御対応関係記憶部が記憶した制御対応関係に基づいて、上記着目制御信号判別部が判別した着目制御信号に対応する回路部分を着目回路部分として判別する着目回路部分判別部と、
上記制御信号取得部が取得した制御信号を表示する制御信号表示部と、
上記回路図情報記憶部が記憶した回路図情報を表示し、上記回路図情報のうち、上記着目回路部分判別部が判別した着目回路部分を強調して表示する回路図情報表示部とを有することを特徴とする解析支援装置。 - 上記解析支援装置は、更に、
上記回路図情報表示部が表示した回路図情報から選択した選択回路部分を入力させる選択回路部分入力部を有し、
上記制御対応関係記憶部は、上記解析対象装置のうち外部の情報を収集する情報収集部に対応する回路部分と上記情報収集部が収集する情報を上記解析対象装置の制御部へ伝達する上記制御信号との対応関係を示す情報収集信号対応関係と、上記解析対象装置のうち上記解析対象装置の制御部から伝達された制御信号によって動作する動作部に対応する回路部分と上記動作部に伝達される上記制御信号との対応関係を示す動作信号対応関係とのうち少なくともいずれかを、制御対応関係として記憶し、
上記着目制御信号判別部は、更に、上記制御対応関係記憶部が記憶した制御対応関係に基づいて、上記選択回路部分入力部に入力された選択回路部分に対応する制御信号を着目制御信号として判別することを特徴とする請求項7に記載の解析支援装置。 - 実行可能なソフトウェアを内蔵した制御部と、上記制御部により制御される制御対象部とを有する解析対象装置の解析を支援する解析支援装置において、
上記ソフトウェアのソースコードの情報であるソースコード情報を記憶するソースコード情報記憶部と、
上記解析対象装置と接続して、上記解析対象装置の制御部と上記解析対象装置の制御対象部との間の制御信号を取得する制御信号取得部と、
上記解析対象装置の回路図の情報である回路図情報を記憶する回路図情報記憶部と、
上記制御信号のうち特定の制御信号を着目制御信号として判別する着目制御信号判別部と、
上記解析対象装置のうち外部の情報を収集する情報収集部に対応する回路部分と上記情報収集部が収集する情報を上記解析対象装置の制御部へ伝達する上記制御信号との対応関係を示す情報収集信号対応関係と、上記解析対象装置のうち上記解析対象装置の制御部から伝達された制御信号によって動作する動作部に対応する回路部分と上記動作部に伝達される上記制御信号との対応関係を示す動作信号対応関係とのうち少なくともいずれかを、制御対応関係として記憶する制御対応関係記憶部と、
上記制御対応関係記憶部が記憶した制御対応関係に基づいて、上記着目制御信号判別部が判別した着目制御信号に対応する回路部分を着目回路部分として判別する着目回路部分判別部と、
上記ソースコード情報記憶部が記憶したソースコード情報を表示するソースコード情報表示部と、
上記制御信号取得部が取得した制御信号を表示する制御信号表示部と、
上記回路図情報記憶部が記憶した回路図情報を表示し、上記回路図情報のうち、上記着目回路部分判別部が判別した着目回路部分を強調して表示する回路図情報表示部とを有することを特徴とする解析支援装置。 - 上記解析支援装置は、
上記ソフトウェアのソースコードにおいて上記制御信号を記述した変数と、上記変数によって記述された上記制御信号との対応関係を示す変数対応関係を記憶する記述対応関係記憶部と、
上記記述対応関係記憶部が記憶した変数対応関係に基づいて、上記ソースコード情報記憶部が記憶したソースコード情報のうち、上記着目制御信号判別部が判別した着目制御信号に対応するソースコード情報を着目ソースコード情報として判別する着目ソースコード情報判別部とを有し、
上記ソースコード情報表示部は、上記ソースコード情報のうち、上記着目ソースコード情報判別部が判別した着目ソースコード情報を強調して表示することを特徴とする請求項6乃至請求項9のいずれかに記載の解析支援装置。 - 上記ソースコード情報記憶部は、上記ソフトウェアのソースコードにおいて変数が使用されている位置についての変数使用位置情報を記憶し、
上記着目ソースコード情報判別部は、上記記述対応関係記憶部が記憶した変数対応関係に基づいて、上記着目制御信号を記述した変数を着目変数として判別し、上記ソースコード情報記憶部が記憶した変数使用位置情報に基づいて、上記着目変数が使用されている位置に対応するソースコード情報を上記着目ソースコード情報として判別することを特徴とする請求項3または請求項4または請求項4を引用する請求項5または請求項10に記載の解析支援装置。 - 上記制御信号表示部は、上記制御信号のうち、上記着目制御信号判別部が判別した着目制御信号を強調して表示することを特徴とする請求項3乃至請求項11のいずれかに記載の解析支援装置。
- 実行可能なソフトウェアを内蔵した制御部と、上記制御部により制御される制御対象部とを有する解析対象装置の解析を支援する解析支援装置において、
上記ソフトウェアのソースコードの情報であるソースコード情報を記憶し、上記ソフトウェアのソースコードにおける制御の流れの分岐位置及び合流位置を示す制御フロー情報を記憶し、上記分岐位置における分岐条件を示す制御条件情報を記憶するソースコード情報記憶部と、
上記解析対象装置と接続して、上記解析対象装置の制御部と上記解析対象装置の制御対象部との間の制御信号を取得する制御信号取得部と、
上記解析対象装置の回路図の情報である回路図情報を記憶する回路図情報記憶部と、
上記ソフトウェアのソースコードにおいて上記制御信号を記述した変数と、上記変数によって記述された上記制御信号との対応関係を示す変数対応関係を記憶する記述対応関係記憶部と、
上記ソースコード情報記憶部が記憶した制御フロー情報に基づいて、上記ソースコード情報記憶部が記憶したソースコード情報を上記分岐位置及び上記合流位置によって分割し、上記記述対応関係記憶部が記憶した変数対応関係に基づいて、上記制御信号取得部が取得した制御信号に対応する変数の値を判別し、上記ソースコード情報記憶部が記憶した制御条件情報に基づいて、上記分岐位置において、上記分岐条件を満たすかどうかを判別して、上記制御対象装置の制御部が実際に実行している上記ソフトウェアの実行経路を推定し、分割された上記ソースコード情報のうち、上記実行経路に対応するソースコード情報を実行ソースコード情報として判別する実行ソースコード情報判別部と、
上記ソースコード情報記憶部が記憶したソースコード情報を表示し、上記実行ソースコード情報判別部が判別した実行ソースコード情報を強調して表示するソースコード情報表示部と、
上記制御信号取得部が取得した制御信号を表示する制御信号表示部と、
上記回路図情報記憶部が記憶した回路図情報を表示する回路図情報表示部とを有することを特徴とする解析支援装置。 - 上記ソースコード情報記憶部は、上記ソフトウェアのソースコードにおける制御の流れの分岐位置及び合流位置を示す制御フロー情報を記憶し、上記分岐位置における分岐条件を示す制御条件情報を記憶し、
上記解析支援装置は、
上記ソフトウェアのソースコードにおいて上記制御信号を記述した変数と、上記変数によって記述された上記制御信号との対応関係を示す変数対応関係を記憶する記述対応関係記憶部と、
上記ソースコード情報記憶部が記憶した制御フロー情報に基づいて、上記ソースコード情報記憶部が記憶したソースコード情報を上記分岐位置及び上記合流位置によって分割し、上記記述対応関係記憶部が記憶した変数対応関係に基づいて、上記制御信号取得部が取得した制御信号に対応する変数の値を判別し、上記ソースコード情報記憶部が記憶した制御条件情報に基づいて、上記分岐位置において、上記分岐条件を満たすかどうかを判別して、上記制御対象装置の制御部が実際に実行している上記ソフトウェアの実行経路を推定し、分割された上記ソースコード情報のうち、上記実行経路に対応するソースコード情報を実行ソースコード情報として判別する実行ソースコード情報判別部とを有し、
上記ソースコード情報表示部は、上記実行ソースコード情報判別部が判別した実行ソースコード情報を強調して表示することを特徴とする請求項1乃至請求項12のいずれかに記載の解析支援装置。 - 実行可能なソフトウェアを内蔵した制御部と、上記制御部により制御される制御対象部とを有する解析対象装置の解析を支援する解析支援装置において、
上記ソフトウェアのソースコードの情報であるソースコード情報を記憶し、上記ソフトウェアのソースコードにおける制御の流れの分岐位置及び合流位置を示す制御フロー情報を記憶し、上記分岐位置における分岐条件を示す制御条件情報を記憶するソースコード情報記憶部と、
上記解析対象装置と接続して、上記解析対象装置の制御部と上記解析対象装置の制御対象部との間の制御信号を取得する制御信号取得部と、
上記解析対象装置の回路図の情報である回路図情報を記憶する回路図情報記憶部と、
上記制御対象装置と接続して、上記制御対象装置の制御部が記憶する記憶内容を取得する記憶内容取得部と、
上記ソフトウェアのソースコードにおいて上記記憶内容を記述した変数と、上記変数によって記述された上記記憶内容との対応関係を示す変数記憶対応関係を記憶する記憶対応関係記憶部と、
上記ソースコード解析情報記憶部が記憶した制御フロー情報に基づいて、上記ソースコード情報記憶部が記憶したソースコード情報を上記分岐位置及び上記合流位置によって分割し、上記記憶対応関係記憶部が記憶した変数記憶対応関係に基づいて、上記記憶内容取得部が取得した記憶内容に対応する変数の値を判別し、上記ソースコード情報記憶部が記憶した制御条件情報に基づいて、上記分岐位置において、上記分岐条件を満たすかどうかを判別して、上記制御対象装置の制御部が実際に実行している上記ソフトウェアの実行経路を推定し、分割された上記ソースコード情報のうち、上記実行経路に対応するソースコード情報を実行ソースコード情報として判別する実行ソースコード情報判別部と、
上記ソースコード情報記憶部が記憶したソースコード情報を表示し、上記実行ソースコード情報判別部が判別した実行ソースコード情報を強調して表示するソースコード情報表示部と、
上記制御信号取得部が取得した制御信号を表示する制御信号表示部と、
上記回路図情報記憶部が記憶した回路図情報を表示する回路図情報表示部とを有することを特徴とする解析支援装置。 - 上記ソースコード情報記憶部は、上記ソフトウェアのソースコードにおける制御の流れの分岐位置及び合流位置を示す制御フロー情報を記憶し、上記分岐位置における分岐条件を示す制御条件情報を記憶し、
上記解析支援装置は、
上記制御対象装置と接続して、上記制御対象装置の制御部が記憶する記憶内容を取得する記憶内容取得部と、
上記ソフトウェアのソースコードにおいて上記記憶内容を記述した変数と、上記変数によって記述された上記記憶内容との対応関係を示す変数記憶対応関係を記憶する記憶対応関係記憶部と、
上記ソースコード解析情報記憶部が記憶した制御フロー情報に基づいて、上記ソースコード情報記憶部が記憶したソースコード情報を上記分岐位置及び上記合流位置によって分割し、上記記憶対応関係記憶部が記憶した変数記憶対応関係に基づいて、上記記憶内容取得部が取得した記憶内容に対応する変数の値を判別し、上記ソースコード情報記憶部が記憶した制御条件情報に基づいて、上記分岐位置において、上記分岐条件を満たすかどうかを判別して、上記制御対象装置の制御部が実際に実行している上記ソフトウェアの実行経路を推定し、分割された上記ソースコード情報のうち、上記実行経路に対応するソースコード情報を実行ソースコード情報として判別する実行ソースコード情報判別部とを有し、
上記ソースコード情報表示部は、上記ソースコード情報記憶部が記憶したソースコード情報を表示し、上記実行ソースコード情報判別部が判別した実行ソースコード情報を強調して表示することを特徴とする請求項1乃至請求項12のいずれかに記載の解析支援装置。 - 実行可能なソフトウェアを内蔵した制御部と、上記制御部により制御される制御対象部とを有する解析対象装置の解析を支援する解析支援装置において、
上記ソフトウェアのソースコードの情報であるソースコード情報として、関数の定義位置、戻り値、引数、使用している広域変数、局所変数、マクロ、呼び出している関数、呼び出されている関数、関数のプログラム図の情報を含む関数情報と、広域変数の定義位置、型、使用されている位置の情報を含む広域変数情報と、局所変数の定義位置、型、使用されている位置の情報を含む局所変数情報と、引数の定義位置、型、使用されている位置の情報を含む引数情報と、型の定義位置、定義の実体、使用されている位置の情報を含む型情報と、マクロの定義、使用されている位置の情報を含むマクロ情報と、定数の使用されている位置の情報を含む定数情報と、関数スコープの中での広域変数の依存関係の情報を含む広域変数依存関係情報とのうち少なくともいずれかを記憶するソースコード情報記憶部と、
上記解析対象装置と接続して、上記解析対象装置の制御部と上記解析対象装置の制御対象部との間の制御信号を取得する制御信号取得部と、
上記解析対象装置の回路図の情報である回路図情報を記憶する回路図情報記憶部と、
上記ソースコード情報記憶部が記憶したソースコード情報を表示するソースコード情報表示部と、
上記制御信号取得部が取得した制御信号を表示する制御信号表示部と、
上記回路図情報記憶部が記憶した回路図情報を表示する回路図情報表示部とを有することを特徴とする解析支援装置。 - 上記ソースコード情報記憶部は、関数の定義位置、戻り値、引数、使用している広域変数、局所変数、マクロ、呼び出している関数、呼び出されている関数、関数のプログラム図の情報を含む関数情報を、上記ソースコード情報として記憶することを特徴とする請求項1乃至請求項17のいずれかに記載の解析支援装置。
- 上記ソースコード情報記憶部は、広域変数の定義位置、型、使用されている位置の情報を含む広域変数情報を、上記ソースコード情報として記憶することを特徴とする請求項1乃至18のいずれかに記載の解析支援装置。
- 上記ソースコード情報記憶部は、局所変数の定義位置、型、使用されている位置の情報を含む局所変数情報を、上記ソースコード情報として記憶することを特徴とする請求項1乃至請求項19のいずれかに記載の解析支援装置。
- 上記ソースコード情報記憶部は、引数の定義位置、型、使用されている位置の情報を含む引数情報を、上記ソースコード情報として記憶することを特徴とする請求項1乃至請求項20のいずれかに記載の解析支援装置。
- 上記ソースコード情報記憶部は、型の定義位置、定義の実体、使用されている位置の情報を含む型情報を、上記ソースコード情報として記憶することを特徴とする請求項1乃至請求項21のいずれかに記載の解析支援装置。
- 上記ソースコード情報記憶部は、マクロの定義、使用されている位置の情報を含むマクロ情報を、上記ソースコード情報として記憶することを特徴とする請求項1乃至請求項22のいずれかに記載の解析支援装置。
- 上記ソースコード情報記憶部は、定数の使用されている位置の情報を含む定数情報を、上記ソースコード情報として記憶することを特徴とする請求項1乃至請求項23のいずれかに記載の解析支援装置。
- 上記ソースコード情報記憶部は、関数スコープの中での広域変数の依存関係の情報を含む広域変数依存関係情報を、上記ソースコード情報として記憶することを特徴とする請求項1乃至請求項24のいずれかに記載の解析支援装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005143937A JP4667954B2 (ja) | 2005-05-17 | 2005-05-17 | 解析支援装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005143937A JP4667954B2 (ja) | 2005-05-17 | 2005-05-17 | 解析支援装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006323480A JP2006323480A (ja) | 2006-11-30 |
JP4667954B2 true JP4667954B2 (ja) | 2011-04-13 |
Family
ID=37543134
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005143937A Expired - Fee Related JP4667954B2 (ja) | 2005-05-17 | 2005-05-17 | 解析支援装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4667954B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008204446A (ja) * | 2007-01-26 | 2008-09-04 | National Institute Of Advanced Industrial & Technology | ソースファイル編集システム |
JP2008243042A (ja) * | 2007-03-28 | 2008-10-09 | Toshiba Corp | ハイブリッドモデルのシミュレーション装置、方法及びプログラム |
JP5516736B2 (ja) | 2010-07-20 | 2014-06-11 | 株式会社日立製作所 | ソフトウェア保守支援装置及びそれにより検証した電子制御装置 |
JPWO2014141352A1 (ja) * | 2013-03-11 | 2017-02-16 | 株式会社日立製作所 | システム制御装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001157235A (ja) * | 1999-11-30 | 2001-06-08 | Hitachi Commun Syst Inc | 蓄積プログラム制御式自動交換機 |
JP2002108649A (ja) * | 2000-09-29 | 2002-04-12 | Toshiba Corp | トレース解析を支援するためのプログラムを記録した記録媒体及びプログラム製品 |
JP2002312197A (ja) * | 2001-04-12 | 2002-10-25 | Toshiba Corp | 制御装置およびモニタ装置 |
JP2003108404A (ja) * | 2001-09-27 | 2003-04-11 | Toshiba Corp | デバッグ装置、デバッグ方法およびデバッグプログラム |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0573354A (ja) * | 1991-09-12 | 1993-03-26 | Mitsubishi Electric Corp | データ処理装置 |
JPH06171854A (ja) * | 1992-12-03 | 1994-06-21 | Hitachi Building Syst Eng & Service Co Ltd | エレベータの電気的結線図の表示装置 |
JPH06263357A (ja) * | 1993-03-12 | 1994-09-20 | Mitsubishi Electric Corp | エレベータの制御装置 |
JPH06274567A (ja) * | 1993-03-22 | 1994-09-30 | Mitsubishi Electric Corp | 論理シミュレーション装置 |
JPH08292881A (ja) * | 1995-04-24 | 1996-11-05 | Nec Corp | プログラム影響範囲表示装置 |
-
2005
- 2005-05-17 JP JP2005143937A patent/JP4667954B2/ja not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001157235A (ja) * | 1999-11-30 | 2001-06-08 | Hitachi Commun Syst Inc | 蓄積プログラム制御式自動交換機 |
JP2002108649A (ja) * | 2000-09-29 | 2002-04-12 | Toshiba Corp | トレース解析を支援するためのプログラムを記録した記録媒体及びプログラム製品 |
JP2002312197A (ja) * | 2001-04-12 | 2002-10-25 | Toshiba Corp | 制御装置およびモニタ装置 |
JP2003108404A (ja) * | 2001-09-27 | 2003-04-11 | Toshiba Corp | デバッグ装置、デバッグ方法およびデバッグプログラム |
Also Published As
Publication number | Publication date |
---|---|
JP2006323480A (ja) | 2006-11-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2019144680A1 (zh) | 自动化测试方法及装置、存储介质、电子设备 | |
JP4148527B2 (ja) | 機能テスト・スクリプト生成装置 | |
US9535821B1 (en) | Displaying violated coding rules in source code | |
US20100057667A1 (en) | Detection rule-generating facility | |
US8443342B2 (en) | Static analysis using interactive and integration tools | |
US20070162903A1 (en) | Systems and methods for identifying and displaying dependencies | |
CN105765528A (zh) | 具有可配置原点定义的应用执行路径跟踪 | |
US20120116561A1 (en) | Program testing apparatus, method of testing a program, and program testing program | |
CN102236550A (zh) | 软件开发工具 | |
JP2005258944A (ja) | プログラム解析装置、その解析方法及びプログラム | |
CN102236551A (zh) | 软件开发工具 | |
JP2015043198A (ja) | 解析システム、解析方法および解析プログラム | |
JP5556655B2 (ja) | 解析支援プログラム,解析支援装置および解析支援方法 | |
Grechanik et al. | Creating GUI testing tools using accessibility technologies | |
WO2019159397A1 (ja) | ソフトウェア可視化装置、ソフトウェア可視化方法およびソフトウェア可視化プログラム | |
JP4667954B2 (ja) | 解析支援装置 | |
US20120023054A1 (en) | Device and Method for Creating a Process Model | |
JP2012256178A (ja) | 情報処理装置及び情報処理方法及びプログラム | |
JP6199314B2 (ja) | 演算子の優先順位のグラフィカル表現 | |
JP4780308B2 (ja) | 制御プログラム開発支援装置及びコンピュータプログラム | |
CN115080448B (zh) | 一种软件代码不可达路径自动检测的方法和装置 | |
JP2010108223A (ja) | 障害イベントの検出を支援する装置、障害イベントの検出を支援する方法及びコンピュータプログラム | |
US20220129906A1 (en) | Intelligent self-serve diagnostics | |
GB2397905A (en) | Method for automatically generating and ordering test scripts | |
Agouf et al. | Understanding Class Name Regularity: A Simple Heuristic and Supportive Visualization. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080205 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20091119 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100608 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100802 |
|
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: 20110111 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110112 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140121 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4667954 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
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 |
|
LAPS | Cancellation because of no payment of annual fees |