JPH07104981A - オブジェクトリンク情報を用いたプログラム構築装置 - Google Patents
オブジェクトリンク情報を用いたプログラム構築装置Info
- Publication number
- JPH07104981A JPH07104981A JP5244888A JP24488893A JPH07104981A JP H07104981 A JPH07104981 A JP H07104981A JP 5244888 A JP5244888 A JP 5244888A JP 24488893 A JP24488893 A JP 24488893A JP H07104981 A JPH07104981 A JP H07104981A
- Authority
- JP
- Japan
- Prior art keywords
- link information
- objects
- inter
- slot
- parts
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4488—Object-oriented
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
(57)【要約】
【目的】 ユーザが容易にアプリケーションプログラム
を作成することを可能とする。 【構成】 複数のオブジェクト名とオブジェクト間リン
ク情報とを外部設定デ−タとして設定し、複数のオブジ
ェクトをオブジェクト間リンク情報記憶手段に記憶され
ているリンク情報に基づいて互いに関係付け、複数のオ
ブジェクト間のデ−タの送受を制御し、アプリケーショ
ンプログラムを構成する複数のオブジェクトを結合した
処理を実行させる。
を作成することを可能とする。 【構成】 複数のオブジェクト名とオブジェクト間リン
ク情報とを外部設定デ−タとして設定し、複数のオブジ
ェクトをオブジェクト間リンク情報記憶手段に記憶され
ているリンク情報に基づいて互いに関係付け、複数のオ
ブジェクト間のデ−タの送受を制御し、アプリケーショ
ンプログラムを構成する複数のオブジェクトを結合した
処理を実行させる。
Description
【0001】
【産業上の利用分野】本発明は、アプリケーションプロ
グラムの開発、保守および機能拡張作業の効率を向上さ
せるためのオブジェクトリンク情報を用いたプログラム
構築装置に関するものである。
グラムの開発、保守および機能拡張作業の効率を向上さ
せるためのオブジェクトリンク情報を用いたプログラム
構築装置に関するものである。
【0002】
【従来の技術】近年、コンピュータの進歩は目ざまし
く、ハードウェア的には、処理速度が高速化し、処理容
量も飛躍的に増大している。
く、ハードウェア的には、処理速度が高速化し、処理容
量も飛躍的に増大している。
【0003】また、ソフトウェア的には、これらのコン
ピュータを使用するユーザに優しい、すなわち、より使
い易いコンピュータ操作環境を提供するために、マン・
マシン・インターフェイスの改良が進んでいる。
ピュータを使用するユーザに優しい、すなわち、より使
い易いコンピュータ操作環境を提供するために、マン・
マシン・インターフェイスの改良が進んでいる。
【0004】このマン・マシン・インターフェイスの改
良あるいは進歩の方向として、オブジェクト指向があ
る。
良あるいは進歩の方向として、オブジェクト指向があ
る。
【0005】このオブジエクト指向とは、例えば、アプ
リケーションプログラム(Application Program 以下、
APという)の開発に際し、コンピュータのプログラム
を、ある機能とデータを持ったオブジェクト(部品)と
呼ばれる単位に細分化し、この細分化したオブジェクト
(部品)間のリンク(結合)関係をソースプログラムに
コーディングすることにより、所望のAPを作成するも
のである。
リケーションプログラム(Application Program 以下、
APという)の開発に際し、コンピュータのプログラム
を、ある機能とデータを持ったオブジェクト(部品)と
呼ばれる単位に細分化し、この細分化したオブジェクト
(部品)間のリンク(結合)関係をソースプログラムに
コーディングすることにより、所望のAPを作成するも
のである。
【0006】従来、このオブジェクト(部品)の機能や
データ、およびオブジェクト間のリンク(結合)関係
は、オブジェクトを定義するソースプログラムが保持し
ているため、オブジェクト間のリンク関係を変更する場
合には、ソースプログラムの修正、ソースプログラムを
翻訳し、オブジェクトコードを生成するコンパイル、お
よびオブジェクトコードのリンクを必要とする。
データ、およびオブジェクト間のリンク(結合)関係
は、オブジェクトを定義するソースプログラムが保持し
ているため、オブジェクト間のリンク関係を変更する場
合には、ソースプログラムの修正、ソースプログラムを
翻訳し、オブジェクトコードを生成するコンパイル、お
よびオブジェクトコードのリンクを必要とする。
【0007】
【発明が解決しょうとする課題】しかしながら、前記従
来技術は、オブジェクト間のリンク関係を変更するため
には、オブジェクトを定義しているソースプログラムそ
のものを変更しなければならないという問題がある。
来技術は、オブジェクト間のリンク関係を変更するため
には、オブジェクトを定義しているソースプログラムそ
のものを変更しなければならないという問題がある。
【0008】このソースプログラムそのものの変更に
は、多大な時間がかかる。また、これらの変更は、専門
的に高度の知識を有しているプログラム開発者に依存し
なければならないという問題がある。
は、多大な時間がかかる。また、これらの変更は、専門
的に高度の知識を有しているプログラム開発者に依存し
なければならないという問題がある。
【0009】本発明の目的は、ユーザが容易にアプリケ
ーションプログラムを作成することを可能とするオブジ
ェクトリンク情報を用いたプログラム構築装置を提供す
ることにある。
ーションプログラムを作成することを可能とするオブジ
ェクトリンク情報を用いたプログラム構築装置を提供す
ることにある。
【0010】
【課題を解決するための手段】前記目的を達成するため
に、本発明は、アプリケーションプログラムを構成する
複数のオブジェクト名を記憶するアプリケーション構成
情報記憶手段と、このアプリケーション構成情報記憶手
段に記憶された複数のオブジェクト名のオブジェクト相
互間の結合関係を規定するリンク情報を記憶するオブジ
ェクト間リンク情報記憶手段と、前記アプリケーション
構成情報記憶手段に記憶された複数のオブジェクト名の
オブジェクトを生成するオブジェクト管理手段と、前記
オブジェクト間リンク情報記憶手段に記憶されているリ
ンク情報に従う結合関係で前記オブジェクト管理手段で
生成された複数のオブジェクト間のデ−タの送受を制御
し、アプリケーションプログラムを構成する複数のオブ
ジェクトを結合した処理を実行させるオブジェクト間リ
ンク情報制御手段とを備え、前記アプリケーション構成
情報記憶手段に記憶させる複数のオブジェクト名とオブ
ジェクト間リンク情報記憶手段に記憶させるリンク情報
とを外部設定デ−タとして設定するようにした。
に、本発明は、アプリケーションプログラムを構成する
複数のオブジェクト名を記憶するアプリケーション構成
情報記憶手段と、このアプリケーション構成情報記憶手
段に記憶された複数のオブジェクト名のオブジェクト相
互間の結合関係を規定するリンク情報を記憶するオブジ
ェクト間リンク情報記憶手段と、前記アプリケーション
構成情報記憶手段に記憶された複数のオブジェクト名の
オブジェクトを生成するオブジェクト管理手段と、前記
オブジェクト間リンク情報記憶手段に記憶されているリ
ンク情報に従う結合関係で前記オブジェクト管理手段で
生成された複数のオブジェクト間のデ−タの送受を制御
し、アプリケーションプログラムを構成する複数のオブ
ジェクトを結合した処理を実行させるオブジェクト間リ
ンク情報制御手段とを備え、前記アプリケーション構成
情報記憶手段に記憶させる複数のオブジェクト名とオブ
ジェクト間リンク情報記憶手段に記憶させるリンク情報
とを外部設定デ−タとして設定するようにした。
【0011】
【作用】前記手段によれば、複数のオブジェクトをオブ
ジェクト間リンク情報記憶手段に記憶されているリンク
情報に基づいて互いに関係付け、複数のオブジェクト間
のデ−タの送受を制御し、アプリケーションプログラム
を構成する複数のオブジェクトを結合した処理を実行さ
せる。
ジェクト間リンク情報記憶手段に記憶されているリンク
情報に基づいて互いに関係付け、複数のオブジェクト間
のデ−タの送受を制御し、アプリケーションプログラム
を構成する複数のオブジェクトを結合した処理を実行さ
せる。
【0012】これにより、アプリケーション構成情報と
アプリケーション間リンク情報を書き替えるだけで、所
望の処理を行うアプリケーションプログラムを容易に作
成できる。
アプリケーション間リンク情報を書き替えるだけで、所
望の処理を行うアプリケーションプログラムを容易に作
成できる。
【0013】
【実施例】以下、本発明の実施例を図面を用いて詳細に
説明する。
説明する。
【0014】図1は、本発明の一実施例の全体構成を示
すシステム構成図である。なお、実施例の説明に際し、
オブジェクトそのものについては、その扱う性質上、部
品と呼ぶこととする。
すシステム構成図である。なお、実施例の説明に際し、
オブジェクトそのものについては、その扱う性質上、部
品と呼ぶこととする。
【0015】図1において、1は複数の部品(111〜
114)からなる部品群11を格納している主記憶装置
である。2は必要な部品を生成し、これを管理するオブ
ジェクト管理装置である。
114)からなる部品群11を格納している主記憶装置
である。2は必要な部品を生成し、これを管理するオブ
ジェクト管理装置である。
【0016】3は部品間の結合を制御するオブジェクト
間リンク情報制御装置、4はどの部品を使用してAPを
構成するかを記述しているアプリケーション構成情報フ
ァイル41と、部品間の結合情報を記述しているオブジ
ェクト間リンク情報ファイル42とを格納している2次
記憶装置、5は各種処理を実行する中央処理装置および
6はディスプレイ61および入力操作を行うキーボード
(またはマウス)62から成る端末装置である。
間リンク情報制御装置、4はどの部品を使用してAPを
構成するかを記述しているアプリケーション構成情報フ
ァイル41と、部品間の結合情報を記述しているオブジ
ェクト間リンク情報ファイル42とを格納している2次
記憶装置、5は各種処理を実行する中央処理装置および
6はディスプレイ61および入力操作を行うキーボード
(またはマウス)62から成る端末装置である。
【0017】図2は実施例で使用する足し算計算機能を
有している部品の構造を説明するための説明図である。
有している部品の構造を説明するための説明図である。
【0018】図2(A)において、20は足し算計算部
品であり、この部品の機能を定義しているクラス定義部
21、データ部に相当するインスタンス22およびスロ
ットデータ部23から構成されている。
品であり、この部品の機能を定義しているクラス定義部
21、データ部に相当するインスタンス22およびスロ
ットデータ部23から構成されている。
【0019】この足し算計算部品20への外部からアク
セス可能なデータと、データの書き込み処理(以下、wr
ite処理という)、および読み出し処理(以下、read処
理という)の組に文字列で名称を付加したものをスロッ
トと呼び、このスロットに対応するデータ領域をインス
タンス22中のスロットデータ部23に有する。
セス可能なデータと、データの書き込み処理(以下、wr
ite処理という)、および読み出し処理(以下、read処
理という)の組に文字列で名称を付加したものをスロッ
トと呼び、このスロットに対応するデータ領域をインス
タンス22中のスロットデータ部23に有する。
【0020】そして、外部から、この部品へのアクセス
を、スロットに対応するwrite処理、およびread処理の
2つに限定し、汎用スーパクラスで定義する。それぞれ
の処理のパラメタは以下の通りである。
を、スロットに対応するwrite処理、およびread処理の
2つに限定し、汎用スーパクラスで定義する。それぞれ
の処理のパラメタは以下の通りである。
【0021】write(書き込み)処理 : (スロット
名、書き込み値) read (読み出し)処理 : (スロット名) 足し算計算部品20はスロット別にwrite処理、およびr
ead処理に対応する関数をスロットテーブル26に管理
しており、汎用スーパクラスのreadメソッド、およびwr
iteメソッドは、パラメタで指定されたスロットのread
処理、およびwrite処理を実行する。
名、書き込み値) read (読み出し)処理 : (スロット名) 足し算計算部品20はスロット別にwrite処理、およびr
ead処理に対応する関数をスロットテーブル26に管理
しており、汎用スーパクラスのreadメソッド、およびwr
iteメソッドは、パラメタで指定されたスロットのread
処理、およびwrite処理を実行する。
【0022】図2(B)は、足し算計算部品20の詳細
図であり、クラス定義部21は、さらに汎用部品クラス
定義部24とサブクラス25から構成されている。ま
た、インスタンス22には、スロットテーブル26が設
けられている。
図であり、クラス定義部21は、さらに汎用部品クラス
定義部24とサブクラス25から構成されている。ま
た、インスタンス22には、スロットテーブル26が設
けられている。
【0023】汎用部品クラス定義部24には、write処
理241、read処理242の2つの定義が格納されてい
る。write処理241は、パラメタとして、スロット名
243と、書き込み値244をとり、read処理242は
スロット名243をとる。
理241、read処理242の2つの定義が格納されてい
る。write処理241は、パラメタとして、スロット名
243と、書き込み値244をとり、read処理242は
スロット名243をとる。
【0024】また、サブクラス25は、スロットアクセ
ス関数251を有しており、read_left( )メソッド2
501、write_left(v)メソッド2502、read_right
( )メソッド2503、read_right(v)メソッド250
4、read_answer( )メソッド2505およびread_answe
r(v)メソッド2506が定義されている。
ス関数251を有しており、read_left( )メソッド2
501、write_left(v)メソッド2502、read_right
( )メソッド2503、read_right(v)メソッド250
4、read_answer( )メソッド2505およびread_answe
r(v)メソッド2506が定義されている。
【0025】231はスロットデータ部23が有してい
るスロット名”left”2431のデータ領域Aであり、
同様に232はスロット名”right”2432のデータ
領域B、および233はスロット名”answer”2433
のデータ領域Cである。
るスロット名”left”2431のデータ領域Aであり、
同様に232はスロット名”right”2432のデータ
領域B、および233はスロット名”answer”2433
のデータ領域Cである。
【0026】スロットテーブル26には、スロット名2
43、read関数アドレス261およびwrite関数アドレ
ス262が格納されており、スロット名243とし
て、”left”2431、”right”2432および”ans
wer”2433の3種類が有り、read関数アドレス26
1には、read_left2611、read_right2612およ
びread_answer2613の3種類がある。
43、read関数アドレス261およびwrite関数アドレ
ス262が格納されており、スロット名243とし
て、”left”2431、”right”2432および”ans
wer”2433の3種類が有り、read関数アドレス26
1には、read_left2611、read_right2612およ
びread_answer2613の3種類がある。
【0027】また、write関数アドレス262には、wri
te_left2621、write_right2622およびwrite_an
swer2623の3種類がある。
te_left2621、write_right2622およびwrite_an
swer2623の3種類がある。
【0028】関数アドレスであるread_left2611、r
ead_right2612、read_answer2613、write_left
2621、write_right2622およびwrite_answer2
623は、それぞれスロットアクセス関数251のread
_left( )2501、write_left(v)2502、read_ri
ght( )2503、read_right(v)2504、read_answer
( )2505およびread_answer(v)2506の各関数の
アドレスを指している。
ead_right2612、read_answer2613、write_left
2621、write_right2622およびwrite_answer2
623は、それぞれスロットアクセス関数251のread
_left( )2501、write_left(v)2502、read_ri
ght( )2503、read_right(v)2504、read_answer
( )2505およびread_answer(v)2506の各関数の
アドレスを指している。
【0029】いま、足し算計算部品20が、外部からの
write指示27によってパラメタ指定されると、まず、w
rite処理241において、このwrite指示27に記述されて
いる内容「write(”left”、5)」(=スロット”left”
の値を”5”にしなさいという意味)からスロット名が
“left”のレコードをスロットテーブル26から検索
し、対応するwrite関数アドレス262であるwrite_lef
t2621が指すスロットアクセス関数251のwrite_l
eft(v)メソッド2502を実行し、データ領域A231
に値を書き込む。
write指示27によってパラメタ指定されると、まず、w
rite処理241において、このwrite指示27に記述されて
いる内容「write(”left”、5)」(=スロット”left”
の値を”5”にしなさいという意味)からスロット名が
“left”のレコードをスロットテーブル26から検索
し、対応するwrite関数アドレス262であるwrite_lef
t2621が指すスロットアクセス関数251のwrite_l
eft(v)メソッド2502を実行し、データ領域A231
に値を書き込む。
【0030】また、read指示28によってアクセスされ
ると、このread指示28の内容「read(”answer”)」
(=スロット”answer”の内容を読み出しなさいという
意味)からスロット名が“answer”のレコードをスロッ
トテーブル26から検索し、対応するread関数アドレス
261のread_answer2613が指すスロットアクセス
関数251のread_answer( )メソッド2505を実行
し、データ領域C233内の値を読み取り、返り値とし
て返す。
ると、このread指示28の内容「read(”answer”)」
(=スロット”answer”の内容を読み出しなさいという
意味)からスロット名が“answer”のレコードをスロッ
トテーブル26から検索し、対応するread関数アドレス
261のread_answer2613が指すスロットアクセス
関数251のread_answer( )メソッド2505を実行
し、データ領域C233内の値を読み取り、返り値とし
て返す。
【0031】このように、各部品には、スロットと呼ば
れる部品の内部情報へのアクセス方法が用意されてお
り、各部品間の結合は、結合先部品のスロット名243
を指定することにより行われることになる。
れる部品の内部情報へのアクセス方法が用意されてお
り、各部品間の結合は、結合先部品のスロット名243
を指定することにより行われることになる。
【0032】図3は実施例で使用するアプリケーション
構成情報ファイル41のフォーマット例を示す図であ
る。図3において、30はアプリケーション構成情報フ
ァイル41のフォーマットであり、使用する部品の部品
名301と、その部品のクラス名302から構成され
る。
構成情報ファイル41のフォーマット例を示す図であ
る。図3において、30はアプリケーション構成情報フ
ァイル41のフォーマットであり、使用する部品の部品
名301と、その部品のクラス名302から構成され
る。
【0033】図4は実施例で使用するオブジェクト間リ
ンク情報ファイル42のフォーマット例を示す図であ
る。図4において、40はオブジェクト間リンク情報フ
ァイル42のフォーマットであり、部品の結合元を示す
fromオブジェクト名(以下、ソースオブジェクトと
いう)401と、部品の結合先を示すtoオブジェクト
名(以下、ターゲットオブジェクトという)402、そ
して、イベントの状態がどのようになった時に部品間の
結合を行うかを示すwhenイベント名403およびス
ロット名243から構成される。それぞれ、後続のスロ
ット名243を対象として、メッセージの送受信を行
う。
ンク情報ファイル42のフォーマット例を示す図であ
る。図4において、40はオブジェクト間リンク情報フ
ァイル42のフォーマットであり、部品の結合元を示す
fromオブジェクト名(以下、ソースオブジェクトと
いう)401と、部品の結合先を示すtoオブジェクト
名(以下、ターゲットオブジェクトという)402、そ
して、イベントの状態がどのようになった時に部品間の
結合を行うかを示すwhenイベント名403およびス
ロット名243から構成される。それぞれ、後続のスロ
ット名243を対象として、メッセージの送受信を行
う。
【0034】図5は実施例のオブジェクト間リンク情報
を定義する手順を示すフローチャートである。
を定義する手順を示すフローチャートである。
【0035】図5において、まず、端末装置6からユー
ザの操作により入力されたユーザ操作イベントや、オブ
ジェクト内の情報が更新された際に自動的に発生する状
態更新イベントが発生すると(ステップ501)、これ
らのイベント発生がオブジェクト間リンク情報制御装置
2に通知される(ステップ502)。
ザの操作により入力されたユーザ操作イベントや、オブ
ジェクト内の情報が更新された際に自動的に発生する状
態更新イベントが発生すると(ステップ501)、これ
らのイベント発生がオブジェクト間リンク情報制御装置
2に通知される(ステップ502)。
【0036】すると、オブジェクト間リンク情報制御装
置2は、オブジェクト間リンク情報ファイル42から該
当するイベント条件を満たすオブジェクト間リンク情報
を検索する(ステップ503)。
置2は、オブジェクト間リンク情報ファイル42から該
当するイベント条件を満たすオブジェクト間リンク情報
を検索する(ステップ503)。
【0037】検索したオブジェクト間リンク情報ファイ
ル42内に規定されているソースオブジェクト401
に、該当スロット名243のreadメッセージを送信する
(ステップ505)。ソースオブジェクト401で指定
された部品のスロットは、受信したreadメッセージから
readメソッドを実行し、結果を返信する(ステップ50
6)。
ル42内に規定されているソースオブジェクト401
に、該当スロット名243のreadメッセージを送信する
(ステップ505)。ソースオブジェクト401で指定
された部品のスロットは、受信したreadメッセージから
readメソッドを実行し、結果を返信する(ステップ50
6)。
【0038】ターゲットオブジェクト402で指定され
た部品へ該当スロット名243を引き数にwriteメッセ
ージを送信する(ステップ507)。ターゲットオブジ
ェクト402で指定された部品のスロットは、受信した
writeメッセージからwriteメソッドを実行する(ステッ
プ508)。
た部品へ該当スロット名243を引き数にwriteメッセ
ージを送信する(ステップ507)。ターゲットオブジ
ェクト402で指定された部品のスロットは、受信した
writeメッセージからwriteメソッドを実行する(ステッ
プ508)。
【0039】これら一連の処理を該当オブジェクトリン
ク情報分だけ繰り返す(ステップ504)。
ク情報分だけ繰り返す(ステップ504)。
【0040】このように、オブジェクトリンク間情報に
記述されたメッセージに従って各部品間のデータの送受
信が行われることにより、APが作成される。
記述されたメッセージに従って各部品間のデータの送受
信が行われることにより、APが作成される。
【0041】図6は本発明を適用して2項演算ツールを
実現する一実施例を説明するための説明図である。
実現する一実施例を説明するための説明図である。
【0042】図6において、60は実際に部品を結合し
て2項演算ツールを作成する場合に、使用する各部品
(601、602、603および604)とオブジェク
ト管理装置2、およびリンク情報制御装置3の仕組みを
視覚化した表示例である。6は端末装置であり、ディス
プレイ63には「5+3=8」と表示される。
て2項演算ツールを作成する場合に、使用する各部品
(601、602、603および604)とオブジェク
ト管理装置2、およびリンク情報制御装置3の仕組みを
視覚化した表示例である。6は端末装置であり、ディス
プレイ63には「5+3=8」と表示される。
【0043】61はアプリケーション構成情報ファイル
41内のアプリケーション構成情報であり、使用する部
品のクラス定義を記述したテキストである。62はオブ
ジェクト間リンク情報ファイル内42に格納されている
オブジェクト間リンク情報であり、2項演算(足し算)
ツールを構成する部品の結合手順を記述したテキストで
ある。
41内のアプリケーション構成情報であり、使用する部
品のクラス定義を記述したテキストである。62はオブ
ジェクト間リンク情報ファイル内42に格納されている
オブジェクト間リンク情報であり、2項演算(足し算)
ツールを構成する部品の結合手順を記述したテキストで
ある。
【0044】図6において、601および602は数字
入出力部品であり、同一部品である。603は数字表示
部品であり、604は足し算計算部品である。
入出力部品であり、同一部品である。603は数字表示
部品であり、604は足し算計算部品である。
【0045】いま、これらの部品を使用して2項演算
(足し算)ツールを構成する。アプリケーション構成情
報61には、どの部品を使用するかについての情報が格
納されている。例えば、1行目のテキスト名は「Add_Cal
culator(加算器)」611であり、2行目に標題として
「#Component(オブジェクト:部品)」612とする。
(足し算)ツールを構成する。アプリケーション構成情
報61には、どの部品を使用するかについての情報が格
納されている。例えば、1行目のテキスト名は「Add_Cal
culator(加算器)」611であり、2行目に標題として
「#Component(オブジェクト:部品)」612とする。
【0046】3、4行目には、「数字入出力部品(Numbe
r Editor Class)のインスタンスを名前“left”として
使用する」613と記述し、および「数字入出力部品(N
umber Editor Class)のインスタンスを名前“right”と
して使用する」614と記述する。
r Editor Class)のインスタンスを名前“left”として
使用する」613と記述し、および「数字入出力部品(N
umber Editor Class)のインスタンスを名前“right”と
して使用する」614と記述する。
【0047】また、5行目には、「数字表示部品(Numbe
r Display Class)のインスタンスを名前”answer”とし
て使用する」615と記述し、さらに6行目には「足し
算計算部品(Add_Calculator Class)のインスタンスを名
前”add_calculator”(加算器)として使用する」61
6というように記述する。
r Display Class)のインスタンスを名前”answer”とし
て使用する」615と記述し、さらに6行目には「足し
算計算部品(Add_Calculator Class)のインスタンスを名
前”add_calculator”(加算器)として使用する」61
6というように記述する。
【0048】オブジェクト間リンク情報62は、これら
の部品間の結合手順、すなわち部品間の結合を指示する
メッセージを記述したものである。例えば、1行目のテ
キスト名は「Add_Calculator(加算器)」621であり、2
行目に標題として「#Event Channels」622とする。
の部品間の結合手順、すなわち部品間の結合を指示する
メッセージを記述したものである。例えば、1行目のテ
キスト名は「Add_Calculator(加算器)」621であり、2
行目に標題として「#Event Channels」622とする。
【0049】また、3行目には「“left”という部品の
スロット“data”の値をを“add_calculator”のスロッ
ト“left”に代入しなさい。但し、update時(“left”
の状態が変化した時)」623というように記述する。
スロット“data”の値をを“add_calculator”のスロッ
ト“left”に代入しなさい。但し、update時(“left”
の状態が変化した時)」623というように記述する。
【0050】同様に、4行目には「“right”という部
品のスロット“data”の値を“add_calculator”のスロ
ット“right”に代入しなさい。但し、update時(“righ
t”の状態が変化した時)」624と記述し、そして5行
目には「“add_calculator”という部品のスロット“an
swer”の値を部品“answer”のスロット“answer”に代
入しなさい。但し、update時(“add_calculator”の状
態が変化した時)」625というように記述する。
品のスロット“data”の値を“add_calculator”のスロ
ット“right”に代入しなさい。但し、update時(“righ
t”の状態が変化した時)」624と記述し、そして5行
目には「“add_calculator”という部品のスロット“an
swer”の値を部品“answer”のスロット“answer”に代
入しなさい。但し、update時(“add_calculator”の状
態が変化した時)」625というように記述する。
【0051】このように、使用する部品のクラス定義情
報とオブジェクト間のリンク情報を外部に保持すること
により、アプリケーションの作成、保守および機能拡張
を容易に行うことができる。
報とオブジェクト間のリンク情報を外部に保持すること
により、アプリケーションの作成、保守および機能拡張
を容易に行うことができる。
【0052】図7は実施例1で作成した2項演算ツール
に、さらに数字入出力部品と足し算計算部品を1つづつ
追加して3項演算ツールを実現する一実施例を説明する
ための説明図である。
に、さらに数字入出力部品と足し算計算部品を1つづつ
追加して3項演算ツールを実現する一実施例を説明する
ための説明図である。
【0053】図7において、70は実際に部品を結合し
て3項演算ツールを作成する場合に、使用する各部品
(701、702、703、704、705、および7
06)とオブジェクト管理装置2、およびリンク情報制
御装置3の仕組みを視覚化した表示例である。6は端末
装置でありディスプレイ63には「5+3+1=9」と
表示される。
て3項演算ツールを作成する場合に、使用する各部品
(701、702、703、704、705、および7
06)とオブジェクト管理装置2、およびリンク情報制
御装置3の仕組みを視覚化した表示例である。6は端末
装置でありディスプレイ63には「5+3+1=9」と
表示される。
【0054】71はアプリケーション構成情報ファイル
41内のアプリケーション構成情報であり、使用する部
品のクラス定義を記述したテキストである。72はオブ
ジェクト間リンク情報ファイル内42に格納されている
オブジェクト間リンク情報であり、3項演算(足し算)
ツールを構成する部品の結合手順を記述したテキストで
ある。
41内のアプリケーション構成情報であり、使用する部
品のクラス定義を記述したテキストである。72はオブ
ジェクト間リンク情報ファイル内42に格納されている
オブジェクト間リンク情報であり、3項演算(足し算)
ツールを構成する部品の結合手順を記述したテキストで
ある。
【0055】図7において、701、702および70
3は数字入出力部品であり、同一部品である。704は
数字表示部品であり、705および706は足し算計算
部品である。
3は数字入出力部品であり、同一部品である。704は
数字表示部品であり、705および706は足し算計算
部品である。
【0056】いま、これらの部品を使用して3項演算
(足し算)ツールを構成する。アプリケーション構成情
報71には、どの部品を使用するかについての情報を格
納する。
(足し算)ツールを構成する。アプリケーション構成情
報71には、どの部品を使用するかについての情報を格
納する。
【0057】例えば、1行目のテキスト名は「3 Add_Cal
culator(3項加算器)」711であり、2行目に標題とし
て「#Component(オブジェクト:部品)」712とす
る。
culator(3項加算器)」711であり、2行目に標題とし
て「#Component(オブジェクト:部品)」712とす
る。
【0058】3、4および5行目は、足し算の第1項、
第2項および第3項の数字を入力する部品には同一部品
を使用するための定義として、「数字入出力部品(Numbe
r Editor Class)のインスタンスを名前“num1”として
使用する」713、「数字入出力部品(Number Editor C
lass)のインスタンスを名前“num2”として使用する」
714、および「数字入出力部品(Number Editor Clas
s)のインスタンスを名前”num3”として使用する」71
5と記述する。
第2項および第3項の数字を入力する部品には同一部品
を使用するための定義として、「数字入出力部品(Numbe
r Editor Class)のインスタンスを名前“num1”として
使用する」713、「数字入出力部品(Number Editor C
lass)のインスタンスを名前“num2”として使用する」
714、および「数字入出力部品(Number Editor Clas
s)のインスタンスを名前”num3”として使用する」71
5と記述する。
【0059】また、6行目には、「数字表示部品(Numbe
r Display Class)のインスタンスを名前“answer”とし
て使用する」716と記述し、さらに7、8行目には、
「足し算計算部品(Add_Calculator Class)のインスタン
スを名前“add_calculator 1”(加算
器1)として使用する」717、「足し算計算部品(A
dd_Calculator Class)のインスタ
ンスを名前“add_calculator 2”(加算器2)として使
用する」718というように記述する。
r Display Class)のインスタンスを名前“answer”とし
て使用する」716と記述し、さらに7、8行目には、
「足し算計算部品(Add_Calculator Class)のインスタン
スを名前“add_calculator 1”(加算
器1)として使用する」717、「足し算計算部品(A
dd_Calculator Class)のインスタ
ンスを名前“add_calculator 2”(加算器2)として使
用する」718というように記述する。
【0060】オブジェクト間リンク情報72、これらの
部品間の結合手順、すなわち部品間の結合を指示するメ
ッセージを記述したものである。例えば、1行目のテキ
スト名は、「3 Add_Calculator(3項加算器)」721であ
り、2行目に標題として、「#Event Channels(イベン
ト)」722とする。
部品間の結合手順、すなわち部品間の結合を指示するメ
ッセージを記述したものである。例えば、1行目のテキ
スト名は、「3 Add_Calculator(3項加算器)」721であ
り、2行目に標題として、「#Event Channels(イベン
ト)」722とする。
【0061】また、3行目には「”num1”という部品の
スロット“data”を“add_calculator1”のスロット“l
eft”に代入しなさい。但し、update時(“num1”の状態
が変化した時)」723というように記述する。
スロット“data”を“add_calculator1”のスロット“l
eft”に代入しなさい。但し、update時(“num1”の状態
が変化した時)」723というように記述する。
【0062】同様に、4行目「”num2”という部品のス
ロット“data”を“add_calculator1”のスロット“rig
ht”に代入しなさい。但し、update時(“num2”の状態
が変化した時)」724、そして5行目には「“num3”
という部品のスロット“data”を“add_calculator2”
の“right”に代入しなさい。但し、update時(“num3”
の状態が変化した時)」725、さらに6行目には「“a
dd_calculator1”という部品のスロット“data”を“ad
d_calculator2”のスロット“left”に代入しなさい。
但し、update時(“add_calculator1”の状態が変化した
時)」726と記述し、最後の行には「”add_calculato
r2”という部品のスロット“data”を“answer2”のス
ロット“data”に代入しなさい。但し、update時(“add
_calculator2”の状態が変化した時)」727というよ
うに記述する。
ロット“data”を“add_calculator1”のスロット“rig
ht”に代入しなさい。但し、update時(“num2”の状態
が変化した時)」724、そして5行目には「“num3”
という部品のスロット“data”を“add_calculator2”
の“right”に代入しなさい。但し、update時(“num3”
の状態が変化した時)」725、さらに6行目には「“a
dd_calculator1”という部品のスロット“data”を“ad
d_calculator2”のスロット“left”に代入しなさい。
但し、update時(“add_calculator1”の状態が変化した
時)」726と記述し、最後の行には「”add_calculato
r2”という部品のスロット“data”を“answer2”のス
ロット“data”に代入しなさい。但し、update時(“add
_calculator2”の状態が変化した時)」727というよ
うに記述する。
【0063】これにより、2項演算ツールを基にして、
必要な部品を追加し、オブジェクト間リンク情報の記述
を変更するだけで、3項演算ツールの作成を容易に行う
ことができる。
必要な部品を追加し、オブジェクト間リンク情報の記述
を変更するだけで、3項演算ツールの作成を容易に行う
ことができる。
【0064】なお、図7のリンク情報72は文字列でな
く、矢印等の記号によって記述するようにしてもよい。
記号化すれば、初心者にあっては結合関係がさらに明瞭
になるという利点がある。
く、矢印等の記号によって記述するようにしてもよい。
記号化すれば、初心者にあっては結合関係がさらに明瞭
になるという利点がある。
【0065】
【発明の効果】以上説明したように本発明によれば、ア
プリケーションプログラムを構成する複数のオブジェク
ト名を記憶するアプリケーション構成情報記憶手段と、
このアプリケーション構成情報記憶手段に記憶された複
数のオブジェクト名のオブジェクト相互間の結合関係を
規定するリンク情報を記憶するオブジェクト間リンク情
報記憶手段と、前記アプリケーション構成情報記憶手段
に記憶された複数のオブジェクト名のオブジェクトを生
成するオブジェクト管理手段と、前記オブジェクト間リ
ンク情報記憶手段に記憶されているリンク情報に従う結
合関係で前記オブジェクト管理手段で生成された複数の
オブジェクト間のデ−タの送受を制御し、アプリケーシ
ョンプログラムを構成する複数のオブジェクトを結合し
た処理を実行させるオブジェクト間リンク情報制御手段
とを備え、前記アプリケーション構成情報記憶手段に記
憶させる複数のオブジェクト名とオブジェクト間リンク
情報記憶手段に記憶させるリンク情報とを外部設定デ−
タとして設定するようにしたので、アプリケーションを
構成するオブジェクト名とオブジェクト間リンク情報を
書き替えるだけで、容易に所望のアプリケーションプロ
グラムを作成することができる。
プリケーションプログラムを構成する複数のオブジェク
ト名を記憶するアプリケーション構成情報記憶手段と、
このアプリケーション構成情報記憶手段に記憶された複
数のオブジェクト名のオブジェクト相互間の結合関係を
規定するリンク情報を記憶するオブジェクト間リンク情
報記憶手段と、前記アプリケーション構成情報記憶手段
に記憶された複数のオブジェクト名のオブジェクトを生
成するオブジェクト管理手段と、前記オブジェクト間リ
ンク情報記憶手段に記憶されているリンク情報に従う結
合関係で前記オブジェクト管理手段で生成された複数の
オブジェクト間のデ−タの送受を制御し、アプリケーシ
ョンプログラムを構成する複数のオブジェクトを結合し
た処理を実行させるオブジェクト間リンク情報制御手段
とを備え、前記アプリケーション構成情報記憶手段に記
憶させる複数のオブジェクト名とオブジェクト間リンク
情報記憶手段に記憶させるリンク情報とを外部設定デ−
タとして設定するようにしたので、アプリケーションを
構成するオブジェクト名とオブジェクト間リンク情報を
書き替えるだけで、容易に所望のアプリケーションプロ
グラムを作成することができる。
【0066】これにより、従来、高度の専門的知識を有
するプログラム開発者に依存していたアプリケーション
プログラムの開発が容易に行えるようになり、ユーザに
とって、より優しいマン・マシン・インターフェイスが
実現できるという効果がある。
するプログラム開発者に依存していたアプリケーション
プログラムの開発が容易に行えるようになり、ユーザに
とって、より優しいマン・マシン・インターフェイスが
実現できるという効果がある。
【図1】本発明の一実施例の全体構成を示すシステム構
成図である。
成図である。
【図2】実施例で使用するオブジェクト(部品)の構造
を説明するための説明図である。
を説明するための説明図である。
【図3】実施例で使用するアプリケーション構成情報フ
ァイルのフォーマットを示す図である。
ァイルのフォーマットを示す図である。
【図4】実施例で使用するオブジェクト間リンク情報フ
ァイルのフォーマットを示す図である。
ァイルのフォーマットを示す図である。
【図5】本発明を適用したプログラム構築装置の処理手
順を示すフローチャートである。
順を示すフローチャートである。
【図6】2項演算ツールを説明するための説明図であ
る。
る。
【図7】3項演算ツールを説明するための説明図であ
る。
る。
1…主記憶装置、2…オブジェクト管理装置、3…オブ
ジェクト間リンク情報制御装置、4…2次記憶装置、4
1…アプリケーション構成情報ファイル、42オブジェ
クト間リンク情報ファイル、5…中央処理装置、6…端
末装置、63…ディスプレイ、62…キーボード(マウ
ス)。
ジェクト間リンク情報制御装置、4…2次記憶装置、4
1…アプリケーション構成情報ファイル、42オブジェ
クト間リンク情報ファイル、5…中央処理装置、6…端
末装置、63…ディスプレイ、62…キーボード(マウ
ス)。
フロントページの続き (72)発明者 久米田 暁文 神奈川県横浜市中区尾上町6丁目81番地 日立ソフトウェアエンジニアリング株式会 社内 (72)発明者 田中 譲 北海道札幌市北区北13条西8丁目 北海道 大学内
Claims (1)
- 【請求項1】 データ領域を有する複数のオブジェクト
を使用し、この複数のオブジェクトのデータ領域を相互
に結合してアプリケーションプログラムを作成するオブ
ジェクトリンク情報を用いたプログラム構築装置におい
て、 アプリケーションプログラムを構成する複数のオブジェ
クト名を記憶するアプリケーション構成情報記憶手段
と、 このアプリケーション構成情報記憶手段に記憶された複
数のオブジェクト名のオブジェクト相互間の結合関係を
規定するリンク情報を記憶するオブジェクト間リンク情
報記憶手段と、 前記アプリケーション構成情報記憶手段に記憶された複
数のオブジェクト名のオブジェクトを生成するオブジェ
クト管理手段と、 前記オブジェクト間リンク情報記憶手段に記憶されてい
るリンク情報に従う結合関係で前記オブジェクト管理手
段で生成された複数のオブジェクト間のデ−タの送受を
制御し、アプリケーションプログラムを構成する複数の
オブジェクトを結合した処理を実行させるオブジェクト
間リンク情報制御手段と、を備え、前記アプリケーショ
ン構成情報記憶手段に記憶させる複数のオブジェクト名
とオブジェクト間リンク情報記憶手段に記憶させるリン
ク情報とを外部設定デ−タとして設定するようにしたこ
とを特徴とするオブジェクトリンク情報を用いたプログ
ラム構築装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5244888A JPH07104981A (ja) | 1993-09-30 | 1993-09-30 | オブジェクトリンク情報を用いたプログラム構築装置 |
US08/823,071 US5867707A (en) | 1993-09-30 | 1997-03-24 | Device for building programs employing objects linkage information |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5244888A JPH07104981A (ja) | 1993-09-30 | 1993-09-30 | オブジェクトリンク情報を用いたプログラム構築装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH07104981A true JPH07104981A (ja) | 1995-04-21 |
Family
ID=17125481
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP5244888A Pending JPH07104981A (ja) | 1993-09-30 | 1993-09-30 | オブジェクトリンク情報を用いたプログラム構築装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US5867707A (ja) |
JP (1) | JPH07104981A (ja) |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11505049A (ja) * | 1995-05-09 | 1999-05-11 | スマートムーブ (エヌジー) リミテッド | カード・インターフェース |
US6185733B1 (en) * | 1998-01-20 | 2001-02-06 | International Business Machines Corporation | Method and apparatus for remote object code inclusion |
US6427163B1 (en) | 1998-07-10 | 2002-07-30 | International Business Machines Corporation | Highly scalable and highly available cluster system management scheme |
US6564368B1 (en) * | 1998-10-01 | 2003-05-13 | Call Center Technology, Inc. | System and method for visual application development without programming |
US6810522B2 (en) | 1998-10-07 | 2004-10-26 | Invensys Systems, Inc. | Method and system for associating parameters of containers and contained objects |
US6198480B1 (en) | 1998-10-07 | 2001-03-06 | Wonderware Corporation | Object-oriented tag browser |
US6427230B1 (en) * | 1998-11-09 | 2002-07-30 | Unisys Corporation | System and method for defining and managing reusable groups software constructs within an object management system |
US6785882B1 (en) * | 1999-05-24 | 2004-08-31 | Unisys Corporation | Process-driven tool interface for an object management system |
US6490719B1 (en) * | 1999-07-26 | 2002-12-03 | Gary Thomas | System and method for configuring and executing a flexible computer program comprising component structures |
US6760912B1 (en) | 1999-08-03 | 2004-07-06 | International Business Machines Corporation | Determining browser type in an open Java environment |
US7149734B2 (en) * | 2001-07-06 | 2006-12-12 | Logic Library, Inc. | Managing reusable software assets |
US7322024B2 (en) * | 2002-03-18 | 2008-01-22 | Logiclibrary, Inc. | Generating reusable software assets from distributed artifacts |
US8412813B2 (en) * | 2002-03-18 | 2013-04-02 | Logiclibrary, Inc. | Customizable asset governance for a distributed reusable software library |
US8832178B2 (en) | 2002-11-06 | 2014-09-09 | Noel William Lovisa | Service implementation |
EP1565813B1 (en) * | 2002-11-06 | 2019-01-09 | Code Valley Corp Pty Ltd | Code generation |
US9521209B2 (en) | 2002-11-06 | 2016-12-13 | Code Valley Corp Pty Ltd | Code generation |
US8589861B2 (en) * | 2002-11-06 | 2013-11-19 | Code Valley Corp Pty Ltd | Code generation |
US9766953B2 (en) | 2004-12-16 | 2017-09-19 | Openspan, Inc. | System and method for non-programmatically constructing software solutions |
US8117591B1 (en) | 2005-01-07 | 2012-02-14 | Interactive TKO, Inc. | Graphical model for test case viewing, editing, and reporting |
US8060864B1 (en) * | 2005-01-07 | 2011-11-15 | Interactive TKO, Inc. | System and method for live software object interaction |
US7617224B2 (en) * | 2006-01-30 | 2009-11-10 | International Business Machines Corporation | System and method for managing hierarchically related software components |
US9111019B2 (en) | 2008-09-30 | 2015-08-18 | Interactive TKO, Inc. | Modeling and testing interactions between components of a software system |
US8966454B1 (en) | 2010-10-26 | 2015-02-24 | Interactive TKO, Inc. | Modeling and testing of interactions between components of a software system |
US8984490B1 (en) | 2010-10-26 | 2015-03-17 | Interactive TKO, Inc. | Modeling and testing of interactions between components of a software system |
US10025839B2 (en) | 2013-11-29 | 2018-07-17 | Ca, Inc. | Database virtualization |
US9727314B2 (en) | 2014-03-21 | 2017-08-08 | Ca, Inc. | Composite virtual services |
US9531609B2 (en) | 2014-03-23 | 2016-12-27 | Ca, Inc. | Virtual service automation |
US10114736B2 (en) | 2016-03-30 | 2018-10-30 | Ca, Inc. | Virtual service data set generation |
US9898390B2 (en) | 2016-03-30 | 2018-02-20 | Ca, Inc. | Virtual service localization |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5206951A (en) * | 1987-08-21 | 1993-04-27 | Wang Laboratories, Inc. | Integration of data between typed objects by mutual, direct invocation between object managers corresponding to object types |
US5133075A (en) * | 1988-12-19 | 1992-07-21 | Hewlett-Packard Company | Method of monitoring changes in attribute values of object in an object-oriented database |
US5313629A (en) * | 1989-10-23 | 1994-05-17 | International Business Machines Corporation | Unit of work for preserving data integrity of a data-base by creating in memory a copy of all objects which are to be processed together |
GB2242293A (en) * | 1990-01-05 | 1991-09-25 | Apple Computer | Apparatus and method for dynamic linking of computer software components |
US5265206A (en) * | 1990-10-23 | 1993-11-23 | International Business Machines Corporation | System and method for implementing a messenger and object manager in an object oriented programming environment |
US5327559A (en) * | 1990-10-23 | 1994-07-05 | International Business Machines Corporation | Remote and batch processing in an object oriented programming system |
US5649204A (en) * | 1991-08-22 | 1997-07-15 | Rec Software, Inc. | Method and apparatus for consolidating software module linkage information used for starting a multi-module program |
US5519866A (en) * | 1993-06-28 | 1996-05-21 | Taligent, Inc. | Method and apparatus of incrementally linking components of a modeled computer program |
US5388264A (en) * | 1993-09-13 | 1995-02-07 | Taligent, Inc. | Object oriented framework system for routing, editing, and synchronizing MIDI multimedia information using graphically represented connection object |
-
1993
- 1993-09-30 JP JP5244888A patent/JPH07104981A/ja active Pending
-
1997
- 1997-03-24 US US08/823,071 patent/US5867707A/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US5867707A (en) | 1999-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH07104981A (ja) | オブジェクトリンク情報を用いたプログラム構築装置 | |
RU2419847C2 (ru) | Интегрирование диаграмм в документы | |
US7386835B1 (en) | Technique for graphical user interface modification | |
US7159209B1 (en) | Inter-application validation tool for use in enterprise architecture modeling | |
KR20040096577A (ko) | 실시간 시스템 제어용 컴포넌트 모델 | |
US6513072B1 (en) | Method for associating data bearing objects with user interface objects | |
US7409642B2 (en) | Method and system for applying user interface elements to data | |
CN113094125B (zh) | 业务流程处理方法、装置、服务器及存储介质 | |
JP2007511834A (ja) | リバーシブルなデザイン・ツリーの変換のための方法とシステム | |
US6820268B2 (en) | Method for associating data bearing objects with user interface objects | |
CN115562629A (zh) | 一种rpa流程表示方法、系统、装置及存储介质 | |
JPH1125126A (ja) | システム設計ツール及びデータウエアハウス設計システム及び方法 | |
US6230315B1 (en) | Data processing method and apparatus | |
US20040143812A1 (en) | Automatic software design tool for building web and other applications wherein components are linked through connected command and control and data variables | |
JPH0683594A (ja) | ウィズィウィグ式エディターとコンパイラーとを統合したグラフィカル・ユーザ・インターフェース | |
JP3420785B2 (ja) | プログラム構築装置 | |
JP3164807B2 (ja) | 表示内容対応表による表示条件記述方式 | |
Somerville et al. | Introduction to the Ruby Language | |
CA2376038A1 (en) | System and method for graphically creating data flows and control flows for xml web services | |
JPH045732A (ja) | 情報処理装置及び情報処理方法 | |
JPH04153759A (ja) | ネットワーク定義プログラム開発システム | |
JPH0454635A (ja) | 事務処理方法 | |
CN116186352A (zh) | 一种分布式的数据源与可视化应用图表管理系统 | |
JP4895374B2 (ja) | ソフトウェア成果物生成方法及びそのシステム | |
JP2836407B2 (ja) | オブジェクト指向ウインドウ描画方式 |