JP2002366357A - オブジェクト指向プログラミング装置、オブジェクト指向プログラミング支援装置、コンポーネント作成装置、オブジェクト指向プログラム記憶媒体、オブジェクト指向プログラミング用プログラム記憶媒体、コンポーネント記憶媒体、およびオブジェクト間ネットワーク表示方法 - Google Patents

オブジェクト指向プログラミング装置、オブジェクト指向プログラミング支援装置、コンポーネント作成装置、オブジェクト指向プログラム記憶媒体、オブジェクト指向プログラミング用プログラム記憶媒体、コンポーネント記憶媒体、およびオブジェクト間ネットワーク表示方法

Info

Publication number
JP2002366357A
JP2002366357A JP2002119772A JP2002119772A JP2002366357A JP 2002366357 A JP2002366357 A JP 2002366357A JP 2002119772 A JP2002119772 A JP 2002119772A JP 2002119772 A JP2002119772 A JP 2002119772A JP 2002366357 A JP2002366357 A JP 2002366357A
Authority
JP
Japan
Prior art keywords
objects
message
wiring
instruction
data
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.)
Granted
Application number
JP2002119772A
Other languages
English (en)
Other versions
JP3810704B2 (ja
Inventor
Shiro Nagashima
史朗 永嶋
Yoshikazu Ueki
美和 植木
Kaori Endou
香緒里 遠藤
Ryosuke Suda
良輔 須田
Asako Yumoto
麻子 湯本
Tsugihito Maruyama
次人 丸山
Shigeru Sasaki
繁 佐々木
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2002119772A priority Critical patent/JP3810704B2/ja
Publication of JP2002366357A publication Critical patent/JP2002366357A/ja
Application granted granted Critical
Publication of JP3810704B2 publication Critical patent/JP3810704B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】本発明は、オブジェクト指向プログラミングに
関し、ソフトウェアの再利用性を高め、かつ実行速度を
向上させる。 【解決手段】オブジェクトAのデータ格納領域へのポイ
ンタが配列されてなるデータ要素リストと、オブジェク
トBのポインタ格納領域へのポインタが配列されてなる
ポインタ要素リストを生成し、それらデータ要素リスト
とポインタ要素リストを結合することにより、オブジェ
クトAのデータをオブジェクトBから直接に参照できる
ようにする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、オブジェクト指向
プログラミングを行なうオブジェクト指向プログラミン
グ装置、オブジェクト指向プログラミングを支援するオ
ブジェクト指向プログラミング支援装置、オブジェクト
の一部をなすコンポーネントを作成するコンポーネント
作成装置、オブジェクト指向プログラムが格納されたオ
ブジェクト指向プログラム記憶媒体、オブジェクト指向
プログラミングを支援するプログラムが格納されたオブ
ジェクト指向プログラミング用プログラム記憶媒体、コ
ンポーネントが格納されたコンポーネント記憶媒体、お
よび、オブジェクト指向プログラミングにより生成され
る複数のオブジェクトについて、データの共有によるデ
ータ結合や、オブジェクト間の制御フローの結合などを
オブジェクトのネットワークとして視覚的に表示するオ
ブジェクト間ネットワーク表示方法に関する。
【0002】
【従来の技術】コンピュータに組み込まれて動作するプ
ログラムを記述するにあたり、従前には、関数名(コマ
ンド)と変数を順番に記述してプログラミングを行なっ
ていた。このようなプログラミング方法の場合、全てを
コマンドで記述していく必要があるため、コマンドをい
ちいちマニュアルで調べたり、あるいは多数のコマンド
を覚えている必要がある。このようなコマンドはプログ
ラム言語ごとに異なり、あるプログラム言語のコマンド
を多数覚えても、他のプログラム言語で記述しようとす
るときは、そのプログラム言語のコマンドを覚え直さな
ければならないという不都合もある。さらには、プログ
ラムのフォーマットもプログラム言語毎に異なってい
る。これらのことが、プログラムの記述を難かしくして
おり、プログラムの開発は、素人には中々入りこめない
特殊な分野であるかのような印象を与えていた。近年、
プログラムがますます大規模化、複雑化してきており、
プログラムの開発を容易にし、また、一旦開発したプロ
グラムの再利用を図る必要性がますます高まってきてい
る。
【0003】このような背景の中で、近年、オブジェク
ト指向プログラミングが広く採用されてきている。ここ
で、オブジェクトとは、「データ」と「そのデータに関
する処理」とを併せ持ったデータ構造をいい、オブジェ
クト指向とは、「データ」と「そのデータに関する処
理」、すなわちオブジェクトを単位として取り扱う考え
方をいう。このオブジェクト指向プログラミングにおい
ても、もともとは個々のソフトウェア(オブジェクト)
を作成する必要はあるか、個々のオブジェクトを一旦作
成した後は、あるオブジェクトから別のオブジェクトを
呼び出すという、オブジェクトどうしの接続関係を記述
することによりプログラミングが完結することになる。
このような考え方を取り入れたオブジェクト指向プログ
ラミングにより、大規模化、複雑化するソフトウェアの
使い勝手、作り方、メンテナンスが格段に向上すると期
待されている。
【0004】オブジェクト指向プログラムにおいては、
あるオブジェクトから別のオブジェクトを呼び出す処理
は、呼び出す側のオブジェクトから呼び出される側のオ
ブジェクトに向けてメッセージを発行し、呼び出される
側のオブジェクトではそのメッセージを受け取ってその
メッセージに対応するメソッド(処理)を実行するとい
う、メッセージ、メソッドという概念が用いられる。メ
ソッドの実行に必要なデータは、従来は、メッセージの
引数として与えられている。
【0005】
【発明が解決しようとする課題】オブジェクト指向プロ
グラミングが目指す目標の1つとして、一度作成したソ
フトウェア(オブジェクト)を、システムが変更されて
も再利用できるようにすることにある。これを行なうに
は、比較的小さく単純なオブジェクトを作成する必要が
ある。
【0006】ところが、従来は、受け取ったメッセージ
にどのメソッドが対応するかを認識するのに時間がかか
ったり、メッセージを発行するオブジェクトからメソッ
ドを実行するオブジェクトへのデータの受け渡しに時間
がかかり、一般に、オブジェクト指向プログラムは実行
速度が遅いと言われている。
【0007】この実行速度を向上させるために、従来、
1つのオブジェクト内での処理を増やし、他のオブジェ
クトに向けてメッセージを発行する機会を少なくする手
法が採られており、この場合、1つのオブジェクト内で
の処理が複雑化し、オブジェクトが大型化し、上述の再
利用性と相反することとなり、オブジェクト指向プログ
ラミングにおいてソフトウェアの再利用性が進まない原
因の1つとなっている。
【0008】また、オブジェクト指向プログラミングを
推進するにあたって大きな問題となるのは、オブジェク
ト指向という考えには基づいていない、従来から蓄積さ
れてきた多数のソフトウェアの取扱いである。これまで
に提案されているオブジェクト指向プログラミング手法
では、既存のソフトウェアの再利用性がきわめて低いと
いう問題もある。
【0009】本発明は、上記事情に鑑み、複数のオブジ
ェクトを、それら複数のオブジェクト間で情報が効率的
に流れるように相互に結合する機能を備えたオブジェク
ト指向プログラミング装置、複数のオブジェクトと、そ
れら複数のオブジェクトをそれら複数のオブジェクト間
で情報が効率的に流れるように相互に結合するためのオ
ブジェクト結合プログラムとが格納されたオブジェクト
指向プログラム記憶媒体、オブジェクトどうしの結合関
係を定義するオブジェクト指向プログラミングの容易化
が図られたオブジェクト指向プログラミング支援装置、
オブジェクト指向プログラミングを容易に行なうための
プログラムが格納されたオブジェクト指向プログラミン
グ用プログラム記憶媒体、既存のソフトウェアをオブジ
ェクトとして取り扱うことができるように、その既存の
ソフトウェアと合わせて1つのオブジェクトとして作用
するコンポーネントを作成する機能を備えたコンポーネ
ント作成装置、そのようなコンポーネントが格納された
コンポーネント記憶媒体、および、オブジェクトどうし
の結合関係を定義するオブジェクト結合プログラミング
を行なうのに好適な、オブジェクトとオブジェクトどう
しの結合関係とからなるオブジェクト間ネットワークの
表示方法を提供することを目的とする。
【0010】
【課題を解決するための手段】上記目的を達成する本発
明のオブジェクト指向プログラミング装置のうちの第1
のオブジェクト指向プログラミング装置は、データと処
理とを有するオブジェクト複数を相互に結合するオブジ
ェクト指向プログラミング装置において、他オブジェク
トに向けたメッセージの発行処理を行なう出力インスト
ラクションバス部を持つ第1のオブジェクトと、他オブ
ジェクトで発行された自オブジェクト向けのメッセージ
を受け付けて、自オブジェクトの、そのメッセージに対
応するメソッドを起動する入力インストラクションバス
部を持つ第2のオブジェクトとの間で、第1のオブジェ
クトのメッセージと第2のオブジェクトのメソッドとを
対応づけることにより、第1のオブジェクトと第2のオ
ブジェクトとの間でのメッセージの授受を可能ならしめ
るインストラクション結合手段と、オブジェクトの、デ
ータが格納されるデータ格納領域へのポインタが配列さ
れてなるデータ要素リストを生成するデータ要素リスト
生成手段と、オブジェクトの、データへのポインタが格
納されるポインタ格納領域へのポインタが配列されてな
るポインタ要素リストを生成するポインタ要素リスト生
成手段と、データ要素リストを持つ第3のオブジェクト
とポインタ要素リストを持つ第4のオブジェクトとの間
で、第4のオブジェクトのポインタ要素リストに配列さ
れたポインタが指し示すポインタ格納領域に、第3のオ
ブジェクトのデータ要素リストに配列されたポインタを
書き込むことにより、第3のオブジェクトと第4のオブ
ジェクトとの間でのデータの授受を可能ならしめるデー
タ結合手段とを備えたことを特徴とする。
【0011】ここで、本発明の第1のオブジェクト指向
プログラミング装置において、上記インストラクション
結合手段が、自オブジェクトのメッセージに対応する他
オブジェクトのメソッドを特定するメソッドIDと、そ
のメソッドIDにより特定されるメソッドが実行される
他オブジェクトへのポインタとを含むメソッド要素の配
列であるメソッド要素リストを生成するものであること
が好ましい。
【0012】また、上記目的を達成する本発明のオブジ
ェクト指向プログラミング装置のうちの第2のオブジェ
クト指向プログラミング装置は、データと処理とを有す
るオブジェクト複数を相互に結合するオブジェクト指向
プログラミング装置において、他オブジェクトに向けた
メッセージの発行処理を行なう出力インストラクション
バス部を持つ第1のオブジェクトと、他オブジェクトで
発行された自オブジェクト向けのメッセージを受け付け
て、自オブジェクトの、そのメッセージに対応するメソ
ッドを起動する入力インストラクションバス部を持つ第
2のオブジェクトとの間で、第1のオブジェクトのメッ
セージと第2のオブジェクトのメソッドとを対応づける
ことにより、第1のオブジェクトと第2のオブジェクト
との間でのメッセージの授受を可能ならしめるインスト
ラクション結合手段と、自オブジェクトの出力インスト
ラクションバス部に、他オブジェクトそれぞれに対応す
る、他オブジェクトのメッセージと自オブジェクトのメ
ソッドとの対応をあらわす入力インストラクションタグ
テーブルを生成する入力インストラクションタグテーブ
ル生成手段とを備えたことを特徴とする。
【0013】ここで、本発明の第2のオブジェクト指向
プログラミング装置において、上記インストラクション
結合手段が、自オブジェクトのメッセージに対応する他
オブジェクトのメソッドを特定するメソッドIDと、そ
のメソッドIDにより特定されるメソッドが実行される
他オブジェクトへのポインタとを含むメソッド要素の配
列であるメソッド要素リストを生成するものであり、上
記入力インストラクションタグテーブル生成手段が、入
力インストラクションタグテーブルを生成するととも
に、その入力インストラクションタグテーブルを、その
入力インストラクションタグテーブルに対応する他オブ
ジェクトへの入インタを含むメソッド要素に追加するも
のであることが好ましい。
【0014】ここで、入力インストラクションタグテー
ブルをメソッド要素に追加する態様の1つとして、その
メソッド要素には、直接的には、その入力インストラク
ションタグテーブルへのポインタを書き込んでもよい。
【0015】
【課題を解決するための手段】上記目的を達成する本発
明のオブジェクト指向プログラミング装置のうちの第1
のオブジェクト指向プログラミング装置は、データと処
理とを有するオブジェクト複数を相互に結合するオブジ
ェクト指向プログラミング装置において、他オブジェク
トに向けたメッセージの発行処理を行なう出力インスト
ラクションバス部を持つ第1のオブジェクトと、他オブ
ジェクトで発行された自オブジェクト向けのメッセージ
を受け付けて、自オブジェクトの、そのメッセージに対
応するメソッドを起動する入力インストラクションバス
部を持つ第2のオブジェクトとの間で、第1のオブジェ
クトのメッセージと第2のオブジェクトのメソッドとを
対応づけることにより、第1のオブジェクトと第2のオ
ブジェクトとの間でのメッセージの授受を可能ならしめ
るインストラクション結合手段と、オブジェクトの、デ
ータが格納されるデータ格納領域へのポインタが配列さ
れてなるデータ要素リストを生成するデータ要素リスト
生成手段と、オブジェクトの、データへのポインタが格
納されるポインタ格納領域へのポインタが配列されてな
るポインタ要素リストを生成するポインタ要素リスト生
成手段と、データ要素リストを持つ第3のオブジェクト
とポインタ要素リストを持つ第4のオブジェクトとの間
で、第4のオブジェクトのポインタ要素リストに配列さ
れたポインタが指し示すポインタ格納領域に、第3のオ
ブジェクトのデータ要素リストに配列されたポインタを
書き込むことにより、第3のオブジェクトと第4のオブ
ジェクトとの間でのデータの授受を可能ならしめるデー
タ結合手段とを備えたことを特徴とする。
【0016】ここで、本発明の第1のオブジェクト指向
プログラミング装置において、上記インストラクション
結合手段が、自オブジェクトのメッセージに対応する他
オブジェクトのメソッドを特定するメソッドIDと、そ
のメソッドIDにより特定されるメソッドが実行される
他オブジェクトへのポインタとを含むメソッド要素の配
列であるメソッド要素リストを生成するものであること
が好ましい。
【0017】また、上記目的を達成する本発明のオブジ
ェクト指向プログラミング装置のうちの第2のオブジェ
クト指向プログラミング装置は、データと処理とを有す
るオブジェクト複数を相互に結合するオブジェクト指向
プログラミング装置において、他オブジェクトに向けた
メッセージの発行処理を行なう出力インストラクション
バス部を持つ第1のオブジェクトと、他オブジェクトで
発行された自オブジェクト向けのメッセージを受け付け
て、自オブジェクトの、そのメッセージに対応するメソ
ッドを起動する入力インストラクションバス部を持つ第
2のオブジェクトとの間で、第1のオブジェクトのメッ
セージと第2のオブジェクトのメソッドとを対応づける
ことにより、第1のオブジェクトと第2のオブジェクト
との間でのメッセージの授受を可能ならしめるインスト
ラクション結合手段と、自オブジェクトの出力インスト
ラクションバス部に、他オブジェクトそれぞれに対応す
る、他オブジェクトのメッセージと自オブジェクトのメ
ソッドとの対応をあらわす入力インストラクションタグ
テーブルを生成する入力インストラクションタグテーブ
ル生成手段とを備えたことを特徴とする。
【0018】ここで、本発明の第2のオブジェクト指向
プログラミング装置において、上記インストラクション
結合手段が、自オブジェクトのメッセージに対応する他
オブジェクトのメソッドを特定するメソッドIDと、そ
のメソッドIDにより特定されるメソッドが実行される
他オブジェクトへのポインタとを含むメソッド要素の配
列であるメソッド要素リストを生成するものであり、上
記入力インストラクションタグテーブル生成手段が、入
力インストラクションタグテーブルを生成するととも
に、その入力インストラクションタグテーブルを、その
入力インストラクションタグテーブルに対応する他オブ
ジェクトへの入インタを含むメソッド要素に追加するも
のであることが好ましい。
【0019】ここで、入力インストラクションタグテー
ブルをメソッド要素に追加する態様の1つとして、その
メソッド要素には、直接的には、その入力インストラク
ションタグテーブルへのポインタを書き込んでもよい。
【0020】また、上記目的を達成する本発明のオブジ
ェクト指向プログラミング装置のうちの第3のオブジェ
クト指向プログラミング装置は、データと処理とを有す
るオブジェクト複数を相互に結合するオブジェクト指向
プログラミング装置において、他オブジェクトに向けた
メッセージの発行処理を行なう出力インストラクション
バス部を持つ第1のオブジェクトと、他オブジェクトで
発行された自オブジェクト向けのメッセージを受け付け
て、自オブジェクトの、そのメッセージに対応するメソ
ッドを起動する入力インストラクションバス部を持つ第
2のオブジェクトとの間で、第1のオブジェクトのメッ
セージと第2のオブジェクトのメソッドとを対応づける
ことにより、第1のオブジェクトと第2のオブジェクト
との間でのメッセージの授受を可能ならしめるインスト
ラクション結合手段と、自オブジェクトの出力インスト
ラクションバス部に、他オブジェクトそれぞれに対応す
る、他オブジェクトのメソッドと自オブジェクトのメッ
セージとの対応をあらわす出力インストラクションタグ
テーブルを生成する出力インストラクションタグテーブ
ル生成手段とを備えたことを特徴とする。
【0021】ここで、本発明の第3のオブジェクト指向
プログラミング装置においても、上記インストラクショ
ン結合手段が、自オブジェクトのメッセージに対応する
他オブジェクトのメソッドを特定するメソッドIDと、
そのメソッドIDにより特定されるメソッドが実行され
る他オブジェクトへのポインタとを含むメソッド要素の
配列であるメソッド要素リストを生成するものであり、
上記出力インストラクションタグテーブル生成手段が、
出力インストラクションタグテーブルを生成するととも
に、その出力インストラクションタグテーブルを、その
出力インストラクションタグテーブルに対応する他オブ
ジェクトへのポインタを含むメソッド要素に追加するも
のであることが好ましい。
【0022】ここで、出力インストラクションタグテー
ブルをメソッド要素に追加する態様の1つとして、その
メソッド要素には、直接的には、その出力インストラク
ションタグテーブルへのポインタを書き込んでもよい。
【0023】さらに、上記目的を達成する本発明の第4
のオブジェクト指向プログラミング装置は、データと処
理とを有するオブジェクト複数を相互に結合するオブジ
ェクト指向プログラミング装置において、他オブジェク
トに向けたメッセージの発行処理を行なう出力インスト
ラクションバス部を持つ第1のオブジェクトと、他オブ
ジェクトで発行された自オブジェクト向けのメッセージ
を受け付けて、自オブジェクトの、そのメッセージに対
応するメソッドを起動する入力インストラクションバス
部を持つ第2のオブジェクトとの間で、第1のオブジェ
クトのメッセージと第2のオブジェクトのメソッドとを
対応づけることにより、第1のオブジェクトと第2のオ
ブジェクトとの間でのメッセージの授受を可能ならしめ
るインストラクション結合手段と、自オブジェクトの出
力インストラクションバス部に、他オブジェクトそれぞ
れに対応する、他オブジェクトの、データが格納される
データ格納領域へのポインタが配列されるデータ要素リ
ストを特定するデータ要素リストIDと、自オブジェク
トの、データへのポインタが格納されるポインタ格納領
域へのポインタが配列されるポインタ要素リストを特定
するポインタ要素リストIDとの対応をあらわす入力デ
ータタグテーブルを生成する入力データタグテーブル生
成手段とを備えたことを特徴とする。
【0024】ここで、上記本発明の第4のオブジェクト
指向プログラミング装置において、上記インストラクシ
ョン結合手段が、自オブジェクトのメッセージに対応す
る他オブジェクトのメソッドを特定するメソッドID
と、そのメソッドIDにより特定されるメソッドが実行
される他オブジェクトへのポインタとを含むメソッド要
素の配列であるメソッド要素リストを生成するものであ
り、上記入力データタグテーブル生成手段が、入力デー
タタグテーブルを生成するとともに、その入力データタ
グテーブルを、その入力データタグテーブルに対応する
他オブジェクトへのポインタを含むメソッド要素に追加
するものであることが好ましい。
【0025】ここで、入力データタグテーブルをメソッ
ド要素に追加する態様の1つとして、そのメソッド要素
には、直接的には、その入力データタグテーブルへのポ
インタを書き込んでもよい。
【0026】さらに、上記目的を達成する本発明の第5
のオブジェクト指向プログラミング装置は、データと処
理とを有するオブジェクト複数を相互に結合するオブジ
ェクト指向プログラミング装置において、他オブジェク
トに向けたメッセージの発行処理を行なう出力インスト
ラクションバス部を持つ第1のオブジェクトと、他オブ
ジェクトで発行された自オブジェクト向けのメッセージ
を受け付けて、自オブジェクトの、そのメッセージに対
応するメソッドを起動する入力インストラクションバス
部を持つ第2のオブジェクトとの間で、第1のオブジェ
クトのメッセージと第2のオブジェクトのメソッドとを
対応づけることにより、第1のオブジェクトと第2のオ
ブジェクトとの間でのメッセージの授受を可能ならしめ
るインストラクション結合手段と、自オブジェクトの出
力インストラクションバス部に、他オブジェクトそれぞ
れに対応する、他オブジェクトの、データへのポインタ
が格納されるポインタ格納領域へのポインタが配列され
るポインタ要素リストを特定するポインタ要素リストI
Dと、自オブジェクトの、データが格納されるデータ格
納領域へのポインタが配列されるデータ要素リストを特
定するデータ要素リストIDとの対応をあらわす出力デ
ータタグテーブルを生成する出力データタグテーブル生
成手段とを備えたことを特徴とする。
【0027】ここで、上記本発明の第5のオブジェクト
指向プログラミング装置においても、上記インストラク
ション結合手段が、自オブジェクトのメッセージに対応
する他オブジェクトのメソッドを特定するメソッドID
と、そのメソッドIDにより特定されるメソッドが実行
される第2のオブジェクトへのポインタとを含むメソッ
ド要素の配列であるメソッド要素リストを生成するもの
であり、 上記出力データタグテーブル生成手段が、出
力データタグテーブルを生成するとともに、その出力デ
ータタグテーブルを、その出力データタグテーブルに対
応する他オブジェクトへのポインタを含むメソッド要素
に追加するものであることが好ましい。
【0028】ここで、出力データタグテーブルをメソッ
ド要素に追加する態様の1つとして、そのメソッド要素
には、直接的には、その出力データタグテーブルへのポ
インタを書き込んでもよい。
【0029】また、上記目的を達成する本発明のオブジ
ェクト指向プログラム記憶媒体のうちの、第1のオブジ
ェクト指向プログラム記憶媒体は、データと処理とを有
するの複数オブジェクトが格納されてなるとともに、他
オブジェクトに向けたメッセージの発行処理を行なう出
力インストラクションバス部を持つ第1のオブジェクト
と、他オブジェクトで発行された自オブジェクト向けの
メッセージを受け付けて、自オブジェクトの、そのメッ
セージに対応するメソッドを起動する入力インストラク
ションバス部を持つ第2のオブジェクトとの間で、第1
のオブジェクトのメッセージと第2のオブジェクトのメ
ソッドとを対応づけることにより、第1のオブジェクト
と第2のオブジェクトとの間でのメッセージの授受を可
能ならしめるインストラクション結合手段と、オブジェ
クトの、データが格納されるデータ格納領域へのポイン
タが配列されてなるデータ要素リストを生成するデータ
要素リスト生成手段と、オブジェクトの、データへのポ
インタが格納されるポインタ格納領域へのポインタが配
列されてなるポインタ要素リストを生成するポインタ要
素リスト生成手段と、データ要素リストを持つ第3のオ
ブジェクトとポインタ要素リストを持つ第4のオブジェ
クトとの間で、第4のオブジェクトのポインタ要素リス
トに配列されたポインタが指し示すポインタ格納領域
に、第3のオブジェクトのデータ要素リストに配列され
たポインタを書き込むことにより、第3のオブジェクト
と第4のオブジェクトとの間でのデータの授受を可能な
らしめるデータ結合手段とを含むオブジェクト結合プロ
グラムが格納されてなることを特徴とする。
【0030】ここで、上記第1のオブジェクト指向プロ
グラム記憶媒体において、上記インストラクション結合
手段が、自オブジェクトのメッセージに対応する他オブ
ジェクトのメソッドを特定するメソッドIDと、そのメ
ソッドIDにより特定されるメソッドが実行されるオブ
ジェクトへのポインタとを含むメソッド要素の配列であ
るメソッド要素リストを生成するものであり、出力イン
ストラクションバス部を持つ第1のオブジェクトが、メ
ッセージ発行するにあたり、そのメッセージに対応する
メソッド要素リストに配列されたメソッド要素を参照し
て、そのメソッド要素にポインタが格納されてなる第2
のオブジェクトを、そのメソッド要素に格納されてなる
メソッドIDを引数として呼び出すものであることが好
ましい。
【0031】その場合に、上記第2のオブジェクトで
は、第1のオブジェクトから第2のオブジェクトに向け
たメッセージが受け付けられ、そのメッセージの引数で
あるメソッドIDにより特定されるメソッドが実行され
る。
【0032】また、上記目的を達成する本発明のオブジ
ェクト指向プログラム記憶媒体のうちの第2のオブジェ
クト指向プログラム記憶媒体は、データと処理とを有す
る複数のオブジェクトが格納されてなるとともに、他オ
ブジェクトに向けたメッセージの発行処理を行なう出力
インストラクションバス部を持つ第1のオブジェクト
と、他オブジェクトで発行された自オブジェクト向けの
メッセージを受け付けて、自オブジェクトの、そのメッ
セージに対応するメソッドを起動する入力インストラク
ションバス部を持つ第2のオブジェクトとの間で、第1
のオブジェクトのメッセージと第2のオブジェクトのメ
ソッドとを対応づけることにより、第1のオブジェクト
と第2のオブジェクトとの間でのメッセージの授受を可
能ならしめるインストラクション結合手段と、自オブジ
ェクトの出力インストラクションバス部に、他オブジェ
クトそれぞれに対応する、他オブジェクトのメッセージ
と自オブジェクトのメソッドとの対応をあらわす入力イ
ンストラクションタグテーブルを生成する入力インスト
ラクションタグテーブル生成手段とを含むオブジェクト
結合プログラムが格納されてなることを特徴とする。
【0033】ここで、上記第2のオブジェクト指向プロ
グラム記憶媒体において、上記インストラクション結合
手段が、自オブジェクトのメッセージに対応する他オブ
ジェクトのメソッドを特定するメソッドIDと、そのメ
ソッドIDにより特定されるメソッドが実行される他オ
ブジェクトへのポインタとを含むメソッド要素の配列で
あるメソッド要素リストを生成するものであり、上記入
力インストラクションタグテーブル生成手段が、入力イ
ンストラクションタグテーブルを生成するとともに、そ
の入力インストラクションタグテーブルを、その入力イ
ンストラクションタグテーブルに対応する他オブジェク
トへのポインタを含むメソッド要素に追加するものであ
ることが好ましい。
【0034】ここで、入力インストラクションタグテー
ブルをメソッド要素に追加する態様の1つとして、その
メソッド要素には、直接的には、その入力インストラク
ションタグテーブルへのポインタを書き込んでもよい。
【0035】入力インストラクションタグテーブルが追
加されてなるメソッド要素を持つ第1のオブジェクト
は、そのメソッド要素により特定される第2のオブジェ
クトを呼び出すにあたり、そのメソッド要素に格納され
たメソッドIDと入力インストラクションタグテーブル
とを引数として第2のオブジェクトを呼び出すものであ
ってもよい。
【0036】ここで、入力インストラクションタグテー
ブルを引数として第2のオブジェクトを呼び出す態様の
1つとして、直接的には、その入力インストラクション
タグテーブルへのポインタを引数として第2のオブジェ
クトを呼び出してもよい。
【0037】このようにして、第1のオブジェクトから
第2のオブジェクトに向けてメッセージが発行される
と、第2のオブジェクトでは、第1のオブジェクトから
第2のオブジェクトに向けたメッセージを受け付け、そ
のメッセージの引数であるメソッドIDにより特定され
るメソッドが実行される。
【0038】ここで、第2のオブジェクトは、上記のよ
うにして第1のオブジェクトから第2のオブジェクトに
向けてメッセージが発行された際、第1のオブジェクト
から第2のオブジェクトに向けたメッセージを受け付
け、そのメッセージの引数である入力インストラクショ
ンタグテーブルを参照し、第2のオブジェクトのメッセ
ージに対応する第1のオブジェクトのメソッドを実行す
るものであってもよい。
【0039】あるいは、第2のオブジェクトが、上記の
ようにして第1のオブジェクトから第2のオブジェクト
に向けてメッセージが発行された際に、第1のオブジェ
クトから第2のオブジェクトに向けたメッセージを受け
付け、そのメッセージの引数である入力インストラクシ
ョンタグテーブルを参照し、第2のオブジェクトのメッ
セージに対応する第2のオブジェクトのメソッド要素リ
ストに、その第2のオブジェクトのメッセージに対応づ
けられた第1のオブジェクトのメソッドに関するメソッ
ド要素を追加するものであることも好ましい形態であ
る。
【0040】さらには、第2のオブジェクトが、第3の
オブジェクトを生成する手段と、を有し、上記のように
して第1のオブジェクトから第2のオブジェクトに向け
てメッセージが発行された際に、第1のオブジェクトか
ら第2のオブジェクトに向けたメッセージを受け付け、
そのメッセージの引数である入力インストラクションタ
グテーブルを参照し、生成した第3のオブジェクトのメ
ッセージに対応する、その第3のオブジェクトのメソッ
ド要素リストに、その第3のオブジェクトのメッセージ
に対応づけられた第1のオブジェクトのメソッドに関す
るメソッド要素を追加するものであることも好ましい形
態である。
【0041】ここで、第2のオブジェクトが第3のオブ
ジェクトを生成するタイミングは、本発明においては特
に限定されるものではなく、上記メッセージが発行され
た際に第3のオブジェクトを生成してもよく、あるい
は、前もって生成しておいてもよい。
【0042】また、本発明のオブジェクト指向プログラ
ム記憶媒体のうちの第3のオブジェクト指向プログラム
記憶媒体は、データと処理とを有する複数のオブジェク
ト、が格納されてなるとともに、他オブジェクトに向け
たメッセージの発行処理を行なう出力インストラクショ
ンバス部を持つ第1のオブジェクトと、他オブジェクト
で発行された自オブジェクト向けのメッセージを受け付
けて、自オブジェクトの、そのメッセージに対応するメ
ソッドを起動する入力インストラクションバス部を持つ
第2のオブジェクトとの間で、第1のオブジェクトのメ
ッセージと第2のオブジェクトのメソッドとを対応づけ
ることにより、第1のオブジェクトと第2のオブジェク
トの間でのメッセージの授受を可能ならしめるインスト
ラクション結合手段と、自オブジェクトの出力インスト
ラクションバス部に、他オブジェクトそれぞれに対応す
る、他オブジェクトのメソッドと自オブジェクトのメッ
セージとの対応をあらわす出力インストラクションタグ
テーブルを生成する出力インストラクションタグテーブ
ル生成手段とを含むオブジェクト結合プログラムが格納
されてなることを特徴とする。
【0043】ここで、上記第3のオブジェクト指向プロ
グラム記憶媒体において、上記インストラクション結合
手段が、自オブジェクトのメッセージに対応する他オブ
ジェクトのメソッドを特定するメソッドIDと、そのメ
ソッドIDにより特定されるメソッドが実行される他オ
ブジェクトへのポインタとを含むメソッド要素の配列で
あるメソッド要素リストを生成するものであり、上記出
力インストラクションタグテーブル生成手段が、出力イ
ンストラクションタグテーブルを生成するとともに、そ
の出力インストラクションタグテーブルを、その出力イ
ンストラクションタグテーブルに対応する他オブジェク
トへのポインタを含むメソッド要素に追加するものであ
ることが好ましい。
【0044】ここで、出力インストラクションタグテー
ブルをメソッド要素に追加する態様の1つとして、その
メソッド要素には、直接的には、その出力インストラク
ションタグテーブルへのポインタを書き込んでもよい。
【0045】出力インストラクションタグテーブルが追
加されてなるメソッド要素を持つ第1のオブジェクト
は、そのメソッド要素により特定される第2のオブジェ
クトを呼び出すにあたり、メソッド要素に格納されたメ
ソッドIDと出力インストラクションタグテーブルとを
引数として第2のオブジェクトを呼び出すものであって
もよい。
【0046】ここで、出力インストラクションタグテー
ブルを引数として第2のオブジェクトを呼び出す態様の
1つとして、直接的には、その出力インストラクション
タグテーブルへのポインタを引数として第2のオブジェ
クトを呼び出してもよい。
【0047】このようにして、第1のオブジェクトから
第2のオブジェクトに向けてメッセージが発行される
と、第2のオブジェクトでは、第1のオブジェクトから
第2のオブジェクトに向けたメッセージを受け付け、そ
のメッセージの引数であるメソッドIDにより特定され
るメソッドが実行される。
【0048】ここで、第2のオブジェクトは、上記のよ
うにして第1のオブジェクトから第2のオブジェクトに
向けてメッセージが発行された際、第1のオブジェクト
から第2のオブジェクトに向けたメッセージを受け付
け、そのメッセージの引数である出力インストラクショ
ンタグテーブルを参照し、第1のオブジェクトのメッセ
ージに対応する第1のオブジェクトのメソッド要素リス
トに、その第1のオブジェクトのメッセージに対応づけ
られた第2のオブジェクトのメソッドに関するメソッド
要素を追加するものであってもよい。
【0049】あるいは、第2のオブジェクトが、第3の
オブジェクトを生成する手段と、を有し、上記のように
して第1のオブジェクトから第2のオブジェクトに向け
てメッセージが発行された際に、第1のオブジェクトか
ら第2のオブジェクトに向けたメッセージを受け付け、
そのメッセージの引数である出力インストラクションタ
グテーブルを参照し、第1のオブジェクトのメッセージ
に対応する第1のオブジェクトのメソッド要素リスト
に、その第1のオブジェクトのメッセージに対応づけら
れた第3のオブジェクトのメソッドに関するメソッドを
追加するものであることも好ましい形態である。
【0050】ここで、この第3のオブジェクト指向プロ
グラム記憶媒体においても、前述した第2のオブジェク
ト指向プログラム記憶媒体の場合と同様、第2のオブジ
ェクトが第3のオブジェクトを生成するタイミングは特
に限定されるものではなく、上記メッセージが発行され
た際に第3のオブジェクトを生成してもよく、あるいは
前もって生成しておいてもよい。
【0051】また、本発明のオブジェクト指向プログラ
ム記憶媒体のうちの第4のオブジェクト指向プログラム
記憶媒体は、データと処理とを有する複数のオブジェク
ト、が格納されてなるとともに、他オブジェクトに向け
たメッセージの発行処理を行なう出力インストラクショ
ンバス部を持つ第1のオブジェクトと、他オブジェクト
で発行された自オブジェクト向けのメッセージを受け付
けて、自オブジェクトの、そのメッセージに対応するメ
ソッドを起動する入力インストラクションバス部を持つ
第2のオブジェクトとの間で、第1のオブジェクトのメ
ッセージと第2のオブジェクトのメソッドとを対応づけ
ることにより、第1のオブジェクトと第2のオブジェク
トとの間でのメッセージの授受を可能ならしめるインス
トラクション結合手段と、自オブジェクトの出力インス
トラクションバス部に、他オブジェクトそれぞれに対応
する、他オブジェクトの、データが格納されるデータ格
納領域へのポインタが配列されるデータ要素リストを特
定するデータ要素リストIDと、自オブジェクトの、デ
ータへのポインタが格納されるポインタ格納領域へのポ
インタが配列されるポインタ要素リストを特定するポイ
ンタ要素リストIDとの対応をあらわす入力データタグ
テーブルを生成する入力データタグテーブル生成手段
と、を含むオブジェクト結合プログラムとが格納されて
なることを特徴とする。
【0052】ここで、上記本発明の第4のオブジェクト
指向プログラム記憶媒体において、上記インストラクシ
ョン結合手段が、自オブジェクトのメッセージに対応す
る他オブジェクトのメソッドを特定するメソッドID
と、そのメソッドIDにより特定されるメソッドが実行
される他オブジェクトへのポインタとを含むメソッド要
素の配列であるメソッド要素リストを生成するものであ
り、上記入力データタグテーブル生成手段が、入力デー
タタグテーブルを生成するとともに、その入力データタ
グテーブルを、その入力データタグテーブルに対応する
他オブジェクトへのポインタを含むメソッド要素に追加
するものであることが好ましい。
【0053】ここで、入力データタグテーブルをメソッ
ド要素に追加する態様の1つとして、そのメソッド要素
には、直接的には、その入力データタグテーブルへのポ
インタを書き込んでもよい。
【0054】入力データタグテーブルが追加されてなる
メソッド要素を持つ第1のオブジェクトは、そのメソッ
ド要素により特定される第2のオブジェクトを呼び出す
にあたり、そのメソッド要素に格納されたメソッドID
と入力データタグテーブルとを引数として第2のオブジ
ェクトを呼び出すものであってもよい。
【0055】ここで、入力データタグテーブルを引数と
して第2のオブジェクトを呼び出す態様の1つとして、
直接的には、その入力データタグテーブルへのポインタ
を引数として第2のオブジェクトを呼び出してもよい。
【0056】このようにして第1のオブジェクトから第
2のオブジェクトに向けてメッセージが発行されると、
第2のオブジェクトでは、第1のオブジェクトから第2
のオブジェクトに向けたメッセージを受け付け、そのメ
ッセージの引数であるメソッドIDにより特定されるメ
ソッドが実行される。
【0057】ここで、第2のオブジェクトは、上記のよ
うにして第1のオブジェクトから第2のオブジェクトに
向けてメッセージが発行された際、第1のオブジェクト
から第2のオブジェクトに向けたメッセージを受け付
け、そのメッセージの引数である入力データタグテーブ
ルを参照し第1のオブジェクトのポインタ要素リストI
Dを取得して、第1のオブジェクトの、そのポインタ要
素リストIDにより特定されるポインタ要素リストを生
成するとともに、第2のオブジェクトの、そのポインタ
要素リストIDに対応するデータ要素リストIDにより
特定されるデータ要素リストを生成し、第1のオブジェ
クトのポインタ要素リストに配列されたポインタが指し
示すポインタ格納領域に、第2のオブジェクトのデータ
要素リストに配列されたポインタを書き込むものであっ
てもよい。
【0058】あるいは、第2のオブジェクトが、第3の
オブジェクトを生成する手段と、を有し、上記のように
して第1のオブジェクトから第2のオブジェクトに向け
てメッセージが発行された際に、第1のオブジェクトか
ら第2のオブジェクトに向けたメッセージを受け付け、
そのメッセージの引数である入力データタグテーブルを
参照し第1のオブジェクトのポインタ要素リストIDを
取得して、第1のオブジェクトの、そのポインタ要素リ
ストIDにより特定されるポインタ要素リストを生成す
るとともに、第3のオブジェクトの、そのポインタ要素
リストIDに対応するデータ要素リストIDにより特定
されるデータ要素リストを生成し、第1のオブジェクト
のポインタ要素リストに配列されたポインタが指し示す
ポインタ格納領域に、第3のオブジェクトのデータ要素
リストに配列されたポインタを書き込むものであること
も好ましい形態である。
【0059】この第4のオブジェクト指向プログラム記
憶媒体においても、第2のオブジェクトが第3のオブジ
ェクトを生成するタイミングは特に限定されるものでは
なく、上記メッセージが発行された際に第3のオブジェ
クトを生成してもよく、あるいは前もって生成しておい
てもよい。
【0060】さらに、本発明のオブジェクト指向プログ
ラム記憶媒体のうちの第5のオブジェクト指向プログラ
ム記憶媒体は、データと処理とを有する複数のオブジェ
クトが格納されてなるとともに、他オブジェクトに向け
たメッセージの発行処理を行なう出力インストラクショ
ンバス部を持つ第1のオブジェクトと、他オブジェクト
で発行された自オブジェクト向けのメッセージを受け付
けて、自オブジェクトの、そのメッセージに対応するメ
ソッドを起動する入力インストラクションバス部を持つ
第2のオブジェクトとの間で、第1のオブジェクトのメ
ッセージと第2のオブジェクトのメソッドとを対応づけ
ることにより、第1のオブジェクトと第2のオブジェク
トとの間でのメッセージの授受を可能ならしめるインス
トラクション結合手段と、自オブジェクトの出力インス
トラクションバス部に、他オブジェクトそれぞれに対応
する、他オブジェクトの、データへのポインタが格納さ
れるポインタ格納領域へのポインタが配列されるポイン
タ要素リストを特定するポインタ要素リストIDと、自
オブジェクトの、データが格納されるデータ格納領域へ
のポインタが配列されるデータ要素リストを特定するデ
ータ要素リストIDとの対応をあらわす出力データタグ
テーブルを生成する出力データタグテーブル生成手段
と、を含むオブジェクト結合プログラムとが格納されて
なることを特徴とする。
【0061】ここで、上記本発明の第5のオブジェクト
指向プログラム記憶媒体において、上記インストラクシ
ョン結合手段が、自オブジェクトのメッセージに対応す
る他オブジェクトのメソッドを特定するメソッドID
と、そのメソッドIDにより特定されるメソッドが実行
される他オブジェクトへのポインタとを含むメソッド要
素の配列であるメソッド要素リストを生成するものであ
り、上記出力データタグテーブル生成手段が、出力デー
タタグテーブルを生成するとともに、その出力データタ
グテーブルを、その出力データタグテーブルに対応する
他オブジェクトへのポインタを含むメソッド要素に追加
するものであることが好ましい。
【0062】ここで、出力データタグテーブルをメソッ
ド要素に追加する態様の1つとして、そのメソッド要素
には、直接的には、その出力データタグテーブルへのポ
インタを書き込んでもよい。
【0063】出力データタグテーブルが追加されてなる
メソッド要素を持つ第1のオブジェクトは、そのメソッ
ド要素により特定される第2のオブジェクトを呼び出す
にあたり、そのメソッド要素に格納されたメソッドID
と出力データタグテーブルとを引数として第2のオブジ
ェクトを呼び出すものであってもよい。
【0064】ここで、出力データタグテーブルを引数と
して第2のオブジェクトを呼び出す態様の1つとして、
直接的には、その出力データタグテーブルへのポインタ
を引数として第2のオブジェクトを呼び出してもよい。
【0065】このようにして第1のオブジェクトから第
2のオブジェクトに向けてメッセージが発行されると、
第2のオブジェクトでは、第1のオブジェクトから第2
のオブジェクトに向けたメッセージを受け付け、そのメ
ッセージの引数であるメソッドIDに対応するメソッド
が実行される。
【0066】ここで、第2のオブジェクトは、上記のよ
うにして第1のオブジェクトから第2のオブジェクトに
向けてメッセージが発行された際、第1のオブジェクト
から第2のオブジェクトに向けたメッセージを受け付
け、そのメッセージの引数である出力データタグテーブ
ルを参照し第1のオブジェクトのデータ要素リストID
を取得して、第1のオブジェクトの、そのデータ要素リ
ストIDにより特定されるデータ要素リストを生成する
とともに、第2のオブジェクトの、そのデータ要素リス
トIDに対応するポインタ要素リストIDにより特定さ
れるポインタ要素リストを生成し、第2のオブジェクト
のポインタ要素リストに配列されたポインタが指し示す
ポインタ格納領域に、第1のオブジェクトのデータ要素
リストに配列されたポインタを書き込むものであっても
よい。
【0067】あるいは、第2のオブジェクトが、第3の
オブジェクトを生成する手段を有し、上記のようにして
第1のオブジェクトから第2のオブジェクトに向けてメ
ッセージが発行された際に、第1のオブジェクトから第
2のオブジェクトに向けたメッセージを受け付け、メッ
セージの引数である出力データタグテーブルを参照し第
1のオブジェクトのデータ要素リストIDを取得して、
第1のオブジェクトの、そのデータ要素リストIDによ
り特定されるデータ要素リストを生成するとともに、第
3のオブジェクトの、そのデータ要素リストIDに対応
するポインタ要素リストIDにより特定されるポインタ
要素を生成し、第3のオブジェクトのポインタ要素リス
トに配列されたポインタが指し示すポインタ格納領域
に、第1のオブジェクトのデータ要素リストに配列され
たポインタを書き込むものであることも好ましい形態で
ある。
【0068】この第5のオブジェクト指向プログラム記
憶媒体においても、第2のオブジェクトが第3のオブジ
ェクトを生成するタイミングは特に限定されるものでは
なく、上記メッセージが発行された際に第3のオブジェ
クトを生成してもよく、あるいは前もって生成しておい
てもよい。
【0069】また、上記目的を達成する本発明のオブジ
ェクト間ネットワーク表示方法は、電子化された画像情
報に基づく画像を表示画面上に表示する画像表示装置の
表示画面上に、オブジェクト指向プログラミングにより
生成される複数のオブジェクトと、これら複数のオブジ
ェクト間のデータおよび制御の流れを示す配線とを表示
するオブジェクト間ネットワーク表示方法において、上
記表示画面が複数の升目に区切られてなる升目1つから
なる表示領域内、もしくは隣接する複数の升目が連結さ
れてなる表示領域それぞれに、1つのオブジェクトを表
示するオブジェクト表示部分領域と、複数のオブジェク
ト間を結ぶ配線を表示する配線表示部分領域とを、隣接
する2つの表示領域それぞれのオブジェクト表示部分領
域どうしの間に配線表示部分領域が形成されるように定
め、上記表示画面上に、複数のオブジェクトそれぞれ
が、各表示領域内のオブジェクト表示部分領域に1つず
つ配置されるとともに、これら複数のオブジェクトどう
しを結ぶ配線が、複数の表示領域に跨って連なる配線表
示部分領域に表示されてなる第1の画像を表示すること
を特徴とする。
【0070】本発明のオブジェクト間ネットワーク表示
方法によれば、整然と並んだオブジェクトの配置が得ら
れ、しかもオブジェクトを表示する領域と配線を表示す
る領域を分けたためオブジェクトと配線が重なることの
ない見やすい表示を得ることができる。
【0071】ここで、上記本発明のオブジェクト間ネッ
トワーク表示方法において、上記第1の画像を構成する
複数のオブジェクトのうちの所定のオブジェクトが、そ
の所定のオブジェクトよりも下層側の複数のオブジェク
トとそれら複数のオブジェクト間を結ぶ配線とから成る
サブネットワークで構成されるものであって、上記第1
の画像に代えて、その第1の画像内の上記所定のオブジ
ェクトの表示に代わりその所定のオブジェクトのサブネ
ットワークが表示されてなる第2の画像を表示するにあ
たり、上記第1の画像内の、上記所定のオブジェクトの
表示領域よりも拡大された表示領域にサブネットワーク
が表示されるとともに、そのサブネットワークの表示領
域の上下および左右に並ぶ表示領域がそれぞれ左右およ
び上下に拡大された表示領域に変更され、さらに、サブ
ネットワークの表示領域に対し斜めに位置する表示領域
については第1の画像と同一の寸法で表示されてなる第
2の画像を表示するものであることが好ましい。
【0072】このような表示方法を採用することによっ
て、サブネットワークと、そのサブネットワークの周囲
のネットワークとの接続状態を容易に確認することが可
能となる。
【0073】あるいは、上記本発明のオブジェクト間ネ
ットワーク表示方法において、上記第1の画像を構成す
る複数のオブジェクトのうちの所定のオブジェクトが、
その所定のオブジェクトよりも下層側の複数のオブジェ
クトとこれら複数のオブジェクト間を結ぶ配線とから成
るサブネットワークで構成されるものであって、上記第
1の画像に代えて、その第1の画像内の上記所定のオブ
ジェクトの表示に代わりその所定のオブジェクトのサブ
ネットワークが表示されてなる第2の画像を表示するに
あたり、上記第1の画像内の、上記所定のオブジェクト
の表示領域よりも拡大された表示領域にサブネットワー
クが表示されるとともに、その第2の画像の周縁に位置
する表示領域、およびその表示領域の、第2の画像の外
周に接する辺の位置および寸法が、上記第1の画像の周
縁に位置する表示領域、およびその表示領域の、第1の
画像の外周に接する辺の位置および寸法と比べ、同一の
オブジェクトが表示された表示領域であり、かつ外周に
接する辺の位置および寸法も同一となるように、サブネ
ットワークの表示領域を除く表示領域が第1の画像上の
対応する表示領域と比べ変形してなる第2の画像を表示
するものであってもよい。
【0074】この表示方法を採用することによって、サ
ブネットワークとその周囲のオブジェクトのネットワー
クとの接続状態を容易に確認することができる。この表
示方法の場合さらに、変形してはいるものの、サブネッ
トワークを表示した状態で、サブネットワーク表示前
(第1の画像)に表示されていたネットワーク全体を確
認することができる。
【0075】また、本発明のオブジェクト間ネットワー
ク表示方法において、上記第1の画像を表示するにあた
り、表示領域内のオブジェクト表示部分領域の形状およ
び寸法が、その表示領域の形状および寸法に応じた形状
および寸法に規格化されてなることが好ましい。
【0076】このような規格化により、一層見やすい表
示画面となる。
【0077】さらに、本発明のオブジェクト間ネットワ
ーク表示方法において、上記第1の画像を表示するにあ
たり、先ず複数のオブジェクトを表示し、次いで、これ
ら複数のオブジェクト間を、データもしくは制御の流れ
の方向が所定長部分毎に繰り返し表示されてなる配線で
連結している状態を表示することが好ましい。
【0078】このような配線を採用すると、オブジェク
トが表示画面の外にはみ出している場合であっても、そ
の配線のどちら側に入力または出力が存在するかを容易
に判断することが可能となる。尚、配線終了後はこのよ
うな配線に代えて、通常の配線、例えば線の終端または
両端のみに矢印をつけた配線に変更してもよい。
【0079】さらに、本発明のオブジェクト間ネットワ
ーク表示方法において、上記第1の画像を表示するにあ
たり、中心線と、その中心線の両脇に沿う、中心線とは
異なる表示態様の縁線とからなる配線であって、相互に
交差する配線のうち、同一のデータもしくは制御の流れ
を表わす配線については中心線どうしが連続し、異なる
データもしくは制御の流れを表わす配線については一方
の配線の中心線を他方の配線の縁線に接する位置で分断
してなる配線を表示することも好ましい形態である。
【0080】このような配線を採用することにより、交
差する配線が相互に接続されているのかあるいは単に交
差しているだけなのかを容易に判断することができる。
【0081】このような配線を採用すると、オブジェク
トが表示画面の外にはみ出している場合であっても、そ
の配線のどちら側に入力または出力が存在するかを容易
に判断することが可能となる。尚、配線終了後はこのよ
うな配線に代えて、通常の配線、例えば線の終端または
両端のみに矢印をつけた配線に変更してもよい。
【0082】さらに、本発明のオブジェクト間ネットワ
ーク表示方法において、上記第1の画像を表示するにあ
たり、中心線と、その中心線の両脇に沿う、中心線とは
異なる表示態様の縁線とからなる配線であって、相互に
交差する配線のうち、同一のデータもしくは制御の流れ
を表わす配線については中心線どうしが連続し、異なる
データもしくは制御の流れを表わす配線については一方
の配線の中心線を他方の配線の縁線に接する位置で分断
してなる配線を表示することも好ましい形態である。
【0083】このような配線を採用することにより、交
差する配線が相互に接続されているのかあるいは単に交
差しているだけなのかを容易に判断することができる。
【0084】また、上記目的を達成する本発明のオブジ
ェクト指向プログラミング支援装置のうちの第1のオブ
ジェクト指向プログラミング支援装置は、データと処理
とを有するオブジェクト複数を、指示に応じて相互に結
合するオブジェクト指向プログラミング支援装置におい
て、オブジェクト本体をあらわすブロックと、自オブジ
ェクト内部のデータを他オブジェクトに渡すためのデー
タ出力端子と、他オブジェクトのデータを自オブジェク
トが受け取るためのデータ入力端子と、他オブジェクト
に向けて処理を依頼するメッセージを発行するためのメ
ッセージ端子と、他オブジェクトからの処理依頼を受け
取ってメソッドを実行するためのメソッド端子とで表現
されたオブジェクトであって1つのオブジェクトの内部
に1つもしくは複数のオブジェクトの存在を許容する階
層構造で表現されたオブジェクトを表示するとともに、
複数のオブジェクトの端子間を結ぶ配線を表示する表示
手段と、複数のオブジェクトの端子間を配線で結ぶ指示
に応じて、複数のオブジェクト間の、指示に応じた配線
に対応した結合構造を構築するオブジェクト結合手段
と、オブジェクトの階層構造を構築する階層構造構築手
段と、オブジェクト結合手段に対しオブジェクト間を結
ぶ配線を指示入力するとともに、階層構造構築手段に対
し、オブジェクトの、階層構造上の配置位置を指示入力
する操作子とを備え、上記階層構造構築手段が、操作子
からの指示に応じて、指定されたオブジェクトである本
体オブジェクトを複写して分身オブジェクトを作成し、
その分身オブジェクトを、その本体オブジェクトが配置
された階層とは異なる階層に配置する手段を有し、上記
オブジェクト結合手段が、分身オブジェクトが配置され
た階層における配線において、操作子からの、分身オブ
ジェクトと他オブジェクトとの間の配線の指示を受け付
けるとともに、その分身オブジェクトとその分身オブジ
ェクトに対応する本体オブジェクトとを1つのオブジェ
クトとした結合構造を構築するものであることを特徴と
する。
【0085】このような分身オブジェクトを作成し、結
合構造を構築するにあたって分身オブジェクトとその本
体オブジェクトとを1つのオブジェクトとした結合構造
を構築することにより、1つのオブジェクトを所望の複
数の階層に自由に配置して配線(結合の指示)を行なう
ことができ、異なる階層どうしのオブジェクト間の配線
が容易になり、視覚的にも見やすい表示が可能となる。
【0086】また、上記目的を達成する本発明のオブジ
ェクト指向プログラミング支援装置のうちの第2のオブ
ジェクト指向プログラミング支援装置は、データと処理
とを有するオブジェクト複数を、指示に応じて相互に結
合するオブジェクト指向プログラミング支援装置におい
て、オブジェクト本体をあらわすブロックと、自オブジ
ェクト内部のデータを他オブジェクトに渡すためのデー
タ出力端子と、他オブジェクトのデータを自オブジェク
トが受け取るためのデータ入力端子と、他オブジェクト
に向けて処理を依頼するメッセージを発行するためのメ
ッセージ端子と、他オブジェクトからの処理依頼を受け
取ってメソッドを実行するためのメソッド端子とで表現
されたオブジェクトであって1つのオブジェクトの内部
に1つもしくは複数のオブジェクトの存在を許容する階
層構造で表現されたオブジェクトを表示するとともに、
複数のオブジェクトの端子間を結ぶ配線を表示する表示
手段と、複数のオブジェクトの端子間を配線で結ぶ指示
に応じて、複数のオブジェクト間の、指示に応じた配線
に対応した結合構造を構築するオブジェクト結合手段
と、オブジェクトの階層構造を構築する階層構造構築手
段と、オブジェクト結合手段に対しオブジェクト間を結
ぶ配線を指示入力するとともに、前記階層構造構築手段
に対し、オブジェクトの、階層構造上の配置位置を指示
入力する操作子とを備え、上記オブジェクト結合手段
が、操作子からの、オブジェクトの置き換えの指示に応
じて、置き換え前のオブジェクトの、他オブジェクトと
の結合構造を解除して、置き換え前のオブジェクトの他
オブジェクトとの結合構造を、置き換え後のオブジェク
トに継承させるものであり、上記階層構造構築手段が、
操作子からの、オブジェクトの置き換えの指示に応じ
て、置き換え前のオブジェクトが配置されていた階層
に、置き換え前のオブジェクトに代えて、置き換え後の
オブジェクトを配置するものであることを特徴とする。
【0087】オブジェクトを置き換えるには、通常であ
れば、先ず置き換え前のオブジェクトの配線を外し、置
き換え後のオブジェクトに対しあらためて配線を行なう
ことになるが、置き換え前のオブジェクトの配線(結合
関係)を置き換え後のオブジェクトにそのまま踏襲させ
ることにより、置き換え後のオブジェクトと他オブジェ
クトの間の配線の手間が省け、オブジェクトの置き換え
が極めて容易となり、その分オブジェクト指向プログラ
ミングが容易化される。
【0088】さらに、上記目的を達成する本発明の第3
のオブジェクト指向プログラミング支援装置は、データ
と処理とを有するオブジェクト複数を、指示に応じて相
互に結合するオブジェクト指向プログラミング支援装置
において、オブジェクト本体をあらわすブロックと、自
オブジェクト内部のデータを他オブジェクトに渡すため
のデータ出力端子と、他オブジェクトのデータを自オブ
ジェクトが受け取るためのデータ入力端子と、他オブジ
ェクトに向けて処理を依頼するメッセージを発行するた
めのメッセージ端子と、他オブジェクトからの処理依頼
を受け取ってメソッドを実行するためのメソッド端子と
で表現されたオブジェクトであって1つのオブジェクト
の内部に1つもしくは複数のオブジェクトの存在を許容
する階層構造で表現されたオブジェクトを表示するとと
もに、複数のオブジェクトの端子間を結ぶ配線を表示す
る表示手段と、複数のオブジェクトの端子間を配線で結
ぶ指示に応じて、複数のオブジェクト間の、指示に応じ
た配線に対応した結合構造を構築するオブジェクト結合
手段と、オブジェクトの階層構造を構築する階層構造構
築手段と、オブジェクト結合手段に対しオブジェクト間
を結ぶ配線を指示入力するとともに、階層構造構築手段
に対し、オブジェクトの、階層構造上の配置位置を指示
入力する操作子とを備え、上記階層構造構築手段が、操
作子からの、所定の階層に配置されたオブジェクトの中
から複数のオブジェクトを指定してそれら複数のオブジ
ェクトを一段下の階層に再配置する旨の指示に応じて、
それら複数のオブジェクト相互間の結合構造、およびそ
れら複数のオブジェクトと、それら複数のオブジェクト
以外の他オブジェクトとの間の結合構造が保持されるよ
うに、それら複数のオブジェクトをそれら一段下の階層
に再配置するとともに上記所定の階層にそれら複数のオ
ブジェクトを内包するオブジェクトを生成して配置する
ものであることを特徴とする。
【0089】上記のように、複数のオブジェクトを、配
線(結合関係)を保ったまま別の階層に配置替えするこ
とができるようにするとプログラムを作成しながら作成
したプログラムを整理することができ、また階層化され
た部分が1つのオブジェクトとして作用するため、その
オブジェクトを1つのプログラム部品と再利用すること
ができる。
【0090】さらに、本発明の第4のオブジェクト指向
プログラミング支援装置は、データと処理とを有するオ
ブジェクト複数を、指示に応じて相互に結合するオブジ
ェクト指向プログラミング支援装置において、オブジェ
クト本体をあらわすブロックと、自オブジェクト内部の
データを他オブジェクトに渡すためのデータ出力端子
と、他オブジェクトのデータを自オブジェクトが受け取
るためのデータ入力端子と、他オブジェクトに向けて処
理を依頼するメッセージを発行するためのメッセージ端
子と、他オブジェクトからの処理依頼を受け取ってメソ
ッドを実行するためのメソッド端子とで表現されたオブ
ジェクトであって1つのオブジェクトの内部に1つもし
くは複数のオブジェクトの存在を許容する階層構造で表
現されたオブジェクトを表示するとともに、複数のオブ
ジェクトの端子間を結ぶ配線を表示する表示手段と、複
数のオブジェクトの端子間を配線で結ぶ指示に応じて、
複数のオブジェクト間の、指示に応じた配線に対応した
結合構造を構築するオブジェクト結合手段と、オブジェ
クトの階層構造を構築する階層構造構築手段と、オブジ
ェクト結合手段に対しオブジェクト間を結ぶ配線を指示
入力するとともに、階層構造構築手段に対し、オブジェ
クトの、階層構造上の配置位置を指示入力する操作子と
を備え、上記表示手段が、操作子による指示に応じて、
指定された1つのメッセージ端子に接続されたメソッド
端子が複数存在する場合の、これら複数のメソッド端子
に対応する複数のメソッドの実行順序をあらわすリスト
を表示する手段を有し、上記オブジェクト結合手段が、
操作子による指示に応じて、表示手段に表示されたリス
トにあらわれた複数のメソッドの実行順序が変更された
結合構造を再構築する手段を有するものであることを特
徴とする。
【0091】本発明の第4のオブジェクト指向プログラ
ミング支援装置によれば、1つのメッセージに対する複
数のメソッドの実行順序を容易にかつ正確に知ることが
でき、またその実行順序を容易に変更することができ
る。
【0092】尚、本発明のオブジェクト指向プログラミ
ング支援装置には、第5のオブジェクト指向プログラミ
ング支援装置も存在するが、この第5のオブジェクト指
向プログラミング支援装置については後述する。
【0093】また、上記目的を達成する本発明のオブジ
ェクト指向プログラミング用プログラム記憶媒体のうち
の第1のオブジェクト指向プログラミング用プログラム
記憶媒体は、データと処理とを有するオブジェクト複数
を相互に結合するオブジェクト指向プログラミングを支
援するプログラムが格納されたオブジェクト指向プログ
ラミング用プログラム記憶媒体において、上記オブジェ
クトが、オブジェクト本体をあらわすブロックと、自オ
ブジェクト内部のデータを他オブジェクトに渡すための
データ出力端子と、他オブジェクトのデータを自オブジ
ェクトが受け取るためのデータ入力端子と、他オブジェ
クトに向けて処理を依頼するメッセージを発行するため
のメッセージ端子と、他オブジェクトからの処理依頼を
受け取ってメソッドを実行するためのメソッド端子とで
表現されるとともに、1つのオブジェクトの内部に1つ
もしくは複数のオブジェクトの存在を許容する階層構造
で表現されるオブジェクトであって、複数のオブジェク
トの端子間を配線で結ぶ指示がなされるものであり、複
数のオブジェクトの端子間を配線で結ぶ指示に応じて、
複数のオブジェクト間の、指示に応じた配線に対応した
結合構造を構築するオブジェクト結合手段と、オブジェ
クトの階層構造を構築する階層構造構築手段とを含むプ
ログラムであって、上記階層構造構築手段が、指定され
たオブジェクトである本体オブジェクトを複写して分身
オブジェクトを作成し、その分身オブジェクトを、その
本体オブジェクトが配置された階層とは異なる階層に配
置する手段を有し、上記オブジェクト結合手段が、分身
オブジェクトが配置された階層における配線において、
その分身オブジェクトと他のオブジェクトとの間の配線
の指示を受け付けるとともに、その分身オブジェクトと
その分身オブジェクトに対応する本体オブジェクトとを
1つのオブジェクトとした結合構造を構築するものであ
るプログラムが格納されてなることを特徴とする。
【0094】また、上記目的を達成する本発明のオブジ
ェクト指向プログラミング用プログラム記憶媒体のうち
の第2のオブジェクト指向プログラミング用プログラム
記憶媒体は、データと処理とを有するオブジェクト複数
を相互に結合するオブジェクト指向プログラミングを支
援するプログラムが格納されたオブジェクト指向プログ
ラミング用プログラム記憶媒体において、上記オブジェ
クトが、オブジェクト本体をあらわすブロックと、自オ
ブジェクト内部のデータを他オブジェクトに渡すための
データ出力端子と、他オブジェクトのデータを自オブジ
ェクトが受け取るためのデータ入力端子と、他オブジェ
クトに向けて処理を依頼するメッセージを発行するため
のメッセージ端子と、他オブジェクトからの処理依頼を
受け取ってメソッドを実行するためのメソッド端子とで
表現されるとともに、1つのオブジェクトの内部に1つ
もしくは複数のオブジェクトの存在を許容する階層構造
で表現されるオブジェクトであって、複数のオブジェク
トの端子間を配線で結ぶ指示がなされるものであり、複
数のオブジェクトの端子間を配線で結ぶ指示に応じて、
複数のオブジェクト間の、指示に応じた配線に対応した
結合構造を構築するオブジェクト結合手段と、オブジェ
クトの階層構造を構築する階層構造構築手段とを含むプ
ログラムであって、上記オブジェクト結合手段が、オブ
ジェクトの置き換えの指示に応じて、置き換え前のオブ
ジェクトの、他オブジェクトとの結合構造を解除して、
置き換え前のオブジェクトの他オブジェクトとの結合構
造を、置き換え後のオブジェクトに継承させるものであ
り、上記階層構造構築手段が、オブジェクトの置き換え
の指示に応じて、置き換え前のオブジェクトが配置され
ていた階層に、置き換え前のオブジェクトに代えて、置
き換え後のオブジェクトを配置するものであるプログラ
ムが格納されてなることを特徴とする。
【0095】さらに、本発明のオブジェクト指向プログ
ラミング用プログラム記憶媒体のうちの第3のオブジェ
クト指向プログラミング用のプログラム記憶媒体は、デ
ータと処理とを有するオブジェクト複数を相互に結合す
るオブジェクト指向プログラミングを支援するプログラ
ムが格納されたオブジェクト指向プログラミング用プロ
グラム記憶媒体において、上記オブジェクトが、オブジ
ェクト本体をあらわすブロックと、自オブジェクト内部
のデータを他オブジェクトに渡すためのデータ出力端子
と、他オブジェクトのデータを自オブジェクトが受け取
るためのデータ入力端子と、他オブジェクトに向けて処
理を依頼するメッセージを発行するためのメッセージ端
子と、他オブジェクトからの処理依頼を受け取ってメソ
ッドを実行するためのメソッド端子とで表現されるとと
もに、1つのオブジェクトの内部に1つもしくは複数の
オブジェクトの存在を許容する階層構造で表現されるオ
ブジェクトであって、複数のオブジェクトの端子間を配
線で結ぶ指示がなされるものであり、複数のオブジェク
トの端子間を配線で結ぶ指示に応じて、複数のオブジェ
クト間の、指示に応じた配線に対応した結合構造を構築
するオブジェクト結合手段と、オブジェクトの階層構造
を構築する階層構造構築手段とを含むプログラムであっ
て、上記階層構造構築手段が、所定の階層に配置された
オブジェクトの中から指定された複数のオブジェクトを
一段下の階層に再配置する旨の指示に応じて、それら複
数のオブジェクト相互間の結合構造、およびそれら複数
のオブジェクトと、それら複数のオブジェクト以外の他
オブジェクトとの間の結合構造が保持されるように、そ
の複数のオブジェクトを一段下の階層に再配置するとと
もにそれら所定の階層にそれら複数のオブジェクトを内
包するオブジェクトを生成して配置するものであるプロ
グラムが格納されてなることを特徴とする。
【0096】さらに、本発明のオブジェクト指向プログ
ラミング用プログラム記憶媒体のうちの第4のオブジェ
クト指向プログラミング用のプログラム記憶媒体は、デ
ータと処理とを有するオブジェクト複数を相互に結合す
るオブジェクト指向プログラミングを支援するプログラ
ムが格納されたオブジェクト指向プログラミング用プロ
グラム記憶媒体において、上記オブジェクトが、オブジ
ェクト本体をあらわすブロックと、自オブジェクト内部
のデータを他オブジェクトに渡すためのデータ出力端子
と、他オブジェクトのデータを自オブジェクトが受け取
るためのデータ入力端子と、他オブジェクトに向けて処
理を依頼するメッセージを発行するためのメッセージ端
子と、他オブジェクトからの処理依頼を受け取ってメソ
ッドを実行するためのメソッド端子とで表現されるとと
もに、1つのオブジェクトの内部に1つもしくは複数の
オブジェクトの存在を許容する階層構造で表現されるオ
ブジェクトであって、複数のオブジェクトの端子間を配
線で結ぶ指示がなされるものであり、複数のオブジェク
トの端子間を配線で結ぶ指示に応じて、複数のオブジェ
クト間の、該配線に対応した結合構造を構築するオブジ
ェクト結合手段と、オブジェクトの階層構造を構築する
階層構造構築手段とを含むプログラムであって、上記オ
ブジェクト結合手段が、指定された1つのメッセージ端
子に接続されたメソッド端子が複数存在する場合の、こ
れら複数のメソッド端子に対応する複数のメソッドの実
行順序をあらわすリストを作成する手段と、そのリスト
にあらわれた複数のメソッドの実行順序の変更指示に応
じてそれら複数のメソッドの実行順序が変更された結合
構造を再構築する手段とを有するものであるプログラム
が格納されてなることを特徴とする。
【0097】また、本発明のコンポーネント記憶媒体の
うちの第1のコンポーネント記憶媒体は、他オブジェク
トで発行されたメッセージにより発火して所定の既存ソ
フトウェアのイベントを発行するメソッドを含む、該既
存ソフトウェアと合わせて1つのオブジェクトとして作
用するコンポーネントが格納されてなることを特徴とす
る。
【0098】このようなコンポーネントにより、既存ソ
フトウェアがいわば‘包み込まれる’形となり、既存ソ
フトウェアの仕組みによらず、また、この既存ソフトウ
ェアを改変することなく、既存ソフトウェアをオブジェ
クトとして取り込むことができ、既存ソフトウェアの再
利用性が格段に向上する。
【0099】ここで、上記コンポーネントが、上記メソ
ッドを含むとともにそのメソッドの実行により上記イベ
ントが発行されたことを他オブジェクトに向けて通知す
るメッセージを含むものであることが好ましい。
【0100】この場合、メソッドとメッセージとの間の
接続による連鎖的な処理が可能となる。
【0101】また、本発明のコンポーネント記憶媒体の
うちの第2のコンポーネント記憶媒体は、所定の既存ソ
フトウェアの所定のイベントの発生を受けてそのイベン
トが発生したことを他オブジェクトに向けて通知するメ
ッセージを含む、その既存ソフトウェアと合わせて1つ
のオブジェクトとして作用するコンポーネントが格納さ
れてなることを特徴とする。
【0102】このようなコンポーネントにより、既存ソ
フトウェアを‘包み込む’ことにより、既存ソフトウェ
アに対するイベントが発生したのを受けて他オブジェク
トのメソッドを連動して実行させるなどといった拡張機
能を、既存ソフトウェア自体の拡張性に依存せずに実現
することができる。
【0103】また、本発明のコンポーネント作成装置
は、メソッドの作成およびメッセージの作成を選択的に
指示入力する第1の操作子と、所定の既存ソフトウェア
の所望のイベントの発行を指示入力する第2の操作子
と、既存ソフトウェアと合わせて1つのオブジェクトと
して作用するコンポーネントを作成するコンポーネント
作成手段であって、第1の操作子の操作によりメソッド
の作成が指示され次いで第2の操作子の操作により既存
ソフトウェアの所定のイベントが発行された場合に、そ
のコンポーネントに、他オブジェクトで発行されたメッ
セージにより発火してそのイベントを発行するメソッド
を作成し、第1の操作子によりメッセージの作成が指示
され次いで第2の操作子により既存ソフトウェアの所定
のイベントの発行が指示された場合に、そのコンポーネ
ントに、そのイベントの発生に応答してそのイベントが
発生したことを他オブジェクトに通知するためのメッセ
ージを作成するコンポーネント作成手段とを備えたこと
を特徴とする。
【0104】このようなコンポーネント作成装置を用い
ることによって、上述の第1のコンポーネント記憶媒体
や第2のコンポーネント記憶媒体に格納されるコンポー
ネントを、プログラミングについての深い知識を要求す
ることなく、対話的に容易に作成することができる。
【0105】また、本発明のオブジェクト指向プログラ
ミング支援装置のうちの第5のオブジェクト指向プログ
ラミング支援装置は、他オブジェクトで発行されたメッ
セージにより発火して所定の既存ソフトウェアのイベン
トを発行するメソッドと、そのメソッドの実行により上
記イベントが発行されたことを他オブジェクトに向けて
通知するメッセージとを含みその既存ソフトウェアと合
わせて1つのオブジェクトとして作用するコンポーネン
トを、1つもしくは複数の既存ソフトウェアに関して格
納するコンポーネントファイルと、既存ソフトウェアに
ついてイベントの発行を指示入力するための操作子と、
その操作子の操作に応じて順次発行された、1つもしく
は複数の既存ソフトウェアに関するイベントのリストを
格納するイベントログファイルと、イベントログファイ
ルから順次にイベントを取り出して、前回取り出したイ
ベントと同一のイベントが発行されたことを他オブジェ
クトに向けて通知するメッセージを含むコンポーネント
のメッセージと、今回取り出したイベントと同一のイベ
ントを発行するメソッドを含むコンポーネントのメソッ
ドとを結合するコンポーネント結合手段とを備えたこと
を特徴とする。
【0106】本発明の第5のオブジェクト指向プログラ
ミング支援装置によれば、1つもしくは複数の既存ソフ
トウェアの複数のイベントの発行を実際に動作させたい
順に順次指示することにより、既存ソフトウェアをコン
ポーネントで包み込んだオブジェクト間のメッセージと
メソッドとが結合され、プログラミングについての深い
知識を要求することなく、既存アプリケーションの複数
のイベントの自動操作が可能となる。
【0107】
【発明の実施の形態】以下、本発明の実施形態について
説明する。
【0108】ここでは、本発明の実施形態を総合したオ
ブジェクトウェアプログラミングシステムの概要につい
て先ず説明し、その後個々の実施形態の説明に移る。
【0109】図1は、本発明のオブジェクト指向プログ
ラミング装置、オブジェクト指向プログラミング支援装
置、コンポーネント作成装置、オブジェクト指向プログ
ラム記憶媒体、オブジェクト指向プログラミング用プロ
グラム記憶媒体、コンポーネント記憶媒体、およびオブ
ジェクト間ネットワーク表示方法の各実施形態を包含す
るコンピュータシステムの外観図である。
【0110】図1に示すコンピュータシステム100
は、CPUやMO(光磁気ディスク)ドライブ装置等が
内蔵された本体部101、本体部101からの指示によ
り、表示画面102a上に画像を表示する画像表示部1
02、このコンピュータシステム100に種々の情報を
入力するためのキーボード103、画像表示部102の
表示画面102a上の任意の位置を指定するマウス10
4、以下において説明するオブジェクトやオブジェクト
結合プログラム等を格納しておく記憶部105が備えら
れている。
【0111】プログラムの開発は、この図1に示すコン
ピュータシステムでも行なうことができ、また、他の同
種のコンピュータシステムを用いて開発されたものを可
搬型記憶媒体であるMO(光磁気ディスク)110に格
納し、そのMO110をこの図1に示すコンピュータシ
ステム100に装填して、このコンピュータシステム1
00に入力することもできる。またそれと同様に、この
図1に示すコンピュータシステム100を用いて開発し
たプログラムを、MO110を介して他のコンピュータ
システムに移すこともできる。
【0112】図2は、図1に示すコンピュータシステム
内に実現されたオブジェクトウェアプログラミングシス
テムの概要図である。
【0113】このオブジェクトウェアプログラミングシ
ステム120は、オブジェクトや、既存ソフトウェアを
‘包み込む’コンポーネントを作成するオブジェクトビ
ルダ部121、オブジェクト間の配線(結合関係)を表
示し、編集するオブジェクト間配線エディタ部122、
および、オブジェクトビルダ部121で作成されたオブ
ジェクト(既存ソフトウェアとコンポーネントとの組合
せからなるオブジェクトを含む)を、オブジェクト間配
線エディタ部122で定義されたオブジェクト間の配線
(接続関係)のとおりに接続して実行するインタプリン
タ部123から構成されている。
【0114】オブジェクトビルダ部121では、図1に
示すコンピュータシステム100のキーボード103や
マウス104の操作によりオブジェクトを最初から作成
することもできるが、このオブジェクトウェアプログラ
ミングシステム120には、このオブジェクトウェアプ
ログラミングシステム120とは全く独立に、かつ、各
種の異なるプログラム言語で開発された既存の各種のア
プリケーションプログラム(以下、アプリケーションプ
ログラムをアプリケーションと略記することがある)が
格納された既存アプリケーションファイル131が備え
られており、このオブジェクトビルダ121では、この
既存アプリケーションファイル131に格納された既存
アプリケーションを‘包み込み’、その既存アプリケー
ションと合わせて1つのオブジェクトとして作用するコ
ンポーネントを作成することもできる。ここでは、特に
断らない限り、このコンポーネントとそのコンポーネン
トにより‘包み込まれた’既存アプリケーションとを合
わせたオブジェクトを含めて、オブジェクトと表現す
る。
【0115】オブジェクトビルダ部121で作成された
オブジェクトは、オブジェクトデータファイル132と
実行型オブジェクトファイル133に格納される。オブ
ジェクトデータファイル132には、オブジェクトビル
ダ部121で作成されたオブジェクトをあらわす情報の
うち、以下において説明するオブジェクト間配線エディ
タ部122における、オブジェクトの表示およびオブジ
ェクト間の配線(結合関係の定義)に必要な情報が抽出
されて格納される。一方、実行型オブジェクトファイル
133には、オブジェクトビルダ部121で作成された
オブジェクトがコンパイラにより実行形式に変換され、
その実行形式に変換されたオブジェクトが格納される。
【0116】オブジェクト間配線エディタ部122は、
オブジェクトデータファイル132に格納されたオブジ
ェクトの情報を受け取って図1に示す画像表示部102
の表示画面102aにそのオブジェクトを模式的に表示
し、キーボード103やマウス104の操作に応じてオ
ブジェクト間の結合状態を定義する。ここでは、後述す
るように、表示画面102a上に、ハードウェアとして
のLSI(LargeScale Integrate
d Circuit)の表示形式に近い表示形式で表示
し、それら複数のLSIの端子どうしを信号線で配線す
るような感覚でオブジェクト間の結合状態の定義が行な
われる。このため、以下では、オブジェクトのことを
「LSI」と称し、オブジェクト間の結合状態を定義す
ることを「配線」と称する場合がある。
【0117】オブジェクト間配線エディタ部122でオ
ブジェクト間の配線を行なう際は、配線の途中結果をセ
ーブしておき、またその途中結果をロードして表示する
ことなどの目的で、オブジェクト間配線データファイル
134が使用される。このオブジェクト間配線データフ
ァイル134には、マン・マシンインターフェイスとし
て都合の良い配線情報が格納される。例えばこのシステ
ムでは、配線を行なうユーザの配線の理解の容易のため
にオブジェクトが階層構造化されるが、オブジェクト間
配線データファイル134には、そのような階層構造に
関するデータも格納される。
【0118】このようにして、オブジェクト間配線エデ
ィタ部122で配線が完了すると、オブジェクト間の結
合状態をあらわす情報(以下、これを「配線データ」と
称することがある)は、インタプリンタ用配線データフ
ァイル135に格納される。配線データをインタプリン
タ用配線データファイル135に格納するにあたって
は、例えばオブジェクトの階層構造の情報など、単にユ
ーザの理解のための情報は捨象され、オブジェクト(ソ
フトウェア)を実際に動作させるにあたって必要となる
配線データのみが抽出されてインタプリンタ用配線デー
タファイル135に格納される。
【0119】インタプリンタ部123では、実行型オブ
ジェクトファイル133に格納された実行形式のオブジ
ェクトがインタプリンタ用配線データファイル135に
格納された配線データのとおりに結合されて実行され
る。
【0120】以下、各実施形態について説明するが、説
明の都合上および理解の容易のために、図2に示すオブ
ジェクトウェアシステム120全体の中の位置付けから
すると、先ずインタプリンタ部123およびその周辺部
に関連した実施形態について説明し、次いでオブジェク
ト間配線エディタ部122およびその周辺部に関連して
実施形態について説明し、最後にオブジェクトビルダ部
121およびその周辺部に関連した実施形態について説
明する。
【0121】以下、先ず、インタプリンタ部123およ
びその周辺部に関連した実施形態について説明する。
【0122】図3は、図1に示すコンピュータシステム
内に実現されたソフトウェアシステムの第1例を示す模
式図である。ここでは、この図3を参照して本発明の第
1のオブジェクト指向プログラミング装置および本発明
の第1のオブジェクト指向プログラム記憶媒体の一実施
形態の全体構成について概括し、その後、図4以降の図
を参照してその内容について詳細に説明する。
【0123】この図3に示すソフトウェアシステムと本
発明との対応関係は以下のとおりである。すなわち、こ
の図3に示すソフトウェアシステムが記憶された状態の
記憶部105(図1参照)が本発明の第1のオブジェク
ト指向プログラム記憶媒体の一実施形態に相当し、図1
に示すコンピュータシステム100のハードウェアと、
そのコンピュータシステム100内で動作可能な状態に
あるオブジェクト結合部10の組合せが、本発明の第1
のオブジェクト指向プログラミング装置に相当する。
尚、この図3に示すソフトウェアシステムがMO110
にダウンロードされたときは、この図3に示すソフトウ
ェアシステムを格納した状態にあるMO110も、本発
明の第1のオブジェクト指向プログラム記憶媒体の一例
に相当する。
【0124】ここでは、代表的に、それぞれがデータと
処理(メソッド)とからなる2つのオブジェクトA,B
を考える。
【0125】オブジェクト結合部10を構成する出力イ
ンストラクションバス部生成部11は、オブジェクト
(ここでは代表的にオブジェクトAとする)の、他オブ
ジェクト(ここでは代表的にオブジェクトBとする)に
対するメッセージの発行処理を行なう出力インストラク
ションバス部の核となる部分を生成する。
【0126】また、オブジェクト結合部10を構成する
入力インストラクションバス部生成部12は、オブジェ
クト(ここでは代表的にオブジェクトBとする)の入力
インストラクションバス部を生成する。入力インストラ
クションバス部は、他オブジェクト(ここでは代表的に
オブジェクトAとする)で発行された自オブジェクト
(ここではオブジェクトB)向けのメッセージを受け付
けて、自オブジェクト(オブジェクトB)の、その受け
付けたメッセージに対応するメソッドを起動する部分で
ある。
【0127】尚、本実施形態では、オブジェクト結合部
10に出力インストラクションバス部生成部11および
入力インストラクションバス部生成部12が備えられて
いるが、オブジェクトA,Bが、出力インストラクショ
ンバス部ないし入力インストラクションバス部に相当す
る構造をもともともっているものであってもよく、オブ
ジェクト結合部10には、必ずしも出力インストラクシ
ョンバス部生成部11および入力インストラクションバ
ス部生成部12は備えられていなくてもよい。
【0128】オブジェクト結合部10を構成するインス
トラクション結合部13は、オブジェクト相互間(ここ
では、代表的にオブジェクトA,B間)で、オブジェク
トAのメッセージとオブジェクトBのメソッドとを対応
づける経路13aを生成することにより、オブジェクト
AとオブジェクトBとの間でのメッセージの授受を可能
ならしめる。
【0129】オブジェクト結合部10を構成するデータ
要素リスト生成部14は、オブジェクト(ここでは代表
的にオブジェクトAとする)の、データが格納されるデ
ータ格納領域へのポインタが配列されてなるデータ要素
リストを生成する。
【0130】また、これと同様に、オブジェクト結合部
10を構成するポインタ要素リスト生成部15は、オブ
ジェクト(ここでは代表的にオブジェクトBとする)
の、データへのポインタが格納されるポインタ格納領域
へのポインタが配列されてなるポインタ要素リストを生
成する。
【0131】オブジェクト結合部10を構成するデータ
結合部16は、オブジェクトA,B間で、ポインタ要素
リスト生成部15により生成されたオブジェクトBのポ
インタ要素リストに配列されたポインタが指し示すポイ
ンタ格納領域に、データ要素リスト生成部14により生
成されたオブジェクトAのデータ要素リストに配列され
たポインタを書き込むことにより、オブジェクトA,B
間でのデータの授受の経路16aを生成し、それらのオ
ブジェクトA,B間でのデータの授受を可能ならしめ
る。
【0132】図4は、図3に示すオブジェクトAの出力
インストラクションバス部とオブジェクトBの入力イン
ストラクションバス部のデータ構造の一例を示す模式図
である。
【0133】オブジェクトAには、オブジェクトAのメ
ッセージの最大数MAA MAX の配列からなるメッセージ
テーブルが備えられており、このメッセージテーブルに
は、各メッセージのメッセージ番号MAA (ここでは
メッセージ番号をMAであらわし、オブジェクトAのメ
ッセージのメッセージ番号であることを添字Aであらわ
す)に対応して、以下に説明するメソッド要素リストへ
のポインタが格納されている。
【0134】メソッド要素リストは、1つもしくは複数
のメソッド要素の配列からなり、各メソッド要素は、メ
ソッドを特定するメソッド番号MEと、そのメソッド番
号MEにより特定されるメソッドが実行されるオブジェ
クトへのポインタと、次のメソッド要素へのポインタと
により構成されている。ここでは、メソッド番号をME
であらわし、そのメソッド番号MEにより特定されるメ
ソッドが実行されるオブジェクトを添字であらわす。す
なわち、図4に示す、最上段のメソッド要素には、オブ
ジェクトBのメソッドのメソッド番号MEB と、オブジ
ェクトBへのポインタが格納されている。
【0135】最後段のメソッド要素の、次のメソッド要
素へのポインタの欄には、自分が最後段であって自分の
後ろに並ぶメソッド要素がないことをあらわす情報(こ
こではこの情報を‘ヌル’と称する)が格納されてい
る。
【0136】このメソッド要素リストは、最も多くは、
オブジェクトAのメッセージの数に対応した数だけ生成
され、各メソッド要素リストは、オブジェクトAの各メ
ッセージに対応しており、そのメッセージを発行する際
に対応するメソッド要素リストが参照される。
【0137】尚1つのメッセージに対し1つのメソッド
要素リストが対応しているが、1つのメソッド要素リス
トに配列されたメソッド要素は、ある1つのオブジェク
ト(例えばオブジェクトB)に関するメソッド要素のみ
とは限らず、1つのメソッド要素リストには、複数のオ
ブジェクトの複数のメソッドに関するメソッド要素が配
列され得る。
【0138】また、ここでは、オブジェクトAの出力イ
ンストラクションバス部の構造について説明している
が、出力インストラクションバス部は、他のオブジェク
トに対しメッセージを発行するオブジェクトそれぞれが
持っている。
【0139】オブジェクトBには、オブジェクトBのメ
ソッドMEB の最大数MEB MAXの配列からなるメソ
ッドテーブルが備えられており、このメソッドテーブル
には、各メソッドのメソッド番号MEB に対応して、
そのメソッド番号MEB で特定されるメソッドへのポ
インタが格納されている。
【0140】尚、ここでは、オブジェクトBの入力イン
ストラクションバス部の構造について説明しているが、
入力インストラクションバス部は、出力インストラクシ
ョンバス部と同様に、他のオブジェクトで発行されたメ
ッセージを受け付けて、そのメッセージに対応するメソ
ッドを実行するオブジェクトそれぞれが持っている。ま
た1つのオブジェクトが出力インストラクションバス部
と入力インストラクションバス部との双方を持つことも
多々あり得ることである。
【0141】図5は、メッセージの発行処理を示すフロ
ーチャートである。
【0142】オブジェクトAで実行中のある処理におい
てメッセージを発行しようとしたとき、メッセージテー
ブルが参照され、その発行しようとしているメッセージ
のメッセージ番号MAA から、そのメッセージ番号M
A に対応するメソッド要素リストへのポインタが取
得され(ステップ5_1)、そのポインタにより指示さ
れたメソッド要素リストに配列された各メソッド要素が
それぞれ参照される。例えば図4の最上段のメソッド要
素が参照されると、そのメソッド要素に格納されたポイ
ンタにより指示されるオブジェクトBが、そのメソッド
要素に格納されたメソッド番号MEB を引数として呼
び出される(ステップ5_2)。このようなメッセージ
発行処理が、1つのメッセージの発行に対し、1つのメ
ソッド要素リストに並ぶ各メソッド要素に関して行なわ
れる(ステップ5_3,5_4)。
【0143】メソッド番号MEB を引数として呼び出
されたオブジェクトBでは、その引数であるメソッド番
号MEB を取得し(ステップ5_5)、メソッドテー
ブルを参照して、その取得したメソッド番号MEB
より特定されるメソッドへのポインタを取得し、そのポ
インタにより指示されるメソッドの処理が行なわれる
(ステップ5_5)。
【0144】図6は、図3に示すオブジェクト結合部1
0の出力インストラクションバス部生成部11の処理を
示すフローチャートである。
【0145】ここでは、図4に示すMAA MAX 幅のメ
ッセージテーブルの枠が生成される(ステップ6_
1)。
【0146】尚、本実施形態では、オブジェクトAがメ
ッセージを発行する際、メッセージテーブルを介してメ
ソッド要素リストのポインタを知るように構成されてい
るが、例えば、オブジェクトAの処理(メソッド)内に
直接にメソッド要素へのポインタが書き込まれていても
よく、その場合メッセージテーブルは不要である。すな
わち、本発明においては、図6に示す処理、すなわち、
図3に示す出力インストラクションバス部生成部11は
必ずしも必要ではない。
【0147】図7は、図3に示すオブジェクト結合部1
0の入力インストラクションバス部生成部12の処理を
示すフローチャートである。
【0148】ここでは、図4に示す、MEB MAX 幅の
メソッドテーブルの枠が生成され(ステップ7_1)、
その枠内の各メソッド番号MEB の欄に、各メソッド
番号MEB に対応するメソッドへのポインタが格納さ
れる(ステップ7_2)。
【0149】尚、本実施形態では、メソッドテーブルを
介してメソッドへのポインタを認識するように構成して
いるが、メソッド番号MEB とメソッドへのポインタ
とをメソッドテーブルの形式で対応づける必要はかなら
ずしも必要ではなく、したがって図7に示す処理、すな
わち図3に示す入力インストラクションバス部生成部1
2は必ずしも必要ではない。
【0150】図8は、図3に示すオブジェクト結合部1
0におけるインストラクション結合部13の処理を示す
フローチャートである。ここでも、オブジェクトBを他
オブジェクトの代表としている。
【0151】ここでは、メソッド要素が生成されるが、
このメソッド要素の生成にあたっては、図1に示すコン
ピュータシステムを操作する操作者によりメッセージと
メソッドとの対応関係が指定される。この対応関係は、 (a)オブジェクトAのポインタ (b)オブジェクトBのポインタ (c)オブジェクトAのメッセージ番号MAA (d)オブジェクトBのメソッド番号MEB の指定により定められる。尚、上記(a)〜(d)は直
接的なアドレスや番号を操作者が指定するのではなく、
そのオブジェクトの名前やそのオブジェクトでの処理
(例えば表計算プログラム、表計算結果を画面に表示せ
よ)といった指定を、例えば表示画面102a(図1参
照)に表示されたアイコンを、マウス104を操作して
クリックすること等によりその指定が行なわれる。さら
に詳細には、後述するように、オブジェクトをLSIの
形式で表示しており、マウス104を用いてLSIの端
子どうしを配線する操作を行なうことによりその指定が
行なわれる。
【0152】ここに示す図8の処理では、先ずメソッド
要素の枠が生成され(ステップ8_1)。そのメソッド
要素の枠内に、メソッド番号MEB とオブジェクトB
へのポインタが格納され(ステップ8_2)、対応する
メッセージ番号MAA のメソッド要素リストに追加さ
れる(ステップ8_3)。すなわち、そのメソッド要素
リストに並ぶ最終段のメソッド要素の、次のメソッド要
素へのポインタの欄に、追加されるメソッド要素へのポ
インタが格納され、追加されるメソッド要素の、次のメ
ソッド要素へのポインタの欄に‘ヌル’が格納される。
必要に応じてこの図8に示す処理が繰り返され、データ
要素リストが生成される。
【0153】尚、そのメソッド要素リストには未だ1つ
もメソッド要素が並んでいないときは、本実施形態で
は、メッセージテーブルの、対応するメッセージ番号M
Aの欄に、登録しようとするメソッド要素へのポイン
タが格納される。
【0154】本実施形態では、このようにメソッド要素
リストを作成することにより、オブジェクトAのメッセ
ージとオブジェクトBのメソッドとを対応づけているた
め、メッセージとメソッドとの対応関係が解りやすく、
メッセージに対応したメソッドを直ちに認識することが
でき、高速処理が可能となる。
【0155】図9は、図3に示すオブジェクトAのデー
タ要素リストのデータ構造の一例を示す模式図である。
【0156】オブジェクトAの内部には、オブジェクト
Bに受け渡す必要のある多数(ここではn個)のデータ
が存在し、図3に示すオブジェクト結合部10のデータ
要素リスト生成部14により、図9に示すデータ要素リ
ストが生成される。
【0157】このデータ要素リストは、データの数nに
対応した数のデータ要素の配列であり、各データ要素
は、データが格納されるデータ格納領域へのポインタ
と、次のデータ要素へのポインタとにより構成されてい
る。最終段のデータ要素の、次のデータ要素へのポイン
タの欄には‘ヌル’が書き込まれている。尚、図9にお
いて、例えばデータ格納領域1に対応するポインタをポ
インタ1と表記せずにポインタ1_1と表記したのは、
後述するポインタとの区別のためである。
【0158】図9における‘OUTA ’は、データ要素
リスト番号を示している。データ要素リストは、データ
を受け渡す相手先の数などに応じて多数生成される可能
性があり、ここでは、各データ要素リストはデータ要素
リスト番号OUTA (添字AはオブジェクトAをあら
わす)で互いに識別されている。
【0159】図10は、図3に示すオブジェクト結合部
10のデータ要素リスト生成部14の処理を示すフロー
チャートである。
【0160】データ要素リストを生成するには、先ずデ
ータ要素の枠が生成され(ステップ10_1)、その枠
にデータ格納領域へのポインタが代入され(ステップ1
0_2)、データ要素リストに追加される(10_
3)。データ要素リストに追加するにあたっては、その
データ要素リストの最終段に既に並んでるデータ要素
の、次のデータ要素へのポインタを格納する欄に、追加
しようとするデータ要素リストへのポインタを格納さ
れ、追加しようとするデータ要素リストの、次のデータ
要素へのポインタが格納する欄に‘ヌル’が格納され
る。
【0161】図10に示す処理が必要に応じて複数回繰
り返されることにより、データ要素リストが生成され
る。
【0162】図11は、図3に示すオブジェクトBのポ
インタ要素リストのデータ構造の一例を示す模式図であ
る。
【0163】オブジェクトBの内部には、オブジェクト
Aからデータを受け取る必要のある部分が多数(ここで
はn個)存在し、各部分には、ポインタ格納領域が確保
されている。各ポインタ格納領域1〜nには、データ要
素とポインタ要素とが結合される前の現段階では、それ
ぞれ勝手な、データへのポインタ1_3,2_3,…,
n_3が格納されている。ここでは、図3に示すオブジ
ェクト結合部10のポインタ要素リスト生成部15によ
り、図11に示すポインタ要素リストが生成される。
【0164】このポインタ要素リストは、ポインタ格納
領域の数nに対応した数のポインタ要素の配列であり、
各ポインタ要素は、対応するポインタ格納領域へのポイ
ンタと、次のポインタ要素へのポインタとにより構成さ
れている。この図11では、例えばポインタ格納領域1
へのポインタをポインタ1と表記せずにポインタ1_2
と表記しており、さらにそのポインタ格納領域1に格納
されている勝手なポインタをポインタ1_3と表記して
いる。これは、図9に示すデータ要素に格納されたポイ
ンタを含めポインタを相互に区別するためである。
【0165】ポインタ要素リストも、データ要素リスト
の場合と同様に、データを受け取る相手の数などに応じ
て多数生成される可能性があり、ここでは各ポインタ要
素リストはポインタ要素リスト番号INB (添字Bはオ
ブジェクトBをあらわす)で互いに識別されている。
【0166】図12は、図3に示すオブジェクト結合部
10のポインタ要素リスト生成部15の処理を示すフロ
ーチャートである。図10に示すデータ要素リスト生成
部14の処理とほぼ同様であり、簡単に説明するにとど
める。
【0167】先ずポインタ要素の枠を生成し(ステップ
12_1)、その枠内に、対応するポインタ格納領域へ
のポインタを格納し(ステップ12_2)、ポインタ要
素リストに追加する(ステップ12_3)。この処理を
必要に応じて複数回繰り返すことによりポインタ要素リ
ストが生成される。
【0168】図13は、図3に示すオブジェクト結合部
10のデータ結合部16の処理が実行された後の構造を
示す模式図である。
【0169】ここでは、オブジェクトBのポインタ格納
領域1〜nに、図9に示すデータ要素リストに配列され
たデータ要素に格納されていたポインタ1_1〜n_1
が格納されており、オブジェクトAのデータをオブジェ
クトBから直接参照できる構造となっている。
【0170】図14は、図3に示すオブジェクト結合部
10のデータ結合部16の処理を示すフローチャートで
ある。
【0171】先ず、図9に示すデータ要素リストの先頭
に並ぶデータ要素に格納されたポインタ1_1が作業領
域Pに格納され(ステップ14_1)、これと同様に、
図11に示すポインタ要素リストの先頭に並ぶポインタ
要素に格納されたポインタ1_2が作業領域Pに格納さ
れる(ステップ14_2)。
【0172】次に、Dが空か否か、すなわち、図9に示
すデータ要素リストに並ぶ最終段のデータ要素まで、ス
テップ14_5において説明する対応付けが終了してい
るか否かが判定され(ステップ14_3)、Dが空のと
きは、この図14に示す処理を終了する。
【0173】これと同様に、Pが空か否か、すなわち、
図11に示すポインタ要素リストに並ぶ、最終段のポイ
ンタ要素まで対応付けが終了しているか否かが判定され
(ステップ14_4)、Pが空のときは、この図14に
示す処理を終了する。
【0174】ステップ14_5では、Pに格納されたポ
インタ(ここでは図11に示すポインタ1_2)が指し
示す先のポインタ格納領域(ここではポインタ格納領域
1)に格納されているポインタ(ここではポインタ1_
3)に代えて、Dに格納されたポインタ(ここでは図9
に示すポインタ1_1)が代入される。これにより、図
13に示す、オブジェクトAのデータ1とオブジェクト
Bのポインタ1_1との対応が成立する。
【0175】ステップ14_6では、図9に示すデータ
要素リストの、次に並ぶデータ要素に格納されたポイン
タ(ここではポインタ2_1)が作業領域Dに格納さ
れ、これとともに、図11に示すポインタ要素リスト
の、次に並ぶポインタ要素に格納されたポインタ(ここ
ではポインタ2_2)が作業領域Pに格納され、ステッ
プ14_3に戻る。これを繰り返し、ステップ14_5
において、図9に示すデータ要素リストの最終段のデー
タ要素と、図11に示すポインタ要素リストの最終段の
ポインタ要素との対応付けが行なわれると、次のステッ
プ14_6では作業領域Dと作業領域Pが空にされてス
テップ14_3に戻り、この図14に示す処理を終了す
る。ここではデータ要素リストに並ぶデータ要素の数と
ポインタ要素リストに並ぶポインタ要素の数が同数であ
るとして説明したが、それらの数に相違があったときは
数の少ない方の対応づけが終了した時点でDもしくはP
が空になり、この図14の処理を終了する。
【0176】この図14の処理、すなわちデータ要素リ
ストとポインタ要素リストとの対応づけが終了した後
は、データ要素リストおよびポインタ要素リストは不要
となり、消去される。
【0177】尚、図9〜図14を参照して説明したデー
タ結合処理においては、図1に示すコンピュータシステ
ム100の操作者により、 (a)オブジェクトAのポインタ (b)オブジェクトBのポインタ (c)オブジェクトAのデータ要素リスト番号OUTA (d)オブジェクトBのポインタ要素リスト番号INA が入力される。尚、これらの情報の入力にあたっては、
図8を参照して説明したメッセージとメソッドとの対応
関係の入力の場合と同様に、操作者にとって解りやすい
表現であらわされた、表示画面102a(図1参照)上
のアイコンのクリック等により、LSIを配線するイメ
ージで行なわれる。
【0178】図14の処理では、データ要素リストに並
ぶデータ要素とポインタ要素リストに並ぶポインタ要素
を、その配列順に対応づけを行なったが、例えばオブジ
ェクトA,Bを作成する際に対応するデータ格納領域と
ポインタ格納領域に同一の名前、あるいは対応する名前
を付けるというルール、あるいは、同一もしくは対応す
る名前の配列であって対応するものどうしが同一の順序
となるように配列するというルールを定めておくことに
より、その名前や配列の順序を参照して、互いに対応す
るデータ要素とポインタ要素どうしが同一順に並んだデ
ータ要素リストとポインタ要素リストを生成することが
でき、図14の処理に示すように配列順に対応づけるこ
とが可能となる。
【0179】本実施形態によれば、図3に示すように、
オブジェクトAのデータをオブジェクトBから直接参照
することができ、したがってオブジェクト間のデータの
受け渡しが極めて効率的に行なわれ、複数のオブジェク
トに跨る処理動作速度が大幅に改善されることとなり、
処理速度の低下を懸念して大きなオブジェクトを作成す
る必要がなく、小さな単位のオブジェクトを多数作成す
ることができ、ソフトウェアの再利用性を大幅に向上さ
せることができる。
【0180】以上に説明した実施形態は、図3に示すオ
ブジェクト結合部10により、初期化の段階、すなわち
複数のオブジェクトからなるソフトウェアシステムを構
築する段階で複数のオブジェクトを結合するものであ
り、その構築したソフトウェアシステムが動作を開始し
た後のオブジェクトどうしの再結合は考慮されていな
い。
【0181】そこで、次に、上述した実施形態をベース
にして、一旦構築したソフトウェアシステムが動作を開
始した後、動的な再結合が行なわれる実施形態について
説明する。
【0182】以下では、先ず図15〜図18を順次参照
しながら、本発明の第2〜第5のオブジェクト指向プロ
グラミング装置および本発明の第2〜第5のオブジェク
ト指向プログラム記憶媒体の各実施形態の全体構成につ
いて概括し、その後、図19〜図35を参照して、それ
ら第2〜第5のオブジェクト指向プログラミング装置お
よび第2〜第5のオブジェクト指向プログラム記憶媒体
を総合した実施形態について詳細に説明する。
【0183】図15は、図1に示すコンピュータシステ
ム内に実現されたソフトウェアシステムの第2例を示す
模式図である。
【0184】この図15に示すソフトウェアシステムと
本発明との対応関係は以下のとおりである。すなわち、
この図15に示すソフトウェアシステムが記憶された状
態の記憶部105(図1参照)が本発明の第2のオブジ
ェクト指向プログラム記憶媒体の一実施形態に相当し、
図1に示すコンピュータシステム100のハードウェア
と、そのコンピュータシステム100内で動作可能な状
態にあるオブジェクト結合部20との組合せが、本発明
の第2のオブジェクト指向プログラミング装置の一実施
形態に相当する。また、図15に示すソフトウェアシス
テムが図1に示すMO110にダウンロードされたとき
は、図15に示すソフトウェアシステムを格納した状態
にあるMO110も、本発明の第2のオブジェクト指向
プログラム記憶媒体の一実施形態に相当する。
【0185】この図15においても、多数のオブジェク
トを代表して、2つのオブジェクトA,Bが示されてい
る。
【0186】この図15に示すオブジェクト結合部20
における、出力インストラクションバス部生成部21、
入力インストラクションバス部生成部22、およびイン
ストラクション結合部23の各処理は、図3に示すオブ
ジェクト結合部10の、出力インストラクションバス部
生成部11、入力インストラクションバス部生成部1
2、およびインストラクション結合部13の各処理と同
一であり、インストラクション結合部23により、オブ
ジェクトAのメッセージとオブジェクトBのメソッドと
を対応づける経路23aが生成される。出力インストラ
クションバス部生成部21および入力インストラクショ
ンバス部生成部22は、本発明において必ずしも必要で
はない点も前述と同様である。
【0187】入力インストラクションタグテーブル生成
部24は、オブジェクトAの出力インストラクションバ
ス部に、他オブジェクトそれぞれ(ここでは代表的にオ
ブジェクトB)に対応する、オブジェクトBのメッセー
ジとオブジェクトAのメソッドとの対応をあらわす入力
インストラクションタグテーブルを生成する。
【0188】この入力インストラクションタグテーブル
は、後述するように、オブジェクトAからオブジェクト
Bに向けて発行されたメッセージの引数としてオブジェ
クトBに渡され、オブジェクトBでは、そのオブジェク
トBの処理中において、いわば動的に、例えばオブジェ
クトBからオブジェクトAへのメッセージの発行の経路
が生成される。
【0189】図16は、図1に示すコンピュータシステ
ムに実現されたソフトウェアシステムの第3例を示す模
式図である。
【0190】この図16に示すソフトウェアシステムと
本発明との対応関係は以下のとおりである。すなわち、
この図16に示すソフトウェアシステムが記憶された状
態の記憶部105(図1参照)が本発明の第3のオブジ
ェクト指向プログラム記憶媒体の一実施形態に相当し、
図1に示すコンピュータシステム100のハードウェア
と、そのコンピュータシステム100内で動作可能な状
態にあるオブジェクト結合部30との組合せが、本発明
の第3のオブジェクト指向プログラミング装置の一実施
形態に相当する。また、図16に示すソフトウェアシス
テムが図1に示すMO110にダウンロードされたとき
は、図16に示すソフトウェアシステムを格納した状態
にあるMO110も、本発明の第3のオブジェクト指向
プログラム記憶媒体の一実施形態に相当する。
【0191】この図16においても、多数のオブジェク
トを代表して、2つのオブジェクトA,Bが示されてい
る。
【0192】この図16に示すオブジェクト結合部30
における、出力インストラクションバス部生成部31、
入力インストラクションバス部生成部32、およびイン
ストラクション結合部33の各処理は、図3に示すオブ
ジェクト結合部10の、出力インストラクションバス部
生成部11、入力インストラクションバス部生成部1
2、およびインストラクション結合部13の各処理と同
一であり、インストラクション結合部33により、オブ
ジェクトAのメッセージとオブジェクトBのメソッドと
を対応付ける経路33aが生成される。出力インストラ
クションバス部生成部31および入力インストラクショ
ンバス部生成部32は、本発明において必ずしも必要で
はない点も前述と同様である。
【0193】出力インストラクションタグテーブル生成
部34は、オブジェクトAの出力インストラクションバ
ス部に、他オブジェクトそれぞれ(ここでは代表的にオ
ブジェクトB)に対応する、オブジェクトBのメソッド
とオブジェクトAのメッセージとの対応をあらわす出力
インストラクションタグテーブルを生成する。
【0194】この出力インストラクションタグテーブル
は、後述するように、オブジェクトAからオブジェクト
Bに向けて発行されたメッセージの引数としてオブジェ
クトBに渡され、そのオブジェクトBの処理中におい
て、いわば動的に、例えばオブジェクトAからオブジェ
クBAへのメッセージの発行の経路が再編成される。
【0195】図17は、図1に示すコンピュータシステ
ムに実現されたソフトウェアシステムの第4例を示す模
式図である。
【0196】この図17に示すソフトウェアシステムと
本発明との対応関係は以下のとおりである。すなわち、
この図17に示すソフトウェアシステムが記憶された状
態の記憶部105(図1参照)が本発明の第4のオブジ
ェクト指向プログラム記憶媒体の一実施形態に相当し、
図1に示すコンピュータシステム100のハードウェア
と、そのコンピュータシステム100内で動作可能な状
態にあるオブジェクト結合部40との組合せが、本発明
の第4のオブジェクト指向プログラミング装置の一実施
形態に相当する。また、図17に示すソフトウェアシス
テムが図1に示すMO110にダウンロードされたとき
は、図17に示すソフトウェアシステムを格納した状態
にあるMO110も、本発明の第4のオブジェクト指向
プログラム記憶媒体の一実施形態に相当する。
【0197】この図17においても、多数のオブジェク
トを代表して、2つのオブジェクトA,Bが示されてい
る。
【0198】この図17に示すオブジェクト結合部40
における、出力インストラクションバス部生成部41、
入力インストラクションバス部生成部42、およびイン
ストラクション結合部43の各処理は、図3に示すオブ
ジェクト結合部10の、出力インストラクションバス部
生成部11、入力インストラクションバス部生成部1
2、およびインストラクション結合部13の各処理と同
一であり、インストラクション結合部43により、オブ
ジェクトAのメッセージとオブジェクトBのメソッドと
を対応付ける経路43aが生成される。出力インストラ
クションバス部生成部41および入力インストラクショ
ンバス部生成部42は、本発明において必ずしも必要で
はない点も前述と同様である。
【0199】入力データタグテーブル生成部44は、オ
ブジェクトAの出力インストラクションバス部に、他オ
ブジェクトそれぞれ(ここでは代表的にオブジェクト
B)に対応する、オブジェクトBのデータ格納領域への
ポインタが配列されるデータ要素リストを特定するデー
タ要素リスト番号OUTB と、オブジェクトAのポイン
タ格納領域へのポインタが配列されるポインタ要素リス
トを特定するポインタ要素リスト番号INA との対応を
あらわす入力データタグテーブルを生成する。
【0200】データ要素リスト番号OUTB およびポイ
ンタ要素リスト番号INA は、それぞれ、オブジェクト
BおよびオブジェクトAを作成する段階で定められる
が、この入力データタグテーブルが生成されただけの段
階では、データ要素リスト自体およびポインタ要素リス
ト自体は未だ生成されていない。入力データタグテーブ
ルはオブジェクトAからオブジェクトBに向けて発行さ
れたメッセージの引数としてオブジェクトBに渡され、
オブジェクトBでは、そのオブジェクトBの処理中にお
いて、いわば動的に、自分(オブジェクトB)のデータ
要素リストを生成するとともにオブジェクトAのポイン
タ要素リストを生成し、それらのデータ要素リストとポ
インタ要素リストを結合する。詳細は後述する。
【0201】図18は、図1に示すコンピュータシステ
ムに実現されたソフトウェアシステムの第5例を示す模
式図である。
【0202】この図18に示すソフトウェアシステムと
本発明との対応関係は以下のとおりである。すなわち、
この図18に示すソフトウェアシステムが記憶された状
態の記憶部105(図1参照)が本発明の第5のオブジ
ェクト指向プログラム記憶媒体の一実施形態に相当し、
図1に示すコンピュータシステム100のハードウェア
と、そのコンピュータシステム100内で動作可能な状
態にあるオブジェクト結合部50との組合せが、本発明
の第5のオブジェクト指向プログラミング装置の一実施
形態に相当する。また、図18に示すソフトウェアシス
テムが図1に示すMO110にダウンロードされたとき
は、図18に示すソフトウェアシステムを格納した状態
にあるMO110も、本発明の第5のオブジェクト指向
プログラム記憶媒体の一実施形態に相当する。
【0203】この図18においても、多数のオブジェク
トを代表して、2つのオブジェクトA,Bが示されてい
る。
【0204】この図18に示すオブジェクト結合部50
における、出力インストラクションバス部生成部51、
入力インストラクションバス部生成部52、およびイン
ストラクション結合部53の各処理は、図3に示すオブ
ジェクト結合部10の、出力インストラクションバス部
生成部11、入力インストラクションバス部生成部1
2、およびインストラクション結合部13の各処理と同
一であり、インストラクション結合部53により、オブ
ジェクトAのメッセージとオブジェクトBのメソッドと
を対応づける経路53aが生成される。インストラクシ
ョンバス部生成部51および入力インストラクションバ
ス部生成部52は、本発明において必ずしも必要ではな
い点も前述と同様である。
【0205】出力データタグテーブル生成部54は、オ
ブジェクトAの出力インストラクションバス部に、他オ
ブジェクトそれぞれ(ここでは代表的にオブジェクト
B)に対応する、オブジェクトBのポインタ格納領域へ
のポインタが配列されるポインタ要素リストを特定する
ポインタ要素リスト番号INB と、オブジェクトAの
データ格納領域へのポインタが配列されるデータ要素リ
ストを特定するデータ要素リスト番号OUTA との対
応をあらわす出力データタグテーブルを生成する。
【0206】ポインタ要素リスト番号INB およびデ
ータ要素リスト番号OUTA は、それぞれ、オブジェ
クトBおよびオブジェクトAを作成する段階で定められ
るが、この出力データタグテーブルが生成されただけの
段階では、ポインタ要素リスト自体およびデータ要素リ
スト自体は未だ生成されていない。出力データタグテー
ブルはオブジェクトAからオブジェクトBに向けて発行
されたメッセージの引数としてオブジェクトBに渡さ
れ、オブジェクトBでは、そのオブジェクトBの処理中
において、いわば動的に、オブジェクトAのデータ要素
リストを生成するとともに、自分(オブジェクトB)の
ポインタ要素リストを生成し、それらのデータ要素リス
トとポインタ要素リストを結合する。詳細は後述する。
【0207】図19は、図15〜図18に示すオブジェ
クトAの、データ構造の一部を示す模式図である。この
図19には、図4に示すデータ構造のうちのメソッド要
素1つ分と、そのメソッド要素に結合した入力インスト
ラクションタグテーブル、出力インストラクションタグ
テーブル、入力データタグテーブル、および出力データ
タグテーブルが示されている。この図19には、各図1
5〜18を参照してそれぞれ説明した各実施形態の特徴
を全て備えた、総合的な実施形態のデータ構造が示され
ている。
【0208】この図19に示すメソッド要素には、図4
に示すメソッド要素の構成、すなわち、他オブジェクト
(ここでは代表的にオブジェクトB)のメソッド番号M
B、そのメソッド番号MEB により特定されるメソッ
ドを実行するオブジェクト(ここではオブジェクトB)
へのポインタ、および次のメソッド要素へのポインタ
に、さらに、入力インストラクションタグテーブルへの
ポインタ(以下、P1と称することがある)、出力イン
ストラクションタグテーブルへのポインタ(以下、P2
と称することがある)、入力データタグテーブルへのポ
インタ(以下、P3と称することがある)、および出力
データタグテーブルへのポインタ(以下、P4と称する
ことがある)、および自分自身(オブジェクトA)への
ポインタ(以下、P5と称することがある)が付加され
ている。
【0209】入力インストラクションタグテーブルは、
他オブジェクト(ここではオブジェクトB)のメッセー
ジの最大数MAB MAX と同じ幅の配列であって、オブジ
ェクトBのメッセージ番号MA に対応して、オブジ
ェクトAのメソッド番号MEAが格納されている。
【0210】また、出力インストラクションタグテーブ
ルは、他オブジェクト(ここではオブジェクトB)のメ
ソッドの最大数MEB MAX と同じ幅の配列であって、
オブジェクトBのメソッド番号MEB に対応して、オ
ブジェクトAのメッセージ番号MAA が格納されてい
る。
【0211】入力データタグテーブル10は、他オブジ
ェクト(ここではオブジェクトB)のデータ要素リスト
の最大数OUTB MAX と同じ幅の配列であって、オブジ
ェクトBのデータ要素リスト番号OUTB に対応して、
オブジェクトAのポインタ要素リスト番号INA が格納
されている。
【0212】さらに出力データタグテーブルは、他オブ
ジェクト(ここではオブジェクトB)のポインタ要素リ
ストの最大数INB MAX と同じ幅の配列であって、オ
ブジェクトBのポインタ要素リスト番号INB に対応
して、オブジェクトAのデータ要素リスト番号OUTA
が格納されている。
【0213】尚、この図19には、オブジェクトAの出
力インストラクションバス部に関し、さらにオブジェク
トBに関する4つのタグテーブルが示されているが、一
般的には、これら4つのタグテーブルは、オブジェクト
Aの出力インストラクションバス部全体としては、オブ
ジェクトAで発行するメッセージを受け取る相手のオブ
ジェクトの数だけ保持される。すなわち、これら4つの
タグテーブルは、相手のオブジェクトそれぞれに対応し
ている。オブジェクトAに限らず他のオブジェクトの出
力インストラクションバス部に関しても同様である。
【0214】オブジェクトAが図19に示すメソッド要
素を参照しオブジェクトBに向けてメッセージを発行す
るにあたっては、オブジェクトBのメソッド番号MEB
のほか、必要に応じてP1〜P5のうちの一部もしく
は全部が引数としてオブジェクトBに渡される。あるい
は、常に、メソッド番号MEB 、P1〜P5の全てを
引数としてもよい。
【0215】以下、特に断らない限り、図4に示すデー
タ構造が図19に示すように変更されたデータ構造を前
提にして説明する。
【0216】図20は、オブジェクトAのメッセージ発
行処理の一例を示すフローチャートである。
【0217】ステップ20_1,20_3,20_4
は、図5のステップ5_1,5_3,5_4と同一であ
り、説明は省略する。
【0218】ステップ20_2では、メソッド番号ME
B に加え、ここに示す例では、P1,P2,P5を引
数としてオブジェクトBに渡され、このメッセージを受
け取ったオブジェクトBでは、図5(B)に示すフロー
に従ってメソッド番号MEBにより特定されるメソッド
の処理が実行される。
【0219】図21は、オブジェクトBの処理中におけ
る部分処理の第1例を示すフローチャートである。この
部分処理は、引数としてオブジェクトBに渡されたメソ
ッド番号MEB により特定されるメソッドの処理中で
実行される。
【0220】ここでは、オブジェクトBに引数として渡
された入力インストラクションバステーブルが参照さ
れ、オブジェクトBのメッセージ番号MA からオブ
ジェクトAのメソッド番号MEA が取得され(ステッ
プ21_1)、オブジェクトBの処理中で、その取得し
たオブジェクトAのメソッド番号MEA のメソッドの
処理が実行される。
【0221】図22は、オブジェクトBの処理中におけ
る部分処理の第2例を示すフローチャートである。
【0222】ここでは、引数としてオブジェクトBに渡
された入力インストラクションタグテーブルが参照さ
れ、オブジェクトBのメッセージ番号MA からオブ
ジェクトAのメソッド番号MEA が取得され(ステッ
プ22_1)、自分(オブジェクトB)のメッセージテ
ーブルのメッセージ番号MA に対応するメソッド要
素リストに、オブジェクトAのメソッド番号MEA
関するメソッド要素を追加する(ステップ22_2)。
こうすることにより、以後、オブジェクトBでメッセー
ジ番号MA のメッセージを発行すると、オブジェク
トAのメソッド番号MEA のメソッドが実行されるよ
うになる。
【0223】図23は、オブジェクトBの処理中におけ
る部分処理の第3例を示すフローチャートである。ただ
しこの部分処理は直接にはオブジェクトAで発行された
メッセージの引数は参照されていない。
【0224】ここでは、オブジェクトBの処理によりオ
ブジェクトCが生成される(ステップ23_1)。1つ
のオブジェクト中で、他のオブジェクトを生成する処理
自体は、オブジェクト指向プログラミングにおける通常
の処理の1つであり、ここではオブジェクトCを生成す
る手法についての説明は省略する。
【0225】図24は、オブジェクトBの処理中におけ
る部分処理の第4例を示すフローチャートである。
【0226】この図24に示す部分処理は、その実行に
先立って図23に示す部分処理が実行され、オブジェク
トCが生成されている必要がある。ただし、このオブジ
ェクトCの生成タイミングは、特に限定されるものでは
なく、オブジェクトBにおける今回の一連処理中でオブ
ジェクトCを生成してもよく、あるいはオブジェクトB
における前回、あるいはそれ以前の処理においてオブジ
ェクトCが生成されていてもよい。
【0227】図24の部分処理中では、引数としてオブ
ジェクトBに渡された入力インストラクションタグテー
ブルが参照され、もともとはオブジェクトBのメッセー
ジ番号であって、オブジェクトCに引き継がれたたメッ
セージ番号MA に対応する、オブジェクトAのメソ
ッド番号MEA が取得される(ステップ24_1)。
そして、今度は、オブジェクトCのメッセージテーブル
のメッセージ番号MA に対応するオブジェクトCの
メソッド要素リストに、オブジェクトAのメソッド番号
MEA のメソッド要素が追加される(ステップ24_
2)。これにより、オブジェクトCからオブジェクトA
へのメッセージの経路が形成される。
【0228】図25は、オブジェクトBの処理中におけ
る部分処理の第5例を示すフローチャートである。
【0229】ここでは出力インストラクションタグテー
ブルが参照されて、オブジェクトBのメソッド番号ME
B に対応するオブジェクトAのメッセージ番号MAA
が取得され(ステップ25_1)、オブジェクトAのメ
ッセージテーブルのメッセージ番号MAA に対応する
メソッド要素リストに、オブジェクトBのメソッド番号
MEB のメソッド要素が追加される(ステップ25_
2)。こうすることにより、以後、オブジェクトAでメ
ッセージ番号MAA のメッセージが発行されると、オ
ブジェクトBのメソッド番号MEB のメソッドが実行
される。
【0230】図26は、オブジェクトBの処理中におけ
る部分処理の第6例を示すフローチャートである。
【0231】この図26に示す部分処理を実行するに
は、それに先立って、オブジェクトCの生成処理(図2
3参照)が実行されている必要があるが、オブジェクト
Cの生成処理は、オブジェクトBにおける今回の一連の
処理中で行われていてもよく、あるいは前回もしくはそ
れ以前の処理でオブジェクトCが生成されていてもよ
い。
【0232】図26の部分処理では、引数としてオブジ
ェクトBに渡された出力インストラクションタグテーブ
ルが参照され、もともとはオブジェクトBのメソッド番
号であってオブジェクトCに引き継がれたメソッド番号
MEB に対応するオブジェクトAのメッセージ番号M
A が取得され(ステップ26_1)、オブジェクト
Aのメッセージテーブルのメッセージ番号MAA に対
応するメソッド要素リストに、メソッド番号MEB
と、オブジェクトCへのポインタとが格納されたメソッ
ド要素が追加される(ステップ26_2)。
【0233】こうすることにより、これ以後、オブジェ
クトAから、新たに生成されたオブジェクトCに対しメ
ッセージを発行することができるようになる。
【0234】図27は、オブジェクトAのメッセージ発
行処理の、図20に示すメッセージ発行処理例とは異な
る例を示すフローチャートである。
【0235】ステップ27_1,27_3,27_4
は、図20のステップ20_1,20_3,20_4、
および図5のステップ5_1,5_3,5_4と同様で
あり、説明は省略する。
【0236】ステップ27_2では、メソッド番号ME
B に加え、P3,P4,P5を引数として、オブジェ
クトBが呼び出される。
【0237】このメッセージを受け取ったオブジェクト
Bでは、メソッド番号MEB により特定されるメソッ
ドの処理が実行される。
【0238】図28は、オブジェクトBの処理中におけ
る部分処理の第7例を示すフローチャートである。
【0239】ここでは、引数としてオブジェクトBに引
き渡された入力データタグテーブルが参照され、オブジ
ェクトBのデータ要素リスト番号OUTB から、オブジ
ェクトAのポインタ要素リスト番号INA が取得され
(ステップ28_1)、その取得したポインタ要素リス
ト番号INA に対応する、オブジェクトAのポインタ要
素リスト(図11参照。ただし、図11にはオブジェク
トBのポインタ要素リストが示されている)が生成され
(ステップ28_2)、データ要素リスト番号OUTB
に対応する、オブジェクトBのデータ要素リスト(図9
参照。ただし図9にはオブジェクトAのデータ要素リス
トが示されている)が生成され(ステップ28_3)、
これらデータ要素リストとポインタ要素リストの結合処
理(図13参照。ただし、図13では、オブジェクトB
のポインタがオブジェクトAのデータを指し示してお
り、ここでの説明と比べると、オブジェクトAとオブジ
ェクトBの立場が逆である)が行なわれる(ステップ2
8_4)。
【0240】このようにして、本実施形態では、処理の
実行中に、いわば動的に、オブジェクト間でのデータ授
受の経路が形成される。
【0241】図29は、オブジェクトBの処理中の部分
処理の第8例を示すフローチャートである。
【0242】この図29に示す部分処理を実行するに
は、それに先立って、オブジェクトCの生成処理(図2
3参照)が実行されている必要がある。ただし、そのオ
ブジェクトCの生成処理の実行は、この図29に示す部
分処理以前であればいつであってもよい。
【0243】図29に示す部分処理では、引数としてオ
ブジェクトBに引き渡された入力データタグテーブルが
参照され、もともとはオブジェクトBのデータ要素リス
ト番号であってオブジェクトCに引き継がれたデータ要
素リスト番号OUTB から、オブジェクトAのポインタ
要素リスト番号INA が取得され(ステップ29_
1)、その取得したポインタ要素リスト番号INA に対
応する、オブジェクトAのポインタ要素リストが生成さ
れる(ステップ29_2)。さらに、データ要素リスト
番号OUTB に対応する、オブジェクトCのデータ要素
リストが生成され(ステップ29_3)、それらオブジ
ェクトCのデータ要素リストと、オブジェクトAのポイ
ンタ要素リストとの結合処理が行なわれる(ステップ2
9_4)。
【0244】このようにして、処理実行中に、いわば動
的に、オブジェクトAから、新たに生成されたオブジェ
クトCのデータを直接に参照する経路が生成される。
【0245】図30は、オブジェクトBの処理中の部分
処理の第9例を示すフローチャートである。
【0246】この図30に示す部分処理では、まず、オ
ブジェクトBに引数として渡された出力データタグテー
ブルが参照され、オブジェクトBのポインタ要素リスト
番号INB から、オブジェクトAのデータ要素リスト
番号OUTA が取得される(ステップ(30_1)。
次いで、その取得したデータ要素リスト番号OUTA
対応する、オブジェクトAのデータ要素リストが生成さ
れ(ステップ30_2)、また、ポインタ要素リスト番
号INB に対応する、自分(オブジェクトB)のポイ
ンタ要素リストが生成され(ステップ30_3)、それ
らオブジェクトAのデータ要素リストとオブジェクトB
のポインタ要素リストとの結合処理が行なわれる(ステ
ップ30_4)。このようにして、処理実行中に、動的
に、オブジェクトBからオブジェクトAのデータを直接
に参照する経路が形成される。
【0247】図31はオブジェクトBの処理中の部分処
理の第10例を示すフローチャートである。ここでは、
図31に示す部分処理に先立ってオブジェクトCが生成
されている必要がある(図23参照)。オブジェクトC
の生成タイミングは、この図31に示す部分処理の実行
前であればいつであってもよい。
【0248】この図31に示す部分処理では、オブジェ
クトBに引数として渡された出力データタグテーブルが
参照され、もともとはオブジェクトBのポインタ要素リ
スト番号であってオブジェクトCに引き継がれたポイン
タ要素リスト番号INB から、オブジェクトAのデー
タ要素リスト番号OUTA が取得される(ステップ3
1_1)。次いで、その取得したデータ要素リスト番号
OUTA に対応する、オブジェクトAのデータ要素リ
ストが生成され(ステップ31_2)、さらにポインタ
要素リスト番号INB に対応する、オブジェクトCの
ポインタ要素リストが生成され(ステップ31_3)、
それらオブジェクトAのデータ要素リストとオブジェク
トCのポインタ要素リストとの結合処理が行なわれる
(ステップ31_4)。
【0249】このようにして、処理実行中に、いわば動
的に、新たに生成されたオブジェクトCから、オブジェ
クトAのデータを直接に参照する経路が生成される。
【0250】尚、ここでは、オブジェクトBの処理中の
各種の部分処理について説明したが、これら各種の部分
処理は必ずしもそれぞれが単独で実行されるとは限ら
ず、必要に応じて複数の部分処理が連続的に、あるいは
組み合わされて実行される。
【0251】図32は、図15に示すオブジェクト結合
部20における入力インストラクションタグテーブル生
成部24の処理を示すフローチャートである。
【0252】ここでは、コンピュータシステム100
(図1参照)の操作者により、LSI間を配線で結ぶ要
領で以下の指定が行なわれる。
【0253】(a)オブジェクトAのポインタ (b)オブジェクトBのポインタ (c)オブジェクトAのメソッド番号MEA (d)オブジェクトBのメッセージ番号MA 図32の処理では、上記の指定を受けて、オブジェクト
Bのメッセージの最大数MABMAXと同一幅の入力イン
ストラクションタグテーブルの枠が生成され(ステップ
32_1)、その枠のオブジェクトBのメッセージ番号
MA の欄にオブジェクトAのメソッド番号MEA
格納され(ステップ32_2)、オブジェクトAの、オ
ブジェクトBに関する全てのメソッド要素(例えば図1
9に示すメソッド要素)に、その生成した入力インスト
ラクションタグテーブルへのポインタが登録される(ス
テップ32_3)。図19には、入力インストラクショ
ンタグテーブルへのポインタ(P1)が既に登録された
状態の図が示されている。
【0254】ここでは代表的にオブジェクトBを取り上
げているが、オブジェクトAの出力インストラクション
バス部にはオブジェクトAから発行されたメッセージを
受け取る可能性のある全てのオブジェクトに関する入力
インストラクションタグテーブルが生成され、その入力
インストラクションタグテーブルに対応するオブジェク
トに関するメソッド要素全てに、その入力インストラク
ションタグテーブルへのポインタが登録される。以下に
説明する出力インストラクションタグテーブル、入力デ
ータタグテーブル、および出力データタグテーブルの場
合も同様である。
【0255】図33は、図16に示すオブジェクト結合
部30における出力インストラクションタグテーブル生
成部34の処理を示すフローチャートである。
【0256】ここでは、コンピュータシステム100
(図1参照)の操作者により、LSI間を配線で結ぶ要
領で以下の指定が行なわれる。
【0257】(a)オブジェクトAのポインタ (b)オブジェクトBのポインタ (c)オブジェクトAのメッセージ番号MAA (d)オブジェクトBのメソッド番号MEB 図33の処理では、上記の入力を受けて、オブジェクト
Bのメソッドの最大数MEB MAXと同一幅の出力インス
トラクションタグテーブルの枠が生成され(ステップ3
3_1)、その枠の、オブジェクトBのメソッド番号M
B の欄にオブジェクトAのメッセージ番号MAA
格納され(ステップ33_2)、さらに、オブジェクト
Aの、オブジェクトBに関する全てのメソッド要素に、
その生成した出力インストラクションタグテーブルへの
ポインタが登録される(ステップ33_3)。図19
は、出力インストラクションタグテーブルに関しても、
既にその出力インストラクションタグテーブルへのポイ
ンタ(P2)が登録された後の状態の図である。
【0258】図34は、図17に示すオブジェクト結合
部40における入力データタグテーブル生成部44の処
理を示すフローチャートである。
【0259】ここでは、コンピュータシステム100
(図1参照)の操作者により、LSI間を配線で結ぶ要
領で以下の指定が行なわれる。
【0260】(a)オブジェクトAのポインタ (b)オブジェクトBのポインタ (c)オブジェクトAのポインタ要素リスト番号INA (d)オブジェクトBのデータ要素リスト番号OUTB 図34に示す処理では、上記の指定を受けて、オブジェ
クトBのデータ要素リストの最大数OUTBMAXと同一幅
の入力データタグテーブルの枠が生成され(ステップ3
4_1)、その枠の、オブジェクトBのデータ要素リス
ト番号OUTBの欄に、オブジェクトAのポインタ要素
リスト番号INA が格納され(ステップ34_2)、さ
らに、オブジェクトAの、オブジェクトBに関する全て
のメソッド要素に、その生成した入力データタグテーブ
ルへのポインタが登録される(ステップ34_3)。図
19は、入力データタグテーブルについても、その入力
データタグテーブルへポインタ(P3)が登録された後
の状態の図である。
【0261】図35は、図18に示すオブジェクト結合
部50における出力データタグテーブル生成部54の処
理を示すフローチャートである。
【0262】ここでは、コンピュータシステム100
(図1参照)の操作者により、LSI間を配線で結ぶ要
領で以下の指定が行なわれる。
【0263】(a)オブジェクトAのポインタ (b)オブジェクトBのポインタ (c)オブジェクトAのデータ要素リスト番号 (c)オブジェクトBのポインタ要素リスト番号 図35の処理では、上記の入力を受けて、オブジェクト
Bのポインタ要素リストの最大数INB MAXと同一幅の
出力データタグテーブルの枠が生成され(ステップ35
_1)、その枠の、オブジェクトBのポインタ要素リス
ト番号INBの欄に、オブジェクトAのデータ要素リス
ト番号OUTB が格納され(ステップ35_2)、さら
に、オブジェクトAの、オブジェクトBに関する全ての
メソッド要素に、その生成した出力データタグテーブル
へのポインタが登録される(ステップ35_3。図19
は、出力データタグテーブルについても、その出力デー
タタグテーブルへのポインタ(P4)が登録された後の
状態の図である。
【0264】尚、図32〜図35はそれぞれが単独に実
行され、図19に示す4つのタグテーブルのうちの1つ
のみがメソッド要素に登録されてもよいが、必要に応じ
て、または常に、これら4つのタグテーブルのうち2つ
以上あるいは全てが1つのメソッド要素に登録されても
よい。また、これら図32〜図35には明示的に示され
ていないが、これら図32〜図35に示す処理のうちの
いずれかが実行された場合に、オブジェクトA自身への
ポインタ(P5)もメソッド要素に登録される。
【0265】図15〜図35を参照して説明した実施形
態によれば、オブジェクトどうしが初期状態として結び
つけられるだけでなく、処理の実行中に動的に、メッセ
ージとメソッドとの結合、データとポインタとの結合が
行なわれる。新たなオブジェクトが生成されると、その
新たなオブジェクトに関しても同様に、動的な結合が行
なわれる。このように、そのときそのときの状況に応じ
て新たな結合が行なわれ、複数のオブジェクト間でのメ
ッセージやデータの授受が極めて高速化される。
【0266】次に、図2に示すオブジェクトウェアプロ
グラミングシステム120のオブジェクト間配線エディ
タ部122およびその周辺部に関連した実施形態につい
て説明する。ここでは、オブジェクト間配線エディタ部
122およびその周辺部に関連した実施形態のうち、図
1に示すコンピュータシステム100の画像表示部10
2の表示画面102aへの、オブジェクトと オブジェ
クト間の配線とからなるオブジェクト間ネットワークの
表示形態について説明する。
【0267】前述したように、ソフトウェアの再利用性
が低いことや実行速度が遅いことなど種々の欠点を持っ
てはいたものの、オブジェクト指向プログラミングとい
う考え方が従来より存在し、オブジェクトどうしの接続
関係を記述するためにオブジェクト間を配線するという
考え方が存在していた。しかしながら、従来は、前述し
たように、データをメッセージの引数として他のオブジ
ェクトに渡すなど、オブジェクト間の接続関係は極めて
単純なものであった。ところが、前述したインタプリン
タ部123(図2参照)に関連した実施形態に示すよう
にオブジェクトどうしの配線というよりもさらに複雑
に、オブジェクトの中のポインタどうしを配線する必要
がある場合に、配線が複雑となり、従来のような表示方
法では、オブジェクト間の接続関係を容易に理解し効率
良く配線するのが難しいという問題がある。
【0268】例えば従来は、オブジェクト間ネットワー
クを表示する際は、オブジェクトの表示位置とオブジェ
クト間の配線を表示する位置に区別がなく、自由にオブ
ジェクトの配置及び配線を行っている。このため、ある
表示装置ではオブジェクトと配線が重なることを許して
おり、ユーザが重なりを回避しながら配線を行わなけれ
ばならないという問題がある。また、ある表示装置で
は、配線をしても、結果として出来上がるネットワーク
を表示しないため、オブジェクト間の関係を容易には理
解できないという問題がある。
【0269】また、表示されているオブジェクトが階層
構造になっており、あるオブジェクトを構成するサブネ
ットワークを表示する装置においては、従来は、新たな
画面(ウインドウ)にそのネットワークを表示してい
る。そのため、親オブジェクトのネットワークとサブネ
ットワークのつながりを確認することが困難であるとい
う問題と、新たなウインドウにより親オブジェクトのネ
ットワークが隠れてしまうという問題がある。
【0270】さらに、従来のオブジェクト間ネットワー
ク表示装置においては、オブジェクトの大きさは固定あ
るいは自由に変更できるようになっている。しかし、大
きさが固定の場合では、オブジェクトの入出力端子の数
が可変の場合、端子間隔が狭くなり端子名を表示するこ
とが困難になる。また、自由に変更できる場合でもユー
ザが調整をしなければならず、作業量が増すという問題
がある。
【0271】さらに、従来のオブジェクト間ネットワー
ク表示装置においては、ネットワーク配線内のデータや
指令の流れる方向を示す場合、線の終端にのみ、または
両端にのみ矢印をつけるようにしている。従って線の途
中では流れの方向を確認することが出来ず、線両端のオ
ブジェクトが表示画面からはみ出している場合には、始
端または終端となるオブジェクトの端子が入力端子であ
るか出力端子であるかの判断が出来ないという問題があ
る。
【0272】さらに、線が交差する場合、2つの線が交
わっているのか分離しているのかを判断するために、交
差点に黒い点などの印を付したり、円弧を利用してい
る。しかし、黒い点などの印では接続状態を示す表示の
ルールをユーザが理解していることが必要となり、円弧
では1本の線に対して半径分の幅が必要になるという問
題がある。
【0273】以下に説明する実施形態は、上述のオブジ
ェクト間ネットワークの表示に伴う問題に鑑み、ユーザ
に理解しやすい表示方法を提供するものである。
【0274】以下、本発明のオブジェクト間ネットワー
ク表示方法の実施形態について説明する。ここでは、先
ず本発明のオブジェクト間ネットワーク表示方法の基本
的な実施形態についてひと通り説明し、次いでさらに具
体的な実施形態について説明する。
【0275】図36は、本発明のオブジェクト間ネット
ワーク表示方法の一実施形態の表示画面例を示す模式図
である。尚、ここに示す表示画面102aは、図1に示
すコンピュータシステム100に備えられた画像表示部
102の表示画面102aであり、その表示画面102
a上に、この図では格子201が示されているが、この
格子201は表示画面102aが複数の表示領域に区分
けされていることを明示するためのものであり、表示画
面102aには実際には表示されない。
【0276】格子201で区切られた各升目1つずつか
らなる各表示領域には、オブジェクト指向プログラミン
グにより生成される複数のオブジェクトのうちのいずれ
か1つのオブジェクトを表示するオブジェクト表示部分
領域203と、複数のオブジェクト間を結ぶ配線を表示
する配線表示部分領域204が示されている。ここで配
線とは、図3、図15〜図18に示すメッセージの授受
の経路13a,23a,33a,43a,53aや、図
3に示すデータの授受の経路16aなどをあらわす線で
ある。配線表示部分領域204は、隣接する2つの表示
領域それぞれのオブジェクト表示部分領域203どうし
の間にその配線表示部分領域204が形成されるように
その領域が定められている。
【0277】ここでは、表示画面102a上に、ネット
ワークを構成する複数のオブジェクトそれぞれが各表示
領域内のオブジェクト表示部分領域203に1つずつ配
置されるとともに、これら複数のオブジェクトどうしを
結ぶ配線が複数の表示領域に跨って連なる配線表示部分
領域204に表示されてなる画像が表示される。
【0278】このような表示方法によれば、整然と並ん
だオブジェクトの配置が得られ、しかもオブジェクトを
表示する領域と配線を表示する領域を分けたためオブジ
ェクトと配線が重なることのない見やすい表示を得るこ
とができる。
【0279】次にネットワークを構成するオブジェクト
が階層化されている場合のネットワークの表示方法につ
いて説明する。
【0280】図37は、階層化されたネットワークの説
明図である。
【0281】この図37には、オブジェクト1,2がそ
れぞれサブネットワーク1,2で構成されている例が示
されている。各サブネットワークは、それぞれが複数の
オブジェクトと、それら複数のオブジェクトどうしを結
ぶ配線とで構成されている。ここでは二段の階層構造が
示されているが、三段以上の階層を持っていてもよい。
【0282】図38は、多数のオブジェクトと配線から
なる表示画像例を示す図であり、図38(A)は表示画
像全体、図38(B)は、オブジェクト205を中心と
した部分画像を示している。
【0283】また、図39は、図38に示すオブジェク
ト205に代えて、そのオブジェクト205を構成する
サブネットワーク206を表示した表示画像例を示す図
であり、図39(A)は表示画像全体、図39(B)は
サブネットワーク206を中心とした部分画像を示して
いる。
【0284】図38に示す表示画像207に含まれるオ
ブジェクト205に代えて、上述したような下層の複数
のオブジェクトとそれらのオブジェクト間の配線とで構
成されたサブネットワークを表示するにあたり、このサ
ブネットワーク206には、オブジェクト205の表示
領域よりも広い表示領域が割り当てられ、このサブネッ
トワーク206の表示領域の上下に並ぶ表示領域は左右
に拡大され、このサブネットワーク206の表示領域の
左右に並ぶ表示領域は上下に拡大させ、さらにサブネッ
トワーク206の表示領域に対し斜めに位置する表示領
域については、そのサブネットワーク206と等価な要
素であるオブジェクト205が表示された図38の表示
画像中の表示領域と同一の寸法が割り当てられている。
【0285】図39(B)に示すように、サブネットワ
ーク206を構成する複数のオブジェクト間には配線が
表示されており、かつそのサブネットワーク206とそ
のサブネットワーク206の周囲のネットワークとの間
の配線も表示されている。
【0286】このような表示方法を採用すると、従来例
のように独立したウインドウにサブネットワーク206
を表示する場合と比べ、サブネットワークとその周囲の
オブジェクトのネットワークとの接続状態を容易に確認
することが可能となる。
【0287】図40は、サブネットワークの表示方法の
他の例を示す図であり、図40(A)はサブネットワー
クを表示する前の、そのサブネットワークと等価なオブ
ジェクトを含む表示画像例、図40(B)はそのオブジ
ェクトをサブネットワークに置き換えたときの表示画像
例を示している。
【0288】図40(A)に示す表示画像207に含ま
れるオブジェクト205を、図40(B)に示すよう
に、そのオブジェクト205と等価なサブネットワーク
206に置き換えるものとする。
【0289】このとき、サブネットワーク206には、
もとのオブジェクト205の表示領域よりも広い表示領
域が割り当てられる。ただしオブジェクト205に代え
てサブネットワーク206を表示した図40(B)に示
す表示画像の周縁に位置する表示領域は図40(A)に
示す表示画像の周縁に位置する表示領域と比べ同一のオ
ブジェクトが表示された表示領域である。また、それら
周縁に位置する表示領域の、表示画像207の外周に接
する辺の位置および寸法は図40(A)と図40(B)
とで同一である。すなわち、図40(A)と図40
(B)は、オブジェクト205がサブネットワーク20
6に置きかわった点を除き、そのサブネットワーク20
6を除く表示領域は図40(B)ではゆがんではいるも
のの、図40(A)と同一の情報が表示されており、図
39(A)と比べた図39(A)のときのように、オブ
ジェクト205に代えてサブネットワーク206を表示
したことによってサブネットワーク206から離れた部
分の表示領域が表示画面から外れてしまうことが防止さ
れる。
【0290】したがってこの表示方法を採用すると、図
39の例と同様にサブネットワークとその周囲のオブジ
ェクトのネットワークとの接続状態を容易に確認するこ
とができ、それに加えて、変形してはいるものの、サブ
ネットワークを表示した状態で、サブネットワーク表示
前(第1の画像)に表示されていたネットワーク全体を
確認することができる。
【0291】図41は、複数の升目が連結された表示領
域を有する表示画像例を示す図であり、図41(A)は
全体画像を示す図、図41(B),(C)は部分画像を
拡大して示す図である。
【0292】この表示画像には各種の寸法のオブジェク
ト210〜215が示されている。これらのオブジェク
ト210〜215のうちオブジェクト210は、升目1
つ分で区切られた表示領域内に配置されており、他の寸
法のオブジェクト211〜215は、隣接する複数の升
目が連結されて1つの表示領域を構成した、拡大された
表示領域内に配置されている。各オブジェクトは、図4
1(B),図41(C)に示すように、各表示領域の形
状および寸法に応じた形状および寸法に規格化されてい
る。
【0293】このような表示方法を採用すると、種々の
寸法のオブジェクトを見やすい寸法で表示することがで
きるとともに、規格化によってさらに見やすい表示画面
が表示されることになる。
【0294】次にオブジェクト間をつなぐ配線の表示方
法について説明する。
【0295】図42は、配線の表示方法に特徴を持つ表
示画像例を示す図である。
【0296】表示画面102aにはオブジェクト216
〜219が表示されており、出力端子220と入力端子
221が配線222で結ばれている。ここで、出力端子
は、そのオブジェクトのデータあるいは指令(メッセー
ジ)を他のオブジェクトに向けて出力することを示して
おり、入力端子は、他のオブジェクトのデータあるいは
指令(メッセージ)を受け取ることを示している。
【0297】配線222は、出力端子220から入力端
子221に向かう向きの情報を持った線であり、データ
あるいは指令流れの向きが、その配線を構成する短かい
線分毎に繰り返し表示されている。
【0298】このような配線の表示方法を採用すると、
その配線で結ばれるべきオブジェクトの一方もしくは双
方が表示画面102aからはみ出している場合であって
もデータあるいは指令の流れる方向を一見して理解する
ことができる。
【0299】図43は、配線の表示方法の他の例を示す
図である。
【0300】この配線223は、中心線223aと、そ
の中心線223aの両脇に沿う縁線223bとで構成さ
れている。中心線223aと縁線223bは互いに異な
る表示態様、例えば互いに異なる色相、明度、あるは彩
度の線である。
【0301】このような中心線223aと縁線223b
とからなる配線223を採用し、2本の配線223が交
差する場合において、それら2本の配線が互いに異なる
データもしくは制御の流れを表わすものである場合は、
図43(A)に示すように一方の配線の中心線を他方の
配線の縁線に接する位置もしくは近接する位置(この実
施形態では接する位置)で分断して立体交差のように表
示する。一方、それら2本の配線が同一のデータもしく
は制御の流れを表わす配線である場合は、図43(B)
に示すように、双方の配線の中心線223aどうしが連
続するように表示する。このような表示方法を採用する
と、交差する配線が相互に接続されているのか、あるい
は単に交差しているだけなのかを、容易に判断すること
ができる。
【0302】以上で、本発明のオブジェクト間ネットワ
ーク表示方法の基本的な実施形態についての説明を終了
し、以下、本発明のオブジェクト間ネットワーク表示方
法の、さらに具体的な実施形態について説明する。
【0303】図44は、オブジェクトのネットワークを
表示するための表示領域を作成する手順の説明図であ
る。図44(A)では表示画面の縦と横が4分割によっ
て格子が作成されている。図44(B)では作成した格
子のひと升に対し、縦横とも50%の長さで構成される
領域をオブジェクトを配置する領域とし、これを升目の
中央に位置するように構成されている。図44(B)で
は画面を等分割し、オブジェクトの領域を升目の中心に
位置させたが、升目の幅を指定してもよく、図44
(C)のようにオブジェクトの領域を升目の角に位置さ
せてもよい。
【0304】図45は、ユーザにより表示画面上にオブ
ジェクトが配置されているときの様子を示す図、図46
はユーザにより、表示画面上に配置されたオブジェクト
間の配線が行われているときの様子を示す図である。
【0305】図45に示すように、ユーザがオブジェク
ト224を配置するとき、本実施形態では、ユーザによ
り配置されたオブジェクト224は、その配置位置に一
番近い、オブジェクト配置専用の領域225に、自動的
に位置決めされる。従って、ユーザはオブジェクトを適
当に配置するだけで整然と並べられたオブジェクトの配
置が得られる。また、本実施形態では、図46(A)に
示すように、ユーザはオブジェクト226とオブジェク
ト227の端子間を直線的に結ぶ操作228を行うだけ
で、図46(B)に示すように、ネットワークの配線を
表示する領域204の中で自動的に配線229が形成さ
れる。従って、オブジェクトと配線が重なるようなこと
がなく、ユーザに見やすいネットワークを表示すること
が可能となる。
【0306】図47は、サブネットワーク表示前(A)
および表示後(B)のオブジェクト間ネットワークの表
示画面例を示す図、図48は、図47(A)の表示から
図47(B)の表示への変更の手順を示すフローチャー
トである。
【0307】表示画面上に図47(A)の画像が表示さ
れている段階で、例えば図示しないマウス等を操作して
サブネットワークを有するオブジェクトを指定し(ステ
ップ48_1)、さらにそのサブネットワークを表示す
るよう指定する(ステップ48_2)。すると画像表示
装置内では、選択したオブジェクトの位置する升目とそ
の上下左右に並ぶ格子を、選択したオブジェクトの升目
の左上の角を起点としてサブネットワークの表示に必要
な領域分縦横に拡大し(ステップ48_3)、この拡大
に伴って、上下左右に並ぶオブジェクトの変形と配線の
延長を行い(ステップ48_4)、サブネットワーク表
示用に拡大した升目内に新たな格子を形成してそこにサ
ブネットワークを表示し(ステップ48_5)、さら
に、サブネットワークのオブジェクトと周囲のネットワ
ークのオブジェクトとを接続する(ステップ48_
6)。
【0308】このような手順により、図47(A)に示
す画像から図47(B)に示す画像への変換が行われ
る。尚ここでは升目の拡大起点を升目の左上の角として
いるが、他の角であってもよく、あるいは升目の中心で
あってもよい。
【0309】図49は、サブネットワーク表示手順の説
明図であり、図49(A)はサブネットワーク表示前の
オブジェクト間ネットワークを示した図、図49(B)
はサブネットワークの拡大表示と拡大した升の上下左右
に台形の升目を作成した状態を示した図、図49(C)
はサブネットワークの拡大表示と周囲のオブジェクトの
升目を変形してネットワーク全体を画面内に表示した状
態を示した図である。
【0310】また、図50は、サブネットワーク表示手
順を示すフローチャートである。
【0311】図50に示すように、例えばマウス等の操
作子を操作して、サブネットワークを有するオブジェク
トを選択し(ステップ50_1)、そのサブジェクトに
対応するサブネットワークを表示するよう指定する(ス
テップ50_2)。すると画像表示装置内では、以下の
手順で、図49(A)に示す画像から図49(C)に示
す画像への変換が行われる。
【0312】先ず、ステップ50_3においてサブネッ
トワークが表示画面に収まるか否かが判定され、収まら
ないときは図49(A)の画像から図49(B)の画像
への変換は行わない。サブネットワークが表示画面内に
収まると判定されると、ステップ50_4に進み、選択
したオブジェクトの位置する升目の中心(図49(A)
参照)を起点として、その升目をサブネットワークの表
示に必要な領域分、縦横に拡大する。
【0313】次いで、図49(B)に示すように、拡大
された升目の角から升目の上下左右の画面端の升目の角
へ直線を引き、台形を作る(ステップ50_5)。さら
に、その台形を必要な分割数で分割し、台形の升目を作
成する(ステップ50_6)。次いで、台形の升目の角
から画面端の升目の角へ直線を引き、残りの升目を作成
する(ステップ50_7)。さらに升目が変形されたこ
とに伴うオブジェクトの変形と配線を行う(ステップ5
0_8)。最後に、サブネットワークのオブジェクトと
周囲のネットワークのオブジェクトを接続する(ステッ
プ50_9)。
【0314】このような手順により、図49(A)に示
す画像から図49(C)に示す画像への変換が行われ
る。
【0315】尚、ここではサブネットワークの上下左右
の升目を台形にしているが、曲線を使った升目にしても
よい。
【0316】図51は、オブジェクトを表示する表示領
域を1つもしくは複数の連結された升目で形成した例を
示す模式図である。ここでは、オブジェクトの端子の数
によって使用する升目の数を変更している。図51
(A)は1升目を1つ使用した場合であって最大12端
子、図51(B)は2升目を2つ使用した場合で最大3
0端子、図51(C)は4升目を4つを使用した場合で
あって最大48端子のオブジェクトを表現している。端
子数のより多いオブジェクトに対しては使用する升目の
数を増やして対応することができる。
【0317】図52は、配線中(A)および配線後
(B)の配線の表示方法の例を示す模式図である。
【0318】図52(A)中、画面1はオブジェクト1
(obj1)の出力端子からオブジェクト2(obj
2)の入力端子へ配線をしている途中を示している。画
面1からはオブジェクト1が見えなくなっているが、引
出した線の形状から、接続すべき端子は入力端子である
ことが判断できる。画面2についても同様に、オブジェ
クト4(obj4)の入力端子からオブジェクト3(o
bj3)の出力端子に配線する場合、画面2からオブジ
ェクト4が見えなくなっても、線の形状から、接続すべ
き端子は出力端子であることがわかる。図52(B)は
配線終了後のネットワークを示しており、配線は通常の
実線に変更されている。ここでは、配線が全て終了した
時点で通常の実線に変更しているが、1つの配線が終了
する毎に変更してもよい。
【0319】図53は配線の表示例を示す模式図、図5
4は、図53に示す配線を描く手順を示すフローチャー
トである。
【0320】ここでは、図43を参照して説明した、中
心線とを緑線とからなる配線が採用されており、ユーザ
が接続すべき出力端子と入力端子を選択すると、図54
に示す手順で自動配線が行なわれる。
【0321】ユーザが、接続すべき出力端子と入力端子
を選択すると(ステップ54_1)、先ず出力端子側に
縦レーンAを作成し(ステップ54_2)、出力端子か
ら縦レーンAまで出力端子の横レーンを線で上書きする
(ステップ54_3)。この上書きにより、表示画面上
には、上書きされた部分について配線が表示される。ス
テップ54_4では、入力端子と出力端子が対向するか
否かが判定される。入力端子と出力端子が対向すると
は、例えば出力端子1と入力端子qのように、出力端子
と入力端子が互いに向き合った辺に存在することを意味
し、例えば出力端子7と入力端子rの場合は対向してい
ないものと判断される。
【0322】入力端子と出力端子が対向していると判断
された場合は、ステップ54_5に進み、入力端子の横
レーンまで、縦レーンAに線を上書きする。例えば出力
端子8と入力端子Cとの間の配線が既に行なわれ、今回
出力端子8と入力端子eとの間の配線を行なう場合のよ
うに、既に横レーンと繋がっている部分があれば、図4
3(B)に示すような結合処理を行ない(ステップ54
_5)、入力端子の横レーンに、入力端子まで線を上書
きする(ステップ54_6)。
【0323】ステップ54_4において入力端子と出力
端子が対向していないと判定されると、ステップ54_
7に進んで、入力端子側に縦レーンBを作成し、さらに
ステップ54_8においてオブジェクトに挟まれていな
い横レーンCを作成し、さらにステップ54_9におい
て横レーンCまで縦レーンAに線を上書きする。ここ
で、既に横レーンと繋がっている部分があれば結合処理
を行なう。
【0324】さらにステップ54_10に進んで横レー
ンCを縦レーンBまで線を上書きし、ステップ54_1
1において入力端子の横レーンまで縦レーンBに線を上
書きする。既に横レーンと繋がっている部分があれば結
合処理を行なう。
【0325】その後ステップ54_6に進んで、入力端
子の横レーンに、入力端子まで線を上書きする。
【0326】図55〜図57は、配線手順の他の例を示
すフローチャート、図58〜図62、および図63は図
55〜図57に示す配線手順に従って配線を行なった結
果を示す模式図である。ここに示す配線手順を採用する
と、図54に示す配線手順を採用した場合と異なり、不
揃いの形状のオブジェクトが存在していても、それを回
避して自動配線することができる。
【0327】図55に示すように、接続すべき出力端子
と入力端子を選択すると(ステップ55_1)、出力端
子のある配線領域に、出力端子に直角なレーン1(図5
8〜図62参照)を設け(ステップ55_2)、出力端
子のレーンであるレーン2(図58〜図61参照)上
を、出力端子からレーン1まで線を引く(ステップ55
_3)。次に、出力端子と入力端子が対向するか否か判
定される(ステップ55_4)。図58〜図61のうち
の図58に示すように出力端子と入力端子が対向する場
合、ステップ55_5に進み、レーン1とレーン2との
交点aから入力端子のレーンであるレーン3まで線を引
き、さらにレーン1とレーン3との交点である交点bか
ら入力端子まで線を引く(ステップ55_6)。これに
より、図58のように出力端子を入力端子が対向する場
合の配線が完了する。
【0328】ステップ55_4において出力端子と入力
端子が対向していないと判定された場合、ステップ55
_7に進み、レーン1とレーン2との交点aから、レー
ン1上を、入力端子のあるオブジェクトの方向へ線を引
く。この線を引きながら、その線が既存のオブジェクト
とぶつかったか否か(図56ステップ56_1)、その
線が入力端子を持つオブジェクトの配線領域に到達した
か否か(ステップ56_2)、その線が入力端子の配線
領域に到達したか否か(ステップ56_3)、およびそ
の線が入力端子のレーンであるレーン3と直角の位置ま
で到達したか否か(ステップ56_4)が判定される。
【0329】ステップ56_1において既存のオブジェ
クトにぶつかったことが判定されると、ステップ56_
10に進み、図63(A)に示すように、その線の現在
の先端が存在する位置の配線領域に線に直角なレーンA
を設けてその線と接続し、さらに、入力端子に近い配線
領域にその線に平行のレーンBを設けて、レーン1から
レーンBまで、レーンAに沿って線をつなぎ(ステップ
56_11)、レーンAとレーンBとの交点kから入力
端子のあるオブジェクトの方向へ、レーンBに沿って線
を引く(56_13)。
【0330】ステップ56_2は、入力端子を持つオブ
ジェクトの領域(オブジェクト自身の配置領域だけでな
くそのまわりの配線領域も含む。例えば図58におけ
る、入力端子を持つオブジェクトの領域とは、部分領域
p,q,r,s,u,v,w,xの全てを指す)を上下
および左右に延ばした十字の領域内まで、レーン1に沿
って線を引いた段階で判定する。このステップ56_2
において、その線が入力端子を持つオブジェクトの配線
領域(図58の例では部分領域p,q,r,s,u,
v,w,xを指す)に到達していないときは、ステップ
56_12に進み、図63(C)に示すように、線の先
端が現在存在する位置の配線領域に、その線に直角なレ
ーンCを設けて線をつなぎ、ステップ56_13におい
て、その交点kからレーンCに沿って入力端子のあるオ
ブジェクトの方向ヘ線を引く。
【0331】ステップ56_3において線が入力端子の
配線領域(図58に示す例では部分領域p,s,vが、
入力端子の配線領域に相当する)に到達していないと判
定されたときは、図57のステップ57_1に進む。こ
の場合については後述する。
【0332】ステップ56_4において線と入力端子の
レーン3とが直角か否か判定され、直角の場合、図59
に示すように、線をレーン3まで延長し(ステップ56
_5)、レーン3との交点Cからレーン3上を入力端子
まで線を引く(ステップ56_6)。以上により、例え
ば図59に示す配線が完了する。
【0333】一方、ステップ56_4において、線と入
力端子のレーン3とが直角ではないと判定された場合、
図60に示すように、入力端子の配線領域に、線に直角
なレーン4を設け(ステップ56_7)、交点dからレ
ーン3まで線を引き(ステップ56_8)、交点eから
入力端子まで線を引く(ステップ56_9)。以上によ
り例えば、図60に示す配線が完成する。
【0334】ステップ56_3において線が入力端子の
配線領域に到達しないと判定されると、図57のステッ
プ57_1に進み、線と入力端子のレーン3とが直角か
否か判定される。直角であると判定されると、図61に
示すように、現在の配線領域にレーン5を設け(ステッ
プ57_2)、入力端子の配線領域にレーン6を設け
(ステップ57_3)、交点fからレーン5に沿ってレ
ーン6まで線を引き(ステップ57_4)、交点gから
レーン3まで線を引き(57_5)、交点hから入力端
子まで線を引く(ステップ57_6)。これにより、例
えば図61に示すような配線が完成する。
【0335】ステップ57_1において線と入力端子の
レーン3が直角ではないと判定されると、図62に示す
ように、入力端子の配線領域に直に直角なレーン7を設
け(ステップ57_7)、線を交点aからレーン7まで
延長し(ステップ57_8)、交点iからレーン3まで
線を引き(ステップ57_9)、現在の配線領域に線に
直角なレーンを設けて線と接続し(ステップ57_1
0)、交点jから入力端子に線を引く(ステップ57_
11)。これにより、例えば図62に示すような配線が
完成する。
【0336】図55〜図57の配線手順を踏むと、図6
3(A)〜(D)の各オブジェクト配置状態の場合も、
そこに示す配線が完成する。
【0337】以上説明したとおり、本発明のオブジェク
ト間ネットワーク表示表法の実施形態によれば、理解し
やすいオブジェクト間のネットワークを表示することが
でき、ユーザの作業能率の向上に大きく寄与することが
できる。
【0338】以上で、図2に示すオブジェクトウェアプ
ログラミングシステム120のオブジェクト間配線エデ
ィタ部122およびその周辺部に関連した実施形態のう
ち、図1に示すコンピュータシステム100の画像表示
部102の表示画面102aへのオブジェクト間ネット
ワークの表示方法に関する実施形態の説明は終了し、次
いで、そのオブジェクト間配線エディタ部122および
その周辺部における、プログラミングに関する実施形態
について説明する。このオブジェクト間配線エディタ部
122におけるプログラミングは、表示画面上に、これ
まで説明したようなオブジェクト間ネットワークを表示
しておき、その表示を見ながら、オブジェクト間を‘配
線する’ことにより行なわれる。
【0339】前述したように、ソフトウェアの再利用性
や実行速度に問題を残しつつも、従来よりオブジェクト
指向プログラミングという考え方が存在し、オブジェク
トどうしの接続関係を記述するために、表示画面上にオ
ブジェクトを模式的に表示しそれらのオブジェクト間を
‘配線する’という考え方が存在していた。そのような
‘配線’においては、以下のような問題がある。
【0340】オブジェクトが階層化されている場合にお
いて、異なる階層間のオブジェクトを直接接続すること
ができず下層のオブジェクト(これを「子オブジェク
ト」と称する)を包含する一段上層のオブジェクト(こ
れを「親オブジェクト」と称する)を経由して同一の階
層内でのみ配線を行なうことができるようにした方式の
場合、接続しようとするオブジェクトが離れた階層にあ
ったときに、接続のために中継用の端子を多数作ること
になり、配線に多くの手順を必要とし煩らわしい。
【0341】一方、オブジェクトが階層化されている場
合において、異なる階層内のオブジェクトを直接に接続
することを可能にした方式の場合、階層を無視した配線
図となり、見にくく、全体としての配線構造を把握しに
くくなってしまうという問題がある。
【0342】また、一旦配線したオブジェクトを他のオ
ブジェクトに置き換える必要を生じたとき、この置き換
えを実現するためには、置き換え前のオブジェクトの配
線を外し、置き換え後のオブジェクトに対しあらためて
配線し直す必要があり、置き換えのために多くの手順を
必要とすることになる。
【0343】ある階層に一旦配置して配線したオブジェ
クトを他の階層、例えば一段下の階層に移動させる場合
も同様であり、移動前のオブジェクトの配線を外し、そ
こに親オブジェクトを配置して配線し、移動したオブジ
ェクトをその親オブジェクトの子オブジェクトとして配
置し、その親オブジェクトと子オブジェクトとの間を配
線するといった多くの手順が必要となる。
【0344】さらに、従来の方式では、オブジェクト間
配線が複雑になるにつれ、オブジェクト間の接続関係が
配線図表示からは理解しにくくなるという問題がある。
特に、処理の依頼の流れをあらわすバス(このバスを
「インストラクションバス」と称する)が複数のオブジ
ェクトに分岐して接続されているような場合に、それら
複数のオブジェクトどうしでの処理の実行順序を配線図
表示から把握することは困難であり、したがってその実
行順序をその配線図上で変更することも困難である。
【0345】以下に説明する実施形態は、上述のオブジ
ェクト間の配線に伴う問題に鑑み、配線作業を容易にす
るための手法に関する実施形態である。
【0346】図64は、本発明のオブジェクト指向プロ
グラミング支援装置およびオブジェクト指向プログラミ
ング用プログラム記憶媒体の基本構成図である。
【0347】オブジェクト指向プログラミング支援装置
300は、データと処理とを有するオブジェクト複数を
指示に応じて相互に結合するオブジェクト指向プログラ
ミングを支援する装置であって、表示手段301と、オ
ブジェクト結合手段302と、階層構造構築手段303
と、操作子304とを備えている。
【0348】表示手段301は、オブジェクト本体をあ
らわすブロックと、自オブジェクト内部のデータを他オ
ブジェクトに渡すためのデータ出力端子と、他オブジェ
クトのデータを自オブジェクトが受け取るためのデータ
入力端子と、他オブジェクトに向けて処理を依頼するメ
ッセージを発行するためのメッセージ端子と、他オブジ
ェクトからの処理依頼を受け取ってメソッドを実行する
ためのメソッド端子とで表現されたオブジェクトであっ
て、1つのオブジェクトの内部に1つもしくは複数のオ
ブジェクトの存在を許容する階層構造で表現されたオブ
ジェクトを表示するとともに、複数のオブジェクトの端
子間を結ぶ配線を表示する手段であり、図1に示すコン
ピュータシステム100では、画像表示部102と、そ
の画像表示部102の表示画面102a上に上記のオブ
ジェクトや配線を表示するためのソフトウェアと、その
ソフトウェアを実行するCPU等によりこの表示手段3
01が構成されている。
【0349】また、オブジェクト結合手段302は、複
数のオブジェクトの端子間を配線で結ぶ指示に応じて、
複数のオブジェクト間の、指示に応じた配線に対応した
結合構造を構築する手段であり、図1に示すコンピュー
タシステム100では、この結合構造を構築するための
ソフトウェアと、そのソフトウェアを実行するCPU等
により構成されている。
【0350】また、階層構造構築手段303は、オブジ
ェクトの階層構造を構築する手段であり、図1に示すコ
ンピュータシステム100では、この階層構造を構築す
るためのソフトウェアと、そのソフトウェアを実行する
CPU等により構成されている。
【0351】さらに、操作子304は、操作者(ユー
ザ)による操作に応じて、オブジェクト結合手段302
に対しオブジェクト間を結ぶ配線を指示入力するととも
に、階層構造構築手段303に対し、オブジェクトの、
階層構造上の配置位置を指示入力する操作子であり、図
1に示すコンピュータシステム100では、キーボード
103やマウス104およびそれらキーボード103や
マウス104の操作をコンピュータシステム内部に取り
込むためのソフトウェア等により構成されている。
【0352】なお、ここではオブジェクト結合手段30
2を実現するためのソフトウェア自体もオブジェクト結
合手段と称し、これと同様に階層構造構築手段303を
実現するためのソフトウェア自体も階層構造構築手段と
称し、これらソフトウェアとしてのオブジェクト結合手
段302と階層構造構築手段303とを合わせたプログ
ラムが本発明にいうオブジェクト指向プログラミング用
プログラムに相当し、このオブジェクト指向プログラミ
ング用プログラムが格納された記憶媒体310が、本発
明にいうオブジェクト指向プログラミング用プログラム
記憶媒体に相当する。図1に示すコンピュータシステム
100では、このようなオブジェクト指向プログラミン
グ用プログラムが記憶された状態の記憶部105が本発
明にいうオブジェクト指向プログラミング用プログラム
記憶媒体の一形態に相当し、そのオブジェクト指向プロ
グラミング用プログラムがMO110に格納されている
ときは、そのオブジェクト指向プログラム用プログラム
が格納された状態にあるMO110も、本発明にいうオ
ブジェクト指向プログラミング用プログラム記憶媒体に
相当する。
【0353】図65は、オブジェクトの内包関係の一例
を示す概念図、図66は、オブジェクトどうしの、階層
構造を規定する接続関係を示す模式図である。
【0354】図65に示すように、全体を1つのオブジ
ェクトと考え、これをオブジェクトAとする。このオブ
ジェクトAの中には、3つのオブジェクト、すなわち、
オブジェクトB、オブジェクトC、およびオブジェクト
Dが存在する。さらに、オブジェクトCの中には、オブ
ジェクトE、オブジェクトF、およびオブジェクトGが
存在する。さらに、オブジェクトFの中には、オブジェ
クトHが存在する。
【0355】これを階層構造であらわすと、図66に示
すようにあらわされる。このようにあらわされたオブジ
ェクトの階層構造を、ここでは「オブジェクトツリー」
と称する。
【0356】図66において水平方向に並ぶオブジェク
トは同一の階層に配置されていることを意味し、上下方
向に接続されたオブジェクトは、上の階層に配置された
オブジェクトが親オブジェクト、下の階層に配置された
オブジェクトが、その親オブジェクトに対する子オブジ
ェクトであることを意味している。
【0357】図67は、1つのオブジェクトの、他のオ
ブジェクトへの接続関係を定めるポインタを示した模式
図である。
【0358】各オブジェクトには、親子関係を規定する
ポインタとして、‘上階層へのポインタ’と‘下階層へ
のポインタ’とからなる‘上下階層へのポインタ’が存
在し、また、同一の階層にあるオブジェクトどうしを接
続するポインタとして‘FROM’と‘TO’との2つ
のポインタからなる‘同階層へのポインタ’が存在す
る。また、オブジェクト間のデータやインストラクショ
ンの流れをあらわす配線用のポインタとして、‘IN’
と‘OUT’との2つのポインタからなる‘バスへのポ
インタ’と、‘インストラクション’と、‘データ’
と、‘タグインストラクション’と、‘タグデータ’と
の4つのポインタからなる‘ケーブルへのポインタ’が
存在する。
【0359】上下階層へのポインタを構成する2つのポ
インタである上階層へのポインタおよび下階層へのポイ
ンタは、例えば図66に示すオブジェクトAの場合、そ
れぞれ配線エディタへのポインタおよびオブジェクトB
へのポインタである。
【0360】また、同階層へのポインタを構成する2つ
のポインタである‘FROM’と‘TO’は、例えば図
66に示すオブジェクトCの場合、それぞれ、オブジェ
クトBへのポインタおよびオブジェクトDへのポインタ
である。
【0361】このようにして、上下階層へのポインタと
同階層へのポインタにより、例えば図66に示すような
階層構造が構成される。
【0362】図68は、図67に示す‘バスへのポイン
タ’に接続されるバス要素リストを構成する1つのバス
要素を示す模式図、図69は、図67に示す‘ケーブル
へのポインタ’に接続されるケーブル要素リストを構成
するケーブル要素を示す模式図である。図70は、オブ
ジェクトの間の配線例を示す模式図である。
【0363】バス要素リストに並ぶ各バス要素は、その
オブジェクトの、他オブジェクトと接続されるバス(端
子)を定義するものであり、ケーブル要素リストに並ぶ
各ケーブル要素は、そのオブジェクトとを親オブジェク
トとしたときの子オブジェクトどうしの端子どうしの結
合関係(配線)を定義するものである。
【0364】図67には、バスへのポインタを構成する
ポインタとして‘IN’と‘OUT’との2つのポイン
タが示されているが、このうち‘IN’には、他オブジ
ェクトからこの図67に示すオブジェクトにデータもし
くはメッセージを入力するバスを定義するバス要素リス
トが接続され、‘OUT’には、この図67に示すオブ
ジェクトから他オブジェクトに向けてデータもしくはメ
ッセージを出力するバスを定義するバス要素リストが接
続される。
【0365】図67には、バスへのポインタを構成する
2つのポインタ‘IN’と‘OUT’のうち‘IN’に
2つのバス要素BUS1,BUS2からなるバス要素リ
ストが接続されている。具体的には‘IN’にはバス要
素BUS1が接続され、バス要素BUS1にはバス要素
BUS2が接続されている。また‘OUT’には、2つ
のバス要素BUS3,BUS4からなるバス要素リスト
が接続されている。具体的には、‘OUT’に、バス要
素BUS3が接続され、バス要素BUS3にはバス要素
BUS4が接続されている。
【0366】各バス要素は、図68に示すように、‘本
体オブジェクトへのポインタ’と、‘本体オブジェクト
のバスへのポインタ’と、‘次のバス要素(BUS)へ
のポインタ’と、‘その他のデータ’とから構成されて
いる。尚ここでは、オブジェクトの端子を‘バス’と称
している。
【0367】図70に示す構造の場合であって、図67
に示すオブジェクトが図70のオブジェクトAである場
合に、バス要素BUS1は、図70に示すオブジェクト
Aの、例えば‘バス1’に対応し、図68に示すバス要
素のうちの‘本体オブジェクトへのポインタ’は、図7
0に示すオブジェクトAに内包されるオブジェクトBと
オブジェクトCのうち、オブジェクトAのバス1と接続
されるオブジェクト(ここではオブジェクトB)へのポ
インタである。また、バス要素BUS1における‘本体
オブジェクトのバスへのポインタ’は、本体オブジェク
トであるオブジェクトBの、オブジェクトAのバス1と
接続されるバス(図70の場合、オブジェクトBのバス
1)へのポインタである。また、バス要素BUS1を構
成する‘次のBUS(バス要素)へのポインタ’は、図
67における要素BUS1の場合、バス要素BUS2へ
のポインタである。さらにそのバス要素BUS!を構成
する‘その他のデータ’には、そのバス要素に対応する
バス(ここに示す例では図10に示すオブジェクトAの
バス1)が、データを授受するためのバスであるか、メ
ッセージ(インストラクション)を授受するためのバス
であるかの区別が含まれている。尚、前述したように、
データもしくはインストラクションを受け取る側のバス
(IN)であるか、データもしくはインストラクション
を出力する側のバス(OUT)であるかは、図67に示
すように、‘バスへのポインタ’が‘IN’と‘OU
T’とに分かれていることで区別されている。
【0368】図67には、‘ケーブルへのポインタ’を
構成する4つのポインタ、すなわち、‘インストラクシ
ョン’、‘データ’、‘タグインストラクション’、
‘タグデータ’が存在し、それぞれにケーブル要素リス
トが接続される。
【0369】ただし、図67では、図示の煩雑さを避け
るため、‘データ’に接続されたケーブル要素リストの
みが示されており、‘データ’には直接的にはケーブル
要素CABLE1が接続され、そのケーブル要素CAB
LE1にはケーブル要素CABLE2が接続され、その
ケーブル要素CABLE2にはケーブル要素CABLE
3が接続されている。
【0370】‘ケーブルへのポインタ’は、親オブジェ
クトが自分の子オブジェクトどうしのバスの接続状態
(配線)を管理するものであり、図70に示す例では、
オブジェクトBとオブジェクトCとの間のバスどうしの
配線を管理している。尚、親オブジェクトであるオブジ
ェクトAと、子オブジェクトであるオブジェクトBとの
間、もしくは親オブジェクトAと子オブジェクトである
オブジェクトCとの間の配線は、上述したように、‘バ
スへのポインタ’に接続されたバス要素リストが管理し
ている。
【0371】ケーブルへのポインタを構成する4つのポ
インタ‘インストラクション’,‘データ’,‘タグイ
ンストラクション’,‘タグデータ’は、それぞれ、メ
ッセージ(インストラクション)の流れを表わす配線、
データの流れをあらわす配線、前述した、実行中に動的
に形成されるインストラクションの流れをあらわす配
線、および、実行中に動的に形成されるデータの流れを
あらわす配線を管理している。
【0372】図69に示すように1つのケーブル要素C
ABLEには、2つのターミナル要素TERMINA
が付属している。ケーブル要素CALBEは、2つのタ
ーミナル要素TERMINALのうちの1番目のターミ
ナル要素へのポインタと、次のケーブル要素へのポイン
タとから構成されている。またターミナル要素TERM
INALは、‘オブジェクトへのポインタ’と、‘その
オブジェクトのバスへのポインタ’と、‘次のターミナ
ル要素へのポインタ’とから構成されている。
【0373】図69は、図70に示す、オブジェクトB
のバス2とオブジェクトCのバス1とを結ぶ配線を管理
するケーブル要素であり、1番目のターミナル要素に
は、オブジェクトBへのポインタと、オブジェクトBの
バス2へのポインタとが格納され、2番面のターミナル
要素には、オブジェクトCへのポインタと、そのオブジ
ェクトCのバス1へのポインタとが格納されている。こ
れにより、図70に示すオブジェクトBのバス2とオブ
ジェクトCのバス1とが配線されていることになる。
尚、2つのターミナル要素のうちの1番目のターミナル
要素は、データないしインストラクションの出力側のバ
スに対応し、2番目のターミナル要素は、データないし
インストラクションの入力側のバスに対応している。
【0374】この図69に示すケーブル要素は、前述し
たように、オブジェクトBとオブジェクトCとの共通の
親オブジェクトであるオブジェクトAが管理している。
【0375】以上で、オブジェクトの階層構造を決める
ためのポインタの管理、オブジェクトのバスを決めるた
めのポインタの管理、およびオブジェクトのバスどうし
を接続する配線を決めるためのポインタの管理の一般的
な説明を終え、次に、本発明のオブジェクト指向プログ
ラミング支援装置および本発明のオブジェクト指向プロ
グラミング用プログラム記憶媒体に格納されたオブジェ
クト指向プログラム用プログラムの具体的な実施形態に
ついて説明する。
【0376】本発明のオブジェクト指向プログラミング
支援装置のうちの第1のオブジェクト指向プログラミン
グ支援装置、および本発明のオブジェクト指向プログラ
ミング用プログラム記憶媒体のうちの第1のオブジェク
ト指向プログラミング用プログラム記憶媒体に格納され
たオブジェクト指向プログラミング用プログラムは、図
64に示す階層構造構築手段303が、操作子304か
らの指示に応じて、指定されたオブジェクトである本体
オブジェクトを複写して分身オブジェクトを作成し、そ
の分身オブジェクトを、その本体オブジェクトが配置さ
れ階層とは異なる階層に配置する手段を有し、オブジェ
クト結合手段302が、分身オブジェクトが配置された
階層における配線において、操作子304からの、分身
オブジェクトと他オブジェクトとの間の配線の指示を受
け付けるとともに、その分身オブジェクトと、その分身
オブジェクトに対応する本体オブジェクトとを1つのオ
ブジェクトとした結合構造を構築するものである。
【0377】図71は分身オブジェクトの概念図、図7
2は、図71に示すオブジェクトの階層構造(オブジェ
クトツリー)を示す模式図である。
【0378】配線エディタにオブジェクトAが接続され
ており、そのオブジェクトAの下階層にオブジェクトB
が接続され、オブジェクトBには、同階層にオブジェク
トCが接続され、オブジェクトCには、その下階層にオ
ブジェクトDが接続され、オブジェクトDには、その同
階層にオブジェクトEが接続されている。
【0379】ここで、異なる階層に配置されているオブ
ジェクトBとオブジェクトEとを配線で接続する場合
に、オブジェクトEの親オブジェクトであるオブジェク
トCに接続のためのバス(端子)を形成し、そのオブジ
ェクトCの端子と、オブジェクトEのバスとを接続し、
さらにそのオブジェクトCの端子とオブジェクトBの端
子とを接続してもよいが、これでは配線に手間がかかる
ため、ここでは、オブジェクトBやオブジェクトCが配
置された階層に、それとは別の階層に配置されたオブジ
ェクトEを本体オブジェクトとする分身オブジェクト
E’が配置され、オブジェクトBや分身オブジェクト
E’が配置された階層上で、オブジェクトBのバスと分
身オブジェクトE’のバスとが配線される。
【0380】図73は、分身オブジェクトの作成処理を
示すフローチャートである。
【0381】先ず、指定されたオブジェクト(ここでは
オブジェクトE)について、オブジェクトを複写して分
身オブジェクトEを作成する(ステップ73_1)。た
だし、ここではオブジェクト間の配線を目的としてお
り、オブジェクトEを構成するプログラムの実体まです
る必要はなく、オブジェクトの表示および配線に必要な
情報のみが複写される。このようにして、本発明にいう
「複写」は、オブジェクトの表示および配線に必要な情
報の複写を意味する。
【0382】次に、オブジェクトEの全てのバスについ
て、1.分身オブジェクトE’にコピーバス(コピーバ
ス要素)を作成し、 2.作成されコピーバス要素に、本体オブジェクトEへ
のポインタ、および本体オブジェクトEの対応するバス
へのポインタを書き込む(ステップ73_2) 図74は、本体オブジェクトと分身オブジェクトとの接
続関係を示す模式図である。
【0383】分身オブジェクトE’には、本体オブジェ
クトEの‘バスへのポインタ’に並ぶバス要素BUS
1,BUS2,…がそのままの配列でコピーされ、その
コピーされた分身オブジェクトE’のバス要素BUS
1,BUS2,…には、それぞれ、本体オブジェクトE
へのポインタと、本体オブジェクトEの、対応するバス
へのポインタが格納される(図68参照)。このように
して分身オブジェクトを作成した後、図71に示すよう
にオブジェクトBと分身オブジェクトE’との間の配線
が指示されると、この配線は、オブジェクトBと分身オ
ブジェクトE’の親オブジェクトであるオブジェクトA
の‘ケーブルへのポインタ’の先にその配線に対応する
ケーブル要素および2つのターミナル要素が配列される
(図69参照)。
【0384】配線作業が終了し、図2に示すインタプリ
ンタ用配線データファイルに格納するインタプリンタ用
配線データを生成する際は、分身オブジェクトE’のバ
ス要素リストから本体オブジェクトEの対応するバス要
素が見つけ出され、分身オブジェクトE’と本体オブジ
ェクトEとを1つのオブジェクトとしたオブジェクト間
の結合構造が構築される。
【0385】次に、本発明のオブジェクト指向プログラ
ミング支援装置のうちの第2のオブジェクト指向プログ
ラミング支援装置、および本発明のオブジェクト指向プ
ログラミング用プログラム記憶媒体のうちの第2のオブ
ジェクト指向プログラミング用プログラム記憶媒体に格
納されたオブジェクト指向プログラミング用プログラム
の実施形態について説明する。
【0386】本発明のオブジェクト指向プログラミング
支援装置のうちの第2のオブジェクト指向プログラミン
グ支援装置、および本発明のオブジェクト指向プログラ
ミング用プログラム記憶媒体のうちの第2のオブジェク
ト指向プログラミング用プログラム記憶媒体に格納され
たオブジェクト指向プログラミング用プログラムは、図
64に示すオブジェクト結合手段302が、操作子30
4からの、オブジェクトの置き換えの指示に応じて、置
き換え前のオブジェクトの、他オブジェクトとの結合構
造を解除して、置き換え前のオブジェクトの他オブジェ
クトとの結合構造を、置き換え後のオブジェクトに継承
させるものであり、階層構造構築手段303が、操作子
304からの、オブジェクトの置き換えの指示に応じ
て、置き換え前のオブジェクトが配置されていた階層
に、その置き換え前のオブジェクトに代えて、置き換え
後のオブジェクトを配置するものである。
【0387】図75は、オブジェクトの置き換え前のオ
ブジェクトの結合関係を示す概念図、図76は、図75
に示すオブジェクトに関するオブジェクトツリーを示す
模式図である。
【0388】配線エディタにオブジェクトAが接続され
ており、そのオブジェクトAの下階層にオブジェクトB
が接続され、オブジェクトBには同階層にオブジェクト
Cが接続され、オブジェクトCには、やはり同階層にオ
ブジェクトDが接続されている。また、この階層構造に
組み込まれていないオブジェクトEが存在している。こ
こで、オブジェクトCをオブジェクトEに置き換えるも
のとする。
【0389】図77は、オブジェクト置き換え後のオブ
ジェクトの結合関係を示す概念図、図78は、オブジェ
クト置き換え後のオブジェクトツリーの一部を示す模式
図である。
【0390】オブジェクトCがオブジェクトEに置き換
えられると、置き換え前のオブジェクトCの配線がその
ままオブジェクトEに引き継がれ、階層構造上も、オブ
ジェクトCが配置されていた階層に、そのオブジェクト
Cに代えて、オブジェクトEが配置される。
【0391】図79は、オブジェクト置き換え処理を示
すフローチャートである。
【0392】表示画面102a(図1参照)に図75に
示すようなオブジェクト間ネットワークを表示してお
き、マウス104を操作して置き換え後のオブジェクト
(ここではオブジェクトE)をドラッグ(表示画面10
1aに表示されたオブジェクトEにマウスカーソルを合
わせてマウスボタンを押し、そのままマウスを動かす操
作をいう)してオブジェクトCに重ねる。オブジェクト
Eがドラッグされると、図64に示すオブジェクト結合
手段302では、ドラッグされたオブジェクトがオブジ
ェクトEであることが認識される(ステップ79_
2)。
【0393】ドラッグされたオブジェクトEがオブジェ
クトCに重ねられてそこにドロップ(マウスボタンを離
す操作をいう)すると(ステップ79_3)、オブジェ
クト結合手段302では、そのドロップ先のオブジェク
トがオブジェクトCであることが認識される(ステップ
79_4)。このようにして、ドラッグされたオブジェ
クトがオブジェクトEであり、ドロップ先のオブジェク
トがオブジェクトCであることが認識されると、オブジ
ェクトツリーが図76に示す状態から図78に示す状態
に変更される。
【0394】この変更は、図76に示すオブジェクトの
ポインタ群のうち、オブジェクトBの‘TO’に、オブ
ジェクトCへのポインタに代えてオブジェクトEへのポ
インタが書き込まれ、オブジェクトEの‘FROM’、
‘TO’に、それぞれ、オブジェクトBへのポインタ、
オブジェクトEへのポインタが書き込まれ、オブジェク
トDの‘FROM’に、オブジェクトCへのポインタに
代えてオブジェクトEへのポインタが書き込まれること
によって行なわれる。
【0395】次にドロップ先オブジェクトCの親オブジ
ェクトであるオブジェクトAのケーブル要素リストから
ドロップ先オブジェクトCの配線が検索される(ステッ
プ79_6)。
【0396】図80は、オブジェクトAに接続されたケ
ーブル要素リストの一部を示す模式図である。
【0397】ここには、ケーブル要素CABLEaが指
し示すターミナル要素にオブジェクトCのバス3とオブ
ジェクトDのバス4が接続されていることが記録されて
いる。このようにケーブル要素を順次検索して、ドロッ
プ先オブジェクトCに接続された配線が見つけられる。
【0398】ドロップ先オブジェクトCに接続された配
線が見つけられると、図80に示すように、その配線が
解除され、その配線が置き換え後のオブジェクトEの、
対応するバスに接続される(ステップ79_7)。尚、
置き換え後のオブジェクトEに対応するバスが存在せず
配線変更ができなかったときは、表示画面102aにそ
の旨のメッセージが表示され、その配線は消去される。
【0399】次に、本発明のオブジェクト指向プログラ
ミング支援装置のうちの第3のオブジェクト指向プログ
ラミング支援装置、および本発明のオブジェクト指向プ
ログラミング用プログラム記憶媒体のうちの第3のオブ
ジェクト指向プログラミング用プログラム記憶媒体に格
納されたオブジェクト指向プログラミング用プログラム
の実施形態について説明する。
【0400】本発明のオブジェクト指向プログラミング
支援装置のうちの第3のオブジェクト指向プログラミン
グ支援装置、および本発明のオブジェクト指向プログラ
ミング用プログラム記憶媒体のうちの第3のオブジェク
ト指向プログラミング用プログラム記憶媒体に格納され
たオブジェクト指向プログラミング用プログラムでは、
図64に示す階層構造構築手段303が、操作子304
からの、所定の階層に配置されたオブジェクトの中から
複数のオブジェクトを指定してそれら複数のオブジェク
トを一段下の階層に再配置する旨の指示に応じて、それ
ら複数のオブジェクト相互間の結合構造、およびそれら
複数のオブジェクトと、それら複数のオブジェクト以外
の他オブジェクトとの間の結合構造が保持されるよう
に、それら複数のオブジェクトが一段下の階層に再配置
され、もともとの階層には、それら複数のオブジェクト
を内包するオブジェクトが生成されて配置される。
【0401】図81は、オブジェクト移動前のオブジェ
クトの結合関係を示す概念図、図82は、図81に示す
オブジェクトに関するオブジェクトツリーを示す模式図
である。
【0402】図82に示すように、配線エディタにオブ
ジェクトAが接続されており、そのオブジェクトAに
は、その下階層にオブジェクトBが接続され、そのオブ
ジェクトBには、そのオブジェクトBと同階層にオブジ
ェクトCが接続され、そのオブジェクトCには、やはり
同階層にオブジェクトDが接続され、そのオブジェクト
Dには、やはり同階層にオブジェクトEが接続されてい
る。
【0403】ここで、図81に示すようなオブジェクト
間ネットワークを表示画面102aに表示し、マウス1
04を操作して、一段下の階層へ移動すべきオブジェク
トとしてオブジェクトCとオブジェクトDを選択したも
のとする。
【0404】図83は、オブジェクト移動後のオブジェ
クトの結合関係を示す概念図、図84は、図83に示す
オブジェクトに関するオブジェクトツリーを示す模式図
である。
【0405】オブジェクトBが配置された階層と同じ階
層にオブジェクトFが生成され、オブジェクトCとオブ
ジェクトEは、オブジェクトFを親オブジェクトとする
子オブジェクトとして、オブジェクトFの下階層に配置
される。
【0406】また、移動前は図81に示すようにオブジ
ェクトBのバス3とオブジェクトCのバス1とが直接に
接続され、オブジェクトDのバス3とオブジェクトEの
バス1とが直接に接続されていたが、移動後は、図83
に示すように、オブジェクトBのバス3はオブジェクト
Fのバス1と接続され、そのオブジェクトFのバス1が
オブジェクトCのバス1と接続され、オブジェクトDと
オブジェクトEとの接続に関しても、オブジェクトDの
バス3はオブジェクトFのバス2と接続され、オブジェ
クトFのバス2がオブジェクトEのバス1と接続されて
いる。
【0407】図85は、上記のようなオブジェクトの移
動および配線替えの処理を示すフローチャートである。
【0408】一段下の階層に移動すべきオブジェクトが
選択されると、どのオブジェクト(ここでは図82に示
すオブジェクトCとオブジェクトD)が選択されたかが
認識され(ステップ85_1)、選択されたオブジェク
トと同じ階層に、新オブジェクト(ここの例ではオブジ
ェクトF)が作成され(ステップ85_2)、選択され
たオブジェクト(ここの例ではオブジェクトCとオブジ
ェクトD)が新オブジェクト(オブジェクトF)の下に
置き換えられる(ステップ85_3)。
【0409】図86は、オブジェクトツリーを変更する
様子を示す模式図である。
【0410】上述のステップ85_2においてオブジェ
クトFが作成されると、オブジェクトBとオブジェクト
Cとの間の接続が断たれてオブジェクトBとオブジェク
トFが同階層に接続され、オブジェクトDとオブジェク
トEとの間の接続が断たれてオブジェクトFとオブジェ
クトEが同階層に接続され、オブジェクトFの下階層に
オブジェクトCが接続される。これにより、図84に示
すオブジェクト移動後のオブジェクトツリーが完成す
る。
【0411】尚、オブジェクトツリーを変更するための
ポインタの変更は、図78を参照して説明した場合と同
様にして行なうことができ、ここでは説明は省略する。
【0412】次に、図85のステップ85_4に示すよ
うに、選択されたオブジェクト(ここではオブジェクト
BとオブジェクトC)の親オブジェクト(ここではオブ
ジェクトA)に接続されたケーブル要素リストから、選
択されたオブジェクト(オブジェクトBとオブジェクト
C)に接続された配線が検索される(ステップ85_
4)。
【0413】図87は、オブジェクトAに接続されたケ
ーブル要素リストの一部を示す模式図である。
【0414】この図87には、ケーブル要素CABLE
aに、オブジェクトCのバス4とオブジェクトDのバス
1が配線されている旨、およびケーブル要素(CABL
Ebに、オブジェクトDのバス3とオブジェクトEのバ
ス1とが配線されている旨、示されている。ここで、ケ
ーブル要素CABLEaに示されるオブジェクトCのバ
ス4とオブジェクトDのバス1との配線は、図81に示
すように、一段下の階層に移動するよう選択されたオブ
ジェクト(オブジェクトBとオブジェクトC)どうしの
間の配線を代表的に示しており、ケーブル要素CABL
Ebに示されるオブジェクトDのバス3とオブジェクト
Eのバス1との配線は、一段下の階層に移動されるオブ
ジェクト(オブジェクトD)と、移動されずに元の階層
に残るオブジェクト(オブジェクトE)との間の配線を
代表的に示したものである。
【0415】図85のステップ85_4において、上記
のようなケーブル要素リストの検索が行なわれると、そ
の検索において見つけられた、選択されたオブジェクト
(ここの例ではオブジェクトBとオブジェクトC)に接
続された配線が、新オブジェクト(オブジェクトF)の
内部のオブジェクト(オブジェクトBとオブジェクト
C)どうしの配線であるか、あるいは、新オブジェクト
(オブジェクトF)の内部のオブジェクトと外部のオブ
ジェクトとの間の配線であるが判定される(ステップ8
5_5)。この判定において、新オブジェクト(オブジ
ェクトF)の内部のオブジェクトどうしの配線(図87
に示すケーブル要素CABLEaの配線がこれに相当す
る)であると判定されるとステップ85_6に進み、そ
の配線が、もともとの親オブジェクト(オブジェクト
A)から新オブジェクト(オブジェクトF)に移動され
る。
【0416】図88は、新オブジェクトへの配線の移動
の説明図である。
【0417】オブジェクトAに接続されているケーブル
要素リストの中からケーブル要素CABLEaが取り外
され、オブジェクトFに接続されるケーブル要素リスト
に組み込まれる。
【0418】また、図85のステップ85_5におい
て、新オブジェクト(オブジェクトF)の内部のオブジ
ェクトと外部のオブジェクトとの配線(図87に示すケ
ーブル要素CABLEbの配線がこれに相当する)であ
ると判定されるとステップ85_7に進み、新オブジェ
クト(オブジェクトF)に配線用バスが作成される。
【0419】図89は、オブジェクトFに作成された配
線用バスの模式図である。
【0420】この図89では、オブジェクトFの‘OU
T’(図67参照)にバス要素BUS2が接続されてい
る。このバス要素BUS2は、図83に示すオブジェク
トFのバス2に相当し、このバス要素BUS2は、オブ
ジェクトDへのポインタと、オブジェクトDのバス3へ
のポインタを持っている。すなわち、このバス要素BU
S2により、図83に示すように、オブジェクトFのバ
ス2とオブジェクトDのバス3との間に配線が形成され
ている。尚、この図89に示すバス要素BUS2は例示
的に示したものであり、図83に示す配線の場合、オブ
ジェクトFの‘IN’にも接続用バス要素が配置されて
オブジェクトFのバス1とオブジェクトCのバス1との
間も配線される。
【0421】図85のステップ85_8では、新オブジ
ェクト(オブジェクトF)の内部のオブジェクトに接続
されていた配線が、新オブジェクト(オブジェクトF)
につなぎかえられる。
【0422】図90は、新オブジェクト(オブジェクト
F)の内部のオブジェクト(オブジェクトD)に接続さ
れていた配線を、オブジェクトFにつなぎかえる様子を
示す模式図である。
【0423】図87に示すオブジェクトAのケーブル要
素CABLEbは、オブジェクトFの内部のオブジェク
トDのバス3と、オブジェクトFの外部のオブジェクト
Eのバス1との間の配線を示しており、図90に示すよ
うに、オブジェクトDのバス3がオブジェクトFのバス
2に変更され、これにより、オブジェクトFのバス2
と、オブジェクトEのバス1との間の配線が形成され
る。
【0424】尚、図85、ステップ85_4は、必要な
回数繰り返し実行される。
【0425】次に、本発明のオブジェクト指向プログラ
ミング支援装置のうちの第4のオブジェクト指向プログ
ラミング支援装置、および本発明のオブジェクト指向プ
ログラミング用プログラム記憶媒体のうちの第4のオブ
ジェクト指向プログラミング用プログラム記憶媒体に格
納されたオブジェクト指向プログラミング用プログラム
の実施形態について説明する本発明のオブジェクト指向
プログラミング支援装置のうちの第4のオブジェクト指
向プログラミング支援装置は、図64に示す表示手段3
01が、操作子304による指示に応じて、指定された
1つのメッセージ端子(メッセージ(インストラクショ
ン)を出力するバス)に接続されたメソッド端子(メッ
セージ(インストラクション)を受け取るバス)が複数
存在する場合、これら複数のメソッド端子に対応する複
数のメソッドの実行順序をあらわすリストを表示する手
段を有し、オブジェクト結合手段302が、操作子30
4による操作に応じて、表示手段301に表示されたリ
ストにあらわれた複数のメソッドの実行順序が変更され
た結合構造を再構築する手段を有する。
【0426】また、本発明のオブジェクト指向プログラ
ミング用プログラム記憶媒体のうちの第4のオブジェク
ト指向プログラミング用プログラム記憶媒体に格納され
たオブジェクト指向プログラミング用プログラムは、オ
ブジェクト結合手段302が、指定された1つのメッセ
ージ端子に接続されたメソッド端子が複数存在する場合
の、これら複数のメソッド端子に対応する複数のメソッ
ドの実行順序をあらわすリストを作成する手段と、その
リストにあらわれた複数のメソッドの実行順序の変更指
示に応じて、それら複数のメソッドの実行順序が変更さ
れた結合構造を再構築する手段とを有するものである。
【0427】図91は、オブジェクト間の配線の模式
図、図92は、図91に示す配線を定義している、ケー
ブル要素リストを示す模式図である。
【0428】図91に示す例では、オブジェクトAに
は、オブジェクトB,オブジェクトC,オブジェクト
D,およびオブジェクトEが配置されており、オブジェ
クトBのバス1と、オブジェクトCのバス2、オブジェ
クトDのバス2、およびオブジェクトEのバス1とが接
続されている。ここで、オブジェクトBのバス1は、イ
ンストラクションを出力するバス(メッセージ端子)で
あり、オブジェクトCのバス2、オブジェクトDのバス
2、およびオブジェクトEのバス1は、いずれも、イン
ストラクションを受け取るバス(メソッド端子)である
ものとする。
【0429】これらの間の配線は、図92に示すよう
に、親オブジェクトであるオブジェクトAに接続されて
いるケーブル要素リストにより定義されている。この図
92に示すケーブル要素リストには、多数のケーブル要
素が並んでおり、それらのケーブル要素のうち、ケーブ
ル要素CABLEaによりオブジェクトBのバス1とオ
ブジェクトCのバス2との間の配線が定義され、ケーブ
ル要素CABLEbによりオブジェクトBのバス1とオ
ブジェクトDのバス2との間の配線が定義され、ケーブ
ル要素CABLEcによりオブジェクトBのバス1とオ
ブジェクトEのバス1との間の配線が定義されている。
【0430】オブジェクトBから出力されたインストラ
クション(メッセージ)は3つのオブジェクトC,D,
Eに伝えられ、各オブジェクトC,D,Eではそれぞれ
対応したメソッドが実行されるが、それらのメソッドど
うしの実行順序が問題になることがある。例えばオブジ
ェクトBが外部からデータを入力するオブジェクト、オ
ブジェクトCはそのデータに基づいて計算を行なうオブ
ジェクト、オブジェクトDは、その計算結果に基づいて
グラフを作成するオブジェクト、オブジェクトEはその
グラフを表示するオブジェクトであった場合、オブジェ
クトBからの、データの入力が終了した旨をあらわすイ
ンストラクションにより、先ずオブジェクトC、次にオ
ブジェクトD、最後にオブジェクトEの順序で各メソッ
ドが実行される必要がある。
【0431】ここで、図91に示す配線図からでは実行
順序は不明であり、以下のようにして実行順序が表示さ
れ、また、必要に応じてその実行順序が変更される。
【0432】図93は、メソッド間の実行順序の表示、
およびその実行順序の変更の処理をあらわすフローチャ
ートである。
【0433】先ず、例えば図91に示すような画像を表
示しておいて、マウス104により所望の配線(ここで
は、図91に示す配線)をクリックすること等により、
その配線を選択する。そうすると、図64に示すオブジ
ェクト結合手段302では、どの配線が選択されたか認
識され(ステップ93_1)、その配線(ケーブル)に
ついてケーブルリストが作成されて表示される(ステッ
プ93_2)。
【0434】図94は、ケーブルリスト要素リストを示
す模式図である。
【0435】ケーブルリストの作成にあたっては、図9
2に示す、親オブジェクト(ここではオブジェクトA)
のケーブル要素リストが検索され、その選択された配線
を構成しているケーブル要素CABLEa,CABLE
b,CABLEcが認識され、ケーブル要素リストに並
んだ順に、図94に示すケーブルリスト要素リストを構
成するケーブルリスト要素にそのケーブル要素へのポイ
ンタが格納される。すなわち、ここに示す例では、図9
2に示す、その配線を構成する3つのケーブル要素CA
BLEa,CaBLEb,CABLEcそれぞれへのポ
インタが、この順に、図94に示すケーブルリスト要素
リストに並ぶ各ケーブルリスト要素に格納される。
【0436】図95は、表示画面102aに表示される
ケーブルリストの一例を示す図である。
【0437】図94に示すようなケーブルリスト要素リ
ストが作成されると、各2つのオブジェクトの間をつな
ぐ配線の様子が、そのケーブルリスト要素リストに並ん
だ順に並べられて表示される。すなわち、図95に示す
例では、一番上の行にオブジェクトBのバス1とオブジ
ェクトCのバス2とが接続されている旨が表示され、次
の行にオブジェクトBのバス1とオブジェクトDのバス
2とが接続されている旨が表示され、さらに次の行にオ
ブジェクトBのバス1とオブジェクトEのバス1とが接
続されている旨が表示される。ここでは各行を‘リスト
項目’と称する。ここで、このケーブルリストの左側は
メッセージ(インストラクション)を発行する側のバ
ス、右側はそのメッセージ(インストラクション)を受
け取ってメソッドを実行する側のバスをあらわしてい
る。実際の動作にあたっては、オブジェクトBのバス1
からそのバス1に対応したメッセージ(インストラクシ
ョン)が発行されると、このケーブルリストに示した順
序で、各メソッドが実行される。
【0438】ここで、図93のステップ93_3におい
て、この表示リストに表示された一行分からなるリスト
項目がドラッグされたものとする。ここでは、図95に
示すケーブルリスト中の一番下の行に示すリスト項目
「オブジェクトB:バス1 オブジェクトE:バス1」
がドラッグされたものとする。すると、オブジェクト結
合手段302(図64参照)では、オブジェクトBのバ
ス1とオブジェクトEのバス1とを接続している配線、
すなわち、図92に示すケーブル要素CABLEcによ
って定義される配線がドラッグされたことが認識される
(ステップ93_4)。次にそのドラッグされたリスト
項目がドロップされる(ステップ93_5)。ここで
は、図95に示すケーブルリスト中の、2番目のリスト
項目「オブジェクトB:バス1 オブジェクトD:バス
2」の上にドロップされたものとする。すると、オブジ
ェクト結合手段302では、そのドロップ先の配線が、
オブジェクトBのバス1とオブジェクトDのバス2とを
結ぶ配線であること、すなわち、図92に示すケーブル
要素CABLEbによって定義される配線であることが
認識される(ステップ93_6)。
【0439】このようにして、ドラッグされた配線とド
ロップ先の配線が認識されると、図95に示すケーブル
リスト上で、ドラッグされた配線がドロップ先の配線の
前に並ぶようにその並びの順序、すなわち実行に際して
の実行順序が変更される(ステップ93_7)。
【0440】図96は、ケーブル要素リストに並ぶケー
ブル要素の配列順序が変更される様子を示す模式図、図
97は、ケーブル要素の配列順序が変更された後のケー
ブル要素リストを示す模式図である。
【0441】各ケーブル要素CABLEは、図69に示
すように次のケーブル要素へのポインタを持っており、
上記のようにしてリスト項目のドラッグ・ドロップ操作
が行なわれると、そのポインタが書き換えられて、ここ
での例では、図96に示すように、ケーブル要素CAB
LEcがケーブル要素CABLEbの前に並ぶようにケ
ーブル要素の配列順序が変更され、ケーブル要素が図9
7に示すように並んだケーブル要素リストが生成され
る。
【0442】図98は、ケーブルリスト要素リストに並
ぶケーブルリスト要素の配列順序が変更される様子を示
す模式図、図99は、ケーブルリスト要素の配列順序が
変更された後のケーブルリスト要素リストを示す模式図
である。
【0443】上述のようにしてリスト項目のドラッグ・
ドロップ操作が行なわれると、図96に示すようにケー
ブル要素リストに並ぶケーブル要素の配列順序が変更さ
れるが、これに伴って、図98に示すように、ケーブル
リスト要素リストに並ぶケーブルリスト要素の配列順序
も変更される。ここに示す例では、ケーブル要素CAB
LEcへのポインタが格納されたケーブルリスト要素
が、ケーブル要素CABLEbへのポインタが格納され
たケーブルリスト要素の前に並ぶようにケーブルリスト
要素の配列順序が変更され、図99に示すケーブルリス
ト要素リストが生成される。
【0444】図100は、配列順序が変更された後のケ
ーブルリストを示す図である。
【0445】上記のような、ケーブル要素およびケーブ
ルリスト要素の配列順序が変更された結果、表示用のケ
ーブルリストも、図100に示すように、リスト項目の
順序が変更される。
【0446】以上で、図2に示すオブジェクト間配線エ
ディタ部122およびその周辺部に関する実施形態の説
明を終了し、次に、オブジェクトビルダ部121および
その周辺に関する実施形態の説明に移る。
【0447】オブジェクトウェアプログラミングシステ
ムでは、プログラムをオブジェクト化することにより効
率の良いプログラミングを行なうことを目指しており、
このためには、既存のソフトウェア資産を容易にオブジ
ェクト化することが可能であるか否かが極めて重要であ
る。特に、既存のソフトウェアをそのままオブジェクト
化することが可能であれば、利用可能なオブジェクトの
数が一挙に飛躍的に増大し、プログラム開発効率は格段
に向上する。従来においても、既存のソフトウェアをオ
ブジェクト化する方法が何種類か提案されている。Wi
ndows(登録商標)におけるOLEやDDEなどが
その例である。しかしながら、これらの方法では、既存
ソフトウェア側で、オブジェクト化されることあらかじ
め予定してそのように対応していなければ使用できず、
すべての既存ソフトウェアをオブジェクト化することが
できるものではない。また、そのような対応がなされて
いる既存ソフトウェアであっても、受け付けることので
きるメッセージの数は、例えばグラフィカル・ユーザイ
ンタフェースにおいて受け付けるメッセージの数に比べ
て大変少ないものが多く、その既存ソフトウェアをグラ
フィカル・ユーザインタフェースによる場合と同等には
操作することはできない。
【0448】また、既存ソフトウェア対する連続した操
作は、従来より、シェルスクリプトなどによって記述す
る方法がある。しかしながら、従来手段では、起動後の
ソフトウェアに対する操作を、グラフィカル・ユーザイ
ンタフェースによる場合と同等に行うのは困難である。
また、シェルスクリプトの記述はユーザが自分で行わな
ければならず、プログラミングの経験のない初心者ユー
ザには難しい。
【0449】以下に説明する実施形態は、これらオブジ
ェクト作成上の問題に鑑み、既存ソフトウェアの仕組み
によらずに、その既存ソフトウェアオブジェクト化する
手法、および、既存ソフトウェアと組み合わされてオブ
ジェクトとして作用するコンポーネントに関する実施形
態である。ここでは、グラフィカル・ユーザインターフ
ェースを持つ既存ソフトウェアを中心として、その既存
ソフトウェアをオブジェクト化する手法や、その既存ソ
フトウェアと組み合わされてオブジェクトとして作用す
るコンポーネントについて説明する。
【0450】尚、以下に説明するコンポーネントと本発
明との対応は次の通りである。すなわち以下に説明する
コンポーネントが、図1に示すコンピュータシステム1
00の記憶部105に格納された場合に、そのコンポー
ネントを記憶した状態における記憶部105が本発明に
いうコンポーネント記憶媒体の一例に相当する。また、
そのコンポーネントが、図1に示すMO110に格納さ
れた場合、そのコンポーネントが格納された状態にある
MO110も、本発明にいうコンポーネント記憶媒体の
一例に相当する。
【0451】図101は、グラフィカル・ユーザインタ
ーフェースを持つ既存ソフトウェアを‘包み込む’コン
ポーネントの一実施形態を示す模式図である。
【0452】この図101において、アプリケーション
Aは表示画面102a(図1参照)上に’ボタン
1’,’ボタン2’,’ボタン3’なるアイコンを表示
しておき、マウス104の操作によりそれらアイコンの
いずれかがクリックされ、そのクリックされたアイコン
に応じた処理を実行する既存のソフトウェアである。
【0453】また、ウィンドウ管理部は、このアプリケ
ーションAを含む、このシステムに組み込まれたアプリ
ケーション全てのグラフィカル・ユーザインターフェー
スを管理する、例えばWindowsならばそのWin
dowsシステムそのものを指す。アプリケーションA
を‘包み込む’コンポーネントAは、他オブジェクトと
接続されるための、オブジェクトとしての基本構成の他
にアプリケーションAに関するデータを持ち、さらに、
アプリケーションAを生成(起動)するためのアプリケ
ーション起動プログラムやアプリケーションAに対する
ウィンドウイベント発生プログラム(例えばユーザがマ
ウス104を操作してボタン1をクリックしたことと同
等のことを実行するボタン1クリックイベント発行プロ
グラム等)をメソッドとして持っている。他オブジェク
トからコンポーネントAのアプリケーションA起動メソ
ッドにメッセージが送られるとそのメソッドが実行され
てアプリケーションAが起動され、そのウィンドウに関
する情報(ID情報等)が読み込まれ、コンポーネント
Aはそのウィンドウ情報を保持する。
【0454】また、ボタンクリック等のイベントを発行
するメソッドに他オブジェクト(もしくは自分自身)か
らメッセージが送られるとそのメッセージを受け取った
メソッドに記述されているイベント発行プログラムによ
り、ウィンドウ管理部を経由して、アプリケーションA
のウィンドウに対して、対応するイベントが発行され
る。
【0455】この場合、既存アプリケーションAには何
も手を加えずに、コンポーネントAを追加するだけで、
その既存アプリケーションをオブジェクト化することが
できる。
【0456】図102は、グラフィカル・ユーザインタ
ーフェースを持つ既存ソフトウェアを‘包み込む’コン
ポーネントの他の実施形態を示す模式図である。
【0457】図101を参照して説明した実施形態にお
ける、アプリケーションAやその他の同様な既存ソフト
ウェアに対するイベント発生プログラムの最後に、その
メソッドの実行が終了したことを他オブジェクトに通知
するためのメッセージを発行するプログラムを追加す
る。このメッセージを他コンポーネントないし他オブジ
ェクトのメソッドに接続する。こうすることにより、複
数のメソッドを連鎖的に実行することができる。この図
102では既存ソフトウェアの図示は省略し、コンポー
ネントAのメッセージとコンポーネントBおよびコンポ
ーネントCのメソッドとが接続された状態が示されてい
る。
【0458】図103は、グラフィカル・ユーザインタ
ーフェースを持つ既存ソフトウェアを‘包み込む’コン
ポーネントのもう1つの実施形態を示す模式図である。
【0459】この図103に示すコンポーネントは既存
ソフトウェアに対するイベントを監視して所定のイベン
トが発行されたときにそれに対応するメッセージを発行
する機能を有するコンポーネントの一例である。
【0460】既存ソフトウェアであるコンポーネントA
の、アプリケーションAを起動するメソッドがメッセー
ジを受け取ると、そのメソッドが実行されてアプリケー
ションAが起動される。このコンポーネントAは、全て
のウィンドウイベントを監視する機能を持ち、発行され
たイベントがアプリケーションAに関するイベントであ
るか否かが調べられ、アプリケーションAに関するイベ
ントが発行された場合に、アプリケーションAに関して
そのイベントが発行されたことを他オブジェクト(また
は自分自身)に通知するためのメッセージを発行する。
例えば、ユーザによるマウス104の操作により、表示
画面102aに表示されたアプリケーションAに関す
る’ボタン1’,’ボタン2’,’ボタン3’の3つの
アイコンのうち、’ボタン1’のアイコンがクリックさ
れると、コンポーネントAでは、アプリケーションA
の’ボタン1’のアイコンがクリックされたことが認識
され、コンポーネントAはボタン1がクリックされたこ
とを通知するメッセージを発行する。
【0461】こうすることにより、既存ソフトウェアに
直接手を加えて拡張機能を付加することなく、既存ソフ
トウェアのイベントが発行されたことを受けて、その既
存ソフトウェアの仕様にはなかったメソッドを連動して
実行させることができる。
【0462】図104は、図103に示すウィンドウ管
理部内のイベント処理部の構成を示す模式図、図105
は、図103に示すコンポーネントAの中のイベント監
視部の構成を示す模式図である。
【0463】ウィンドウ管理部内のイベント処理部は、
イベントの発生を受けてそのイベントに対応する処理を
行なう部分であり、そのイベント処理部は、各種のイベ
ント処理関数へのポインタがそれぞれ格納された複数の
イベント処理要素からなるイベント処理要素リストを持
っている。ウィンドウイベントが発生すると、各イベン
ト処理要素に格納されたポインタが指し示す先のイベン
ト処理関数が順次実行される。イベント処理要素リスト
の最後に並ぶイベント処理要素はデフォルトイベント処
理関数を指し示しており、このデフォルトイベント処理
関数は、例えばボタンがクリックされたときに表示画面
上のボタンをそのボタンが押されたかのように動かす処
理等を行なうものである。
【0464】図103に示すコンポーネントAの、アプ
リケーションAの起動メソッドの最後に、ウィンドウ管
理部に対し、ウィンドウイベントを自分(コンポーネン
トA)に送るように依頼するプログラムが記述されてい
る。具体的にはウィンドウ管理部の中のイベント処理部
が持つイベント処理リスト中に、コンポーネントAのイ
ベント監視部へのポインタが格納されたイベント処理要
素を追加する。こうしておくことにより、以後ウィンド
イベントが発生する毎にコンポーネントAのイベント監
視部でその発生したイベントを参照することができる。
【0465】コンポーネントAのイベント監視部には、
図105に示すイベントテーブルが格納されている。こ
のイベントテーブルには、アプリケーションAに関する
各イベントを定義するウィンドウID、イベントID
や、その他のデータと、そのイベントが発行されたとき
に発行されるメッセージとの対応関係が記述されてい
る。
【0466】何らかのウィンドウイベントが発生し、図
104に示すウィンドウ管理部を経由してコンポーネン
トAのイベント監視部にその発生したウィンドウイベン
トに関するイベントデータが入力されると、そのイベン
トデータ中のウィンドウIDおよびイベントIDにより
イベントテーブルが参照され、そのイベントテーブル中
に、そのイベントデータ中のウィンドウIDおよびイベ
ントIDと一致するウィンドウIDおよびイベントID
が存在するか否か検索が行われる。イベントテーブル中
にウィンドウIDおよびイベントIDが一致するものが
あったときは、コンポーネントAから、その一致するウ
ィンドウIDおよびイベントIDに対応するメッセージ
が発行される。
【0467】図106は、本発明のコンポーネント作成
装置の基本構成図である。
【0468】このコンポーネント作成装置400は、第
1操作子401、第2操作子402、およびコンポーネ
ント作成手段403から構成されている。
【0469】第1操作子401は、メソッドの作成およ
びメッセージの作成を選択的に指示する操作子である。
【0470】また、第2操作子402は、所定の既存ソ
フトウェアの、所望のイベントの発行を指示入力する操
作子である。
【0471】尚、ここでは、機能上、第1操作子と第2
操作子とに区別しているが、この区別は機能上のもので
あって、ハードウェア上は1つの操作子であってもよ
く、図1に示すコンピュータシステム100では、典型
的にはマウス104がこれら第1操作子と第2の操作子
との双方に対応する。
【0472】また、コンポーネント作成手段403は、
既存ソフトウェアと合わせて1つのオブジェクトとして
作用するコンポーネントを作成するものである。具体的
には、このコンポーネント作成手段403は、第1の操
作子401の操作によりメソッドの作成が指示され、次
いで第2操作子402の操作により既存ソフトウェアの
所定のイベントが発行された場合に、そのコンポーネン
トに、他オブジェクトで発行されたメッセージにより発
火してそのイベントを発行するメソッドを作成し、第1
の操作子401によりメッセージの作成が指示され、次
いで第2操作子402により既存ソフトウェアの所定の
イベントの発行が指示された場合に、そのコンポーネン
トに、そのイベントの発生に応答してそのイベントが発
生したことを他オブジェクトに通知するためのメッセー
ジを作成するものである。
【0473】このコンポーネント作成手段403は、図
2に示すオブジェクトウェアプログラミングシステム1
02のオブジェクトビルダ部121に相当する。
【0474】図107は、コンポーネント作成装置の一
実施形態を説明するための模式図、図108は、コンポ
ーネント作成装置を用いてコンポーネントを作成する処
理を表わすフローチャートである。
【0475】オブジェクトビルダ部121は、既存ソフ
トウェアを‘包み込んで’その既存ソフトウェアと一緒
になって1つのオブジェクトとして作用するコンポーネ
ントを作成するプログラム121aを有し、ユーザから
の指示に応じてそのプログラムから‘包み込まれる’既
存ソフトウェア(ここではアプリケーションA)を起動
し(ステップ108_1)、そのアプリケーションAの
ウィンドウ情報を獲得してそれを保持する(ステップ1
08_2)。
【0476】次に、ユーザにより、その起動したアプリ
ケーションAを‘包み込む’コンポーネントにメソッド
を追加するかメッセージを追加するかが選択され、さら
に、イベントの種類(例えばボタンクリック、メニュー
クリック等の区別)が選択される(ステップ108_
3)。このメソッド/メッセージの別の選択は、表示画
面102a上のメソッドとメッセージのアイコンのいず
れか一方をマウスでクリックすることにより行われ、選
択した欄に、キーボード103を操作することにより、
追加しようとするメソッドもしくはメッセージの名前が
登録される。
【0477】その後、イベントの発生を監視し(ステッ
プ108_4)、マウスを用いたボタンクリック等によ
りイベントが発生すると(ステップ108_5)、その
発生したイベントがアプリケーションAのウィンドウに
関するイベントであるか否かが判定され(ステップ10
8_6)、さらに、ステップ108_3で選択したイベ
ントの種類(ボタンクリック、メニュークリック等の
別)と同種のイベントであるか否かが判定される(ステ
ップ108_7)。
【0478】イベントが発生したときに、その発生した
イベントが所望のイベントであるか否かを判定する機構
(ウィンドウ管理部とイベント監視部の役割り)は、図
103〜図105を参照して説明した機構と同様であ
り、ここでは説明は省略する。
【0479】今回発生したイベントがアプリケーション
Aのウィンドウに関するイベントであって、選択したイ
ベントの種類と同種のイベントであったときは、ステッ
プ108_3においてイベントの種類と共に選択された
メソッド/メッセージの別に応じて、そのイベントをメ
ソッドもしくはメッセージとしてコンポーネントAに追
加する。すなわち、アプリケーションAを‘包み込む’
コンポーネントAに他オブジェクトからメッセージを受
け取ったときそのイベントを発生させるメソッドを生成
し、あるいは、そのイベントが発生したときに他オブジ
ェクトに向けてそのイベントが発生したことをあらわす
メッセージを通知するプログラムを追加する。
【0480】以上の動作が、ユーザからイベント監視終
了指示があるまで継続され(ステップ108_9)、ユ
ーザからのイベント監視終了指示を受けて、起動されて
いたアプリケーション(ここではアプリケーションA)
を終了させ(ステップ108_10)、さらに、このア
プリケーションAと、そのアプリケーションAを‘包み
込む’コンポーネントAとからなるオブジェクトについ
て表示および配線用のオブジェクトデータが作成され
て、図2に示すオブジェクトデータファイル132に格
納され、また、そのオブジェクトがコンパイルされて実
行形式のオブジェクトデータが生成され、図2に示す実
行型オブジェクトファイルに格納される。このようにし
て、所望の既存ソフトウェアを‘包み込む’コンポーネ
ントが対話的に作成される。
【0481】次に、本発明のオブジェクト指向プログラ
ミング支援装置のうちの第5のオブジェクト指向プログ
ラミング装置の一実施形態について説明する。
【0482】図109は、図2に示すオブジェクトウェ
アプログラミングシステム120に、本発明の第5のオ
ブジェクト指向プログラミング支援装置の一実施形態に
対応する構成要素が追加されたオブジェクトウェアプロ
グラミングシステムの構成図である。図2に示すオブジ
ェクトウェアプログラミングシステム120の構成要素
に対応する構成要素には図2に付した符号と同一の符号
を付して示し、相違点について説明する。
【0483】この図109に示すオブジェクトウェアプ
ログラミングシステム120’には、図2に示すオブジ
ェクトウェアプログラミングシステム120の構成要素
に加え、イベントログ作成部141、コンポーネント結
合部142、イベントログファイル151、およびコン
ポーネントファイル152が備えられている。
【0484】図107,図108を参照して説明したコ
ンポーネント作成装置の実施形態においては、作成され
たコンポーネントは、オブジェクトデータファイル13
2および実行型オブジェクトファイル133に格納され
る旨説明したが、ここでは、実行型オブジェクトファイ
ルに関しては同様であるが、作成されたコンポーネント
の表示および配線用のデータは、オブジェクトデータフ
ァイル132に代わり、コンポーネントファイル152
に格納される。尚、ここでは説明および理解の容易のた
めにオブジェクトデータファイル132とは別にコンポ
ーネントファイル152を備えた構成としているが、そ
れらのファイルは一体的に構成されていてもよい。
【0485】ここでは、先ず、図107,図108を参
照して説明した手法により、図102を参照して説明し
た、メッセージを受け取って既存ソフトウェアのイベン
トを発行し、そのイベントを発行した旨をメッセージと
して出力するコンポーネントが、複数の既存ソフトウェ
アに関し多数作成されてコンポーネントファイル152
に格納される。
【0486】次に、ユーザは、それら多数の既存ソフト
ウェアを同時もしくは順次に起動させ、種々のイベント
を発生させる。すると、イベントログ作成部141によ
り、どのイベントがどの順序で発生したかを表わすイベ
ントログが作成され、イベントログファイル151に書
き込まれる。
【0487】イベントログの作成が終了すると、コンポ
ーネント結合部142はイベントログファイル151に
格納されているイベントログファイルから各イベントを
順次読み出してきて、コンポーネントファイル152に
格納されたコンポーネントを、その読み出されたイベン
トが順次発生するように配線する。
【0488】この配線結果は、オブジェクト間配線デー
タファイル134に格納され、さらにオブジェクト間配
線エディタ部122により必要に応じてさらに配線が行
われた後、インタプリンタ用配線データに変換されてイ
ンタプリンタ用配線データファイル135に格納され
る。
【0489】図110は、コンポーネント結合部におけ
る処理の流れを示すフローチャート、図111は、その
処理の流れを説明するための模式図である。
【0490】図111に示すように、イベントログファ
イルには、イベントログ作成部141(図109参照)
で作成された、多数のイベントデータが並ぶイベントロ
グが格納されている。また、コンポーネントファイル
(図109参照)には、前述したようにしてイベントと
メソッドとが対応づけられた多数のコンポーネントが格
納されている。
【0491】コンポーネント結合部では、図110に示
すように、イベントログファイルよりイベントを1つロ
ードし(ステップ110_1)、そのロードしたイベン
トと、コンポーネントファイルに格納されたコンポーネ
ントが持っているイベントとメソッドとの対応関係の記
述とが比較され、コンポーネントファイルの中から、そ
のロードしたイベントと同じイベントが検索される(ス
テップ110_2)。同じイベントがあったときは、そ
のイベントに対応するメソッドと、前のメッセージ(以
下に説明する)との間が配線される(ステップ110_
3)。そして、そのメソッドが実行されることにより発
行されるメッセージ(コンポーネントファイルには、図
102に示すように、メソッドが実行されるとそのメソ
ッドに対応したイベントが発行されたことを表わすメッ
セージを発行するタイプのコンポーネントが格納されて
いる。)が「前のメッセージ」として保存される。イベ
ントログファイル141中に格納されたイベントログに
次のイベントが残っているときは(ステップ110_
4)、ステップ110_1に戻り、次のイベントがロー
ドされ、上記と同様にして配線が行われる。
【0492】尚、イベントログの一番最初に並んだイベ
ントに関しては「前のメッセージ」は存在しないため、
図111に示す、前のメッセージとの間の配線は行わず
に、単に、そのイベントを発行するメソッドが実行され
たときに発行されるメッセージを「前のメッセージ」と
して保有することになる。
【0493】以上のようにしてコンポーネントどうしを
自動配線することができ、このようにして配線しておく
と、インタプリタ部123における実行の際に、ユーザ
がイベントログを作成した順序通りに順次に自動的にイ
ベントが発行され、既存ソフトウェアの自動操作が可能
となる。
【0494】尚、ここでは一旦イベントログを作成する
と、その作成されたイベントログに並ぶイベントの順序
に従って順次に自動配線が行われるが、一旦作成したイ
ベントログを一覧表として表示し、その一覧表の中から
必要なイベントをユーザが選択し、そのユーザが選択し
た順序で自動配線を行なうようにしてもよい。こうする
ことにより、イベントログを作成する際に間違いがあっ
たときにイベントログを最初から作成し直すことなく、
その間違いを訂正することができる。
【0495】このようにして、アプリケーションの自動
操作を実現することにより、例えばWWWブラウザのオ
ートパイロット機能を実現することなどが可能となる。
【0496】次に、既存のソフトウェアを‘包み込ん
で’その既存ソフトウェアをオブジェクト化する手法の
他の実施形態、および既存ソフトウェアと組み合わされ
てオブジェクトとして作用するコンポーネントの他の実
施形態について説明する。
【0497】図112は、既存ソフトウェアをコンポー
ネントで‘包み込んだ’状態を示す概念図、図113
は、その既存ソフトウェアを‘包み込むための定義表を
示す図である。尚、図113中では、オブジェクトを’
LSI’と称している。
【0498】ここでは、既存ソフトウェアは、それのみ
では単独では実行されず、他のアプリケーションプログ
ラム等から呼び出されて実行される関数ないし関数の集
合体からなる既存のプログラムである。
【0499】図112に示す既存プログラミングには、
他のプログラミングから受け取るべきデータx1 ,x
2 ,x3 ,…,xi ,…が存在し、それら他のプロ
グラムから受け取ったデータを基にある処理を行なう関
数function1,function2,…,fu
nctionj,…が存在し、その処理を行った結果を
表わす、他のプログラムに引き渡すべきデータy1 ,
y2 ,…,yj ,…が存在する。
【0500】このような既存プログラムを‘包み込む’
にあたり、ここでは図112に示すように、2つのオブ
ジェクトにわけてオブジェクトを定義するものとする。
この分け方には、ある程度の任意性があり、ユーザによ
って分け方が決定される。
【0501】ここでは、図112に示すような各種の定
義が行われる。先ず、(A)ヘッダとして、ここに示す
作業ないし処理の全体を特定するためのプロジェクト名
やこの処理を実行するための環境が定義される。
【0502】その(A)ヘッダに、(B)作成するライ
ブラリの定義、(C)既存プログラムの定義(どの既存
プログラムをオブジェクト化するのかを定義する)、お
よび(D)オブジェクトの定義が続く。(D)オブジェ
クトの定義は、既存プログラムの中が複数のオブジェク
トに分かれるときは、複数存在する。
【0503】(D)オブジェクトの定義の中には、他オ
ブジェクトからデータを受け取るポインタを定めるデー
タ入力用のデータバス(データ入力端子)の定義、実行
する処理の入口のポインタを定めるメソッド(メソッド
端子)の定義、および処理実行後の、他のオブジェクト
に引き渡すべきデータのポインタを定めるデータ出力用
のデータバス(データ出力端子)の定義が存在する。
尚、ここでは、他のプログラムから呼び出されて処理を
実行する既存プログラムを想定しているため、この既存
プログラムが他のオブジェクトに対し処理を依頼する
(メッセージを発行する)ことは考慮されていない。
【0504】図113は、図112に示す各種定義を行
うための定義項目一覧表を示した図である。
【0505】この一覧表にあらわれたキーワード群は、
上述した各種定義を行う一種のプログラム言語である。
個々のキーワードの詳細説明は、本発明の本質からは外
れるため省略する。
【0506】図114は、定義を行なう際に表示画面1
02aに表示される画面の一例を示す図である。
【0507】この画面の左側には、定義の構造が示され
ており、かつ、それぞれがアイコンの役割りをなし、そ
れらのアイコンのうちのいずれかをクリックすると、こ
の画面の右側に示すように、そのクリックされたアイコ
ンに対応した項目の定義を行なうための一覧表の枠が表
示され、その枠の中を1つずつ埋めていくことにより、
定義表が完成する。
【0508】このような、一覧表の枠を埋める形式を採
用すると対話的に容易に定義を行なうことができる。
【0509】定義表が完成すると、既存プログラムと、
その既存プログラムに関する定義表からなるコンポーネ
ントは、図2に示すオブジェクトビルダ部121によ
り、表示、配線用のデータが抽出されてオブジェクトデ
ータファイル132に格納され、またコンパイラにより
実行形式に変換されて実行型オブジェクトファイル13
3に格納される。
【0510】以上のようにして既存ソフトウェアを、そ
の既存ソフトウェアの形式によらず、かつ、既存ソフト
ウェア自体に手を加えることなく、このオブジェクトウ
ェアプログラミングシステムにオブジェクトとして取り
込むことができる。
【0511】
【発明の効果】以上説明したように、本発明によれば、
ソフトウェアの再利用性が格段に高められ、かつ実行速
度の速いソフトウェアを実現することができる。
【図面の簡単な説明】
【図1】本発明のオブジェクト指向プログラミング装置
の一形態を包含するコンピュータシステムの外観図であ
る。
【図2】図1に示すコンピュータシステム内に実現され
たオブジェクトウェアプログラミングシステムの概要図
である。
【図3】図1に示すコンピュータシステム内に実現され
たソフトウェアシステムの第1例を示す模式図である。
【図4】図3に示すオブジェクトAの出力インストラク
ションバス部とオブジェクトBの入力インストラクショ
ンバス部のデータ構造の一例を示す模式図である。
【図5】メッセージの発行処理を示すフローチャートで
ある。
【図6】図3示すオブジェクト結合部の出力インストラ
クションバス部生成部の処理を示すフローチャートであ
る。
【図7】図3に示すオブジェクト結合部の入力インスト
ラクションバス部の処理を示すフローチャートである。
【図8】図3に示すオブジェクト結合部におけるインス
トラクション結合部の処理を示すフローチャートであ
る。
【図9】図3に示すオブジェクトAのデータ要素リスト
のデータ構造の一例を示す模式図である。
【図10】図3に示すオブジェクト結合部のデータ要素
生成部の処理を示すフローチャートである。
【図11】図3に示すオブジェクトBのポインタ要素リ
ストのデータ構造の一例を示す模式図である。
【図12】図3に示すオブジェクト結合部のポインタ要
素生成部の処理を示すフローチャートである。
【図13】図3に示すオブジェクト結合部のデータ結合
部の処理が実行された後の構造を示す模式図である。
【図14】図3に示すオブジェクト結合部のデータ結合
部の処理を示すフローチャートである。
【図15】図1に示すコンピュータシステムに実現され
たソフトウェアシステムの第2例を示す模式図である。
【図16】図1に示すコンピュータシステムに実現され
たソフトウェアシステムの第3例を示す模式図である。
【図17】図1に示すコンピュータシステムに実現され
たソフトウェアシステムの第4例を示す模式図である。
【図18】図1に示すコンピュータシステムに実現され
たソフトウェアシステムの第5例を示す模式図である。
【図19】図15〜図18に示すオブジェクトAの、デ
ータ構造の一部を示す模式図である。
【図20】オブジェクトAのメッセージ発行処理の一例
を示すフローチャートである。
【図21】オブジェクトBの処理中における部分処理の
第1例を示すフローチャートである。
【図22】オブジェクトBの処理中における部分処理の
第2例を示すフローチャートである。
【図23】オブジェクトBの処理中における部分処理の
第3例を示すフローチャートである。
【図24】オブジェクトBの処理中における部分処理の
第4例を示すフローチャートである。
【図25】オブジェクトBの処理中における部分処理の
第5例を示すフローチャートである。
【図26】オブジェクトBの処理中における部分処理の
第6例を示すフローチャートである。
【図27】オブジェクトAのメッセージ発行処理の、図
20に示すメッセージ発行処理例とは異なる例を示すフ
ローチャートである。
【図28】オブジェクトBの処理中における部分処理の
第7例を示すフローチャートである。
【図29】オブジェクトBの処理中の部分処理の第8例
を示すフローチャートである。
【図30】オブジェクトBの処理中の部分処理の第9例
を示すフローチャートである。
【図31】オブジェクトBの処理中の部分処理の第10
例を示すフローチャートである。
【図32】図15に示すオブジェクト結合部における入
力インストラクションタグテーブル生成部の処理を示す
フローチャートである。
【図33】図16に示すオブジェクト結合部における出
力インストラクションタグテーブル生成部の処理を示す
フローチャートである。
【図34】図17に示すオブジェクト結合部における入
力データタグテーブル生成部の処理を示すフローチャー
トである。
【図35】図18に示すオブジェクト結合部における出
力データタグテーブル生成部の処理を示すフローチャー
トである。
【図36】本発明のオブジェクト間ネットワーク表示方
法の一実施形態の表示画面例を示す模式図である。
【図37】階層化されたネットワークの説明図である。
【図38】多数のオブジェクトと配線からなる表示画像
例を示す図である。
【図39】サブネットワークを表示した表示画像例を示
す図である。
【図40】サブネットワークの表示方法の他の例を示す
図である。
【図41】複数の升目が連結された表示領域を有する表
示画像例を示す図である。
【図42】配線の表示方法に特徴を持つ表示画像例を示
す図である。
【図43】配線の表示方法の他の例を示す図である。
【図44】オブジェクトのネットワークを表示するため
の表示領域を作成する手順の説明図である。
【図45】ユーザにより、表示画面上にオブジェクトが
配置されているときの様子を示す図である。
【図46】ユーザにより、表示画面上に配置されたオブ
ジェクト間の配線が行われているときの様子を示す図で
ある。
【図47】サブネットワーク表示前(A)および表示後
(B)のオブジェクト間ネットワークの表示画面例を示
す図である。
【図48】図47(A)の表示から図47(B)への表
示への変更の手順を示すフローチャートである。
【図49】サブネットワーク表示手順の説明図である。
【図50】サブネットワーク表示手順を示すフローチャ
ートである。
【図51】オブジェクトを示す表示領域を、1つもしく
は複数の連結された升目で形成した例を示す模式図であ
る。
【図52】配線の表示方法の例を示す模式図である。
【図53】配線の表示例を示す模式図である。
【図54】図53に示す配線を実行する手順を示すフロ
ーチャートである。
【図55】配線手順の他の例を示すフローチャートであ
る。
【図56】配線手順の他の例を示すフローチャートであ
る。
【図57】配線手順の他の例を示すフローチャートであ
る。
【図58】図55〜図57に示す配線手順に従って配線
を行なった結果を示す模式図である。
【図59】図55〜図57に示す配線手順に従って配線
を行なった結果を示す模式図である。
【図60】図55〜図57に示す配線手順に従って配線
を行なった結果を示す模式図である。
【図61】図55〜図57に示す配線手順に従って配線
を行なった結果を示す模式図である。
【図62】図55〜図57に示す配線手順に従って配線
を行なった結果を示す模式図である。
【図63】図55〜図57に示す配線手順に従って配線
を行なった結果を示す模式図である。
【図64】本発明のオブジェクト指向プログラミング支
援装置およびオブジェクト指向プログラミング用プログ
ラム記憶媒体の基本構成図である。
【図65】オブジェクトの内包関係の一例を示す概念図
である。
【図66】オブジェクトどうしの、階層構造を規定する
接続関係を示す模式図である。
【図67】1つのオブジェクトの、他のオブジェクトへ
の接続関係を定めるポインタを示した模式図である。
【図68】図67に示す‘バスへのポインタ’に接続さ
れるバス要素リストを構成する1つのバス要素を示す模
式図である。
【図69】図67に示す‘ケーブルへのポインタ’に接
続されるケーブル要素リストを構成するケーブル要素を
示す模式図である。
【図70】オブジェクトの間の配線例を示す模式図であ
る。
【図71】分身オブジェクトの概念図である。
【図72】図71に示すオブジェクトの階層構造(オブ
ジェクトツリー)を示す模式図である。
【図73】分身オブジェクトの作成処理を示すフローチ
ャートである。
【図74】本体オブジェクトと分身オブジェクトとの接
続関係を示す模式図である。
【図75】オブジェクトの置き換え前のオブジェクトの
結合関係を示す概念図である。
【図76】図75に示すオブジェクトに関するオブジェ
クトツリーを示す模式図である。
【図77】オブジェクト置き換え後のオブジェクトの結
合関係を示す概念図である。
【図78】オブジェクト置き換え後のオブジェクトツリ
ーの一部を示す模式図である。
【図79】オブジェクト置き換え処理を示すフローチャ
ートである。
【図80】オブジェクトAに接続されたケーブル要素リ
ストの一部を示す模式図である。
【図81】オブジェクト移動前のオブジェクトの結合関
係を示す概念図である。
【図82】図81に示すオブジェクト群に関するオブジ
ェクトツリーを示す模式図である。
【図83】オブジェクト移動後のオブジェクトの結合関
係を示す概念図である。
【図84】図83に示すオブジェクト群に関するオブジ
ェクトツリーを示す模式図である。
【図85】オブジェクトの移動および配線替えの処理を
示すフローチャートである。
【図86】オブジェクトツリーを変更する様子を示す模
式図である。
【図87】オブジェクトAに接続されたケーブル要素リ
ストの一部を示す模式図である。
【図88】新オブジェクトへの配線の移動の説明図であ
る。
【図89】オブジェクトFに作成された配線用バスの模
式図である。
【図90】新オブジェクト(オブジェクトF)の内部の
オブジェクト(オブジェクトD)に接続された配線をオ
ブジェクトFにつなぎかえる様子を示す模式図である。
【図91】オブジェクト間の配線の模式図である。
【図92】図91に示す配線を定義している、ケーブル
要素リストを示す模式図である。
【図93】メソッド間の実行順序の表示、およびその実
行順序の変更の処理をあらわすフローチャートである。
【図94】ケーブルリスト要素リストを示す模式図であ
る。
【図95】表示画面102aに表示されるケーブルリス
トの一例を示す図である。
【図96】ケーブル要素リストに並ぶケーブル要素の配
列順序が変更される様子を示す模式図である。
【図97】ケーブル要素の配列順序が変更された後のケ
ーブル要素リストを示す模式図である。
【図98】ケーブルリスト要素リストに並ぶケーブルリ
スト要素の配列順序が変更される様子を示す模式図であ
る。
【図99】ケーブルリスト要素の配列順序が変更された
後のケーブルリスト要素リストを示す模式図である。
【図100】配列順序が変更された後のケーブルリスト
を示す図である。
【図101】グラフィカル・ユーザインターフェースを
持つ既存ソフトウェアを’包み込む’コンポーネントの
一実施形態を示す模式図である。
【図102】グラフィカル・ユーザインターフェースを
持つ既存ソフトウェアを’包み込む’コンポーネントの
他の実施形態を示す模式図である。
【図103】グラフィカル・ユーザインターフェースを
持つ既存ソフトウェアを’包み込む’コンポーネントの
もう1つの実施形態を示す模式図である。
【図104】図103に示すウィンドウ管理部内のイベ
ント処理部の構成を示す模式図である。
【図105】図103に示すコンポーネントAの中のイ
ベント監視部の構成を示す模式図である。
【図106】本発明のコンポーネント作成装置の基本構
成図である。
【図107】コンポーネント作成装置の一実施形態を説
明するための模式図である。
【図108】コンポーネント作成装置を用いてコンポー
ネントを作成する処理を表わすフローチャートである。
【図109】図2に示すオブジェクトウェアプログラミ
ングシステムに、本発明の第5のオブジェクト指向プロ
グラミング支援装置の一実施形態に対応する構成要素が
追加されたオブジェクトウェアプログラミングシステム
の構成図である。
【図110】コンポーネント結合部における処理の流れ
を示すフローチャートである。
【図111】コンポーネント結合部における処理の流れ
を説明するための模式図である。
【図112】既存ソフトウェアをコンポーネントで’包
み込んだ’状態を示す概念図である。
【図113】図112に示す各種定義を行うための定義
項目一覧表を示した図である。
【図114】定義を行なう際に表示画面102aに表示
される画面の一例を示す図である。
【符号の説明】
10 オブジェクト結合部 11 出力インストラクションバス部生成部 12 入力インストラクションバス部生成部 13 インストラクション結合部 13a 経路 14 データ要素リスト生成部 15 ポインタ要素リスト生成部 16 データ結合部 16a 経路 20 オブジェクト結合部 21 出力インストラクションバス部生成部 22 入力インストラクションバス部生成部 23 インストラクション結合部 23a 経路 24 入力インストラクションタグテーブル生成部 30 オブジェクト結合部 31 出力インストラクションバス部生成部 32 入力インストラクションバス部生成部 33 インストラクション結合部 33a 経路 34 出力インストラクションタグテーブル生成部 40 オブジェクト結合部 41 出力インストラクションバス部生成部 42 入力インストラクションバス部生成部 43 インストラクション結合部 43a 経路 44 入力データタグテーブル生成部 50 オブジェクト結合部 51 出力インストラクションバス部生成部 52 入力インストラクションバス部生成部 53 インストラクション結合部 53a 経路 54 出力インストラクションタグテーブル生成部 100 コンピュータシステム 101 本体部 102 画像表示部 102a 表示画面 103 キーボード 104 マウス 105 記憶部 110 MO 120 オブジェクトウェアプログラミングシステム 121 オブジェクトビルダ部 122 オブジェクト間配線エディタ部 123 インタプリタ部 131 既存ソフトウェアファイル 132 オブジェクトデータファイル 133 実行型オブジェクトファイル 134 オブジェクト間配線データファイル 135 インタプリンタ用配線データファイル 141 イベントログ作成部 142 コンポーネント結合部 151 インベントログファイル 152 コンポーネントファイル 201 格子 202 表示画面 203 オブジェクト表示部分領域 204 配線表示部分領域 205 オブジェクト 206 サブネットワーク 207 表示画像 208 出力端子 201,211,212,213,214,215,2
16,217,218,219 オブジェクト 220 出力端子 221 入力端子 222 配線 223 配線 223a 中心線 223b 緑線 224 オブジェクト 225 領域 226,227 オブジェクト 228 操作 229 配線 300 オブジェクト指向プログラミング支援装置 301 表示手段 302 オブジェクト結合手段 303 階層構造構築手段 304 操作子 400 コンポーネント作成装置 401 第1操作子 402 第2操作子 403 コンポーネント作成手段
───────────────────────────────────────────────────── フロントページの続き (72)発明者 遠藤 香緒里 神奈川県川崎市中原区上小田中4丁目1番 1号 富士通株式会社内 (72)発明者 須田 良輔 神奈川県川崎市中原区上小田中4丁目1番 1号 富士通株式会社内 (72)発明者 湯本 麻子 神奈川県川崎市中原区上小田中4丁目1番 1号 富士通株式会社内 (72)発明者 丸山 次人 神奈川県川崎市中原区上小田中4丁目1番 1号 富士通株式会社内 (72)発明者 佐々木 繁 神奈川県川崎市中原区上小田中4丁目1番 1号 富士通株式会社内 Fターム(参考) 5B076 DD05 DD06 DD07 DD10 (54)【発明の名称】 オブジェクト指向プログラミング装置、オブジェクト指向プログラミング支援装置、コンポーネ ント作成装置、オブジェクト指向プログラム記憶媒体、オブジェクト指向プログラミング用プロ グラム記憶媒体、コンポーネント記憶媒体、およびオブジェクト間ネットワーク表示方法

Claims (34)

    【特許請求の範囲】
  1. 【請求項1】 データと処理とを有するオブジェクト複
    数を相互に結合するオブジェクト指向プログラミング装
    置において、 他オブジェクトに向けたメッセージの発行処理を行なう
    出力インストラクションバス部を持つ第1のオブジェク
    トと、他オブジェクトで発行された自オブジェクト向け
    のメッセージを受け付けて、自オブジェクトの、該メッ
    セージに対応するメソッドを起動する入力インストラク
    ションバス部を持つ第2のオブジェクトとの間で、該第
    1のオブジェクトのメッセージと該第2のオブジェクト
    のメソッドとを対応づけることにより、該第1のオブジ
    ェクトと該第2のオブジェクトとの間でのメッセージの
    授受を可能ならしめるインストラクション結合手段と、 自オブジェクトの出力インストラクションバス部に、他
    オブジェクトそれぞれに対応する、該他オブジェクトの
    メッセージと自オブジェクトのメソッドとの対応をあら
    わす入力インストラクションタグテーブルを生成する入
    力インストラクションタグテーブル生成手段とを備えた
    ことを特徴とするオブジェクト指向プログラミング装
    置。
  2. 【請求項2】 前記インストラクション結合手段が、自
    オブジェクトのメッセージに対応する他オブジェクトの
    メソッドを特定するメソッドIDと、該メソッドIDに
    より特定されるメソッドが実行される他オブジェクトへ
    のポインタとを含むメソッド要素の配列であるメソッド
    要素リストを生成するものであり、 前記入力インストラクションタグテーブル生成手段が、
    前記入力インストラクションタグテーブルを生成すると
    ともに、該入力インストラクションタグテーブルを、該
    入力インストラクションタグテーブルに対応する他オブ
    ジェクトへのポインタを含むメソッド要素に追加するも
    のであることを特徴とする請求項1記載のオブジェクト
    指向プログラミング装置。
  3. 【請求項3】 データと処理とを有するオブジェクト複
    数を相互に結合するオブジェクト指向プログラミング装
    置において、 他オブジェクトに向けたメッセージの発行処理を行なう
    出力インストラクションバス部を持つ第1のオブジェク
    トと、他オブジェクトで発行された自オブジェクト向け
    のメッセージを受け付けて、自オブジェクトの、該メッ
    セージに対応するメソッドを起動する入力インストラク
    ションバス部を持つ第2のオブジェクトとの間で、該第
    1のオブジェクトのメッセージと該第2のオブジェクト
    のメソッドとを対応づけることにより、該第1のオブジ
    ェクトと該第2のオブジェクトとの間でのメッセージの
    授受を可能ならしめるインストラクション結合手段と、 自オブジェクトの出力インストラクションバス部に、他
    オブジェクトそれぞれに対応する、該他オブジェクトの
    メソッドと自オブジェクトのメッセージとの対応をあら
    わす出力インストラクションタグテーブルを生成する出
    力インストラクションタグテーブル生成手段とを備えた
    ことを特徴とするオブジェクト指向プログラミング装
    置。
  4. 【請求項4】 前記インストラクション結合手段が、自
    オブジェクトのメッセージに対応する他オブジェクトの
    メソッドを特定するメソッドIDと、該メソッドIDに
    より特定されるメソッドが実行される他オブジェクトへ
    のポインタとを含むメソッド要素の配列であるメソッド
    要素リストを生成するものであり、 前記出力インストラクションタグテーブル生成手段が、
    前記出力インストラクションタグテーブルを生成すると
    ともに、該出力インストラクションタグテーブルを、該
    出力インストラクションタグテーブルに対応する他オブ
    ジェクトへのポインタを含むメソッド要素に追加するも
    のであることを特徴とする請求項3記載のオブジェクト
    指向プログラミング装置。
  5. 【請求項5】 データと処理とを有する複数のオブジェ
    クトが格納されてなるとともに、 他オブジェクトに向けたメッセージの発行処理を行なう
    出力インストラクションバス部を持つ第1のオブジェク
    トと、他オブジェクトで発行された自オブジェクト向け
    のメッセージを受け付けて、自オブジェクトの、該メッ
    セージに対応するメソッドを起動する入力インストラク
    ションバス部を持つ第2のオブジェクトとの間で、該第
    1のオブジェクトのメッセージと該第2のオブジェクト
    のメソッドとを対応づけることにより、該第1のオブジ
    ェクトと該第2のオブジェクトとの間でのメッセージの
    授受を可能ならしめるインストラクション結合手段と、 自オブジェクトの出力インストラクションバス部に、他
    オブジェクトそれぞれに対応する、該他オブジェクトの
    メッセージと自オブジェクトのメソッドとの対応をあら
    わす入力インストラクションタグテーブルを生成する入
    力インストラクションタグテーブル生成手段とを含むオ
    ブジェクト結合プログラムが格納されてなることを特徴
    とするオブジェクト指向プログラム記憶媒体。
  6. 【請求項6】 前記インストラクション結合手段が、自
    オブジェクトのメッセージに対応する他オブジェクトの
    メソッドを特定するメソッドIDと、該メソッドIDに
    より特定されるメソッドが実行される他オブジェクトへ
    のポインタとを含むメソッド要素の配列であるメソッド
    要素リストを生成するものであり、前記入力インストラ
    クションタグテーブル生成手段が、前記入力インストラ
    クションタグテーブルを生成するとともに、該入力イン
    ストラクションタグテーブルを、該入力インストラクシ
    ョンタグテーブルに対応する他オブジェクトへのポイン
    タを含むメソッド要素に追加するものであることを特徴
    とする請求項5記載のオブジェクト指向プログラム記憶
    媒体。
  7. 【請求項7】 前記入力インストラクションタグテーブ
    ルが追加されてなるメソッド要素を持つ第1のオブジェ
    クトが、該メソッド要素により特定される第2のオブジ
    ェクトを呼び出すにあたり、該メソッド要素に格納され
    たメソッドIDと入力インストラクションタグテーブル
    とを引数として該第2のオブジェクトを呼び出すもので
    あることを特徴とする請求項6記載のオブジェクト指向
    プログラム記憶媒体。
  8. 【請求項8】 前記第2のオブジェクトが、前記第1の
    オブジェクトから該第2のオブジェクトに向けたメッセ
    ージを受け付け、該メッセージの引数である入力インス
    トラクションタグテーブルを参照し、該第2のオブジェ
    クトのメッセージに対応する前記第1のオブジェクトの
    メソッドを実行するものであることを特徴とする請求項
    7記載のオブジェクト指向プログラム記憶媒体。
  9. 【請求項9】 前記第2のオブジェクトが、前記第1の
    オブジェクトから該第2のオブジェクトに向けたメッセ
    ージを受け付け、該メッセージの引数である入力インス
    トラクションタグテーブルを参照し、該第2のオブジェ
    クトのメッセージに対応する該第2のオブジェクトのメ
    ソッド要素リストに、該第2のオブジェクトのメッセー
    ジに対応づけられた前記第1のオブジェクトのメソッド
    に関するメソッド要素を追加するものであることを特徴
    とする請求項7記載のオブジェクト指向プログラム記憶
    媒体。
  10. 【請求項10】 前記第2のオブジェクトが、第3のオ
    ブジェクトを生成する手段を有し、前記第1のオブジェ
    クトから該第2のオブジェクトに向けたメッセージを受
    け付け、該メッセージの引数である入力インストラクシ
    ョンタグテーブルを参照し、生成した第3のオブジェク
    トのメッセージに対応する該第3のオブジェクトのメソ
    ッド要素リストに、該第3のオブジェクトのメッセージ
    に対応づけられた前記第1のオブジェクトのメソッドに
    関するメソッド要素を追加するものであることを特徴と
    する請求項7記載のオブジェクト指向プログラム記憶媒
    体。
  11. 【請求項11】 データと処理とを有する複数のオブジ
    ェクトが格納されてなるとともに、 他オブジェクトに向けたメッセージの発行処理を行なう
    出力インストラクションバス部を持つ第1のオブジェク
    トと、他オブジェクトで発行された自オブジェクト向け
    のメッセージを受け付けて、自オブジェクトの、該メッ
    セージに対応するメソッドを起動する入力インストラク
    ションバス部を持つ第2のオブジェクトとの間で、該第
    1のオブジェクトのメッセージと該第2のオブジェクト
    のメソッドとを対応づけることにより、該第1のオブジ
    ェクトと該第2のオブジェクトの間でのメッセージの授
    受を可能ならしめるインストラクション結合手段と、 自オブジェクトの出力インストラクションバス部に、他
    オブジェクトそれぞれに対応する、該他オブジェクトの
    メソッドと自オブジェクトのメッセージとの対応をあら
    わす出力インストラクションタグテーブルを生成する出
    力インストラクションタグテーブル生成手段とを含むオ
    ブジェクト結合プログラムが格納されてなることを特徴
    とするオブジェクト指向プログラム記憶媒体。
  12. 【請求項12】 前記インストラクション結合手段が、
    自オブジェクトのメッセージに対応する他オブジェクト
    のメソッドを特定するメソッドIDと、該メソッドID
    により特定されるメソッドが実行される他オブジェクト
    へのポインタとを含むメソッド要素の配列であるメソッ
    ド要素リストを生成するものであり、 前記出力インストラクションタグテーブル生成手段が、
    前記出力インストラクションタグテーブルを生成すると
    ともに、該出力インストラクションタグテーブルを、該
    出力インストラクションタグテーブルに対応する他オブ
    ジェクトへのポインタを含むメソッド要素に追加するも
    のであることを特徴とする請求項11記載のオブジェク
    ト指向プログラム記憶媒体。
  13. 【請求項13】 前記出力インストラクションタグテー
    ブルが追加されてなるメソッド要素を持つ第1のオブジ
    ェクトが、該メソッド要素により特定される第2のオブ
    ジェクトを呼び出すにあたり、該メソッド要素に格納さ
    れたメソッドIDと出力インストラクションタグテーブ
    ルとを引数として該第2のオブジェクトを呼び出すもの
    であることを特徴とする請求項12記載のオブジェクト
    指向プログラム記憶媒体。
  14. 【請求項14】 前記第2のオブジェクトが、前記第1
    のオブジェクトから該第2のオブジェクトに向けたメッ
    セージを受け付け、該メッセージの引数である出力イン
    ストラクションタグテーブルを参照し、前記第1のオブ
    ジェクトのメッセージに対応する該第1のオブジェクト
    のメソッド要素リストに、該第1のオブジェクトのメッ
    セージに対応づけられた該第2のオブジェクトのメソッ
    ドに関するメソッド要素を追加するものであることを特
    徴とする請求項13記載のオブジェクト指向プログラム
    記憶媒体。
  15. 【請求項15】 前記第2のオブジェクトが、第3のオ
    ブジェクトを生成する手段を有し、前記第1のオブジェ
    クトから該第2のオブジェクトに向けたメッセージを受
    け付け、該メッセージの引数である出力インストラクシ
    ョンタグテーブルを参照し、前記第1のオブジェクトの
    メッセージに対応する該第1のオブジェクトのメソッド
    要素リストに、該第1のオブジェクトのメッセージに対
    応づけられた前記第3のオブジェクトのメソッドに関す
    るメソッド要素を追加するものであることを特徴とする
    請求項13記載のオブジェクト指向プログラム記憶媒
    体。
  16. 【請求項16】 電子化された画像情報に基づく画像を
    表示画面上に表示する画像表示装置の該表示画面上に、
    オブジェクト指向プログラミングにより生成される複数
    のオブジェクトと、これら複数のオブジェクト間のデー
    タおよび制御の流れを示す配線とを表示するオブジェク
    ト間ネットワーク表示方法において、 前記表示画面が複数の升目に区切られてなる升目1つか
    らなる表示領域内、もしくは隣接する複数の升目が連結
    されてなる表示領域それぞれに、1つのオブジェクトを
    表示するオブジェクト表示部分領域と、複数のオブジェ
    クト間を結ぶ配線を表示する配線表示部分領域とを、隣
    接する2つの表示領域それぞれのオブジェクト表示部分
    領域どうしの間に配線表示部分領域が形成されるように
    定め、 前記表示画面上に、複数のオブジェクトそれぞれが、各
    表示領域内のオブジェクト表示部分領域に1つずつ配置
    されるとともに、これら複数のオブジェクトどうしを結
    ぶ配線が、複数の表示領域に跨って連なる配線表示部分
    領域に表示されてなる第1の画像を表示することを特徴
    とするオブジェクト間ネットワーク表示方法。
  17. 【請求項17】 前記第1の画像を構成する複数のオブ
    ジェクトのうちの所定のオブジェクトが、該所定のオブ
    ジェクトよりも下層側の複数のオブジェクトとこれら複
    数のオブジェクト間を結ぶ配線とから成るサブネットワ
    ークで構成されるものであって、 前記第1の画像に代えて、該第1の画像内の前記所定の
    オブジェクトの表示に代わり該所定のオブジェクトのサ
    ブネットワークが表示されてなる第2の画像を表示する
    にあたり、前記第1の画像内の、前記所定のオブジェク
    トの表示領域よりも拡大された表示領域に該サブネット
    ワークが表示されるとともに、該サブネットワークの表
    示領域の上下および左右に並ぶ表示領域がそれぞれ左右
    および上下に拡大された表示領域に変更され、さらに、
    該サブネットワークの表示領域に対し斜めに位置する表
    示領域については前記第1の画像と同一の寸法で表示さ
    れてなる第2の画像を表示することを特徴とする請求項
    16記載のオブジェクト間ネットワーク表示方法。
  18. 【請求項18】 前記第1の画像を構成する複数のオブ
    ジェクトのうちの所定のオブジェクトが、該所定のオブ
    ジェクトよりも下層側の複数のオブジェクトとこれら複
    数のオブジェクト間を結ぶ配線とから成るサブネットワ
    ークで構成されるものであって、 前記第1の画像に代えて、該第1の画像内の前記所定の
    オブジェクトの表示に代わり該所定のオブジェクトのサ
    ブネットワークが表示されてなる第2の画像を表示する
    にあたり、前記第1の画像内の、前記所定のオブジェク
    トの表示領域よりも拡大された表示領域に該サブネット
    ワークが表示されるとともに、該第2の画像の周縁に位
    置する表示領域、および該表示領域の、該第2の画像の
    外周に接する辺の位置および寸法が、前記第1の画像の
    周縁に位置する表示領域、および該表示領域の、該第1
    の画像の外周に接する辺の位置および寸法と比べ、同一
    のオブジェクトが表示された表示領域であり、かつ外周
    に接する辺の位置および寸法も同一となるように、前記
    サブネットワークの表示領域を除く表示領域が前記第1
    の画像上の対応する表示領域と比べ変形してなる第2の
    画像を表示することを特徴とする請求項16記載のオブ
    ジェクト間ネットワーク表示方法。
  19. 【請求項19】 前記第1の画像を表示するにあたり、
    前記表示領域内のオブジェクト表示部分領域の形状およ
    び寸法が、該表示領域の形状および寸法に応じた形状お
    よび寸法に規格化されてなることを特徴とする請求項1
    6記載のオブジェクト間ネットワーク表示方法。
  20. 【請求項20】 前記第1の画像を表示するにあたり、
    先ず複数のオブジェクトを表示し、次いで、これら複数
    のオブジェクト間を、データもしくは制御の流れの方向
    が所定長部分毎に繰り返し表示されてなる配線で連結し
    ている状態を表示することを特徴とする請求項16記載
    のオブジェクト間ネットワーク表示方法。
  21. 【請求項21】 前記第1の画像を表示するにあたり、
    中心線と、該中心線の両脇に沿う、該中心線とは異なる
    表示態様の縁線とからなる配線であって、相互に交差す
    る配線のうち、同一のデータもしくは制御の流れを表わ
    す配線については中心線どうしが連続し、異なるデータ
    もしくは制御の流れを表わす配線については一方の配線
    の中心線を他方の配線の縁線に接する位置もしくは近接
    する位置で分断してなる配線を表示することを特徴とす
    る請求項16記載のオブジェクト間ネットワーク表示方
    法。
  22. 【請求項22】 データと処理とを有するオブジェクト
    複数を、指示に応じて相互に結合するオブジェクト指向
    プログラミング支援装置において、 オブジェクト本体をあらわすブロックと、自オブジェク
    ト内部のデータを他オブジェクトに渡すためのデータ出
    力端子と、他オブジェクトのデータを自オブジェクトが
    受け取るためのデータ入力端子と、他オブジェクトに向
    けて処理を依頼するメッセージを発行するためのメッセ
    ージ端子と、他オブジェクトからの処理依頼を受け取っ
    てメソッドを実行するためのメソッド端子とで表現され
    たオブジェクトであって1つのオブジェクトの内部に1
    つもしくは複数のオブジェクトの存在を許容する階層構
    造で表現されたオブジェクトを表示するとともに、複数
    のオブジェクトの端子間を結ぶ配線を表示する表示手段
    と、 複数のオブジェクトの端子間を配線で結ぶ指示に応じ
    て、複数のオブジェクト間の、指示に応じた配線に対応
    した結合構造を構築するオブジェクト結合手段と、 オブジェクトの階層構造を構築する階層構造構築手段
    と、 前記オブジェクト結合手段に対しオブジェクト間を結ぶ
    配線を指示入力するとともに、前記階層構造構築手段に
    対し、オブジェクトの、階層構造上の配置位置を指示入
    力する操作子とを備え、 前記階層構造構築手段が、前記操作子からの指示に応じ
    て、指定されたオブジェクトである本体オブジェクトを
    複写して分身オブジェクトを作成し、該分身オブジェク
    トを、該本体オブジェクトが配置された階層とは異なる
    階層に配置する手段を有し、 前記オブジェクト結合手段が、前記分身オブジェクトが
    配置された階層における配線において、前記操作子から
    の、前記分身オブジェクトと他オブジェクトとの間の配
    線の指示を受け付けるとともに、該分身オブジェクトと
    該分身オブジェクトに対応する本体オブジェクトとを1
    つのオブジェクトとした結合構造を構築するものである
    ことを特徴とするオブジェクト指向プログラミング支援
    装置。
  23. 【請求項23】 データと処理とを有するオブジェクト
    複数を、指示に応じて相互に結合するオブジェクト指向
    プログラミング支援装置において、 オブジェクト本体をあらわすブロックと、自オブジェク
    ト内部のデータを他オブジェクトに渡すためのデータ出
    力端子と、他オブジェクトのデータを自オブジェクトが
    受け取るためのデータ入力端子と、他オブジェクトに向
    けて処理を依頼するメッセージを発行するためのメッセ
    ージ端子と、他オブジェクトからの処理依頼を受け取っ
    てメソッドを実行するためのメソッド端子とで表現され
    たオブジェクトであって1つのオブジェクトの内部に1
    つもしくは複数のオブジェクトの存在を許容する階層構
    造で表現されたオブジェクトを表示するとともに、複数
    のオブジェクトの端子間を結ぶ配線を表示する表示手段
    と、 複数のオブジェクトの端子間を配線で結ぶ指示に応じ
    て、複数のオブジェクト間の、指示に応じた配線に対応
    した結合構造を構築するオブジェクト結合手段と、 オブジェクトの階層構造を構築する階層構造構築手段
    と、 前記オブジェクト結合手段に対しオブジェクト間を結ぶ
    配線を指示入力するとともに、前記階層構造構築手段に
    対し、オブジェクトの、階層構造上の配置位置を指示入
    力する操作子とを備え、 前記オブジェクト結合手段が、前記操作子からの、オブ
    ジェクトの置き換えの指示に応じて、置き換え前のオブ
    ジェクトの、他オブジェクトとの結合構造を解除して、
    置き換え前のオブジェクトの他オブジェクトとの結合構
    造を、置き換え後のオブジェクトに継承させるものであ
    り、 前記階層構造構築手段が、前記操作子からの、オブジェ
    クトの置き換えの指示に応じて、置き換え前のオブジェ
    クトが配置されていた階層に、該置き換え前のオブジェ
    クトに代えて、置き換え後のオブジェクトを配置するも
    のであることを特徴とするオブジェクト指向プログラミ
    ング支援装置。
  24. 【請求項24】 データと処理とを有するオブジェクト
    複数を、指示に応じて相互に結合するオブジェクト指向
    プログラミング支援装置において、 オブジェクト本体をあらわすブロックと、自オブジェク
    ト内部のデータを他オブジェクトに渡すためのデータ出
    力端子と、他オブジェクトのデータを自オブジェクトが
    受け取るためのデータ入力端子と、他オブジェクトに向
    けて処理を依頼するメッセージを発行するためのメッセ
    ージ端子と、他オブジェクトからの処理依頼を受け取っ
    てメソッドを実行するためのメソッド端子とで表現され
    たオブジェクトであって1つのオブジェクトの内部に1
    つもしくは複数のオブジェクトの存在を許容する階層構
    造で表現されたオブジェクトを表示するとともに、複数
    のオブジェクトの端子間を結ぶ配線を表示する表示手段
    と、 複数のオブジェクトの端子間を配線で結ぶ指示に応じ
    て、複数のオブジェクト間の、指示に応じた配線に対応
    した結合構造を構築するオブジェクト結合手段と、 オブジェクトの階層構造を構築する階層構造構築手段
    と、 前記オブジェクト結合手段に対しオブジェクト間を結ぶ
    配線を指示入力するとともに、前記階層構造構築手段に
    対し、オブジェクトの、階層構造上の配置位置を指示入
    力する操作子とを備え、 前記階層構造構築手段が、前記操作子からの、所定の階
    層に配置されたオブジェクトの中から複数のオブジェク
    トを指定して該複数のオブジェクトを一段下の階層に再
    配置する旨の指示に応じて、該複数のオブジェクト相互
    間の結合構造、および該複数のオブジェクトと、該複数
    のオブジェクト以外の他オブジェクトとの間の結合構造
    が保持されるように、該複数のオブジェクトを該一段下
    の階層に再配置するとともに該所定の階層に該複数のオ
    ブジェクトを内包するオブジェクトを生成して配置する
    ものであることを特徴とするオブジェクト指向プログラ
    ミング支援装置。
  25. 【請求項25】 データと処理とを有するオブジェクト
    複数を、指示に応じて相互に結合するオブジェクト指向
    プログラミング支援装置において、 オブジェクト本体をあらわすブロックと、自オブジェク
    ト内部のデータを他オブジェクトに渡すためのデータ出
    力端子と、他オブジェクトのデータを自オブジェクトが
    受け取るためのデータ入力端子と、他オブジェクトに向
    けて処理を依頼するメッセージを発行するためのメッセ
    ージ端子と、他オブジェクトからの処理依頼を受け取っ
    てメソッドを実行するためのメソッド端子とで表現され
    たオブジェクトであって1つのオブジェクトの内部に1
    つもしくは複数のオブジェクトの存在を許容する階層構
    造で表現されたオブジェクトを表示するとともに、複数
    のオブジェクトの端子間を結ぶ配線を表示する表示手段
    と、 複数のオブジェクトの端子間を配線で結ぶ指示に応じ
    て、複数のオブジェクト間の、指示に応じた配線に対応
    した結合構造を構築するオブジェクト結合手段と、 オブジェクトの階層構造を構築する階層構造構築手段
    と、 前記オブジェクト結合手段に対しオブジェクト間を結ぶ
    配線を指示入力するとともに、前記階層構造構築手段に
    対し、オブジェクトの、階層構造上の配置位置を指示入
    力する操作子とを備え、 前記表示手段が、前記操作子による指示に応じて、指定
    された1つのメッセージ端子に接続されたメソッド端子
    が複数存在する場合の、これら複数のメソッド端子に対
    応する複数のメソッドの実行順序をあらわすリストを表
    示する手段を有し、 前記オブジェクト結合手段が、前記操作子による指示に
    応じて、前記表示手段に表示されたリストにあらわれた
    複数のメソッドの実行順序が変更された結合構造を再構
    築する手段を有するものであることを特徴とするオブジ
    ェクト指向プログラミング支援装置。
  26. 【請求項26】 データと処理とを有するオブジェクト
    複数を相互に結合するオブジェクト指向プログラミング
    を支援するプログラムが格納されたオブジェクト指向プ
    ログラミング用プログラム記憶媒体において、 前記オブジェクトが、オブジェクト本体をあらわすブロ
    ックと、自オブジェクト内部のデータを他オブジェクト
    に渡すためのデータ出力端子と、他オブジェクトのデー
    タを自オブジェクトが受け取るためのデータ入力端子
    と、他オブジェクトに向けて処理を依頼するメッセージ
    を発行するためのメッセージ端子と、他オブジェクトか
    らの処理依頼を受け取ってメソッドを実行するためのメ
    ソッド端子とで表現されるとともに、1つのオブジェク
    トの内部に1つもしくは複数のオブジェクトの存在を許
    容する階層構造で表現されるオブジェクトであって、複
    数のオブジェクトの端子間を配線で結ぶ指示がなされる
    ものであり、 複数のオブジェクトの端子間を配線で結ぶ指示に応じ
    て、複数のオブジェクト間の、指示に応じた配線に対応
    した結合構造を構築するオブジェクト結合手段と、オブ
    ジェクトの階層構造を構築する階層構造構築手段とを含
    むプログラムであって、 前記階層構造構築手段が、指定されたオブジェクトであ
    る本体オブジェクトを複写して分身オブジェクトを作成
    し、該分身オブジェクトを、該本体オブジェクトが配置
    された階層とは異なる階層に配置する手段を有し、前記
    オブジェクト結合手段が、前記分身オブジェクトが配置
    された階層における配線において、前記分身オブジェク
    トと他オブジェクトとの間の配線の指示を受け付けると
    ともに、該分身オブジェクトと該分身オブジェクトに対
    応する本体オブジェクトとを1つのオブジェクトとした
    結合構造を構築するものであるプログラムが格納されて
    なることを特徴とするオブジェクト指向プログラミング
    用プログラム記憶媒体。
  27. 【請求項27】 データと処理とを有するオブジェクト
    複数を相互に結合するオブジェクト指向プログラミング
    を支援するプログラムが格納されたオブジェクト指向プ
    ログラミング用プログラム記憶媒体において、 前記オブジェクトが、オブジェクト本体をあらわすブロ
    ックと、自オブジェクト内部のデータを他オブジェクト
    に渡すためのデータ出力端子と、他オブジェクトのデー
    タを自オブジェクトが受け取るためのデータ入力端子
    と、他オブジェクトに向けて処理を依頼するメッセージ
    を発行するためのメッセージ端子と、他オブジェクトか
    らの処理依頼を受け取ってメソッドを実行するためのメ
    ソッド端子とで表現されるとともに、1つのオブジェク
    トの内部に1つもしくは複数のオブジェクトの存在を許
    容する階層構造で表現されるオブジェクトであって、複
    数のオブジェクトの端子間を配線で結ぶ指示がなされる
    ものであり、 複数のオブジェクトの端子間を配線で結ぶ指示に応じ
    て、複数のオブジェクト間の、指示に応じた配線に対応
    した結合構造を構築するオブジェクト結合手段と、オブ
    ジェクトの階層構造を構築する階層構造構築手段とを含
    むプログラムであって、 前記オブジェクト結合手段が、オブジェクトの置き換え
    の指示に応じて、置き換え前のオブジェクトの、他オブ
    ジェクトとの結合構造を解除して、置き換え前のオブジ
    ェクトの他オブジェクトとの結合構造を、置き換え後の
    オブジェクトに継承させるものであり、前記階層構造構
    築手段が、オブジェクトの置き換えの指示に応じて、置
    き換え前のオブジェクトが配置されていた階層に、該置
    き換え前のオブジェクトに代えて、置き換え後のオブジ
    ェクトを配置するものであるプログラムが格納されてな
    ることを特徴とするオブジェクト指向プログラミング用
    プログラム記憶媒体。
  28. 【請求項28】 データと処理とを有するオブジェクト
    複数を相互に結合するオブジェクト指向プログラミング
    を支援するプログラムが格納されたオブジェクト指向プ
    ログラミング用プログラム記憶媒体において、 前記オブジェクトが、オブジェクト本体をあらわすブロ
    ックと、自オブジェクト内部のデータを他オブジェクト
    に渡すためのデータ出力端子と、他オブジェクトのデー
    タを自オブジェクトが受け取るためのデータ入力端子
    と、他オブジェクトに向けて処理を依頼するメッセージ
    を発行するためのメッセージ端子と、他オブジェクトか
    らの処理依頼を受け取ってメソッドを実行するためのメ
    ソッド端子とで表現されるとともに、1つのオブジェク
    トの内部に1つもしくは複数のオブジェクトの存在を許
    容する階層構造で表現されるオブジェクトであって、複
    数のオブジェクトの端子間を配線で結ぶ指示がなされる
    ものであり、 複数のオブジェクトの端子間を配線で結ぶ指示に応じ
    て、複数のオブジェクト間の、指示に応じた配線に対応
    した結合構造を構築するオブジェクト結合手段と、オブ
    ジェクトの階層構造を構築する階層構造構築手段とを含
    むプログラムであって、 前記階層構造構築手段が、所定の階層に配置されたオブ
    ジェクトの中から指定された複数のオブジェクトを一段
    下の階層に再配置する旨の指示に応じて、該複数のオブ
    ジェクト相互間の結合構造、および該複数のオブジェク
    トと、該複数のオブジェクト以外の他オブジェクトとの
    間の結合構造が保持されるように、該複数のオブジェク
    トを該一段下の階層に再配置するとともに該所定の階層
    に該複数のオブジェクトを内包するオブジェクトを生成
    して配置するものであるプログラムが格納されてなるこ
    とを特徴とするオブジェクト指向プログラミング用プロ
    グラム記憶媒体。
  29. 【請求項29】 データと処理とを有するオブジェクト
    複数を相互に結合するオブジェクト指向プログラミング
    を支援するプログラムが格納されたオブジェクト指向プ
    ログラミング用プログラム記憶媒体において、 前記オブジェクトが、オブジェクト本体をあらわすブロ
    ックと、自オブジェクト内部のデータを他オブジェクト
    に渡すためのデータ出力端子と、他オブジェクトのデー
    タを自オブジェクトが受け取るためのデータ入力端子
    と、他オブジェクトに向けて処理を依頼するメッセージ
    を発行するためのメッセージ端子と、他オブジェクトか
    らの処理依頼を受け取ってメソッドを実行するためのメ
    ソッド端子とで表現されるとともに、1つのオブジェク
    トの内部に1つもしくは複数のオブジェクトの存在を許
    容する階層構造で表現されるオブジェクトであって、複
    数のオブジェクトの端子間を配線で結ぶ指示がなされる
    ものであり、 複数のオブジェクトの端子間を配線で結ぶ指示に応じ
    て、複数のオブジェクト間の、該配線に対応した結合構
    造を構築するオブジェクト結合手段と、オブジェクトの
    階層構造を構築する階層構造構築手段とを含むプログラ
    ムであって、 前記オブジェクト結合手段が、指定された1つのメッセ
    ージ端子に接続されたメソッド端子が複数存在する場合
    の、これら複数のメソッド端子に対応する複数のメソッ
    ドの実行順序をあらわすリストを作成する手段と、該リ
    ストにあらわれた複数のメソッドの実行順序の変更指示
    に応じて該複数のメソッドの実行順序が変更された結合
    構造を再構築する手段とを有するものであるプログラム
    が格納されてなることを特徴とするオブジェクト指向プ
    ログラミング用プログラム記憶媒体。
  30. 【請求項30】 他オブジェクトで発行されたメッセー
    ジにより発火して所定の既存ソフトウェアのイベントを
    発行するメソッドを含む、該既存ソフトウェアと合わせ
    て1つのオブジェクトとして作用するコンポーネントが
    格納されてなることを特徴とするコンポーネント記憶媒
    体。
  31. 【請求項31】 前記コンポーネントが、前記メソッド
    を含むとともに該メソッドの実行により前記イベントが
    発行されたことを他オブジェクトに向けて通知するメッ
    セージを含むものであることを特徴とする請求項30記
    載のコンポーネント記憶媒体。
  32. 【請求項32】 所定の既存ソフトウェアの所定のイベ
    ントの発生を受けて該所定のイベントが発生したことを
    他オブジェクトに向けて通知するメッセージを含む、該
    既存ソフトウェアと合わせて1つのオブジェクトとして
    作用するコンポーネントが格納されてなることを特徴と
    するコンポーネント記憶媒体。
  33. 【請求項33】 メソッドの作成およびメッセージの作
    成を選択的に指示入力する第1の操作子と、 所定の既存ソフトウェアの所望のイベントの発行を指示
    入力する第2の操作子と、 前記既存ソフトウェアと合わせて1つのオブジェクトと
    して作用するコンポーネントを作成するコンポーネント
    作成手段であって、前記第1の操作子の操作によりメソ
    ッドの作成が指示され次いで前記第2の操作子の操作に
    より前記既存ソフトウェアの所定のイベントが発行され
    た場合に、該コンポーネントに、他オブジェクトで発行
    されたメッセージにより発火して該所定のイベントを発
    行するメソッドを作成し、前記第1の操作子によりメッ
    セージの作成が指示され次いで前記第2の操作子により
    前記既存ソフトウェアの所定のイベントの発行が指示さ
    れた場合に、該コンポーネントに、該所定のイベントの
    発生に応答して該所定のイベントが発生したことを他オ
    ブジェクトに通知するためのメッセージを作成するコン
    ポーネント作成手段とを備えたことを特徴とするコンポ
    ーネント作成装置。
  34. 【請求項34】 他オブジェクトで発行されたメッセー
    ジにより発火して所定の既存ソフトウェアのイベントを
    発行するメソッドと、該メソッドの実行により前記イベ
    ントが発行されたことを他オブジェクトに向けて通知す
    るメッセージとを含み該所定の既存ソフトウェアと合わ
    せて1つのオブジェクトとして作用するコンポーネント
    を、1つもしくは複数の既存ソフトウェアに関して格納
    するコンポーネントファイルと、 既存ソフトウェアについてイベントの発行を指示入力す
    るための操作子と、 前記操作子の操作に応じて順次発行された、1つもしく
    は複数の既存ソフトウェアに関するイベントのリストを
    格納するイベントログファイルと、 該イベントログファイルから順次にイベントを取り出し
    て、前回取り出したイベントと同一のイベントが発行さ
    れたことを他オブジェクトに向けて通知するメッセージ
    を含むコンポーネントの該メッセージと、今回取り出し
    たイベントと同一のイベントを発行するメソッドを含む
    コンポーネントの該メソッドとを結合するコンポーネン
    ト結合手段とを備えたことを特徴とするオブジェクト指
    向プログラミング支援装置。
JP2002119772A 1996-06-28 2002-04-22 オブジェクト指向プログラミング装置およびオブジェクト結合プログラム記憶媒体 Expired - Fee Related JP3810704B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002119772A JP3810704B2 (ja) 1996-06-28 2002-04-22 オブジェクト指向プログラミング装置およびオブジェクト結合プログラム記憶媒体

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP8-170079 1996-06-28
JP17007996 1996-06-28
JP8-292863 1996-11-05
JP29286396 1996-11-05
JP2002119772A JP3810704B2 (ja) 1996-06-28 2002-04-22 オブジェクト指向プログラミング装置およびオブジェクト結合プログラム記憶媒体

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP17178297A Division JP3763937B2 (ja) 1996-06-28 1997-06-27 オブジェクト指向プログラミング装置、およびオブジェクト結合プログラム記憶媒体

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2005277930A Division JP2006065879A (ja) 1996-06-28 2005-09-26 オブジェクト間ネットワーク表示方法、オブジェクト指向プログラミング支援装置、コンポーネント作成装置、コンポーネント記憶媒体、および、オブジェクト指向プログラミング用プログラム記憶媒体

Publications (2)

Publication Number Publication Date
JP2002366357A true JP2002366357A (ja) 2002-12-20
JP3810704B2 JP3810704B2 (ja) 2006-08-16

Family

ID=27323295

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002119772A Expired - Fee Related JP3810704B2 (ja) 1996-06-28 2002-04-22 オブジェクト指向プログラミング装置およびオブジェクト結合プログラム記憶媒体

Country Status (1)

Country Link
JP (1) JP3810704B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007034442A (ja) * 2005-07-22 2007-02-08 Nippon Telegr & Teleph Corp <Ntt> プログラム実行装置、プログラム実行方法、プログラム生成方法及びコンピュータプログラム並びに記録媒体
JP2010066847A (ja) * 2008-09-09 2010-03-25 Meidensha Corp 組込みソフトウェア開発支援システム、支援方法およびプログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007034442A (ja) * 2005-07-22 2007-02-08 Nippon Telegr & Teleph Corp <Ntt> プログラム実行装置、プログラム実行方法、プログラム生成方法及びコンピュータプログラム並びに記録媒体
JP2010066847A (ja) * 2008-09-09 2010-03-25 Meidensha Corp 組込みソフトウェア開発支援システム、支援方法およびプログラム

Also Published As

Publication number Publication date
JP3810704B2 (ja) 2006-08-16

Similar Documents

Publication Publication Date Title
JP3763937B2 (ja) オブジェクト指向プログラミング装置、およびオブジェクト結合プログラム記憶媒体
US5566294A (en) Method for visual programming with aid of animation
US6606741B2 (en) Method for visual programming with aid of animation
US5761656A (en) Interaction between databases and graphical user interfaces
US8621432B2 (en) Visually oriented computer implemented application development system utilizing standardized objects and multiple views
DE69635337T2 (de) Erweiterbares und austauschbares system von netzwerkkomponenten
US20090177964A1 (en) Visual wizard launch pad
JPH07168710A (ja) プログラムを構成するためのシステム及び方法
JPH07200278A (ja) 図形を用いたプログラミングシステム
US5809240A (en) System for segmenting graphic data installed in respective terminal into areas corresponding to terminals and each area is to be manipulated by its respective terminal
JP3810704B2 (ja) オブジェクト指向プログラミング装置およびオブジェクト結合プログラム記憶媒体
JP2000112737A (ja) プログラム作成装置
JP2006065879A (ja) オブジェクト間ネットワーク表示方法、オブジェクト指向プログラミング支援装置、コンポーネント作成装置、コンポーネント記憶媒体、および、オブジェクト指向プログラミング用プログラム記憶媒体
JPH10222355A (ja) Guiアプリケーション開発装置
JP2005078119A (ja) ソフトウェア開発支援装置およびソフトウェア開発支援方法およびプログラムおよび記録媒体
JPH06131334A (ja) 頁指向文書処理装置
JPH07306776A (ja) ビジュアルプログラミング方法
JP2619487B2 (ja) フアイル操作方式
JP2000132295A (ja) Gui動作仕様記述装置及びgui制御装置及びguiシステム
JPH08153010A (ja) 情報処理方法及び装置及びシステム
JPH1115680A (ja) マルチプロセス管理装置及びプログラム記憶媒体
JPH03100729A (ja) プログラムの組み合わせ装置
Read et al. Specifying and generating program editors with novel visual editing mechanisms
JP2007184002A (ja) マルチプロセス管理装置及びコンピュータ読み取り可能な記録媒体
EP0738968A2 (en) User interface management system for geometric modeling software system

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050726

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050926

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20051115

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060116

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060221

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060424

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: 20060523

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060524

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100602

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110602

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120602

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120602

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130602

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130602

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees