JPH11232136A - オブジェクト指向ソフトウエア開発支援装置 - Google Patents

オブジェクト指向ソフトウエア開発支援装置

Info

Publication number
JPH11232136A
JPH11232136A JP10050029A JP5002998A JPH11232136A JP H11232136 A JPH11232136 A JP H11232136A JP 10050029 A JP10050029 A JP 10050029A JP 5002998 A JP5002998 A JP 5002998A JP H11232136 A JPH11232136 A JP H11232136A
Authority
JP
Japan
Prior art keywords
state
state transition
transition
code
software development
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
Application number
JP10050029A
Other languages
English (en)
Inventor
Hiroyuki Matsushima
弘幸 松島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP10050029A priority Critical patent/JPH11232136A/ja
Publication of JPH11232136A publication Critical patent/JPH11232136A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

(57)【要約】 【課題】 実装したコードの実行中に、分析モデルにお
ける状態と対応した状態遷移を表示することにより、実
装したコードが分析時の状態モデルと矛盾なく、かつ、
状態遷移が分析通りに生じているか否かを検証できるよ
うにすること。 【解決手段】 オブジェクト指向言語で記述されたソフ
トウエアの開発支援ツールおよびプログラムデバッガと
して利用されるオブジェクト指向ソフトウエア開発支援
装置において、オブジェクト指向言語で記述されたプロ
グラムの実行中に、オブジェクトの状態遷移を監視して
視覚的に表示する開発ツール104を備えている。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、オブジェクト指向
言語で記述されたソフトウエアの開発支援ツールおよび
プログラムデバッガとして利用されるオブジェクト指向
ソフトウエア開発支援装置に関し、より詳細には、遷移
状態の履歴を解析することによってソフトウエアの品質
を評価したり、知的なデバッグ支援に適用可能なオブジ
ェクト指向ソフトウエア開発支援装置に関する。
【0002】
【従来の技術】オブジェクト指向プログラミングにおい
ては、あるクラスのインスタンス(オブジェクト)は複
数の状態を取ることができる。他のオブジェクトとメッ
セージのやり取りを行うことにより、状態が代わり、ま
た状態によって振る舞いが変わる。この状態が変化する
ことを状態遷移という。
【0003】オブジェクト指向によりソフトウエアを開
発する際には、分析フェイズにおいてオブジェクトの状
態遷移を明確にすることが望ましい。また実装時にも状
態遷移を意識したデバック環境があることによってシー
ムレスなソフトウエア開発が行える。
【0004】ところで、従来技術において、システムの
状態遷移を表示する装置として、例えば、特開平7−2
81878号公報『システム状態遷移の表示方法および
その装置』に開示されている装置がある。この装置は、
複数の状態値の直積で表されるシステム状態の遷移に関
して、遷移前の状態値、遷移のきっかけとなったイベン
ト、遷移後の状態の組み合わせを入力することによっ
て、状態遷移を表示するものである。
【0005】Project Technology社
のオブジェクト指向分析・コード生成のためのCASE
ツールであるBridgePointは、分析モデルの
一部として状態遷移図を入力することが可能であり、M
odelVerifierによりモデルを実行・検証す
ることができ、この際、状態遷移のログを文字列により
表示することができる。
【0006】また、i−Logix社のRhapsod
yによれば、設計段階での実行・検証機能を備え、設計
段階における状態遷移のアニメーションによる表示が可
能である。
【0007】
【発明が解決しようとする課題】しかしながら、上記従
来技術によれば、オブジェクト指向ソフトウエア開発に
おいて、分析フェイズで構築したオブジェクトの状態モ
デルが、実際には様々な制約の元に設計・実装されるた
め、実装したコードが分析時の状態モデルと矛盾なく、
かつ、状態遷移が分析通りに生じているか否かを検証す
ることは困難であった。
【0008】また、特開平7−281878号公報によ
れば、システムの状態遷移を表示することが可能である
ものの、オブジェクト指向プログラムを対象としたもの
ではなく、さらに状態遷移をプログラム実行時に動的に
表示することはできなかった。
【0009】また、Project Technolo
gy社のBridgePointによれば、分析モデル
の状態遷移のログを文字列により表示することができる
ものの、実装したコードにおける状態遷移を表示するこ
とはできず、また必ずしも視覚的にわかりやすく表示さ
れるものではなかった。
【0010】さらに、i−Logix社のRhapso
dyによれば、設計段階における状態遷移のアニメーシ
ョンによる表示が可能であるものの、実装段階における
状態遷移を表示することはできなかった。
【0011】本発明は上記に鑑みてなされたものであっ
て、実装したコードの実行中に、分析モデルにおける状
態と対応した状態遷移を表示することにより、実装した
コードが分析時の状態モデルと矛盾なく、かつ、状態遷
移が分析通りに生じているか否かを検証できるようにす
ることを目的とする。
【0012】
【課題を解決するための手段】上記の目的を達成するた
めに、請求項1に係るオブジェクト指向ソフトウエア開
発支援装置は、オブジェクト指向言語で記述されたソフ
トウエアの開発支援ツールおよびプログラムデバッガと
して利用されるオブジェクト指向ソフトウエア開発支援
装置において、オブジェクト指向言語で記述されたプロ
グラムの実行中に、オブジェクトの状態遷移を監視して
視覚的に表示する状態遷移表示手段を備えたものであ
る。
【0013】また、請求項2に係るオブジェクト指向ソ
フトウエア開発支援装置は、請求項1記載のオブジェク
ト指向ソフトウエア開発支援装置において、ソースコー
ド中のクラスの属性フィールド(インスタンス変数,メ
ンバ変数)の組み合わせによりオブジェクトの状態を指
定するオブジェクト状態指定手段を備え、前記状態遷移
表示手段が、前記オブジェクト状態指定手段により指定
された変数を監視することにより状態遷移を表示するも
のである。
【0014】また、請求項3に係るオブジェクト指向ソ
フトウエア開発支援装置は、請求項1記載のオブジェク
ト指向ソフトウエア開発支援装置において、ソースコー
ド中のクラスのどの操作(インスタンスメソッド,メン
バ関数)の呼び出しにより状態の遷移が生じるかを指定
する呼出指定手段を備え、前記状態遷移表示手段が、前
記呼出指定手段によって指定された操作の呼び出しを監
視することにより状態遷移を表示するものである。
【0015】また、請求項4に係るオブジェクト指向ソ
フトウエア開発支援装置は、請求項2または3記載のオ
ブジェクト指向ソフトウエア開発支援装置において、前
記オブジェクト状態指定手段または呼出指定手段が、ソ
ースコード中に記述されたコメント文であり、前記状態
遷移表示手段が、前記コメント文を解釈して対応する変
数またはメソッド呼び出しを監視して、状態遷移を表示
するものである。
【0016】また、請求項5に係るオブジェクト指向ソ
フトウエア開発支援装置は、請求項2または3記載のオ
ブジェクト指向ソフトウエア開発支援装置において、前
記オブジェクト状態指定手段または呼出指定手段が、前
記プログラムの実行中に、前記指定された変数または操
作の呼び出しに基づいて元のソースコードに状態遷移の
監視および表示を行うためのコードを埋め込み、前記状
態遷移表示手段が、前記元のソースコードに埋め込まれ
たコードに基づいて状態遷移を監視して表示するもので
ある。
【0017】また、請求項6に係るオブジェクト指向ソ
フトウエア開発支援装置は、請求項1〜5記載のいずれ
か一つのオブジェクト指向ソフトウエア開発支援装置に
おいて、前記状態遷移表示手段が、オブジェクトの取り
うる全ての状態を特定のアイコンで表示し、状態が遷移
した際には前の状態のアイコンと現在の状態のアイコン
を結ぶ矢印を表示し、矢印の見た目によって過去の遷移
と最近の遷移を区別し、かつその遷移の生じた頻度を認
識可能に表示するものである。
【0018】さらに、請求項7に係るオブジェクト指向
ソフトウエア開発支援装置は、請求項1〜6記載のいず
れか一つのオブジェクト指向ソフトウエア開発支援装置
において、さらに、前記オブジェクト指向言語で記述さ
れたプログラムの実行中に状態遷移が生じると、状態が
遷移する毎に、前記プログラムの実行を一定時間停止し
て再開するか、または一時停止して所定の入力装置から
の要求によって再開するプログラム実行制御手段を備え
たものである。
【0019】
【発明の実施の形態】以下、本発明に係るオブジェクト
指向ソフトウエア開発支援装置の一実施の形態につい
て、添付の図面を参照して詳細に説明する。
【0020】図1は、本実施の形態に係るオブジェクト
指向ソフトウエア開発支援装置のブロック構成図を示し
ている。このオブジェクト指向ソフトウエア開発支援装
置は、オブジェクト指向言語で記述されたソフトウエア
の開発支援ツールおよびプログラムデバッガとして利用
されるものである。図1において、101はオブジェク
ト指向言語で記述されたソースコード103や後述する
状態遷移の定義等を入力するための入力装置、102は
入力装置101から入力されたソースコード103を入
力して記憶する記憶装置、104はオブジェクトの遷移
状態を定義する処理を行い、定義したオブジェクトの遷
移状態を表示するためのコードをソースコード103に
挿入する処理を行うコード処理部105およびオブジェ
クトの状態遷移を監視してオブジェクトの状態遷移を視
覚的に表示する実行制御部106を含む開発ツール(ソ
フトウエア)、107は表示装置をそれぞれ示してい
る。
【0021】つぎに、上記のような構成を有するオブジ
ェクト指向ソフトウエア開発支援装置の詳細について、 (1)基本動作 (2)状態遷移の定義 (3)状態遷移監視・表示用コードの挿入処理 (4)プログラムの実行制御の順で説明する。
【0022】(1)基本動作 まず、本実施の形態に係るオブジェクト指向ソフトウエ
ア開発支援装置の基本動作について説明する。このオブ
ジェクト指向ソフトウエア開発支援装置は、オブジェク
ト指向言語で記述されたプログラムの実行中に、オブジ
ェクトの状態遷移を監視して視覚的に表示できるように
したことを特徴としている。すなわち、本実施の形態に
係る装置は、プログラムの実行によって遷移状態を表示
させたいクラスのオブジェクトが生成されると、生成さ
れたオブジェクトに対応するウインドウを1つ生成し、
生成したウインドウにオブジェクトの遷移状態を表示す
るものである。
【0023】図2は、オブジェクトの遷移状態の表示例
を示す説明図である。開発ツール104の実行制御部1
06は、プログラムの実行によってオブジェクトが生成
されると、生成されたオブジェクトに対応するウインド
ウを生成し、図2に示すように生成したウインドウ内に
オブジェクトの各状態を表す矩形(例えばアイコン:状
態1〜状態5)を表示する。図2において、現在のオブ
ジェクトの遷移状態を表す矩形は他の矩形と区別できる
ように、例えば他の遷移状態を示す矩形と異なる色を用
いてハイライト表示する(状態2)。プログラムの実行
を開始し、オブジェクトの状態が遷移すると、前の状態
を表す矩形から現在の状態を表す矩形に向かって矢印を
表示する。なお、本実施の形態において図2に示したよ
うにオブジェクトの遷移状態を表示するためには、オブ
ジェクトの遷移状態を定義する処理および定義したオブ
ジェクトの遷移状態を表示するためのコードをソースコ
ード103に挿入する処理を予め行っておく必要があ
る。この2つの処理については後に詳細に説明すること
にする。
【0024】このように、オブジェクトの遷移状態を監
視して視覚的に表示することにしたため、実装したコー
ドの実行中に分析モデルにおける状態と対応した状態遷
移を表示し、実装したコードが分析時の状態モデルと矛
盾なく、かつ、状態遷移が分析通りに生じているか否か
を容易に検証することができる。
【0025】なお、オブジェクトの前の状態を表す矩形
から現在の状態を表す矩形に向かって矢印を表示する処
理を繰り返していくと、オブジェクトの状態間の遷移の
様子を表示した矢印が混在して状態遷移の様子がわかり
にくくなるため、例えば、最近の遷移と過去3回の遷移
を区別することができるように矢印の色を変え、また、
遷移が起こった回数に応じて矢印の太さを太くするよう
にする。その結果、状態遷移の履歴を区別して表示する
ことができ、状態遷移の表示が見やすくなり、さらに、
履歴の解析を容易に行うことが可能となる。
【0026】また、オブジェクトが、後述する遷移状態
を定義する処理で定義していない状態に遷移した場合に
は、新たにこの状態を表す矩形を表示することによって
対処することができる。
【0027】(2)状態遷移の定義 次に、上述したオブジェクトの状態遷移の様子を視覚的
に表示できるようにするための前処理である状態遷移を
定義する方法について説明する。オブジェクトの状態遷
移を定義する方法としては、 ソースコード中のクラスの属性フィールド(インス
タンス変数,メンバ変数)の組み合わせによりオブジェ
クトの状態を指定する方法 ソースコード中のクラスのどの操作(インスタンス
メソッド,メンバ関数)の呼び出しにより状態の遷移が
生じるかを指定する方法 ソースコード中にコメントとして記述することによ
りオブジェクトの状態遷移を指定する方法がある。以下
に、これら〜の方法について説明する。
【0028】 ソースコード中のクラスの属性フィー
ルド(インスタンス変数,メンバ変数)の組み合わせに
よりオブジェクトの状態を指定する方法 開発ツール104に対象となるソースコード103を入
力すると、開発ツール104のコード処理部105はソ
ースコード103の構文を解析し、ソースコード103
に含まれるクラスと属性フィールドを表示する。ユーザ
がこの中からオブジェクトの状態を表す1つ以上の属性
を選択すると、コード処理部105は、属性の型によっ
て表1に示すような情報を入力することができるパネル
を表示装置107に画面表示する。
【0029】
【表1】
【0030】図3〜図5は、ソースコード中のクラスの
属性フィールド(インスタンス変数,メンバ変数)の組
み合わせによりオブジェクトの状態を指定するためのパ
ネルの例を示す説明図である。図3〜図5に示すパネル
は、パネルに入力された状態に対応する状態名も入力す
ることができるように構成されている。ユーザは、図3
〜図5に示すパネルを用いて、ソースコード中のクラス
の属性フィールドの組み合わせによりオブジェクトの状
態を指定し、遷移状態を定義する処理を行う。
【0031】そして、コード処理部105は、後述する
ように、定義したオブジェクトの遷移状態を表示するた
めのコードをソースコード103に挿入する処理を行う
と共に、実行制御部106は、プログラムの実行中に、
上述したようにして定義されたオブジェクトの状態(変
数)を監視(コード処理部105によってソースコード
103に挿入されたコードを監視)することにより、図
2に示したようにオブジェクトの状態遷移を表示する。
【0032】なお、複数の属性を指定した場合、上述し
た方法に代えて、各属性値の分類を設定してそれらの直
積によって全ての状態を定義することも可能である。
【0033】このの方法によれば、プログラムの状態
をきめ細かく設定することができると共に、プログラム
実行中に、定義していない状態へオブジェクトが遷移し
たことが確認された場合、プログラムに不具合があるこ
とを容易に検知することができる。
【0034】 ソースコード中のクラスのどの操作
(インスタンスメソッド,メンバ関数)の呼び出しによ
り状態の遷移が生じるかを指定する方法 開発ツール104に対象となるソースコード103を入
力すると、開発ツール104のコード処理部105は、
ソースコード103の構文を解析し、ソースコード10
3に含まれるクラスとその操作を表示する。ユーザがこ
の中からオブジェクトの状態を遷移させる操作を選択す
ると、コード処理部105は遷移前後の状態名の入力が
可能なパネル(図示せず)を表示する。すなわち、ユー
ザは、ソースコード103中のクラスのどの操作の呼び
出しにより状態の遷移が生じるかを指定することによ
り、オブジェクトの遷移状態を定義する。
【0035】そして、コード処理部105は、後述する
ように、定義したオブジェクトの遷移状態を表示するた
めのコードをソースコード103に挿入する処理を行う
と共に、実行制御部106は、プログラムの実行中に、
上述したようにして定義された操作の呼び出しを監視
(コード処理部105によってソースコード103に挿
入されたコードを監視)することにより、図2に示した
ようにオブジェクトの状態遷移を表示する。
【0036】このの方法によれば、容易にプログラム
の遷移状態を定義することができる。
【0037】 ソースコード中にコメントとして記述
することによりオブジェクトの状態遷移を指定する方法 例えば、図6に示す形式のコメントをソースコード10
3に記述しておく。そして、開発ツール104に対象と
なるソースコード103を入力すると、開発ツール10
4は、ソースコード103の構文を解析し、コメント文
から状態遷移に関する情報を抽出する。すなわち、この
方法は、ソースコード103中のコメント文として、ソ
ースコード103中のクラスの属性フィールド(インス
タンス変数,メンバ変数)の組み合わせによるオブジェ
クトの状態を指定し(の方法に対応)、または、ソー
スコード103中のクラスのどの操作(インスタンスメ
ソッド,メンバ関数)の呼び出しにより状態の遷移が生
じるかを指定する(の方法に対応)ことによって状態
遷移を定義しておき、開発ツール104がコースコード
103中のコメント文を参照して状態遷移の定義を抽出
するというものである。
【0038】そして、コード処理部105は、後述する
ように、定義したオブジェクトの遷移状態を表示するた
めのコードをソースコード103に挿入する処理を行う
と共に、実行制御部106は、プログラムの実行中に、
ソースコード103中のコメントから抽出したオブジェ
クトの状態(変数)または操作の呼び出しを監視(コー
ド処理部105によってソースコード103に挿入され
たコードを監視)することにより、図2に示したように
オブジェクトの状態遷移を表示する。
【0039】このの方法によれば、コメント文を用い
て容易にオブジェクトの状態の定義を行うことができ、
遷移状態を定義するためのユーザインターフェイスを別
途開発したり、備えたりする必要がなく、オブジェクト
指向ソフトウエア開発支援装置の作業性・利便性の向上
を図ることができる。
【0040】(3)状態遷移監視・表示用コードの挿入
処理 続いて、上述したようにして定義された状態遷移を視覚
的に表示することができるようにするためのコードをソ
ースコード103中に挿入する処理について説明する。
このようなコードをソースコード103中に挿入してお
くことにより、図2に示したようなオブジェクトの状態
遷移の様子を監視し、かつ、表示することが可能とな
る。
【0041】コード処理部105は、上述したようにし
て状態遷移が定義されると、状態遷移の定義に基づい
て、状態遷移の監視と表示を行うためのコードを元のソ
ースコード103中に自動的に挿入する処理を実行す
る。このコードの挿入処理について、 ソースコード中のクラスの属性フィールド(インス
タンス変数,メンバ変数)の組み合わせによりオブジェ
クトの遷移状態を定義した場合(「(2)状態遷移の定
義」で説明したおよびの方法に対応) ソースコード中のクラスのどの操作(インスタンス
メソッド,メンバ関数)の呼び出しにより状態の遷移が
生じるかを指定することによりオブジェクトの遷移状態
を定義した場合(「(2)状態遷移の定義」で説明した
およびの方法に対応)の順で説明する。
【0042】 ソースコード中のクラスの属性フィー
ルドの組み合わせによりオブジェクトの遷移状態を定義
した場合 コード処理部105は、ソースコード103を構文解析
して、指定された属性の値が更新される個所を調査する
処理を実行し、属性が更新される個所の直後に、状態遷
移の表示を行う処理を呼び出すためのコードを挿入する
(コードを埋め込む)。換言すれば、属性が更新される
ことによって、上述したようにして定義された状態の遷
移が起こっているか否かを調査し、状態遷移している場
合には図2に示した状態遷移の表示を更新するためのコ
ードをソースコード102中に挿入する。
【0043】 ソースコード中のクラスのどの操作の
呼び出しにより状態の遷移が生じるかを指定することに
よりオブジェクトの遷移状態を定義した場合 コード処理部105は、ソースコード103を構文解析
して、操作の定義の先頭に、状態遷移の表示を行う処理
を呼び出すためのコードを挿入する(コードを埋め込
む)。その結果、挿入されたコードの内容に従って図2
に示した状態遷移の表示が更新される。
【0044】そして、実行制御部106は、上記およ
びで説明したコードを監視する(オブジェクトの状態
遷移を監視する)ことにより、図2に示したようにオブ
ジェクトの状態遷移の様子を視覚的に表示する。
【0045】このように、コード処理部105がオブジ
ェクトの遷移状態の定義に従ってソースコード103中
にオブジェクトの状態遷移の監視および表示を行うため
のコードを埋め込み、実行制御部106がソースコード
103中に埋め込まれたコードに基づいてオブジェクト
の状態遷移の様子を監視して表示するため、プログラム
の実行環境を新たに開発することなく、図2に示したオ
ブジェクトの状態遷移の表示を実現することができる。
【0046】(4)プログラムの実行制御 「(3)状態遷移監視・表示用コードの挿入処理」で説
明したコードをソースコード103中に埋め込む際に、
その埋め込む位置にプログラムの実行を制御するための
コードをさらに埋め込むことによってプログラムの実行
スピードを調整したり、プログラムを停止させたりする
ことができる。このコードは、開発ツール104で設定
可能なある一定時間停止する処理,または一時停止して
ユーザ(入力装置101)からの入力によって実行を再
開する処理を記述したものである。このコードは、プロ
グラムが並行処理を含んでいるような場合、状態遷移を
生じたスレッド以外のスレッドも全て一時停止させる処
理を含む。なお、このコードをソースコード103中に
埋め込む処理は、コード処理部105で行うことができ
る。
【0047】そして、実行制御部106は、上記のよう
にして埋め込まれたコードに従って、プログラムの実行
を制御することができる。その結果、オブジェクトの状
態遷移の起こるタイミングでプログラムを一時停止し、
オブジェクトの状態遷移の分析作業を行い易くすること
ができる。
【0048】このように、本実施の形態に係るオブジェ
クト指向ソフトウエア開発支援装置によれば、実装した
コードの実行中に、分析モデルにおける状態と対応した
状態遷移を表示することにより、実装したコードが分析
時の状態モデルと矛盾なく、かつ、状態遷移が分析通り
に生じているか否かを検証することが可能となる。
【0049】以上説明した本実施の形態に係るオブジェ
クト指向ソフトウエア開発支援装置は、上述した処理を
実行するための予め用意されたプログラムをコンピュー
タで実行することによって実現される。このプログラム
は、ハードディスク,フロッピーディスク,CD−RO
M,MO,DVD等のコンピュータで読み取り可能な記
録媒体に記録され、コンピュータによって記録媒体から
読み出されて実行される。また、このプログラムは、上
記記録媒体を介して、またはネットワークを介して配布
することができる。
【0050】
【発明の効果】以上説明したように、本発明のオブジェ
クト指向ソフトウエア開発支援装置(請求項1)は、オ
ブジェクト指向言語で記述されたソフトウエアの開発支
援ツールおよびプログラムデバッガとして利用されるオ
ブジェクト指向ソフトウエア開発支援装置において、オ
ブジェクト指向言語で記述されたプログラムの実行中
に、オブジェクトの状態遷移を監視して視覚的に表示す
る状態遷移表示手段を備えたため、実装したコードの実
行中に、分析モデルにおける状態と対応した状態遷移を
表示し、実装したコードが分析時の状態モデルと矛盾な
く、かつ、状態遷移が分析通りに生じているか否かを検
証することができる。また、オブジェクトの状態遷移を
表示するためのデバックコードを記述することなく、視
覚的に理解しやすい形式で状態遷移を表示することがで
きる。
【0051】また、本発明のオブジェクト指向ソフトウ
エア開発支援装置(請求項2)は、請求項1記載のオブ
ジェクト指向ソフトウエア開発支援装置において、ソー
スコード中のクラスの属性フィールド(インスタンス変
数,メンバ変数)の組み合わせによりオブジェクトの状
態を指定するオブジェクト状態指定手段を備え、状態遷
移表示手段が、オブジェクト状態指定手段により指定さ
れた変数を監視することにより状態遷移を表示するた
め、プログラムの状態をきめ細かく設定することができ
る。また、プログラム実行中に、ここで設定していない
状態への遷移が確認された場合、プログラムに不具合が
あることが検知できる。
【0052】また、本発明のオブジェクト指向ソフトウ
エア開発支援装置(請求項3)は、請求項1記載のオブ
ジェクト指向ソフトウエア開発支援装置において、ソー
スコード中のクラスのどの操作(インスタンスメソッ
ド,メンバ関数)の呼び出しにより状態の遷移が生じる
かを指定する呼出指定手段を備え、状態遷移表示手段
が、呼出指定手段によって指定された操作の呼び出しを
監視することにより状態遷移を表示するため、容易にプ
ログラムの状態遷移を入力することができる。
【0053】また、本発明のオブジェクト指向ソフトウ
エア開発支援装置(請求項4)は、請求項2または3記
載のオブジェクト指向ソフトウエア開発支援装置におい
て、オブジェクト状態指定手段または呼出指定手段が、
ソースコード中に記述されたコメント文であり、状態遷
移表示手段が、コメント文を解釈して対応する変数また
はメソッド呼び出しを監視して、状態遷移を表示するた
め、コメント文を用いて容易に状態の定義を行うことが
でき、状態定義を入力するためのユーザインターフェイ
スを別途開発したり、備えたりする必要がなく、作業性
・利便性の向上を図ることができる。
【0054】また、本発明のオブジェクト指向ソフトウ
エア開発支援装置(請求項5)は、請求項2または3記
載のオブジェクト指向ソフトウエア開発支援装置におい
て、オブジェクト状態指定手段または呼出指定手段が、
プログラムの実行中に、指定された変数または操作の呼
び出しに基づいて元のソースコードに状態遷移の監視お
よび表示を行うためのコードを埋め込み、状態遷移表示
手段が、元のソースコードに埋め込まれたコードに基づ
いて状態遷移を監視して表示するため、プログラムの実
行環境を新たに開発することなく、状態遷移の表示を実
現することができる。
【0055】また、本発明のオブジェクト指向ソフトウ
エア開発支援装置(請求項6)は、請求項1〜5記載の
いずれか一つのオブジェクト指向ソフトウエア開発支援
装置において、状態遷移表示手段が、オブジェクトの取
りうる全ての状態を特定のアイコンで表示し、状態が遷
移した際には前の状態のアイコンと現在の状態のアイコ
ンを結ぶ矢印を表示し、矢印の見た目によって過去の遷
移と最近の遷移を区別し、かつその遷移の生じた頻度を
認識可能に表示するため、状態遷移の履歴を区別して表
示することができ、状態遷移の表示が見やすくなり、ま
た履歴の解析を容易に行うことができる。
【0056】さらに、本発明のオブジェクト指向ソフト
ウエア開発支援装置(請求項7)は、請求項1〜6記載
のいずれか一つのオブジェクト指向ソフトウエア開発支
援装置において、さらに、オブジェクト指向言語で記述
されたプログラムの実行中に状態遷移が生じると、状態
が遷移する毎に、プログラムの実行を一定時間停止して
再開するか、または一時停止して所定の入力装置からの
要求によって再開するプログラム実行制御手段を備えた
ため、状態遷移の起こるタイミングでプログラムの実行
を一時停止し、状態遷移の分析作業を行い易くすること
ができる。
【図面の簡単な説明】
【図1】本発明の実施の形態に係るオブジェクト指向ソ
フトウエア開発支援装置のブロック構成図を示してい
る。
【図2】本発明の実施の形態に係るオブジェクト指向ソ
フトウエア開発支援装置において、オブジェクトの遷移
状態の表示例を示す説明図である。
【図3】本発明の実施の形態に係るオブジェクト指向ソ
フトウエア開発支援装置において、ソースコード中のク
ラスの属性フィールド(インスタンス変数,メンバ変
数)の組み合わせによりオブジェクトの状態を指定する
ためのパネルの例を示す説明図である。
【図4】本発明の実施の形態に係るオブジェクト指向ソ
フトウエア開発支援装置において、ソースコード中のク
ラスの属性フィールド(インスタンス変数,メンバ変
数)の組み合わせによりオブジェクトの状態を指定する
ためのパネルの例を示す説明図である。
【図5】本発明の実施の形態に係るオブジェクト指向ソ
フトウエア開発支援装置において、ソースコード中のク
ラスの属性フィールド(インスタンス変数,メンバ変
数)の組み合わせによりオブジェクトの状態を指定する
ためのパネルの例を示す説明図である。
【図6】本発明の実施の形態に係るオブジェクト指向ソ
フトウエア開発支援装置において、ソースコード中にコ
メントとして記述することによりオブジェクトの状態遷
移を指定する方法を説明するための説明図である。
【符号の説明】
101 入力装置 102 記憶装置 103 ソースコード 104 開発ツール 105 コード処理部 106 実行制御部

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】 オブジェクト指向言語で記述されたソフ
    トウエアの開発支援ツールおよびプログラムデバッガと
    して利用されるオブジェクト指向ソフトウエア開発支援
    装置において、 オブジェクト指向言語で記述されたプログラムの実行中
    に、オブジェクトの状態遷移を監視して視覚的に表示す
    る状態遷移表示手段を備えたことを特徴とするオブジェ
    クト指向ソフトウエア開発支援装置。
  2. 【請求項2】 ソースコード中のクラスの属性フィール
    ド(インスタンス変数,メンバ変数)の組み合わせによ
    りオブジェクトの状態を指定するオブジェクト状態指定
    手段を備え、 前記状態遷移表示手段は、前記オブジェクト状態指定手
    段により指定された変数を監視することにより状態遷移
    を表示することを特徴とする請求項1記載のオブジェク
    ト指向ソフトウエア開発支援装置。
  3. 【請求項3】 ソースコード中のクラスのどの操作(イ
    ンスタンスメソッド,メンバ関数)の呼び出しにより状
    態の遷移が生じるかを指定する呼出指定手段を備え、 前記状態遷移表示手段は、前記呼出指定手段によって指
    定された操作の呼び出しを監視することにより状態遷移
    を表示することを特徴とする請求項1記載のオブジェク
    ト指向ソフトウエア開発支援装置。
  4. 【請求項4】 前記オブジェクト状態指定手段または呼
    出指定手段は、ソースコード中に記述されたコメント文
    であり、前記状態遷移表示手段は、前記コメント文を解
    釈して対応する変数またはメソッド呼び出しを監視し
    て、状態遷移を表示することを特徴とする請求項2また
    は3記載のオブジェクト指向ソフトウエア開発支援装
    置。
  5. 【請求項5】 前記オブジェクト状態指定手段または呼
    出指定手段は、前記プログラムの実行中に、前記指定さ
    れた変数または操作の呼び出しに基づいて元のソースコ
    ードに状態遷移の監視および表示を行うためのコードを
    埋め込み、前記状態遷移表示手段は、前記元のソースコ
    ードに埋め込まれたコードに基づいて状態遷移を監視し
    て表示することを特徴とする請求項2または3記載のオ
    ブジェクト指向ソフトウエア開発支援装置。
  6. 【請求項6】 前記状態遷移表示手段は、オブジェクト
    の取りうる全ての状態を特定のアイコンで表示し、状態
    が遷移した際には前の状態のアイコンと現在の状態のア
    イコンを結ぶ矢印を表示し、矢印の見た目によって過去
    の遷移と最近の遷移を区別し、かつその遷移の生じた頻
    度を認識可能に表示することを特徴とする請求項1〜5
    記載のいずれか一つのオブジェクト指向ソフトウエア開
    発支援装置。
  7. 【請求項7】 さらに、前記オブジェクト指向言語で記
    述されたプログラムの実行中に状態遷移が生じると、状
    態が遷移する毎に、前記プログラムの実行を一定時間停
    止して再開するか、または一時停止して所定の入力装置
    からの要求によって再開するプログラム実行制御手段を
    備えたことを特徴とする請求項1〜6記載のいずれか一
    つのオブジェクト指向ソフトウエア開発支援装置。
JP10050029A 1998-02-17 1998-02-17 オブジェクト指向ソフトウエア開発支援装置 Pending JPH11232136A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10050029A JPH11232136A (ja) 1998-02-17 1998-02-17 オブジェクト指向ソフトウエア開発支援装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10050029A JPH11232136A (ja) 1998-02-17 1998-02-17 オブジェクト指向ソフトウエア開発支援装置

Publications (1)

Publication Number Publication Date
JPH11232136A true JPH11232136A (ja) 1999-08-27

Family

ID=12847583

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10050029A Pending JPH11232136A (ja) 1998-02-17 1998-02-17 オブジェクト指向ソフトウエア開発支援装置

Country Status (1)

Country Link
JP (1) JPH11232136A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008077317A (ja) * 2006-09-20 2008-04-03 I L C:Kk 検証装置、検証プログラム、および検証方法
WO2008056419A1 (fr) * 2006-11-09 2008-05-15 Panasonic Corporation Dispositif de vérification de logiciel et procédé d'évaluation d'interface api
JP2010250378A (ja) * 2009-04-10 2010-11-04 Nec Corp ソフトウェア開発支援装置、システム、ソフトウェア開発支援装置の機能拡張方法、及びプログラム
JP2012141909A (ja) * 2011-01-06 2012-07-26 Hitachi Ltd 異常検知方法およびそれを用いた情報処理システム
US11106478B2 (en) 2017-11-10 2021-08-31 Mitsubishi Electric Corporation Simulation device, simulation method, and computer readable medium

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008077317A (ja) * 2006-09-20 2008-04-03 I L C:Kk 検証装置、検証プログラム、および検証方法
JP4747060B2 (ja) * 2006-09-20 2011-08-10 株式会社アイ・エル・シー 検証装置、検証プログラム、および検証方法
WO2008056419A1 (fr) * 2006-11-09 2008-05-15 Panasonic Corporation Dispositif de vérification de logiciel et procédé d'évaluation d'interface api
JP2010250378A (ja) * 2009-04-10 2010-11-04 Nec Corp ソフトウェア開発支援装置、システム、ソフトウェア開発支援装置の機能拡張方法、及びプログラム
JP2012141909A (ja) * 2011-01-06 2012-07-26 Hitachi Ltd 異常検知方法およびそれを用いた情報処理システム
US11106478B2 (en) 2017-11-10 2021-08-31 Mitsubishi Electric Corporation Simulation device, simulation method, and computer readable medium

Similar Documents

Publication Publication Date Title
CN108108297B (zh) 自动化测试的方法和装置
US6593940B1 (en) Method for finding errors in multithreaded applications
US6898764B2 (en) Method, system and program product for determining differences between an existing graphical user interface (GUI) mapping file and a current GUI
US6055369A (en) Apparatus for visual programming with screen flow
US9600519B2 (en) Method and system to detect changes to graphical user interface screenshots used in documentation
WO2020134633A1 (zh) 一种应用程序的开发方法、装置及集成开发工具
JP2012018583A (ja) ソフトウェア開発支援装置及びその処理方法
Aho et al. Automated Java GUI modeling for model-based testing purposes
CN112506500B (zh) 一种可视化控件创建方法及装置
JPH11232136A (ja) オブジェクト指向ソフトウエア開発支援装置
Arts et al. Trace analysis of Erlang programs
JP2553801B2 (ja) グラフィカルユーザインタフェース管理方式
Belli et al. Advances in model-based testing of graphical user interfaces
US20090288066A1 (en) Editing apparatus and method for test driven development
JPH06332689A (ja) プログラムの表示方法およびプログラムの編集受付け方法
JPH10149301A (ja) スクリプト作成装置
JPH0554277A (ja) プラント監視装置
Biddle et al. Reuse of debuggers for visualization of reuse
DeLine et al. Lessons on converting batch systems to support interaction: Experience report
JPH02275539A (ja) デバッグ処理方式
WO2023248307A1 (ja) 操作支援システム、操作支援方法および操作支援プログラム
CN114398290B (zh) 一种程序调试方法、装置、设备及介质
Kobialka et al. User interfaces supporting the software process
JP2000047862A (ja) ソフトウエア開発支援方法および装置並びに記録媒体
CN117075874A (zh) Scade模型与c代码的映射工具

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050808

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050816

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051017

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20051115