JPH1040090A - プログラム開発支援システム及び支援方法、プログラム開発支援のために用いられるプログラム部品を格納する記憶媒体 - Google Patents
プログラム開発支援システム及び支援方法、プログラム開発支援のために用いられるプログラム部品を格納する記憶媒体Info
- Publication number
- JPH1040090A JPH1040090A JP8171998A JP17199896A JPH1040090A JP H1040090 A JPH1040090 A JP H1040090A JP 8171998 A JP8171998 A JP 8171998A JP 17199896 A JP17199896 A JP 17199896A JP H1040090 A JPH1040090 A JP H1040090A
- Authority
- JP
- Japan
- Prior art keywords
- property
- program
- name
- component
- code
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
- G06F9/45508—Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S715/00—Data processing: presentation processing of document, operator interface processing, and screen saver display processing
- Y10S715/961—Operator interface with visual structure or function dictated by intended use
- Y10S715/965—Operator interface with visual structure or function dictated by intended use for process control and configuration
- Y10S715/966—Computer process, e.g. operation of computer
- Y10S715/967—Visual or iconic programming
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
(57)【要約】
【課題】 プログラマが欲する種々多様なプログラミン
グをプログラム部品を使用して可能にする。 【解決手段】 プログラム部品のプロパティとメソッド
に関する情報を保持する部品情報記憶部110の情報を更
新する部品情報編集部101により、プログラム部品131の
見かけ上の機能を拡張する。部品情報はアプリケーショ
ン・プログラム開発時と実行時の両方に利用される。プ
ログラム開発時には、プロパティ編集部103、コード編
集部107において利用することにより、ユーザは部品の
機能があたかも拡張されたような感覚でプログラミング
・コードの作成に利用することができ、しかも既存のプ
ログラム部品の機能と拡張された機能の違いを意識する
ことはない。一方、実行時には、インタプリタ120から
プログラム部品131を呼び出すために利用され、拡張さ
れた機能を適宜実行することができる。
グをプログラム部品を使用して可能にする。 【解決手段】 プログラム部品のプロパティとメソッド
に関する情報を保持する部品情報記憶部110の情報を更
新する部品情報編集部101により、プログラム部品131の
見かけ上の機能を拡張する。部品情報はアプリケーショ
ン・プログラム開発時と実行時の両方に利用される。プ
ログラム開発時には、プロパティ編集部103、コード編
集部107において利用することにより、ユーザは部品の
機能があたかも拡張されたような感覚でプログラミング
・コードの作成に利用することができ、しかも既存のプ
ログラム部品の機能と拡張された機能の違いを意識する
ことはない。一方、実行時には、インタプリタ120から
プログラム部品131を呼び出すために利用され、拡張さ
れた機能を適宜実行することができる。
Description
【0001】
【産業上の利用分野】この発明は、プログラムの作成を
支援する方法及びシステムに関し、詳しくは、プログラ
ミング構築(開発)支援装置にプログラム部品を統合する
方法に関し、さらに詳しくは、プログラム部品が本来持
っている機能に加え、新たな機能を追加しながら統合化
する方法に関する。
支援する方法及びシステムに関し、詳しくは、プログラ
ミング構築(開発)支援装置にプログラム部品を統合する
方法に関し、さらに詳しくは、プログラム部品が本来持
っている機能に加え、新たな機能を追加しながら統合化
する方法に関する。
【0002】
【従来の技術】従来より、Visual Basic ("Visual Basi
c "は、マイクロソフト社の商標)等の対話型プログラム
作成支援システムにおいて、プログラマがアプリケーシ
ョンプログラムを対話的に作成する際、その作成を支援
するため、プログラム部品を提供している。図15は、
従来のプログラム部品の利用形態を示す図である。
c "は、マイクロソフト社の商標)等の対話型プログラム
作成支援システムにおいて、プログラマがアプリケーシ
ョンプログラムを対話的に作成する際、その作成を支援
するため、プログラム部品を提供している。図15は、
従来のプログラム部品の利用形態を示す図である。
【0003】この例では、ボタン・アイコン203のプ
ログラム部品230が提供されており、プロパティ23
1として、ボタン・アイコンを表示する位置を定義する
ための変数情報(x,y)と、ボタン・アイコンの幅と
高さ定義するための変数情報(w.h)と、メッソド2
33として、指定されたx,yの位置にボタン・アイコ
ンを移動することを指示する「move(x,y)」
と、指定されたw,hの大きさにボタン・アイコンを変
更する「resize(w,h)」等の情報を含んでい
る。
ログラム部品230が提供されており、プロパティ23
1として、ボタン・アイコンを表示する位置を定義する
ための変数情報(x,y)と、ボタン・アイコンの幅と
高さ定義するための変数情報(w.h)と、メッソド2
33として、指定されたx,yの位置にボタン・アイコ
ンを移動することを指示する「move(x,y)」
と、指定されたw,hの大きさにボタン・アイコンを変
更する「resize(w,h)」等の情報を含んでい
る。
【0004】このプログラム部品がアプリケーション・
ウインドウに位置づけられ、後述するプロパティ編集部
でプロパティの値が設定されると、インタプリタはこれ
らの情報を解釈し、アプリケーション・ウインドウ上
で、設定されたプロパティ・バリューに従ったボタン・
アイコンが表示されることとなる。
ウインドウに位置づけられ、後述するプロパティ編集部
でプロパティの値が設定されると、インタプリタはこれ
らの情報を解釈し、アプリケーション・ウインドウ上
で、設定されたプロパティ・バリューに従ったボタン・
アイコンが表示されることとなる。
【0005】しかし、このような従来の技術におけるプ
ログラム部品においては、プロパティやメソッドは予め
与えられており、利用できるプロパティ、メソッドは限
定されたものであった。従って、ボタンの部品に、「ラ
ベルを複数付けたい(従来のプログラミング支援システ
ムにおいて、プログラム部品には、通常、ボタンに1つ
のラベルしか付すことができない)」、「そのボタンに
付されるラベルの文字数に対応させてボタンの大きさを
変更したい(従来のプログラミング支援システムにおい
て、プログラム部品には、通常、定数値によってサイズ
を定義し、関数値によってはサイズを定義できない)」
といった多種多様なプログラマの要求を満足させること
はできず、プログラム部品を利用したプログラミングに
は多くの制約が存在していた。
ログラム部品においては、プロパティやメソッドは予め
与えられており、利用できるプロパティ、メソッドは限
定されたものであった。従って、ボタンの部品に、「ラ
ベルを複数付けたい(従来のプログラミング支援システ
ムにおいて、プログラム部品には、通常、ボタンに1つ
のラベルしか付すことができない)」、「そのボタンに
付されるラベルの文字数に対応させてボタンの大きさを
変更したい(従来のプログラミング支援システムにおい
て、プログラム部品には、通常、定数値によってサイズ
を定義し、関数値によってはサイズを定義できない)」
といった多種多様なプログラマの要求を満足させること
はできず、プログラム部品を利用したプログラミングに
は多くの制約が存在していた。
【0006】また、従来のプログラム部品は、ボタン・
アイコンや、ルーラ・バー等の視覚的に図形として表示
されるグラフィカル・オブジェクトに対してのみ提供さ
れており、後述するコード編集部で文字や記号を用いて
記述される非グラフィカル・オブジェクトに対して提供
されていなかった。このため、プログラマは、コーディ
ングを行うプログラミング言語の命令を複数つなぎ合わ
せ、記述することによりプログラムを作成する必要があ
った。また、他のプログラムの作成において、かかる記
述を再利用することはできず、再度ほぼ同様のコーディ
ングを行う必要があった。サブルーチンを用いたコーデ
ィングにおいても、各サブルーチンは、プログラム部品
のようなステートを保有できないため、オブジェクト固
有の変数の管理が複雑になり、また、その再利用は容易
ではない。
アイコンや、ルーラ・バー等の視覚的に図形として表示
されるグラフィカル・オブジェクトに対してのみ提供さ
れており、後述するコード編集部で文字や記号を用いて
記述される非グラフィカル・オブジェクトに対して提供
されていなかった。このため、プログラマは、コーディ
ングを行うプログラミング言語の命令を複数つなぎ合わ
せ、記述することによりプログラムを作成する必要があ
った。また、他のプログラムの作成において、かかる記
述を再利用することはできず、再度ほぼ同様のコーディ
ングを行う必要があった。サブルーチンを用いたコーデ
ィングにおいても、各サブルーチンは、プログラム部品
のようなステートを保有できないため、オブジェクト固
有の変数の管理が複雑になり、また、その再利用は容易
ではない。
【0007】かかる従来の問題に関連して、特開平7−
28636号公報は、入力操作と視覚オブジェクトを対
応付けたテーブルを用いてグラフィカル・ユーザ・イン
ターフェース構築支援装置を提案している。しかし、こ
こで提案されているグラフィカル・ユーザ・インターフ
ェース構築支援装置は、アプリケーション・プログラム
内の利用者による各入力操作に対応する視覚オブジェク
トが、その入力操作にどの程度適合しているかを示すた
め、視覚オブジェクトの候補をその入力操作への適合度
の高い順に呈示するものであり、プログラム部品の選択
を迅速に行うことはできるが、プログラム部品の機能自
体を拡張することはできない。
28636号公報は、入力操作と視覚オブジェクトを対
応付けたテーブルを用いてグラフィカル・ユーザ・イン
ターフェース構築支援装置を提案している。しかし、こ
こで提案されているグラフィカル・ユーザ・インターフ
ェース構築支援装置は、アプリケーション・プログラム
内の利用者による各入力操作に対応する視覚オブジェク
トが、その入力操作にどの程度適合しているかを示すた
め、視覚オブジェクトの候補をその入力操作への適合度
の高い順に呈示するものであり、プログラム部品の選択
を迅速に行うことはできるが、プログラム部品の機能自
体を拡張することはできない。
【0008】また、特開平7−219753号公報は、
ボタン・アイコンがポインティングデバイスのポインタ
で押された時等に発生するイベントに対し実行する動作
を指示するといったコールバック関数の一部をリソース
化することによって、開発効率の向上を行う会話型プロ
グラム開発支援システムを提案している。この方式は、
メソッドによって実行される処理内容を変更することが
できるが、新たなメソッドを追加することはできないた
め、「そのボタンに付されるラベルの文字数に対応させ
てボタンの大きさを変更したい」といったプログラマの
多種多様な要求を満足させることができない。
ボタン・アイコンがポインティングデバイスのポインタ
で押された時等に発生するイベントに対し実行する動作
を指示するといったコールバック関数の一部をリソース
化することによって、開発効率の向上を行う会話型プロ
グラム開発支援システムを提案している。この方式は、
メソッドによって実行される処理内容を変更することが
できるが、新たなメソッドを追加することはできないた
め、「そのボタンに付されるラベルの文字数に対応させ
てボタンの大きさを変更したい」といったプログラマの
多種多様な要求を満足させることができない。
【0009】さらに、特開平4−353926号公報
は、会話部品定義体入力操作と視覚オブジェクトをテー
ブルを用いて対応付ける方式を提案している。しかし、
この方式は、会話部品に予めメソッドが対応付けられて
おり、そのメソッドをカスタマイズするものであり、会
話部品にユーザの欲するメソッドを追加することはでき
ない。このため、「ラベルを複数付けたい」、「そのボ
タンに付されるラベルの文字数に対応させてボタンの大
きさを変更したい」といった多種多様なプログラマの要
求を満足させることはできず、また、非グラフィカル・
オブジェクトをプログラム部品として定義することがで
きなかった。
は、会話部品定義体入力操作と視覚オブジェクトをテー
ブルを用いて対応付ける方式を提案している。しかし、
この方式は、会話部品に予めメソッドが対応付けられて
おり、そのメソッドをカスタマイズするものであり、会
話部品にユーザの欲するメソッドを追加することはでき
ない。このため、「ラベルを複数付けたい」、「そのボ
タンに付されるラベルの文字数に対応させてボタンの大
きさを変更したい」といった多種多様なプログラマの要
求を満足させることはできず、また、非グラフィカル・
オブジェクトをプログラム部品として定義することがで
きなかった。
【0010】
【発明が解決しようとする課題】この発明の目的は、部
品情報記憶部において、プログラム部品が本来持ってい
る機能に関する情報を蓄積するだけでなく、実際の部品
にはない新たな機能も蓄積し、プログラムビルダやイン
タプリタに利用可能にすることにより、従来のプログラ
ム部品では実現できなかったプログラマが欲する種々多
様なプログラミングをプログラム部品を利用しつつ実現
することである。
品情報記憶部において、プログラム部品が本来持ってい
る機能に関する情報を蓄積するだけでなく、実際の部品
にはない新たな機能も蓄積し、プログラムビルダやイン
タプリタに利用可能にすることにより、従来のプログラ
ム部品では実現できなかったプログラマが欲する種々多
様なプログラミングをプログラム部品を利用しつつ実現
することである。
【0011】本発明の他の目的は、プログラム部品が元
々持っていたプロパティと、新たに追加されたプロパテ
ィをプロパティ編集部で区別なく変更可能にすることで
ある。
々持っていたプロパティと、新たに追加されたプロパテ
ィをプロパティ編集部で区別なく変更可能にすることで
ある。
【0012】本発明の他の目的は、新たに追加されたメ
ソッドやプロパティの利用に際して、プログラム部品が
元々持っていたものと区別なくプログラムビルダやイン
タプリタで利用可能にすることである。
ソッドやプロパティの利用に際して、プログラム部品が
元々持っていたものと区別なくプログラムビルダやイン
タプリタで利用可能にすることである。
【0013】
【課題を解決するための手段】本発明のアプリケーショ
ンプログラム支援システムは、プログラム部品に関する
情報を保持する部品情報記憶部を有しており、この情報
を更新することにより、プログラム部品の実際の機能を
拡張することなく、見かけ上の機能を拡張する。部品情
報の更新は部品に新たなプロパティならびにメソッドを
追加することに対応しており、このような編集作業は部
品情報編集部により行われる。部品情報はアプリケーシ
ョン・プログラム開発時と実行時の両方に利用される。
すなわち、プログラム開発時には、プロパティ編集部、
コード編集部において利用することにより、ユーザは部
品の機能があたかも拡張されたような感覚でプログラミ
ング・コードの作成に利用することができ、しかも通常
のプログラム部品(ユーザが定義したプログラム部品で
はなく、固定的な機能を有するプログラム部品)本来の
機能と拡張された機能の違いを意識することはない。一
方、実行時には、インタプリターからプログラム部品を
呼び出すために利用され、拡張された機能を適宜実行す
ることができる。
ンプログラム支援システムは、プログラム部品に関する
情報を保持する部品情報記憶部を有しており、この情報
を更新することにより、プログラム部品の実際の機能を
拡張することなく、見かけ上の機能を拡張する。部品情
報の更新は部品に新たなプロパティならびにメソッドを
追加することに対応しており、このような編集作業は部
品情報編集部により行われる。部品情報はアプリケーシ
ョン・プログラム開発時と実行時の両方に利用される。
すなわち、プログラム開発時には、プロパティ編集部、
コード編集部において利用することにより、ユーザは部
品の機能があたかも拡張されたような感覚でプログラミ
ング・コードの作成に利用することができ、しかも通常
のプログラム部品(ユーザが定義したプログラム部品で
はなく、固定的な機能を有するプログラム部品)本来の
機能と拡張された機能の違いを意識することはない。一
方、実行時には、インタプリターからプログラム部品を
呼び出すために利用され、拡張された機能を適宜実行す
ることができる。
【0014】本発明の1の態様においては、ユーザ定義
プロパティのユーザ定義プロパティ名、ユーザ定義プロ
パティ・バリューを管理する部品プロパティテーブル
と、ユーザ定義メソッド名とジェネリック・メソッド関
数を受けることにより、ユーザ定義メソッドのコードを
ポイントするメソッドコールアダプタを含むプログラム
部品と、プログラム部品名と、ユーザ定義プロパティ名
及びジェネリック・プロパティ・アクセス関数を管理す
るプロパティテーブルと、ユーザ定義メソッド名及びジ
ェネリック・メソッド関数を管理するメソッド・テーブ
ルを備える部品情報記憶部と、プロパティ・テーブルの
ユーザ定義プロパティ名の登録及びメソッド・テーブル
のユーザ定義メソッド名の登録を行うための部品編集部
とプログラム部品のユーザ定義プロパティ・バリューを
更新するためのプロパティ編集部と、メソッドの実行内
容を特定するメソッドのコードを編集するため、およ
び、部品名とプロパティ名とメソッド名の指定を含むメ
インロジックを編集するためのコード編集部と、コード
編集部で編集されたメソッドのコードを部品名とメソッ
ド名によって特定可能に格納し、メインロジックを格納
するコード記憶部と、コード記憶部に格納されたメイン
ロジックを受領し、メインロジックに含まれる部品名と
プロパティ名から、部品情報記憶部のプロパティ・テー
ブルで管理されているジェネリック・プロパティ・アク
セス関数を特定し、プログラム部品に対し、ユーザ定義
プロパティ名とジェネリック・プロパティ・アクセス関
数を発行し、メインロジックに含まれる部品名とメソッ
ド名から、部品情報記憶部のメソッド・テーブルで管理
されているジェネリック・メソッド関数を特定し、プロ
グラム部品に対し、ユーザ定義メソッド名とジェネリッ
ク・メソッド関数を発行するコード実行部とを含むシス
テムが提供される。
プロパティのユーザ定義プロパティ名、ユーザ定義プロ
パティ・バリューを管理する部品プロパティテーブル
と、ユーザ定義メソッド名とジェネリック・メソッド関
数を受けることにより、ユーザ定義メソッドのコードを
ポイントするメソッドコールアダプタを含むプログラム
部品と、プログラム部品名と、ユーザ定義プロパティ名
及びジェネリック・プロパティ・アクセス関数を管理す
るプロパティテーブルと、ユーザ定義メソッド名及びジ
ェネリック・メソッド関数を管理するメソッド・テーブ
ルを備える部品情報記憶部と、プロパティ・テーブルの
ユーザ定義プロパティ名の登録及びメソッド・テーブル
のユーザ定義メソッド名の登録を行うための部品編集部
とプログラム部品のユーザ定義プロパティ・バリューを
更新するためのプロパティ編集部と、メソッドの実行内
容を特定するメソッドのコードを編集するため、およ
び、部品名とプロパティ名とメソッド名の指定を含むメ
インロジックを編集するためのコード編集部と、コード
編集部で編集されたメソッドのコードを部品名とメソッ
ド名によって特定可能に格納し、メインロジックを格納
するコード記憶部と、コード記憶部に格納されたメイン
ロジックを受領し、メインロジックに含まれる部品名と
プロパティ名から、部品情報記憶部のプロパティ・テー
ブルで管理されているジェネリック・プロパティ・アク
セス関数を特定し、プログラム部品に対し、ユーザ定義
プロパティ名とジェネリック・プロパティ・アクセス関
数を発行し、メインロジックに含まれる部品名とメソッ
ド名から、部品情報記憶部のメソッド・テーブルで管理
されているジェネリック・メソッド関数を特定し、プロ
グラム部品に対し、ユーザ定義メソッド名とジェネリッ
ク・メソッド関数を発行するコード実行部とを含むシス
テムが提供される。
【0015】本発明の他の1態様においては、ユーザ定
義プロパティのユーザ定義プロパティ名、ユーザ定義プ
ロパティ・バリューを管理する部品プロパティテーブル
を含むプログラム部品と、プログラム部品のユーザ定義
プロパティ・バリューにアクセスするためのユーザ定義
プロパティ名と、ジェネリック・プロパティ・アクセス
関数を管理するプロパティテーブルを備える部品情報記
憶部と、プロパティ・テーブルのユーザ定義プロパティ
名と部品プロパティ・テーブルのユーザ定義プロパティ
名を登録するための部品編集部とを含むプログラム開発
支援システムが提供される。
義プロパティのユーザ定義プロパティ名、ユーザ定義プ
ロパティ・バリューを管理する部品プロパティテーブル
を含むプログラム部品と、プログラム部品のユーザ定義
プロパティ・バリューにアクセスするためのユーザ定義
プロパティ名と、ジェネリック・プロパティ・アクセス
関数を管理するプロパティテーブルを備える部品情報記
憶部と、プロパティ・テーブルのユーザ定義プロパティ
名と部品プロパティ・テーブルのユーザ定義プロパティ
名を登録するための部品編集部とを含むプログラム開発
支援システムが提供される。
【0016】本発明の他の1態様においては、ユーザ定
義メソッド名とジェネリック・メソッド関数を受けるこ
とにより、ユーザ定義メソッドのコードをポイントする
メソッドコールアダプタを含むプログラム部品と、プロ
グラム部品名とユーザ定義メソッド名と、ジェネリック
・メソッド関数を管理するメソッド・テーブルを備える
部品情報記憶部と、メソッド・テーブルのユーザ定義メ
ソッド名を登録するための部品編集部と、メソッドの実
行内容を特定するメソッドのコードを編集するため、お
よび、部品名とメソッド名の指定を含むメインロジック
を編集するためのコード編集部と、コード編集部で編集
されたメソッドのコードを部品名とメソッド名によって
特定可能に格納し、メインロジックを格納するコード記
憶部と、コード記憶部に格納されたメインロジックを受
領し、メインロジックに含まれる部品名とメソッド名か
ら、部品情報記憶部のメソッド・テーブルで管理されて
いるジェネリック・メソッド関数を特定し、プログラム
部品に対し、ユーザ定義メソッド名とジェネリック・メ
ソッド関数を発行するコード実行部とを含むシステムが
提供される。
義メソッド名とジェネリック・メソッド関数を受けるこ
とにより、ユーザ定義メソッドのコードをポイントする
メソッドコールアダプタを含むプログラム部品と、プロ
グラム部品名とユーザ定義メソッド名と、ジェネリック
・メソッド関数を管理するメソッド・テーブルを備える
部品情報記憶部と、メソッド・テーブルのユーザ定義メ
ソッド名を登録するための部品編集部と、メソッドの実
行内容を特定するメソッドのコードを編集するため、お
よび、部品名とメソッド名の指定を含むメインロジック
を編集するためのコード編集部と、コード編集部で編集
されたメソッドのコードを部品名とメソッド名によって
特定可能に格納し、メインロジックを格納するコード記
憶部と、コード記憶部に格納されたメインロジックを受
領し、メインロジックに含まれる部品名とメソッド名か
ら、部品情報記憶部のメソッド・テーブルで管理されて
いるジェネリック・メソッド関数を特定し、プログラム
部品に対し、ユーザ定義メソッド名とジェネリック・メ
ソッド関数を発行するコード実行部とを含むシステムが
提供される。
【0017】本発明の他の1態様においては、ユーザに
よるプログラム部品の特定を検出する段階と、特定され
たプログラム部品のプロパティ名を入力するためのプロ
パティ情報エントリとメソッド名を入力するためのメソ
ッド情報エントリを表示する段階と、プロパティ情報エ
ントリに入力されたユーザ定義プロパティ名をプロパテ
ィ・テーブルに登録する段階と、メソッド情報エントリ
に入力されたユーザ定義メソッド名をメソッド・テーブ
ルに登録する段階と、を含むプログラム部品の機能を拡
張する方法が提供される。
よるプログラム部品の特定を検出する段階と、特定され
たプログラム部品のプロパティ名を入力するためのプロ
パティ情報エントリとメソッド名を入力するためのメソ
ッド情報エントリを表示する段階と、プロパティ情報エ
ントリに入力されたユーザ定義プロパティ名をプロパテ
ィ・テーブルに登録する段階と、メソッド情報エントリ
に入力されたユーザ定義メソッド名をメソッド・テーブ
ルに登録する段階と、を含むプログラム部品の機能を拡
張する方法が提供される。
【0018】本発明の他の1態様においては、ユーザに
よる新規プログラム部品の登録のためのプログラム部品
を象徴する新規プログラム部品のアイコンを表示装置に
表示する段階と、ユーザによる新規プログラム部品のア
イコンの特定を検出する段階と、特定された新規プログ
ラム部品のプログラム部品名を入力するためのプログラ
ム部品名入力エントリを表示する段階と、プログラム部
品入力エントリに入力されたユーザ定義プログラム部品
名に対応したプロパティ名及びプロパティ・バリューの
エントリを有する部品プロパティ・テーブルを作成する
段階と、特定されたプログラム部品のプロパティ名を入
力するためのプロパティ情報エントリを表示する段階
と、プロパティ情報エントリに入力された情報を部品プ
ロパティ・テーブルに登録する段階と、ユーザ定義プロ
パティ名に対応するプロパティ・バリューを入力するた
めのプロパティ・バリュー入力エントリを表示する段階
と、プロパティ・バリュー入力エントリに入力された値
を部品プロパティ・テーブルに登録する段階とを含む入
力装置と、表示装置と、コード実行部と、コード実行部
に自ら管理するプロパティ・バリューを提供するプログ
ラム部品とを含むデータ処理システムにおけるプログラ
ム部品の機能を拡張する方法が提供される。
よる新規プログラム部品の登録のためのプログラム部品
を象徴する新規プログラム部品のアイコンを表示装置に
表示する段階と、ユーザによる新規プログラム部品のア
イコンの特定を検出する段階と、特定された新規プログ
ラム部品のプログラム部品名を入力するためのプログラ
ム部品名入力エントリを表示する段階と、プログラム部
品入力エントリに入力されたユーザ定義プログラム部品
名に対応したプロパティ名及びプロパティ・バリューの
エントリを有する部品プロパティ・テーブルを作成する
段階と、特定されたプログラム部品のプロパティ名を入
力するためのプロパティ情報エントリを表示する段階
と、プロパティ情報エントリに入力された情報を部品プ
ロパティ・テーブルに登録する段階と、ユーザ定義プロ
パティ名に対応するプロパティ・バリューを入力するた
めのプロパティ・バリュー入力エントリを表示する段階
と、プロパティ・バリュー入力エントリに入力された値
を部品プロパティ・テーブルに登録する段階とを含む入
力装置と、表示装置と、コード実行部と、コード実行部
に自ら管理するプロパティ・バリューを提供するプログ
ラム部品とを含むデータ処理システムにおけるプログラ
ム部品の機能を拡張する方法が提供される。
【0019】本発明の他の1態様においては、ユーザに
よるプログラム部品の特定を検出する段階と、特定され
たプログラム部品のプロパティ名を入力するためのプロ
パティ情報エントリを表示する段階と、プロパティ情報
エントリに入力されたユーザ定義プロパティ名を特定さ
れたプログラム部品と関連付ける段階と、ユーザ定義プ
ロパティ名に対応するプロパティ・バリューを入力する
ためのプロパティ・バリュー入力エントリを表示する段
階と、プロパティ・バリュー入力エントリに入力された
値を特定されたプログラム部品に関連付ける段階とを含
む入力装置と、表示装置と、コード実行部と、コード実
行部に自ら管理するプロパティ・バリューを提供するプ
ログラム部品とを含むデータ処理システムにおけるプロ
グラム部品の機能を拡張する方法が提供される。
よるプログラム部品の特定を検出する段階と、特定され
たプログラム部品のプロパティ名を入力するためのプロ
パティ情報エントリを表示する段階と、プロパティ情報
エントリに入力されたユーザ定義プロパティ名を特定さ
れたプログラム部品と関連付ける段階と、ユーザ定義プ
ロパティ名に対応するプロパティ・バリューを入力する
ためのプロパティ・バリュー入力エントリを表示する段
階と、プロパティ・バリュー入力エントリに入力された
値を特定されたプログラム部品に関連付ける段階とを含
む入力装置と、表示装置と、コード実行部と、コード実
行部に自ら管理するプロパティ・バリューを提供するプ
ログラム部品とを含むデータ処理システムにおけるプロ
グラム部品の機能を拡張する方法が提供される。
【0020】本発明の他の1態様においては、プログラ
ム部品名とプログラム部品のプロパティ名とプログラム
部品のメソッド名を指定する記述を含むプログラムコー
ドを受領する段階と、プログラムコードに含まれる部品
名とプロパティ名から、部品情報記憶部のプロパティ・
テーブルで管理されているジェネリック・プロパティ・
アクセス関数を特定する段階と、プログラム部品名と、
部品情報記憶部のプロパティ・テーブルで管理されてい
るジェネリック・プロパティ・アクセス関数に基づいて
プログラム部品のプロパティ・バリューを特定する段階
と、プログラムコードに含まれる部品名とメソッド名か
ら、部品情報記憶部のメソッド・テーブルで管理されて
いるジェネリック・メソッド関数を特定する段階と、プ
ログラム部品に対し、ユーザ定義メソッド名とジェネリ
ック・メソッド関数を発行する段階と、プログラム部品
が、ユーザ定義メソッド名とジェネリック・メソッド関
数を受けることに応答して発行した、ユーザ定義メソッ
ドのコードをポイントするジェネリック・メソッド・コ
ード・アクセス情報を受領する段階と、ジェネリック・
メソッド・コード・アクセス情報を基づいて、コード記
憶部に格納されたユーザ定義メソッドのコードにアクセ
スする段階と、ユーザ定義メソッドのコードを実行する
段階とを含むプログラム・コードの実行方法が提供され
る。
ム部品名とプログラム部品のプロパティ名とプログラム
部品のメソッド名を指定する記述を含むプログラムコー
ドを受領する段階と、プログラムコードに含まれる部品
名とプロパティ名から、部品情報記憶部のプロパティ・
テーブルで管理されているジェネリック・プロパティ・
アクセス関数を特定する段階と、プログラム部品名と、
部品情報記憶部のプロパティ・テーブルで管理されてい
るジェネリック・プロパティ・アクセス関数に基づいて
プログラム部品のプロパティ・バリューを特定する段階
と、プログラムコードに含まれる部品名とメソッド名か
ら、部品情報記憶部のメソッド・テーブルで管理されて
いるジェネリック・メソッド関数を特定する段階と、プ
ログラム部品に対し、ユーザ定義メソッド名とジェネリ
ック・メソッド関数を発行する段階と、プログラム部品
が、ユーザ定義メソッド名とジェネリック・メソッド関
数を受けることに応答して発行した、ユーザ定義メソッ
ドのコードをポイントするジェネリック・メソッド・コ
ード・アクセス情報を受領する段階と、ジェネリック・
メソッド・コード・アクセス情報を基づいて、コード記
憶部に格納されたユーザ定義メソッドのコードにアクセ
スする段階と、ユーザ定義メソッドのコードを実行する
段階とを含むプログラム・コードの実行方法が提供され
る。
【0021】本発明の他の1態様においては、プログラ
ム部品名とプログラム部品のプロパティ名を指定する記
述を含むプログラムコードを受領する段階と、プログラ
ムコードに含まれる部品名とプロパティ名から、部品情
報記憶部のプロパティ・テーブルで管理されているジェ
ネリック・プロパティ・アクセス関数を特定する段階
と、プログラム部品名と、部品情報記憶部のプロパティ
・テーブルで管理されているジェネリック・プロパティ
・アクセス関数に基づいてプログラム部品のプロパティ
・バリューを特定する段階とを含むプロパティ情報を管
理するプログラム部品と、プログラム部品のプロパティ
名、ジェネリック・プロパティ・アクセス関数を管理す
るプロパティ・テーブルと、コード実行部と、プログラ
ム部品名、プロパティ名の記述を含み、コード実行部で
実行するためのプログラム・コードを記憶するコード記
憶部と、コードを編集するためのコード編集部とを含む
データ処理システムにおけるプログラム・コードの実行
方法が提供される。
ム部品名とプログラム部品のプロパティ名を指定する記
述を含むプログラムコードを受領する段階と、プログラ
ムコードに含まれる部品名とプロパティ名から、部品情
報記憶部のプロパティ・テーブルで管理されているジェ
ネリック・プロパティ・アクセス関数を特定する段階
と、プログラム部品名と、部品情報記憶部のプロパティ
・テーブルで管理されているジェネリック・プロパティ
・アクセス関数に基づいてプログラム部品のプロパティ
・バリューを特定する段階とを含むプロパティ情報を管
理するプログラム部品と、プログラム部品のプロパティ
名、ジェネリック・プロパティ・アクセス関数を管理す
るプロパティ・テーブルと、コード実行部と、プログラ
ム部品名、プロパティ名の記述を含み、コード実行部で
実行するためのプログラム・コードを記憶するコード記
憶部と、コードを編集するためのコード編集部とを含む
データ処理システムにおけるプログラム・コードの実行
方法が提供される。
【0022】本発明の他の1態様においては、プログラ
ム部品名とプログラム部品のメソッド名を指定する記述
を含むプログラムコードを受領する段階と、プログラム
コードに含まれる部品名とメソッド名から、部品情報記
憶部のメソッド・テーブルで管理されているジェネリッ
ク・メソッド関数を特定する段階と、プログラム部品に
対し、ユーザ定義メソッド名とジェネリック・メソッド
関数を発行する段階と、プログラム部品が、ユーザ定義
メソッド名とジェネリック・メソッド関数を受けること
に応答して発行した、ユーザ定義メソッドのコードをポ
イントするジェネリック・メソッド・コード・アクセス
情報を受領する段階と、ジェネリック・メソッド・コー
ド・アクセス情報を基づいて、コード記憶部に格納され
たユーザ定義メソッドのコードにアクセスする段階と、
ユーザ定義メソッドのコードを実行する段階とを含むメ
ソッド情報を管理するプログラム部品と、プログラム部
品のメソッド名、ジェネリック・メソッド関数を管理す
るメソッド・テーブルと、コード実行部と、プログラム
部品名、メソッド名の記述を含み、コード実行部で実行
するためのプログラム・コードとプログラム部品のメソ
ッドに対応付けられて格納されたユーザ定義メソッドの
コードを記憶するコード記憶部と、コードを編集するた
めのコード編集部とを含むデータ処理システムにおける
プログラム・コードの実行方法が提供される。
ム部品名とプログラム部品のメソッド名を指定する記述
を含むプログラムコードを受領する段階と、プログラム
コードに含まれる部品名とメソッド名から、部品情報記
憶部のメソッド・テーブルで管理されているジェネリッ
ク・メソッド関数を特定する段階と、プログラム部品に
対し、ユーザ定義メソッド名とジェネリック・メソッド
関数を発行する段階と、プログラム部品が、ユーザ定義
メソッド名とジェネリック・メソッド関数を受けること
に応答して発行した、ユーザ定義メソッドのコードをポ
イントするジェネリック・メソッド・コード・アクセス
情報を受領する段階と、ジェネリック・メソッド・コー
ド・アクセス情報を基づいて、コード記憶部に格納され
たユーザ定義メソッドのコードにアクセスする段階と、
ユーザ定義メソッドのコードを実行する段階とを含むメ
ソッド情報を管理するプログラム部品と、プログラム部
品のメソッド名、ジェネリック・メソッド関数を管理す
るメソッド・テーブルと、コード実行部と、プログラム
部品名、メソッド名の記述を含み、コード実行部で実行
するためのプログラム・コードとプログラム部品のメソ
ッドに対応付けられて格納されたユーザ定義メソッドの
コードを記憶するコード記憶部と、コードを編集するた
めのコード編集部とを含むデータ処理システムにおける
プログラム・コードの実行方法が提供される。
【0023】本発明の他の1態様においては、ユーザ定
義プロパティのユーザ定義プロパティ名、ユーザ定義プ
ロパティ・バリューのエントリを有する部品プロパティ
テーブルと、ユーザ定義メソッド名とジェネリック・メ
ソッド関数をプログラム開発支援システムから受けるこ
とにより、メソッドのコードをポイントするメソッドコ
ールアダプタとを含む、実行時において、自ら管理する
メソッドとプロパティを提供し、プログラム開発支援の
ためにプログラム開発支援システムにロードされるプロ
グラム部品を格納する記憶媒体が提供される。
義プロパティのユーザ定義プロパティ名、ユーザ定義プ
ロパティ・バリューのエントリを有する部品プロパティ
テーブルと、ユーザ定義メソッド名とジェネリック・メ
ソッド関数をプログラム開発支援システムから受けるこ
とにより、メソッドのコードをポイントするメソッドコ
ールアダプタとを含む、実行時において、自ら管理する
メソッドとプロパティを提供し、プログラム開発支援の
ためにプログラム開発支援システムにロードされるプロ
グラム部品を格納する記憶媒体が提供される。
【0024】本発明の他の1態様においては、ユーザに
よるプログラム部品の特定を検出することをデータ処理
システムに指示するプログラムコード手段と、特定され
たプログラム部品のプロパティ名を入力するためのプロ
パティ情報エントリとメソッド名を入力するためのメソ
ッド情報エントリを表示することをデータ処理システム
に指示するプログラムコード手段と、プロパティ情報エ
ントリに入力されたユーザ定義プロパティ名をプロパテ
ィ・テーブルに登録することをデータ処理システムに指
示するプログラムコード手段と、メソッド情報エントリ
に入力されたユーザ定義メソッド名をメソッド・テーブ
ルに登録することをデータ処理システムに指示するプロ
グラムコード手段とを含むプログラム部品の機能を拡張
するためのプログラムを格納する記憶媒体が提供され
る。
よるプログラム部品の特定を検出することをデータ処理
システムに指示するプログラムコード手段と、特定され
たプログラム部品のプロパティ名を入力するためのプロ
パティ情報エントリとメソッド名を入力するためのメソ
ッド情報エントリを表示することをデータ処理システム
に指示するプログラムコード手段と、プロパティ情報エ
ントリに入力されたユーザ定義プロパティ名をプロパテ
ィ・テーブルに登録することをデータ処理システムに指
示するプログラムコード手段と、メソッド情報エントリ
に入力されたユーザ定義メソッド名をメソッド・テーブ
ルに登録することをデータ処理システムに指示するプロ
グラムコード手段とを含むプログラム部品の機能を拡張
するためのプログラムを格納する記憶媒体が提供され
る。
【0025】本発明の他の1態様においては、プログラ
ム部品名とプログラム部品のプロパティ名とプログラム
部品のメソッド名を指定する記述を含むプログラムコー
ドを受領することをデータ処理システムに指示するプロ
グラムコード手段と、プログラムコードに含まれる部品
名とプロパティ名から、部品情報記憶部のプロパティ・
テーブルで管理されているジェネリック・プロパティ・
アクセス関数を特定することをデータ処理システムに指
示するプログラムコード手段と、プログラム部品名と、
部品情報記憶部のプロパティ・テーブルで管理されてい
るジェネリック・プロパティ・アクセス関数に基づいて
プログラム部品のプロパティ・バリューを特定すること
をデータ処理システムに指示するプログラムコード手段
と、プログラムコードに含まれる部品名とメソッド名か
ら、部品情報記憶部のメソッド・テーブルで管理されて
いるジェネリック・メソッド関数を特定することをデー
タ処理システムに指示するプログラムコード手段と、プ
ログラム部品に対し、ユーザ定義メソッド名とジェネリ
ック・メソッド関数を発行することをデータ処理システ
ムに指示するプログラムコード手段と、プログラム部品
が、ユーザ定義メソッド名とジェネリック・メソッド関
数を受けることに応答して発行した、ユーザ定義メソッ
ドのコードをポイントするジェネリック・メソッド・コ
ード・アクセス情報を受領することをデータ処理システ
ムに指示するプログラムコード手段と、ジェネリック・
メソッド・コード・アクセス情報を基づいて、コード記
憶部に格納されたユーザ定義メソッドのコードにアクセ
スすることをデータ処理システムに指示するプログラム
コード手段と、ユーザ定義メソッドのコードを実行する
ことを前記データ処理システムに指示するプログラムコ
ード手段とを含むプログラム・コードを実行するための
プログラムを格納する記憶媒体が提供される。
ム部品名とプログラム部品のプロパティ名とプログラム
部品のメソッド名を指定する記述を含むプログラムコー
ドを受領することをデータ処理システムに指示するプロ
グラムコード手段と、プログラムコードに含まれる部品
名とプロパティ名から、部品情報記憶部のプロパティ・
テーブルで管理されているジェネリック・プロパティ・
アクセス関数を特定することをデータ処理システムに指
示するプログラムコード手段と、プログラム部品名と、
部品情報記憶部のプロパティ・テーブルで管理されてい
るジェネリック・プロパティ・アクセス関数に基づいて
プログラム部品のプロパティ・バリューを特定すること
をデータ処理システムに指示するプログラムコード手段
と、プログラムコードに含まれる部品名とメソッド名か
ら、部品情報記憶部のメソッド・テーブルで管理されて
いるジェネリック・メソッド関数を特定することをデー
タ処理システムに指示するプログラムコード手段と、プ
ログラム部品に対し、ユーザ定義メソッド名とジェネリ
ック・メソッド関数を発行することをデータ処理システ
ムに指示するプログラムコード手段と、プログラム部品
が、ユーザ定義メソッド名とジェネリック・メソッド関
数を受けることに応答して発行した、ユーザ定義メソッ
ドのコードをポイントするジェネリック・メソッド・コ
ード・アクセス情報を受領することをデータ処理システ
ムに指示するプログラムコード手段と、ジェネリック・
メソッド・コード・アクセス情報を基づいて、コード記
憶部に格納されたユーザ定義メソッドのコードにアクセ
スすることをデータ処理システムに指示するプログラム
コード手段と、ユーザ定義メソッドのコードを実行する
ことを前記データ処理システムに指示するプログラムコ
ード手段とを含むプログラム・コードを実行するための
プログラムを格納する記憶媒体が提供される。
【0026】
A.ハードウエア構成 以下、図面を参照して本発明の実施例を説明する。図1
を参照すると、本発明を実施するためのハードウェア構
成の概観図が示されている。システム100は、中央処
理装置(CPU)1とメモリ4とを含んでいる。CPU
1とメモリ4は、バス2を介して、補助記憶装置として
のハードディスク装置13とを接続してある。フロッピ
ーディスク装置(またはCD−ROM、MO、MD、Z
IP、DVD等の各種記憶媒体の駆動装置)20はフロ
ッピーディスクコントローラ等の各種コントローラ19
を介してバス2へ接続されている。
を参照すると、本発明を実施するためのハードウェア構
成の概観図が示されている。システム100は、中央処
理装置(CPU)1とメモリ4とを含んでいる。CPU
1とメモリ4は、バス2を介して、補助記憶装置として
のハードディスク装置13とを接続してある。フロッピ
ーディスク装置(またはCD−ROM、MO、MD、Z
IP、DVD等の各種記憶媒体の駆動装置)20はフロ
ッピーディスクコントローラ等の各種コントローラ19
を介してバス2へ接続されている。
【0027】フロッピーディスク装置(またはCD−R
OM等の各種媒体の駆動装置)20には、フロッピーデ
ィスク(またはCD−ROM等の各種記憶媒体)が挿入
され、このフロッピーディスク等やハードディスク装置
13、ROM14には、オペレーティングシステムと協
働してCPU等に命令を与え、本発明を実施するための
コンピュータ・プログラムのコードを記録することがで
き、このコードは、メモリ4にロードされることによっ
て実行される。このコンピュータ・プログラムのコード
は圧縮し、または、複数に分割して、複数の媒体に記録
することもできる。
OM等の各種媒体の駆動装置)20には、フロッピーデ
ィスク(またはCD−ROM等の各種記憶媒体)が挿入
され、このフロッピーディスク等やハードディスク装置
13、ROM14には、オペレーティングシステムと協
働してCPU等に命令を与え、本発明を実施するための
コンピュータ・プログラムのコードを記録することがで
き、このコードは、メモリ4にロードされることによっ
て実行される。このコンピュータ・プログラムのコード
は圧縮し、または、複数に分割して、複数の媒体に記録
することもできる。
【0028】システム100は更に、ユーザ・インター
フェース・ハードウェアを備えたシステムとすることが
でき、ユーザ・インターフェース・ハードウェアとして
は、例えば、入力をするためのポインティング・デバイ
ス(マウス、ジョイスティック等)7またはキーボード
6や、視覚データをユーザに提示するためのディスプレ
イ12がある。また、パラレルポート16を介してプリ
ンタを接続することや、シリアルポート15を介してモ
デムを接続することが可能であり、シリアルポート15
およびモデムまたは通信アダプタ18を介して他のコン
ピュータと通信を行うことが可能である。
フェース・ハードウェアを備えたシステムとすることが
でき、ユーザ・インターフェース・ハードウェアとして
は、例えば、入力をするためのポインティング・デバイ
ス(マウス、ジョイスティック等)7またはキーボード
6や、視覚データをユーザに提示するためのディスプレ
イ12がある。また、パラレルポート16を介してプリ
ンタを接続することや、シリアルポート15を介してモ
デムを接続することが可能であり、シリアルポート15
およびモデムまたは通信アダプタ18を介して他のコン
ピュータと通信を行うことが可能である。
【0029】従って、本発明は、通常のパーソナルコン
ピュータ(PC)、やワークステーションやこれらの組
合せによって実施可能であることを容易に理解できるで
あろう。ただし、これらの構成要素は例示であり、その
全ての構成成要素が本発明の必須の構成要素となるわけ
ではない。例えば、図1は、スタンド・アロン環境のシ
ステムを示しているが、クライアント/サーバ・システ
ムとして本発明を実現し、サーバ・マシンに本発明のシ
ステム100を配置し、クライアント・マシンは、サー
バ・マシンに対して、イーサネット、トークン・リング
などでLAN接続し、クライアント・マシン側には、各
種入力のための入力装置と、プログラムの実行結果を見
るための表示装置を配置してもよい。また、後述するプ
ログラム部品ライブラリ130または、その一部のプロ
グラム部品をサーバ側に配置し、その他をクライアント
側に配置したり、ビルダ100のみをクライアントに配
置し、その他をサーバ側に配置する等、設計段階で自由
に変更できる。
ピュータ(PC)、やワークステーションやこれらの組
合せによって実施可能であることを容易に理解できるで
あろう。ただし、これらの構成要素は例示であり、その
全ての構成成要素が本発明の必須の構成要素となるわけ
ではない。例えば、図1は、スタンド・アロン環境のシ
ステムを示しているが、クライアント/サーバ・システ
ムとして本発明を実現し、サーバ・マシンに本発明のシ
ステム100を配置し、クライアント・マシンは、サー
バ・マシンに対して、イーサネット、トークン・リング
などでLAN接続し、クライアント・マシン側には、各
種入力のための入力装置と、プログラムの実行結果を見
るための表示装置を配置してもよい。また、後述するプ
ログラム部品ライブラリ130または、その一部のプロ
グラム部品をサーバ側に配置し、その他をクライアント
側に配置したり、ビルダ100のみをクライアントに配
置し、その他をサーバ側に配置する等、設計段階で自由
に変更できる。
【0030】オペレーティング・システムとしては、W
indows(マイクロソフトの商標)、OS/2(I
BMの商標)、AIX(IBMの商標)上のX−WIN
DOWシステム(MITの商標)などの、標準でGUI
マルチウインドウ環境をサポートするものが望ましい
が、本発明は、後述する非グラフィカルオブジェクトの
みをプログラム部品とすることも可能であるため、PC
−DOS(IBMの商標)、MS−DOS(マイクロソ
フトの登録商標)などのキャラクタ・ベース環境でも実
現可能であり、特定のオペレーティング・システム環境
に限定されるものではない。
indows(マイクロソフトの商標)、OS/2(I
BMの商標)、AIX(IBMの商標)上のX−WIN
DOWシステム(MITの商標)などの、標準でGUI
マルチウインドウ環境をサポートするものが望ましい
が、本発明は、後述する非グラフィカルオブジェクトの
みをプログラム部品とすることも可能であるため、PC
−DOS(IBMの商標)、MS−DOS(マイクロソ
フトの登録商標)などのキャラクタ・ベース環境でも実
現可能であり、特定のオペレーティング・システム環境
に限定されるものではない。
【0031】B.システム構成 次に、図2のブロック図を参照して、本発明のシステム
構成について説明する。プログラム部品131,133
は、部品ライブラリ130に格納されている。このプロ
グラム部品は、その部品のプロパティ及びメソッドに関
する情報を管理している。この管理している情報に関し
ては、後に詳述する。本発明のプログラム開発支援装置
(以下"ビルダ"と呼ぶ)はプログラム部品に関する情報
を記憶する部品情記憶部110を含み、その情報は、部
品情報編集部101により、プログラマが追加及び修正
可能になっている。ビルダ100は、さらに、プロパテ
ィ編集部103を有しており、このプロパティ編集部1
03を使用することによって、プログラム部品131,
133のプロパティ・バリューを変更することができ
る。オブジェクト視覚表現部105は、グラフィカルな
プログラム部品を表示する。
構成について説明する。プログラム部品131,133
は、部品ライブラリ130に格納されている。このプロ
グラム部品は、その部品のプロパティ及びメソッドに関
する情報を管理している。この管理している情報に関し
ては、後に詳述する。本発明のプログラム開発支援装置
(以下"ビルダ"と呼ぶ)はプログラム部品に関する情報
を記憶する部品情記憶部110を含み、その情報は、部
品情報編集部101により、プログラマが追加及び修正
可能になっている。ビルダ100は、さらに、プロパテ
ィ編集部103を有しており、このプロパティ編集部1
03を使用することによって、プログラム部品131,
133のプロパティ・バリューを変更することができ
る。オブジェクト視覚表現部105は、グラフィカルな
プログラム部品を表示する。
【0032】また、プログラマは、コード編集部107
を使用してプログラムのコーディングを行うことがで
き、コーディングされたプログラム・コードは、コード
記憶部109に格納される。そして、インタプリタ12
0は、このコード記憶部109に格納されたプログラム
・コードと、プログラム部品の情報に基づいてプログラ
ムを実行する。本発明の好適な実施例においては、コー
ド実行部120は、インタプリタにより実施されてい
る。しかし、コード実行部120はインタプリタには限
定される概念ではなく、コンパイラ等によっても実施可
能である。なお、このブロック図は、発明の理解の容易
化を図るため一定の機能を有する構成を1つのまとまり
として表現したものであり、例えば、部品情報編集部1
01とプロパティ編集部103を統合した部品情報編集
部として実施したり、また、部品情報編集部101を、
部品プロパティ情報編集部と部品メソッド情報編集部に
分割して実施することもできる。
を使用してプログラムのコーディングを行うことがで
き、コーディングされたプログラム・コードは、コード
記憶部109に格納される。そして、インタプリタ12
0は、このコード記憶部109に格納されたプログラム
・コードと、プログラム部品の情報に基づいてプログラ
ムを実行する。本発明の好適な実施例においては、コー
ド実行部120は、インタプリタにより実施されてい
る。しかし、コード実行部120はインタプリタには限
定される概念ではなく、コンパイラ等によっても実施可
能である。なお、このブロック図は、発明の理解の容易
化を図るため一定の機能を有する構成を1つのまとまり
として表現したものであり、例えば、部品情報編集部1
01とプロパティ編集部103を統合した部品情報編集
部として実施したり、また、部品情報編集部101を、
部品プロパティ情報編集部と部品メソッド情報編集部に
分割して実施することもできる。
【0033】本発明と従来技術との差異を明確化するた
めに、図3において、本発明のシステム構成の一実施例
における従来技術との差異部分(斜線部分)を示す。こ
の図において、プログラム部品131は、本発明のプロ
グラム部品であり、プログラム部品133は、従来のプ
ログラム部品である。本発明のビルダは、従来のプログ
ラム部品と本発明のプログラム部品を区別することなく
取り扱うことができることを示している。また、部品情
報編集部101が新たに追加され、部品情報記憶部11
0、インタプリタ120に変更が加えられていることが
示されている。
めに、図3において、本発明のシステム構成の一実施例
における従来技術との差異部分(斜線部分)を示す。こ
の図において、プログラム部品131は、本発明のプロ
グラム部品であり、プログラム部品133は、従来のプ
ログラム部品である。本発明のビルダは、従来のプログ
ラム部品と本発明のプログラム部品を区別することなく
取り扱うことができることを示している。また、部品情
報編集部101が新たに追加され、部品情報記憶部11
0、インタプリタ120に変更が加えられていることが
示されている。
【0034】B1.部品情報記憶部プロパティ・テーブ
ル 図4は、本発明の好適な実施例における、部品情報記憶
部のプロパティ・テーブルを示す図である。この部品情
報記憶部のプロパティ・テーブル(以下単に「プロパテ
ィ・テーブル」と呼び、後述する部品プロパティ・テー
ブルと区別する)は、プログラム部品の部品名に対応し
て存在する。プロパティ・テーブル150には図に示す
ように、プロパティ名155、プロパティタイプ15
6、Get関数157、Put関数158及びユーザ定
義フラグ159を管理している。
ル 図4は、本発明の好適な実施例における、部品情報記憶
部のプロパティ・テーブルを示す図である。この部品情
報記憶部のプロパティ・テーブル(以下単に「プロパテ
ィ・テーブル」と呼び、後述する部品プロパティ・テー
ブルと区別する)は、プログラム部品の部品名に対応し
て存在する。プロパティ・テーブル150には図に示す
ように、プロパティ名155、プロパティタイプ15
6、Get関数157、Put関数158及びユーザ定
義フラグ159を管理している。
【0035】このGet関数157、Put関数158
は、プログラム部品131,133にアクセスし、プロ
グラム部品131,133からそのプロパティの値をG
etし、または、プログラム部品131,133へ、プ
ロパティの値をPutするための関数である。このGe
t関数157、Put関数158は、プログラム部品1
31,133の性質によって、Get関数157のみ必
要であり、Put関数158は不要である場合(そのプ
ログラム部品からデータをもらうだけ)や、Put関数
158のみ必要であり、Get関数157は不要である
場合(そのプログラム部品へデータを書き出すだけ)も
存在する。本願明細書において、このGet関数15
7、Put関数158の総称として「プロパティ・アク
セス関数」を用いる。
は、プログラム部品131,133にアクセスし、プロ
グラム部品131,133からそのプロパティの値をG
etし、または、プログラム部品131,133へ、プ
ロパティの値をPutするための関数である。このGe
t関数157、Put関数158は、プログラム部品1
31,133の性質によって、Get関数157のみ必
要であり、Put関数158は不要である場合(そのプ
ログラム部品からデータをもらうだけ)や、Put関数
158のみ必要であり、Get関数157は不要である
場合(そのプログラム部品へデータを書き出すだけ)も
存在する。本願明細書において、このGet関数15
7、Put関数158の総称として「プロパティ・アク
セス関数」を用いる。
【0036】プロパティ・テーブル150は、既存のプ
ロパティ情報部分151と、ユーザ定義のプロパティ情
報部分153に分かれている。既存のプロパティ情報部
分151は、プログラム部品133がシステムにインス
トールされると、そのプログラム部品133の有してい
るプロパティ名、プロパティ・タイプ、Get関数、P
ut関数の情報がこのプロパティ・テーブル150にコ
ピーされ登録される。
ロパティ情報部分151と、ユーザ定義のプロパティ情
報部分153に分かれている。既存のプロパティ情報部
分151は、プログラム部品133がシステムにインス
トールされると、そのプログラム部品133の有してい
るプロパティ名、プロパティ・タイプ、Get関数、P
ut関数の情報がこのプロパティ・テーブル150にコ
ピーされ登録される。
【0037】この一方、ユーザ定義のプロパティ情報部
分153は、部品情報編集部101でプログラマがプロ
グラム部品を指定して、追加の登録を行うと、登録され
たプロパティ名、プロパティ・タイプがセットされ、プ
ロパティ・アクセス関数(Get関数、Put関数)が
自動生成される。本明細書において、ユーザがプロパテ
ィ名をまたはメソッド名を指定して、定義したプロパテ
ィまたはメソッドを「ユーザ定義プロパティ」または
「ユーザ定義メソッド」と呼び、その他従来のプロパテ
ィやメソッドを「既存のプロパティ」、「既存のメソッ
ド」と呼ぶこととする。
分153は、部品情報編集部101でプログラマがプロ
グラム部品を指定して、追加の登録を行うと、登録され
たプロパティ名、プロパティ・タイプがセットされ、プ
ロパティ・アクセス関数(Get関数、Put関数)が
自動生成される。本明細書において、ユーザがプロパテ
ィ名をまたはメソッド名を指定して、定義したプロパテ
ィまたはメソッドを「ユーザ定義プロパティ」または
「ユーザ定義メソッド」と呼び、その他従来のプロパテ
ィやメソッドを「既存のプロパティ」、「既存のメソッ
ド」と呼ぶこととする。
【0038】このプロパティ・アクセス関数は、本願発
明の好適な実施例においては、"GetPropert
y/PutProperty"という、ユーザ定義プロ
パティ共通のプロパティ・アクセス関数がセットされる
(以下、この複数のユーザ定義のプロパティ情報に共通
のプロパティ・アクセス関数を「ジェネリック・プロパ
ティ・アクセス関数」と呼ぶ)。
明の好適な実施例においては、"GetPropert
y/PutProperty"という、ユーザ定義プロ
パティ共通のプロパティ・アクセス関数がセットされる
(以下、この複数のユーザ定義のプロパティ情報に共通
のプロパティ・アクセス関数を「ジェネリック・プロパ
ティ・アクセス関数」と呼ぶ)。
【0039】図に示すように、既存のプロパティ情報部
分151と、ユーザ定義のプロパティ情報部分153が
共通の形式で管理されているため、プロパティ編集部1
03、プログラムビルダ100、及びインタープリタ1
20は、既存のプロパティ情報部分151と同様にユー
ザ定義のプロパティ情報部分153を扱うことができ
る。但し、既存のプロパティの情報と、ユーザ定義のプ
ロパティの情報を共通の形式で管理する必要は必ずしも
必須ではなく、部品情報記憶部110のプロパティ・テ
ーブル150にアクセスするプロパティ編集部103等
に変更を加え、2種類のテーブルにアクセス可能にする
ことにより、本発明を実施することもできる。さらに、
既存のプロパティの情報と、ユーザ定義のプロパティの
情報をテーブルで管理する必要は必ずしもなく、プロパ
ティ名をキーに、それに対応した情報にアクセス可能な
形式で、情報が格納されていれば、本発明を実施するこ
とができる。
分151と、ユーザ定義のプロパティ情報部分153が
共通の形式で管理されているため、プロパティ編集部1
03、プログラムビルダ100、及びインタープリタ1
20は、既存のプロパティ情報部分151と同様にユー
ザ定義のプロパティ情報部分153を扱うことができ
る。但し、既存のプロパティの情報と、ユーザ定義のプ
ロパティの情報を共通の形式で管理する必要は必ずしも
必須ではなく、部品情報記憶部110のプロパティ・テ
ーブル150にアクセスするプロパティ編集部103等
に変更を加え、2種類のテーブルにアクセス可能にする
ことにより、本発明を実施することもできる。さらに、
既存のプロパティの情報と、ユーザ定義のプロパティの
情報をテーブルで管理する必要は必ずしもなく、プロパ
ティ名をキーに、それに対応した情報にアクセス可能な
形式で、情報が格納されていれば、本発明を実施するこ
とができる。
【0040】本発明の好適な実施例においては、このユ
ーザ登録により作成されたプロパティには、ユーザが定
義したプロパティであることを示すフラグ159がセッ
トされる。但し、かかるフラグは本発明の必須の構成要
素ではなくシステムが既存のプロパティ情報であるか、
ユーザ定義のプロパティ情報であるかを判別できればよ
い。かかる判別の手法としては、既存のプロパティ情報
と、ユーザ定義のプロパティ情報の格納する位置を変
え、その位置情報で区別する方法や、ユーザ定義のプロ
パティ情報のプロパティ名を既存のプロパティ情報のプ
ロパティ名と区別できる名前(例えばプロパティ名の先
頭または最後を「USR」にする)によって判別するこ
とも可能である。
ーザ登録により作成されたプロパティには、ユーザが定
義したプロパティであることを示すフラグ159がセッ
トされる。但し、かかるフラグは本発明の必須の構成要
素ではなくシステムが既存のプロパティ情報であるか、
ユーザ定義のプロパティ情報であるかを判別できればよ
い。かかる判別の手法としては、既存のプロパティ情報
と、ユーザ定義のプロパティ情報の格納する位置を変
え、その位置情報で区別する方法や、ユーザ定義のプロ
パティ情報のプロパティ名を既存のプロパティ情報のプ
ロパティ名と区別できる名前(例えばプロパティ名の先
頭または最後を「USR」にする)によって判別するこ
とも可能である。
【0041】B2.部品情報記憶部メソッド・テーブル 図5は、本発明の好適な実施例における、部品情報記憶
部のメソッド・テーブルを示す図である。この部品情報
記憶部のメソッド・テーブル(以下単に「メソッド・テ
ーブル」と呼ぶ)は、プロパティ・テーブル150と同
様にプログラム部品の部品名に対応して存在し、既存の
メソッド情報161と、ユーザ登録のメソッド情報16
3によって構成されている。メソッド・テーブル160
の既存のメソッド情報161には図に示すように、メソ
ッド名165、実装関数アドレス情報(本発明の好適な
実施例においてはC言語が使用されている)167、メ
ソッド・タイプ168、及びユーザ定義フラグ169を
管理している。
部のメソッド・テーブルを示す図である。この部品情報
記憶部のメソッド・テーブル(以下単に「メソッド・テ
ーブル」と呼ぶ)は、プロパティ・テーブル150と同
様にプログラム部品の部品名に対応して存在し、既存の
メソッド情報161と、ユーザ登録のメソッド情報16
3によって構成されている。メソッド・テーブル160
の既存のメソッド情報161には図に示すように、メソ
ッド名165、実装関数アドレス情報(本発明の好適な
実施例においてはC言語が使用されている)167、メ
ソッド・タイプ168、及びユーザ定義フラグ169を
管理している。
【0042】この実装関数アドレス情報167は、この
メソッド・テーブルが管理しているプログラム部品にお
いて、そのメソッドが実行された場合に起動されるモジ
ュールをポイントするためのアドレス情報を管理してい
る。例えば、そのプログラム部品が、ボタン・アイコン
の部品であり、メソッドが"Move"であった場合、そ
のボタン・アイコンを移動するために実行されるプログ
ラムモジュールをポイントするためのアドレス情報を管
理している。この既存のメソッド情報の実装関数は、プ
ログラム部品が管理しているため、実装関数アドレス情
報は、プログラム部品131,133の実装関数をポイ
ントとするためのアドレスである。メソッド・タイプ1
68は、そのメソッドの実行に必要なプロパティを定義
している。具体的には、「引き数1、引き数2、...
引き数n/戻り値1、戻り値2、...戻り値m」の形
式で定義されている。メソッドは、その種類によって、
引き数のみを有するもの、戻り値のみを有するもの、双
方を有するもの、双方とも有していないものが存在す
る。
メソッド・テーブルが管理しているプログラム部品にお
いて、そのメソッドが実行された場合に起動されるモジ
ュールをポイントするためのアドレス情報を管理してい
る。例えば、そのプログラム部品が、ボタン・アイコン
の部品であり、メソッドが"Move"であった場合、そ
のボタン・アイコンを移動するために実行されるプログ
ラムモジュールをポイントするためのアドレス情報を管
理している。この既存のメソッド情報の実装関数は、プ
ログラム部品が管理しているため、実装関数アドレス情
報は、プログラム部品131,133の実装関数をポイ
ントとするためのアドレスである。メソッド・タイプ1
68は、そのメソッドの実行に必要なプロパティを定義
している。具体的には、「引き数1、引き数2、...
引き数n/戻り値1、戻り値2、...戻り値m」の形
式で定義されている。メソッドは、その種類によって、
引き数のみを有するもの、戻り値のみを有するもの、双
方を有するもの、双方とも有していないものが存在す
る。
【0043】ユーザ定義のメソッド情報163も同様
に、メソッド名165、実装関数アドレス情報167、
メソッド・タイプ168、及びユーザ定義フラグ169
を管理している。このように、既存のメソッド情報部分
161と、ユーザ定義のメソッド情報部分163が共通
の形式で管理されているため、プロパティ編集部10
3、プログラムビルダ100、及びインタープリタ12
0は、既存のメソッド情報部分161と同様にユーザ定
義のメソッド情報部分163を扱うことができる。ユー
ザ定義のメソッド情報163において、この実装関数ア
ドレス情報167は、1つのプログラム部品に対して定
義された、複数のユーザ定義のメソッド情報に共通のも
のであり、後述するプログラム部品131のメソッド・
コール・アダプタ137をポイントするためのアドレス
情報を管理している。
に、メソッド名165、実装関数アドレス情報167、
メソッド・タイプ168、及びユーザ定義フラグ169
を管理している。このように、既存のメソッド情報部分
161と、ユーザ定義のメソッド情報部分163が共通
の形式で管理されているため、プロパティ編集部10
3、プログラムビルダ100、及びインタープリタ12
0は、既存のメソッド情報部分161と同様にユーザ定
義のメソッド情報部分163を扱うことができる。ユー
ザ定義のメソッド情報163において、この実装関数ア
ドレス情報167は、1つのプログラム部品に対して定
義された、複数のユーザ定義のメソッド情報に共通のも
のであり、後述するプログラム部品131のメソッド・
コール・アダプタ137をポイントするためのアドレス
情報を管理している。
【0044】プログラム部品におけるプロパティ情報と
同様に、既存のメソッド情報部分161は、プログラム
部品133がシステムにインストールされると、そのプ
ログラム部品133の有しているメソッド名、実装関
数、メソッド・タイプの情報がこのメソッド・テーブル
160にコピーされ登録される。この一方、ユーザ定義
のメソッド情報部分163は、部品情報編集部101で
プログラマがプログラム部品を指定して、追加の登録を
行うと、登録されたメソッド名、メソッド・タイプがセ
ットされ、実装関数が自動生成される。
同様に、既存のメソッド情報部分161は、プログラム
部品133がシステムにインストールされると、そのプ
ログラム部品133の有しているメソッド名、実装関
数、メソッド・タイプの情報がこのメソッド・テーブル
160にコピーされ登録される。この一方、ユーザ定義
のメソッド情報部分163は、部品情報編集部101で
プログラマがプログラム部品を指定して、追加の登録を
行うと、登録されたメソッド名、メソッド・タイプがセ
ットされ、実装関数が自動生成される。
【0045】この実装関数は、本願発明の好適な実施例
においては、"CallMethod"という、ユーザ定
義メソッド共通のプログラム部品に存在する見せかけの
実装関数をポイントするための情報がセットされる(以
下、この複数のユーザ定義のメソッド情報に共通の実装
関数アドレス情報を「ジェネリック・メソッド関数」と
呼ぶ)。また、本発明の好適な実施例においては、この
ユーザ登録により作成されたメソッドには、ユーザが定
義したプロパティと同様に、ユーザが定義したメソッド
であることを示すフラグ169がセットされる。但し、
かかるフラグも、プロパティ情報におけるフラグ159
と同様に、本発明の必須の構成要素ではなくシステムが
既存のメソッド情報であるか、ユーザ定義のメソッド情
報であるかを判別できればよい。また、プロパティ情報
において述べたように、既存のメソッド情報とユーザ定
義のメソッド情報は、共通の形式で管理することは必須
ではない。また、テーブルの形式で管理することも必須
ではない。
においては、"CallMethod"という、ユーザ定
義メソッド共通のプログラム部品に存在する見せかけの
実装関数をポイントするための情報がセットされる(以
下、この複数のユーザ定義のメソッド情報に共通の実装
関数アドレス情報を「ジェネリック・メソッド関数」と
呼ぶ)。また、本発明の好適な実施例においては、この
ユーザ登録により作成されたメソッドには、ユーザが定
義したプロパティと同様に、ユーザが定義したメソッド
であることを示すフラグ169がセットされる。但し、
かかるフラグも、プロパティ情報におけるフラグ159
と同様に、本発明の必須の構成要素ではなくシステムが
既存のメソッド情報であるか、ユーザ定義のメソッド情
報であるかを判別できればよい。また、プロパティ情報
において述べたように、既存のメソッド情報とユーザ定
義のメソッド情報は、共通の形式で管理することは必須
ではない。また、テーブルの形式で管理することも必須
ではない。
【0046】B3.プログラム部品プロパティ情報 次に、プログラム部品131で管理されている情報につ
いて説明する。プログラム部品131においても、部品
情報記憶部110で管理されている情報と同様に、プロ
グラム部品のプロパティに関する情報と、プログラム部
品のメソッド情報に関する情報を管理している。ただ
し、部品情報管理部110において説明したように、プ
ログラム部品は、その性質上、プロパティ情報のみ、ま
たはメソッド情報のみを管理している部品も存在するた
め、この2種類の情報を同時に有していることは本願発
明の必須の構成用件とはならない。
いて説明する。プログラム部品131においても、部品
情報記憶部110で管理されている情報と同様に、プロ
グラム部品のプロパティに関する情報と、プログラム部
品のメソッド情報に関する情報を管理している。ただ
し、部品情報管理部110において説明したように、プ
ログラム部品は、その性質上、プロパティ情報のみ、ま
たはメソッド情報のみを管理している部品も存在するた
め、この2種類の情報を同時に有していることは本願発
明の必須の構成用件とはならない。
【0047】図6は、本発明の好適な実施例における、
プログラム部品のプロパティ情報(以下「部品プロパテ
ィ情報」という)およびプログラム部品のプロパティ・
テーブル(以下部品情報記憶部11のプロパティ・テー
ブルと区別するため、「部品プロパティ・テーブル」と
呼ぶ)を示す図である。部品プロパティ情報171で管
理されている情報は、部品情報記憶部110において説
明した既存のプロパティ情報151に対応する情報であ
り、部品プロパティ・テーブル173で管理されている
情報は、ユーザ定義のプロパティ情報153に対応する
情報である。部品プロパティ情報171は、その名が示
すように、本発明の好適な実施例においても、テーブル
の形式で管理されていない。プログラム部品がシステム
導入されるときに、プログラム部品は、この部品プロパ
ティ情報171の内容をビルダ100側に宣言するた
め、ビルダ100は、その情報の内容や種類を認識する
ことができる。
プログラム部品のプロパティ情報(以下「部品プロパテ
ィ情報」という)およびプログラム部品のプロパティ・
テーブル(以下部品情報記憶部11のプロパティ・テー
ブルと区別するため、「部品プロパティ・テーブル」と
呼ぶ)を示す図である。部品プロパティ情報171で管
理されている情報は、部品情報記憶部110において説
明した既存のプロパティ情報151に対応する情報であ
り、部品プロパティ・テーブル173で管理されている
情報は、ユーザ定義のプロパティ情報153に対応する
情報である。部品プロパティ情報171は、その名が示
すように、本発明の好適な実施例においても、テーブル
の形式で管理されていない。プログラム部品がシステム
導入されるときに、プログラム部品は、この部品プロパ
ティ情報171の内容をビルダ100側に宣言するた
め、ビルダ100は、その情報の内容や種類を認識する
ことができる。
【0048】部品プロパティ情報171は、部品情報管
理部110の既存のプロパティにおけるプロパティ・テ
ーブル151の情報とほぼ同様の情報を管理している。
プロパティ・テーブル151と部品プロパティ情報17
1の管理する情報で異なる点は、部品プロパティ情報1
71においては、プロパティに対する実際のプロパティ
・バリューの情報を管理していることである。このプロ
パティ・バリュー179は、プログラム部品131のイ
ンストール時にデフォルトでセットされている場合や、
プロパティ編集部103によってその値が設定される場
合とがある。
理部110の既存のプロパティにおけるプロパティ・テ
ーブル151の情報とほぼ同様の情報を管理している。
プロパティ・テーブル151と部品プロパティ情報17
1の管理する情報で異なる点は、部品プロパティ情報1
71においては、プロパティに対する実際のプロパティ
・バリューの情報を管理していることである。このプロ
パティ・バリュー179は、プログラム部品131のイ
ンストール時にデフォルトでセットされている場合や、
プロパティ編集部103によってその値が設定される場
合とがある。
【0049】この一方、部品プロパティ・テーブル17
3においては、プロパティ名175、タイプ177、お
よびプロパティ・バリュー179の情報が管理されてい
る。このプロパティ・テーブル173の情報は、部品情
報編集部101におけるプログラマの登録によってセッ
トされる。なお、プロパティ・バリュー179の情報
は、プロパティ編集部103から入力することもでき
る。
3においては、プロパティ名175、タイプ177、お
よびプロパティ・バリュー179の情報が管理されてい
る。このプロパティ・テーブル173の情報は、部品情
報編集部101におけるプログラマの登録によってセッ
トされる。なお、プロパティ・バリュー179の情報
は、プロパティ編集部103から入力することもでき
る。
【0050】B4.プログラム部品メソッド情報 次に、メソッドに関する情報がプログラム部品131に
おいてどのように管理されているかを説明する。図7
は、本発明の好適な実施例における、プログラム部品の
メソッド情報(以下単に「部品メソッド情報」と呼ぶ)
を示す図である。部品メソッド情報180は、部品情報
記憶部110におけるメソッド・テーブル160と同様
に既存のメソッド情報のメソッド名185、メソッド・
タイプ188を管理している。実装関数187は、部品
情報記憶部110におけるメソッド・テーブル160と
異なり、そのメソッドが実行された場合に起動されるモ
ジュールを管理している。
おいてどのように管理されているかを説明する。図7
は、本発明の好適な実施例における、プログラム部品の
メソッド情報(以下単に「部品メソッド情報」と呼ぶ)
を示す図である。部品メソッド情報180は、部品情報
記憶部110におけるメソッド・テーブル160と同様
に既存のメソッド情報のメソッド名185、メソッド・
タイプ188を管理している。実装関数187は、部品
情報記憶部110におけるメソッド・テーブル160と
異なり、そのメソッドが実行された場合に起動されるモ
ジュールを管理している。
【0051】ユーザ定義のメソッド情報に関しては、プ
ログラム部品131には、既存のメソッド情報のように
プログラム部品側で管理されておらず、この代替とし
て、メソッド・コール・アダプタ137が存在する。メ
ソッド・コール・アダプタの具体的な内容は後述する
が、ユーザ定義のメソッド情報のメソッドが実行された
場合に起動されるモジュールをポイントするための関数
が管理されている。
ログラム部品131には、既存のメソッド情報のように
プログラム部品側で管理されておらず、この代替とし
て、メソッド・コール・アダプタ137が存在する。メ
ソッド・コール・アダプタの具体的な内容は後述する
が、ユーザ定義のメソッド情報のメソッドが実行された
場合に起動されるモジュールをポイントするための関数
が管理されている。
【0052】C.システムの動作 本発明の好適な実施例においては、プログラム部品の機
能を拡張するために、図3で示したように、部品情報記
憶部110、プログラム部品131、インタプリタ12
0をそれぞれ拡張し、新たに部品情報編集部101を追
加している。以下では、部品情報のユーザ定義、ビルダ
ーによる部品情報の利用、実行時における部品情報の利
用、という観点から各部分の拡張およびシステムの動作
について説明する。
能を拡張するために、図3で示したように、部品情報記
憶部110、プログラム部品131、インタプリタ12
0をそれぞれ拡張し、新たに部品情報編集部101を追
加している。以下では、部品情報のユーザ定義、ビルダ
ーによる部品情報の利用、実行時における部品情報の利
用、という観点から各部分の拡張およびシステムの動作
について説明する。
【0053】C1.部品情報のユーザ定義 図8は、本発明の好適な実施例における、部品情報をプ
ログラマ(ユーザ)が定義する際のデータの流れを示す
図である。部品情報の更新、すなわち、プロパティの追
加、変更、削除、及び、メソッドの追加、変更、削除
は、部品情報編集部101が提供する機能によって行う
ことができる。
ログラマ(ユーザ)が定義する際のデータの流れを示す
図である。部品情報の更新、すなわち、プロパティの追
加、変更、削除、及び、メソッドの追加、変更、削除
は、部品情報編集部101が提供する機能によって行う
ことができる。
【0054】(1).プロパティの定義 プログラマは、部品情報編集部101において、プログ
ラム部品の指定を行った後、プロパティ情報を入力する
ためのエントリを表示させることができる。本発明の好
適な実施例においては、プログラム部品は、新規プログ
ラム部品登録用アイコン、または既存のプログラム部品
アイコンとして提供されているため、そのプログラム部
品のアイコンをクリックすることにより選択することが
できる。
ラム部品の指定を行った後、プロパティ情報を入力する
ためのエントリを表示させることができる。本発明の好
適な実施例においては、プログラム部品は、新規プログ
ラム部品登録用アイコン、または既存のプログラム部品
アイコンとして提供されているため、そのプログラム部
品のアイコンをクリックすることにより選択することが
できる。
【0055】プログラマが指定したプログラム部品がす
でに存在している場合(本発明の好適な実施例において
は、既に登録されているプログラム部品はプルダウンメ
ニューにて選択可能になっている)は、そのプログラム
部品のプロパティ情報、がユーザに修正及び削除可能に
表示される。プログラマは、プロパティ・タイプ156
を修正することができ、また、プロパティ名155を修
正すると、修正後の新たなプロパティとして登録され
る。プログラマが選択したプログラム部品が新規なもの
である場合、プログラマは、プロパティ名155、プロ
パティ・タイプ156を入力する。本発明の好適な実施
例においては、この更新(追加/修正/削除)に際し、
シンタックスチェック等、内部的に矛盾の生ずる更新を
チェックし、矛盾の生ずる更新を自動訂正またはリジェ
クトすることができる。
でに存在している場合(本発明の好適な実施例において
は、既に登録されているプログラム部品はプルダウンメ
ニューにて選択可能になっている)は、そのプログラム
部品のプロパティ情報、がユーザに修正及び削除可能に
表示される。プログラマは、プロパティ・タイプ156
を修正することができ、また、プロパティ名155を修
正すると、修正後の新たなプロパティとして登録され
る。プログラマが選択したプログラム部品が新規なもの
である場合、プログラマは、プロパティ名155、プロ
パティ・タイプ156を入力する。本発明の好適な実施
例においては、この更新(追加/修正/削除)に際し、
シンタックスチェック等、内部的に矛盾の生ずる更新を
チェックし、矛盾の生ずる更新を自動訂正またはリジェ
クトすることができる。
【0056】このユーザによる登録操作により既存のプ
ロパティ情報の更新の場合、内部的には部品情報記憶部
110内のプロパティ・テーブル153のプロパティ情
報が更新され(既存のプロパティ情報の更新の場合、プ
ロパティ・タイプ156が更新され、既存のプロパティ
の削除の場合、そのプロパティのプロパティ名155、
プロパティ・タイプ156、プロパティ・アクセス関数
157,158、フラグ159が削除される)、さらに
対応するプログラム部品131内の部品プロパティ情報
171の情報もこれに対応して変更される。
ロパティ情報の更新の場合、内部的には部品情報記憶部
110内のプロパティ・テーブル153のプロパティ情
報が更新され(既存のプロパティ情報の更新の場合、プ
ロパティ・タイプ156が更新され、既存のプロパティ
の削除の場合、そのプロパティのプロパティ名155、
プロパティ・タイプ156、プロパティ・アクセス関数
157,158、フラグ159が削除される)、さらに
対応するプログラム部品131内の部品プロパティ情報
171の情報もこれに対応して変更される。
【0057】プログラマが指定したプログラム部品がシ
ステムに存在していない新規なものである場合は、ユー
ザの指定したプログラム部品名が部品情報記憶部110
と、対応するプログラム部品に登録され、登録されたプ
ログラム部品のプロパティ・テーブル153にユーザが
定義したプロパティ名155、プロパティ・タイプ15
6が登録され、プロパティ・アクセス関数157,15
8にジェネリック・プロパティ・アクセス関数が自動的
にセットされ、フラグ159にユーザ定義プロパティで
あることを判別するための"1"が自動的にセットされ
る。そして対応するプログラム部品131内の部品プロ
パティ・テーブル173のプロパティ名175、プロパ
ティ・タイプ177にユーザの定義したプロパティ名、
プロパティ・タイプにセットされる。
ステムに存在していない新規なものである場合は、ユー
ザの指定したプログラム部品名が部品情報記憶部110
と、対応するプログラム部品に登録され、登録されたプ
ログラム部品のプロパティ・テーブル153にユーザが
定義したプロパティ名155、プロパティ・タイプ15
6が登録され、プロパティ・アクセス関数157,15
8にジェネリック・プロパティ・アクセス関数が自動的
にセットされ、フラグ159にユーザ定義プロパティで
あることを判別するための"1"が自動的にセットされ
る。そして対応するプログラム部品131内の部品プロ
パティ・テーブル173のプロパティ名175、プロパ
ティ・タイプ177にユーザの定義したプロパティ名、
プロパティ・タイプにセットされる。
【0058】(2).メソッドの定義 プロパティの定義と同様に、プログラマは、部品情報編
集部101において、プログラム部品の指定を行うと、
メソッド情報を入力するためのエントリが表示される。
プログラマが指定したプログラム部品がすでに存在して
いる場合は、そのプログラム部品のメソッド情報がユー
ザに修正及び削除可能に表示される。プログラマは、メ
ソッド・タイプ168を修正することができ、また、メ
ソッド名165を修正すると、修正後の新たなメソッド
として登録される。プログラマが選択したプログラム部
品が新規なものである場合、プログラマは、メソッド名
165、メソッド・タイプ168を入力する。本発明の
好適な実施例においては、この更新(追加/修正/削
除)に際し、シンタックスチェック等、内部的に矛盾の
生ずる更新をチェックし、矛盾の生ずる更新を自動訂正
またはリジェクトすることができる。
集部101において、プログラム部品の指定を行うと、
メソッド情報を入力するためのエントリが表示される。
プログラマが指定したプログラム部品がすでに存在して
いる場合は、そのプログラム部品のメソッド情報がユー
ザに修正及び削除可能に表示される。プログラマは、メ
ソッド・タイプ168を修正することができ、また、メ
ソッド名165を修正すると、修正後の新たなメソッド
として登録される。プログラマが選択したプログラム部
品が新規なものである場合、プログラマは、メソッド名
165、メソッド・タイプ168を入力する。本発明の
好適な実施例においては、この更新(追加/修正/削
除)に際し、シンタックスチェック等、内部的に矛盾の
生ずる更新をチェックし、矛盾の生ずる更新を自動訂正
またはリジェクトすることができる。
【0059】このユーザによる登録操作により、既存の
メソッド情報の更新の場合、内部的には部品情報記憶部
110内のメソッド・テーブル163のメソッド情報が
更新され(既存のメソッド情報の更新の場合、メソッド
・タイプ168が更新され、既存のメソッドの削除の場
合、そのメソッドのメソッド名165、実装関数アドレ
ス情報167、メソッド・タイプ168フラグ169が
削除される)、さらに対応するプログラム部品131内
の部品メソッド情報180の情報もこれに対応して変更
される。
メソッド情報の更新の場合、内部的には部品情報記憶部
110内のメソッド・テーブル163のメソッド情報が
更新され(既存のメソッド情報の更新の場合、メソッド
・タイプ168が更新され、既存のメソッドの削除の場
合、そのメソッドのメソッド名165、実装関数アドレ
ス情報167、メソッド・タイプ168フラグ169が
削除される)、さらに対応するプログラム部品131内
の部品メソッド情報180の情報もこれに対応して変更
される。
【0060】プログラマが指定したプログラム部品がシ
ステムに存在していない新規なものである場合は、ユー
ザの指定したプログラム部品名が部品情報記憶部110
と、対応するプログラム部品に登録され、登録されたプ
ログラム部品のメソッド・テーブル163にユーザが定
義したメソッド名165、メソッド・タイプ168が部
品情報編集部101で定義された内容にセットされ、実
装関数アドレス情報167にジェネリック・メソッド関
数が自動的にセットされ、フラグ159にユーザ定義メ
ソッドであることを判別するための"1"が自動的にセッ
トされる。この点において、部品情報編集部101と、
部品情報記憶部110の動きは、プロパティ情報の場合
と同様であるが、メソッド情報の場合は、本発明の好適
な実施例においては、部品情報記憶部110内のメソッ
ド・テーブル163のメソッド情報のみが更新され、プ
ログラム部品131に対しての更新はない。これは、後
述するメソッド・コール・アダプタの働きによって、他
の場所に格納されているメソッドのコードを利用できる
からである。但し、プログラム部品において、十分な記
憶域が確保できるのであれば、プロパティの場合と同様
に、プログラム部品側でメソッドのコードを管理するこ
とも可能である。
ステムに存在していない新規なものである場合は、ユー
ザの指定したプログラム部品名が部品情報記憶部110
と、対応するプログラム部品に登録され、登録されたプ
ログラム部品のメソッド・テーブル163にユーザが定
義したメソッド名165、メソッド・タイプ168が部
品情報編集部101で定義された内容にセットされ、実
装関数アドレス情報167にジェネリック・メソッド関
数が自動的にセットされ、フラグ159にユーザ定義メ
ソッドであることを判別するための"1"が自動的にセッ
トされる。この点において、部品情報編集部101と、
部品情報記憶部110の動きは、プロパティ情報の場合
と同様であるが、メソッド情報の場合は、本発明の好適
な実施例においては、部品情報記憶部110内のメソッ
ド・テーブル163のメソッド情報のみが更新され、プ
ログラム部品131に対しての更新はない。これは、後
述するメソッド・コール・アダプタの働きによって、他
の場所に格納されているメソッドのコードを利用できる
からである。但し、プログラム部品において、十分な記
憶域が確保できるのであれば、プロパティの場合と同様
に、プログラム部品側でメソッドのコードを管理するこ
とも可能である。
【0061】C2.ユーザ定義部品情報によるプログラ
ム作成支援 次に、このようにユーザによって定義されたプログラム
部品がプログラム作成においてどのように利用されるか
を説明する。図9は、本発明の好適な実施例における、
ビルダがプログラム部品情報を利用する際のデータの流
れを示す図である。
ム作成支援 次に、このようにユーザによって定義されたプログラム
部品がプログラム作成においてどのように利用されるか
を説明する。図9は、本発明の好適な実施例における、
ビルダがプログラム部品情報を利用する際のデータの流
れを示す図である。
【0062】(1).プロパティ・バリューの設定 プログラマは、プロパティ編集部103を用いて、指定
したプログラム部品のプロパティ・バリューを設定する
ことができる。本発明の好適な実施例においては、部品
情報記憶部110のプロパティ・テーブル150は、既
存のプロパティとユーザ定義のプロパティを共通のテー
ブルで管理しているため、プロパティ編集部103は、
従来のプロパティ編集部の機能に変更を加えなくても、
部品情報記憶部110のユーザ定義のプロパティ・テー
ブル153のプロパティ情報にアクセスすることができ
る。但し、部品情報記憶部110のプロパティ・テーブ
ル150は、既存のプロパティ・テーブル151とユー
ザ定義のプロパティ・テーブル153を共通の形式で管
理することは必須ではなく、プロパティ編集部103
を、別々で異なる既存のプロパティ・テーブル151と
ユーザ定義のプロパティ・テーブル153の2つのテー
ブルにアクセスできるようにプロパティ編集部の機能を
拡張する事によって実施することができる。
したプログラム部品のプロパティ・バリューを設定する
ことができる。本発明の好適な実施例においては、部品
情報記憶部110のプロパティ・テーブル150は、既
存のプロパティとユーザ定義のプロパティを共通のテー
ブルで管理しているため、プロパティ編集部103は、
従来のプロパティ編集部の機能に変更を加えなくても、
部品情報記憶部110のユーザ定義のプロパティ・テー
ブル153のプロパティ情報にアクセスすることができ
る。但し、部品情報記憶部110のプロパティ・テーブ
ル150は、既存のプロパティ・テーブル151とユー
ザ定義のプロパティ・テーブル153を共通の形式で管
理することは必須ではなく、プロパティ編集部103
を、別々で異なる既存のプロパティ・テーブル151と
ユーザ定義のプロパティ・テーブル153の2つのテー
ブルにアクセスできるようにプロパティ編集部の機能を
拡張する事によって実施することができる。
【0063】プログラマが定義したプロパティ・バリュ
ーが既存のプロパティ情報であった場合、ビルダ100
は、プロパティ・テーブル151のプロパティ・アクセ
ス関数157,158を使用し、従来技術による手法を
用いて、プログラム部品131の部品プロパティ情報1
71のプロパティ・バリュー179にアクセスし、プロ
パティ編集部103を用いて、指定したプログラム部品
のプロパティ・バリューを設定することができる。
ーが既存のプロパティ情報であった場合、ビルダ100
は、プロパティ・テーブル151のプロパティ・アクセ
ス関数157,158を使用し、従来技術による手法を
用いて、プログラム部品131の部品プロパティ情報1
71のプロパティ・バリュー179にアクセスし、プロ
パティ編集部103を用いて、指定したプログラム部品
のプロパティ・バリューを設定することができる。
【0064】プログラマが指定したプロパティ・バリュ
ーがユーザ定義プロパティのプロパティ・バリューであ
った場合、ビルダ100は、部品情報記憶部110のプ
ロパティ・テーブル153に格納されているプロパティ
名155とジェネリック・プロパティ・アクセス関数1
57,158を用いて、プログラム部品131の部品プ
ロパティ・テーブル173のプロパティ・バリュー17
9にアクセスし、プロパティ編集部103を用いて、プ
ロパティ・バリューを設定することができる。
ーがユーザ定義プロパティのプロパティ・バリューであ
った場合、ビルダ100は、部品情報記憶部110のプ
ロパティ・テーブル153に格納されているプロパティ
名155とジェネリック・プロパティ・アクセス関数1
57,158を用いて、プログラム部品131の部品プ
ロパティ・テーブル173のプロパティ・バリュー17
9にアクセスし、プロパティ編集部103を用いて、プ
ロパティ・バリューを設定することができる。
【0065】具体的に説明すると、ビルダ100は、ま
ず、ユーザ定義のプロパティ・バリューをプロパティ編
集部103で登録可能にするために、部品情報記憶部1
10のプロパティ・テーブル150に格納されているプ
ロパティ名155を表示する。また、これに対応するプ
ロパティ・バリューを表示するために、まず、そのプロ
パティが既存のプロパティであるか、ユーザ定義のプロ
パティであるかをプロパティ・テーブル150のフラグ
159を検査することによって判断する。
ず、ユーザ定義のプロパティ・バリューをプロパティ編
集部103で登録可能にするために、部品情報記憶部1
10のプロパティ・テーブル150に格納されているプ
ロパティ名155を表示する。また、これに対応するプ
ロパティ・バリューを表示するために、まず、そのプロ
パティが既存のプロパティであるか、ユーザ定義のプロ
パティであるかをプロパティ・テーブル150のフラグ
159を検査することによって判断する。
【0066】ユーザ定義のプロパティであると判断され
た場合は、ジェネリック・プロパティ・アクセス関数の
うち、"GetProperty"157を用いて、プロ
グラム部品131の部品プロパティ・テーブル173に
アクセスする。そして、部品プロパティ・テーブル17
3のプロパティ・バリュー179をプロパティ名175
をキーに検索し、その値をプロパティ編集部103に渡
すことによって、プロパティ・バリュー179をプロパ
ティ編集部103に表示可能にする(登録された値がな
い場合は、空白が表示される)。
た場合は、ジェネリック・プロパティ・アクセス関数の
うち、"GetProperty"157を用いて、プロ
グラム部品131の部品プロパティ・テーブル173に
アクセスする。そして、部品プロパティ・テーブル17
3のプロパティ・バリュー179をプロパティ名175
をキーに検索し、その値をプロパティ編集部103に渡
すことによって、プロパティ・バリュー179をプロパ
ティ編集部103に表示可能にする(登録された値がな
い場合は、空白が表示される)。
【0067】そして、プログラマが、プロパティ編集部
103のプロパティ・バリューを変更すると、ビルダ1
00は、部品情報記憶部110のプロパティ・テーブル
153に格納されているプロパティ名155とジェネリ
ック・プロパティ・アクセス関数のうち、"PutPr
operty"158を用いて、プログラム部品131
の部品プロパティ・テーブル173のプロパティ・バリ
ュー179にアクセスし、プロパティ・バリューを更新
する。
103のプロパティ・バリューを変更すると、ビルダ1
00は、部品情報記憶部110のプロパティ・テーブル
153に格納されているプロパティ名155とジェネリ
ック・プロパティ・アクセス関数のうち、"PutPr
operty"158を用いて、プログラム部品131
の部品プロパティ・テーブル173のプロパティ・バリ
ュー179にアクセスし、プロパティ・バリューを更新
する。
【0068】(2).メソッド情報の利用 プログラマはコード編集部107において、ユーザ定義
プログラム部品のメソッドを特定する記載をすることが
でき、これにより、コード実行部120において実行す
ることができる、詳しくは後に詳述する。
プログラム部品のメソッドを特定する記載をすることが
でき、これにより、コード実行部120において実行す
ることができる、詳しくは後に詳述する。
【0069】C3.ユーザ定義部品情報を使用して作成
されたプログラムの実行 次に、ユーザによって定義されたプログラム部品を使用
して作成されたプログラムがどのように実行されるかを
説明する。
されたプログラムの実行 次に、ユーザによって定義されたプログラム部品を使用
して作成されたプログラムがどのように実行されるかを
説明する。
【0070】図10は、本発明の好適な実施例におけ
る、プログラム実行時でのプログラム部品情報を利用す
る際のデータの流れを示す図である。まず、既存(ユー
ザ定義の情報でなく、従来のプログラム部品の情報)の
プロパティ情報、メソッド情報の呼出については、イン
タープリタ120がコード記憶部109に記述されたコ
ードを解釈し、ここで、プログラム部品名とプロパティ
名、または、プログラム部品名とメソッド名が指定され
ていると、インタプリタ120は、プログラム部品の情
報を利用することができる。
る、プログラム実行時でのプログラム部品情報を利用す
る際のデータの流れを示す図である。まず、既存(ユー
ザ定義の情報でなく、従来のプログラム部品の情報)の
プロパティ情報、メソッド情報の呼出については、イン
タープリタ120がコード記憶部109に記述されたコ
ードを解釈し、ここで、プログラム部品名とプロパティ
名、または、プログラム部品名とメソッド名が指定され
ていると、インタプリタ120は、プログラム部品の情
報を利用することができる。
【0071】(1)プロパティ情報の利用 図11は、本発明の好適な実施例における、プログラム
実行時でのユーザ定義プロパティ情報を利用する際のデ
ータの流れを示す図である。インタプリタ120がプロ
グラム部品のプロパティ情報を利用する場合、インタプ
リタは、ビルダ100に対し、プログラム部品131の
プロパティ・バリュー179にアクセスするための情報
を求める。これに対し、ビルダ100は、部品情報記憶
部110のプロパティ・テーブル150をインタプリタ
120から渡されたプロパティ名をキーに検索する。ビ
ルダ100は、インタプリタ120が要求するプロパテ
ィが、ユーザ定義のプロパティ情報か既存のプロパティ
情報であるかを、部品情報記憶部110のプロパティ・
テーブル150のフラグ159を検査することにより判
断する。
実行時でのユーザ定義プロパティ情報を利用する際のデ
ータの流れを示す図である。インタプリタ120がプロ
グラム部品のプロパティ情報を利用する場合、インタプ
リタは、ビルダ100に対し、プログラム部品131の
プロパティ・バリュー179にアクセスするための情報
を求める。これに対し、ビルダ100は、部品情報記憶
部110のプロパティ・テーブル150をインタプリタ
120から渡されたプロパティ名をキーに検索する。ビ
ルダ100は、インタプリタ120が要求するプロパテ
ィが、ユーザ定義のプロパティ情報か既存のプロパティ
情報であるかを、部品情報記憶部110のプロパティ・
テーブル150のフラグ159を検査することにより判
断する。
【0072】既存のプロパティ情報であった場合は、ビ
ルダ100は、インタプリタ120に、プロパティ・テ
ーブル150のプロパティ・アクセス関数157,15
8を返す。このとき、インタプリタ120は、コードの
内容から、プログラム部品のプロパティ・バリューへの
アクセスがGetであるかPutであるかを判断するこ
とができるため、インタプリタ120は、ビルダ100
に対し、Getプロパティ・アクセス関数157、Pu
tプロパティ・アクセス関数158のいずれかを指定し
て受領する方式と、Getプロパティ・アクセス関数1
57と、Putプロパティ・アクセス関数158の両方
を受領し、そのいずれか一方を選択する方式とがある。
ルダ100は、インタプリタ120に、プロパティ・テ
ーブル150のプロパティ・アクセス関数157,15
8を返す。このとき、インタプリタ120は、コードの
内容から、プログラム部品のプロパティ・バリューへの
アクセスがGetであるかPutであるかを判断するこ
とができるため、インタプリタ120は、ビルダ100
に対し、Getプロパティ・アクセス関数157、Pu
tプロパティ・アクセス関数158のいずれかを指定し
て受領する方式と、Getプロパティ・アクセス関数1
57と、Putプロパティ・アクセス関数158の両方
を受領し、そのいずれか一方を選択する方式とがある。
【0073】インタプリタ120は、この情報によっ
て、プログラム部品131,133の部品プロパティ情
報にアクセスし、プロパティ・バリュー179にアクセ
スし、Getプロパティ・アクセス関数157の場合
は、プロパティ・バリュー179の読み取りを行い、P
utプロパティ・アクセス関数158の場合は、プロパ
ティ・バリュー179への書き込みを行う。
て、プログラム部品131,133の部品プロパティ情
報にアクセスし、プロパティ・バリュー179にアクセ
スし、Getプロパティ・アクセス関数157の場合
は、プロパティ・バリュー179の読み取りを行い、P
utプロパティ・アクセス関数158の場合は、プロパ
ティ・バリュー179への書き込みを行う。
【0074】この一方、ユーザ定義のプロパティである
場合は、ビルダ100は、インタプリタ120に、プロ
パティ名を引き数としたジエネリックプロパティ・アク
セス関数157,158を返す。このときも既存のプロ
パティ情報へのアクセスと同様に、インタプリタ120
は、コードの内容から、プログラム部品のプロパティ・
バリューへのアクセスがGetであるかPutであるか
を判断することができるため、インタプリタ120は、
ビルダ100に対し、Getジェネリック・プロパティ
・アクセス関数157、Putジェネリック・プロパテ
ィ・アクセス関数158のいずれかを指定して受領する
方式と、Getジェネリック・プロパティ・アクセス関
数157と、Putジェネリック・プロパティ・アクセ
ス関数158の両方を受領し、そのいずれか一方を選択
する方式とがある。
場合は、ビルダ100は、インタプリタ120に、プロ
パティ名を引き数としたジエネリックプロパティ・アク
セス関数157,158を返す。このときも既存のプロ
パティ情報へのアクセスと同様に、インタプリタ120
は、コードの内容から、プログラム部品のプロパティ・
バリューへのアクセスがGetであるかPutであるか
を判断することができるため、インタプリタ120は、
ビルダ100に対し、Getジェネリック・プロパティ
・アクセス関数157、Putジェネリック・プロパテ
ィ・アクセス関数158のいずれかを指定して受領する
方式と、Getジェネリック・プロパティ・アクセス関
数157と、Putジェネリック・プロパティ・アクセ
ス関数158の両方を受領し、そのいずれか一方を選択
する方式とがある。
【0075】また、インタプリタ120が、ビルダ10
0に対し、プロパティ名をキーに、プロパティがユーザ
定義プロパティであるか、既存のプロパティであるかの
情報をもとめ、ビルダ100は、プロパティ・テーブル
150のフラグ159のみをインタプリタ120に返
し、インタプリタ120側でジェネリック・プロパティ
・アクセス関数を発行してもよい。さらに、プログラム
部品131へのプロパティ情報登録時に、プログラム部
品名、プロパティ名をインタプリタ120に渡すことに
より、インタプリタ120は、ビルダ100側にユーザ
定義のプロパティか、既存のプロパティかの情報の問い
合わせを行う必要はなくなる。
0に対し、プロパティ名をキーに、プロパティがユーザ
定義プロパティであるか、既存のプロパティであるかの
情報をもとめ、ビルダ100は、プロパティ・テーブル
150のフラグ159のみをインタプリタ120に返
し、インタプリタ120側でジェネリック・プロパティ
・アクセス関数を発行してもよい。さらに、プログラム
部品131へのプロパティ情報登録時に、プログラム部
品名、プロパティ名をインタプリタ120に渡すことに
より、インタプリタ120は、ビルダ100側にユーザ
定義のプロパティか、既存のプロパティかの情報の問い
合わせを行う必要はなくなる。
【0076】インタプリタ120は、この情報によっ
て、プログラム部品131の部品プロパティ・テーブル
にアクセスし、また、プロパティ・バリュー179にア
クセスし、Getジェネリック・プロパティ・アクセス
関数157の場合は、プロパティ・バリュー179の読
み取りを行い、Putジェネリック・プロパティ・アク
セス関数158の場合は、プロパティ・バリュー179
への書き込みを行う。
て、プログラム部品131の部品プロパティ・テーブル
にアクセスし、また、プロパティ・バリュー179にア
クセスし、Getジェネリック・プロパティ・アクセス
関数157の場合は、プロパティ・バリュー179の読
み取りを行い、Putジェネリック・プロパティ・アク
セス関数158の場合は、プロパティ・バリュー179
への書き込みを行う。
【0077】(2)メソッド情報へのアクセス 図12は、本発明の好適な実施例における、プログラム
実行時でのユーザ定義メソッド情報を利用する際のデー
タの流れを示す図である。既存のメソッドコールは部品
のメソッドに対応する関数を直接呼び出すことにより行
われる。しかしながら、新たに追加されたメソッドに対
応する関数は、プログラム部品側に存在せず、インタプ
リタ120が管理している。そこで、ダミーの関数を用
意し、インタープリタからこの関数を関数名とともに呼
び出すことにする。インタプリタは、プロパティ情報と
ほぼ同様な方式に従って、メソッド名を引き数としたジ
ェネリック・メソッド関数を発行する。
実行時でのユーザ定義メソッド情報を利用する際のデー
タの流れを示す図である。既存のメソッドコールは部品
のメソッドに対応する関数を直接呼び出すことにより行
われる。しかしながら、新たに追加されたメソッドに対
応する関数は、プログラム部品側に存在せず、インタプ
リタ120が管理している。そこで、ダミーの関数を用
意し、インタープリタからこの関数を関数名とともに呼
び出すことにする。インタプリタは、プロパティ情報と
ほぼ同様な方式に従って、メソッド名を引き数としたジ
ェネリック・メソッド関数を発行する。
【0078】プログラム部品131のメソッド・コール
・アダプタ137は、インタプリタ120から受領した
ジェネリック・メソッド関数を、インタプリタ120で
管理するメソッドのコード123を格納する位置をポイ
ントする情報(以下「ジェネリック・メソッド・コード
・アクセス情報」と呼ぶ)に変換する。本発明の好適な
実施例においては、ジェネリック・メソッド・コード・
アクセス情報は、メソッド名を引き数として、インタプ
リタ側に返される。本発明の好適な実施例においては、
メソッドのコード123は、コード編集部107によっ
て作成され、メソッド名をキーに、インタプリタ120
が検索可能な状態でコード記憶部109に格納されてお
り、インタプリタ120は、ジェネリック・メソッド・
コード・アクセス情報を受領すると、メソッド名をキー
にメソッドのコード123を検索し、メソッドのコード
123を実行する。
・アダプタ137は、インタプリタ120から受領した
ジェネリック・メソッド関数を、インタプリタ120で
管理するメソッドのコード123を格納する位置をポイ
ントする情報(以下「ジェネリック・メソッド・コード
・アクセス情報」と呼ぶ)に変換する。本発明の好適な
実施例においては、ジェネリック・メソッド・コード・
アクセス情報は、メソッド名を引き数として、インタプ
リタ側に返される。本発明の好適な実施例においては、
メソッドのコード123は、コード編集部107によっ
て作成され、メソッド名をキーに、インタプリタ120
が検索可能な状態でコード記憶部109に格納されてお
り、インタプリタ120は、ジェネリック・メソッド・
コード・アクセス情報を受領すると、メソッド名をキー
にメソッドのコード123を検索し、メソッドのコード
123を実行する。
【0079】D.プログラマ作業手順 次に、本願発明の好適な実施例におけるプログラム部品
の利用形態について、プログラマの作業手順に沿って説
明する
の利用形態について、プログラマの作業手順に沿って説
明する
【0080】D1.部品情報定義手順 図15乃至19は、本発明の好適な実施例における、プ
ログラム部品の設定手順を示す図であり、図15は、プ
ログラム部品の設定手順における初期状態を示す図であ
る。図において、メインウインドウ310は、ビルダの
メインウインドウであり、アプリケーション・ウインド
ウ302に対応する各種フォームや、コード記憶部10
9に格納された各種コードを管理するためのウインドウ
である。
ログラム部品の設定手順を示す図であり、図15は、プ
ログラム部品の設定手順における初期状態を示す図であ
る。図において、メインウインドウ310は、ビルダの
メインウインドウであり、アプリケーション・ウインド
ウ302に対応する各種フォームや、コード記憶部10
9に格納された各種コードを管理するためのウインドウ
である。
【0081】アプリケーション・ウインドウ320は、
図2,3に示すオブジェクト視覚表現部105に対応す
るウインドウである。初期状態において、何も情報が入
っておらず、プログラマはこのアプリケーション・ウイ
ンドウ320を用いてプログラム部品の指定等を行う。
このアプリケーション・ウインドウによって、プログラ
マは直感的に理解しやすいプログラミングを行うことが
可能になる。但し、後述する部品ライブラリの表示機能
を拡張することによってもプログラム部品の指定を示す
ことが可能であるため、このアプリケーション・ウイン
ドウは本発明の必須の構成要素ではない。
図2,3に示すオブジェクト視覚表現部105に対応す
るウインドウである。初期状態において、何も情報が入
っておらず、プログラマはこのアプリケーション・ウイ
ンドウ320を用いてプログラム部品の指定等を行う。
このアプリケーション・ウインドウによって、プログラ
マは直感的に理解しやすいプログラミングを行うことが
可能になる。但し、後述する部品ライブラリの表示機能
を拡張することによってもプログラム部品の指定を示す
ことが可能であるため、このアプリケーション・ウイン
ドウは本発明の必須の構成要素ではない。
【0082】図の左上に配置された複数のアイコンの集
合体は部品ライブラリ330である。このアイコン1つ
1つがプログラム部品に対応している。これらのアイコ
ンのうち、UDObjと記されたアイコン331はユー
ザ定義プログラム部品専用に提供されているアイコンで
ある。プログラマが新たなプログラム部品を作成する場
合、図16に示すように、まず、アプリケーション・ウ
インドウ320に、UDObjアイコン331をドロッ
プする(アイコン321)。アプリケーション・ウイン
ドウ320にアイコン331を位置づける手法は、ドラ
ッグドロップの他、アイコン331をダブルクリックし
たり、アイコン331を選択した状態において、予め設
定されたキーをおす等、種々存在し、設計段階でさまざ
まに設定できる事項である。
合体は部品ライブラリ330である。このアイコン1つ
1つがプログラム部品に対応している。これらのアイコ
ンのうち、UDObjと記されたアイコン331はユー
ザ定義プログラム部品専用に提供されているアイコンで
ある。プログラマが新たなプログラム部品を作成する場
合、図16に示すように、まず、アプリケーション・ウ
インドウ320に、UDObjアイコン331をドロッ
プする(アイコン321)。アプリケーション・ウイン
ドウ320にアイコン331を位置づける手法は、ドラ
ッグドロップの他、アイコン331をダブルクリックし
たり、アイコン331を選択した状態において、予め設
定されたキーをおす等、種々存在し、設計段階でさまざ
まに設定できる事項である。
【0083】そして、図17に示すように、プログラマ
がメイン・ウインドウ310のウインドウの項目をクリ
ックし、プルダウンを表示させ、プロパティ・エディタ
の項目を選択すると、プロパティ・エディタ・ウインド
ウ340がオープンする。このアイコンに対応したウイ
ンドウをオープンさせる手法や手順は、例えば、アプリ
ケーション・ウインドウ320に位置づけられたアイコ
ン321をダブルクリックするとプロパティ・エディタ
・ウインドウ340がオープンする等種々存在し、当業
者は設計段階でそれらの手法や手順から所望のものを選
択し実施化することができる。本発明の好適な実施例に
おいては、新規登録用のアイコン331がアプリケーシ
ョン・ウインドウ320にドロップされると、プロパテ
ィ・エディタ・ウインドウ340が自動的にオープン
し、カーソルはプログラム部品名入力エントリ347に
位置づけられ、強調表示によってプログラマにプログラ
ム部品名の入力を促す。なお、このプロパティ・エディ
タ・ウインドウ340は図2,3のプロパティ編集部1
03に対応するウインドウである。
がメイン・ウインドウ310のウインドウの項目をクリ
ックし、プルダウンを表示させ、プロパティ・エディタ
の項目を選択すると、プロパティ・エディタ・ウインド
ウ340がオープンする。このアイコンに対応したウイ
ンドウをオープンさせる手法や手順は、例えば、アプリ
ケーション・ウインドウ320に位置づけられたアイコ
ン321をダブルクリックするとプロパティ・エディタ
・ウインドウ340がオープンする等種々存在し、当業
者は設計段階でそれらの手法や手順から所望のものを選
択し実施化することができる。本発明の好適な実施例に
おいては、新規登録用のアイコン331がアプリケーシ
ョン・ウインドウ320にドロップされると、プロパテ
ィ・エディタ・ウインドウ340が自動的にオープン
し、カーソルはプログラム部品名入力エントリ347に
位置づけられ、強調表示によってプログラマにプログラ
ム部品名の入力を促す。なお、このプロパティ・エディ
タ・ウインドウ340は図2,3のプロパティ編集部1
03に対応するウインドウである。
【0084】プログラマは、まず、プログラム部品名の
設定を行うことができる。図において、プログラマは、
プロパティ・エディタ・ウインドウ340のプログラム
部品名入力エントリ347にキーボード入力することに
より、プログラム部品名を、"Order"と設定してい
る。そして、登録と記されたボタン・アイコン341を
クリックすることによって、プログラマの入力の内容を
登録する。この操作により、プログラム部品名"Ord
er"に対応して、部品情報記憶部110に空のプロパ
ティ・テーブル150、メソッド・テーブル160が作
成され、また、部品ライブラリ130に、プログラム部
品名"Order"の新たなプログラム部品が作成され
る。
設定を行うことができる。図において、プログラマは、
プロパティ・エディタ・ウインドウ340のプログラム
部品名入力エントリ347にキーボード入力することに
より、プログラム部品名を、"Order"と設定してい
る。そして、登録と記されたボタン・アイコン341を
クリックすることによって、プログラマの入力の内容を
登録する。この操作により、プログラム部品名"Ord
er"に対応して、部品情報記憶部110に空のプロパ
ティ・テーブル150、メソッド・テーブル160が作
成され、また、部品ライブラリ130に、プログラム部
品名"Order"の新たなプログラム部品が作成され
る。
【0085】なお、本発明の好適な実施例においては、
この初期登録状態において、部品情報記憶部110に登
録されるプロパティ・テーブル150等は、空ではな
く、どのアプリケーション・ウインドウに位置づけられ
たかを示す"Container"や、インデックス等の
プロパティ名や、プロパティ・バリューが自動的にセッ
トされ、部品情報記憶部110のプロパティ・テーブル
150や、プログラム部品のプロパティ情報に登録され
る。このプログラム部品を部品ライブラリ330にアイ
コンとして表示し、選択可能な状態にすることも可能で
ある。なおプロパティ・エディタ・ウインドウ340に
は、キャンセルのボタン・アイコン343が提供されて
おり、このボタンがクリックされるとプロパティ・エデ
ィタ・ウインドウ340の各エントリに入力された未登
録の文字列が無効にされる。
この初期登録状態において、部品情報記憶部110に登
録されるプロパティ・テーブル150等は、空ではな
く、どのアプリケーション・ウインドウに位置づけられ
たかを示す"Container"や、インデックス等の
プロパティ名や、プロパティ・バリューが自動的にセッ
トされ、部品情報記憶部110のプロパティ・テーブル
150や、プログラム部品のプロパティ情報に登録され
る。このプログラム部品を部品ライブラリ330にアイ
コンとして表示し、選択可能な状態にすることも可能で
ある。なおプロパティ・エディタ・ウインドウ340に
は、キャンセルのボタン・アイコン343が提供されて
おり、このボタンがクリックされるとプロパティ・エデ
ィタ・ウインドウ340の各エントリに入力された未登
録の文字列が無効にされる。
【0086】プログラム部品名の設定が終わると、次に
プログラマは、プロパティやメソッドの登録を行う。図
18において表示されているウインドウ350は、オブ
ジェクト・ウインドウであり、図2,3における部品情
報編集部に対応している。オブジェクト・ウインドウ3
50にはプログラム部品名355が表示されているた
め、プログラマは、プログラム部品"Order"のプロ
パティまたはメソッドを定義していることを容易に知る
ことができる。図18において、まず、プロパティの登
録が行われている。プロパティの定義は、プロパティ入
力エントリ357に、プロパティ名とプロパティ・タイ
プをキーボード入力することにより行うことができる。
また、一覧と記されたボタン・アイコン361をクリッ
クすると、定形的なプロパティ名とプロパティ・タイプ
がプルダウンメニューの形式で表示され、プログラマ
は、その一覧の中から1つを選択し、利用することがで
きる。
プログラマは、プロパティやメソッドの登録を行う。図
18において表示されているウインドウ350は、オブ
ジェクト・ウインドウであり、図2,3における部品情
報編集部に対応している。オブジェクト・ウインドウ3
50にはプログラム部品名355が表示されているた
め、プログラマは、プログラム部品"Order"のプロ
パティまたはメソッドを定義していることを容易に知る
ことができる。図18において、まず、プロパティの登
録が行われている。プロパティの定義は、プロパティ入
力エントリ357に、プロパティ名とプロパティ・タイ
プをキーボード入力することにより行うことができる。
また、一覧と記されたボタン・アイコン361をクリッ
クすると、定形的なプロパティ名とプロパティ・タイプ
がプルダウンメニューの形式で表示され、プログラマ
は、その一覧の中から1つを選択し、利用することがで
きる。
【0087】このプロパティ入力エントリ357に記載
された文字列は、登録のボタン・アイコン363がクリ
ックされることにより登録される。プロパティの登録が
なされると、オブジェクト・ウインドウ350において
は、登録されているプロパティのリスト359に登録さ
れた定義の内容が追加される。図においては、"Pro
ductID as long"というプロパティの定
義文が登録されたことが示されている。
された文字列は、登録のボタン・アイコン363がクリ
ックされることにより登録される。プロパティの登録が
なされると、オブジェクト・ウインドウ350において
は、登録されているプロパティのリスト359に登録さ
れた定義の内容が追加される。図においては、"Pro
ductID as long"というプロパティの定
義文が登録されたことが示されている。
【0088】このプロパティの登録がなされると、部品
情報記憶部110のプロパティ・テーブル150のプロ
パティ名155,プロパティ・タイプが、ユーザの定義
した内容に従って更新され、また、プロパティ・アクセ
ス関数157,158のエントリにジェネリック・プロ
パティ・アクセス関数を示す情報がセットされる。ま
た、フラグ159に、ユーザ定義のプロパティであるこ
とを示す「1」がセットされる。同様に、プログラム部
品131においても、部品プロパティ・テーブル173
のプロパティ名とプロパティ・タイプが登録される。な
お、プロパティの登録のボタン・アイコンがクリックさ
れたことを検出して、プロパティ・エディタ・ウインド
ウ340を登録後の内容で再表示させることも可能であ
る。
情報記憶部110のプロパティ・テーブル150のプロ
パティ名155,プロパティ・タイプが、ユーザの定義
した内容に従って更新され、また、プロパティ・アクセ
ス関数157,158のエントリにジェネリック・プロ
パティ・アクセス関数を示す情報がセットされる。ま
た、フラグ159に、ユーザ定義のプロパティであるこ
とを示す「1」がセットされる。同様に、プログラム部
品131においても、部品プロパティ・テーブル173
のプロパティ名とプロパティ・タイプが登録される。な
お、プロパティの登録のボタン・アイコンがクリックさ
れたことを検出して、プロパティ・エディタ・ウインド
ウ340を登録後の内容で再表示させることも可能であ
る。
【0089】図19において、プロパティの登録に次い
でメソッドの登録が行われている。プロパティの登録と
メソッドの登録は、どちらを先に行ってもよいが、本明
細書においては、読者の負担軽減のため、プロパティを
先に、メソッドを後に説明を行うこととする。メソッド
の登録の、プロパティの登録と同様に、入力エントリ3
65に、メソッド名と、メソッド・タイプをキーボード
入力することにより行うことができる。また、一覧と記
されたボタン・アイコン369をクリックすると、定形
的なメソッド名とメソッド・タイプがプルダウンメニュ
ーの形式で表示され、プログラマは、その一覧の中から
1つを選択し、利用することができる。
でメソッドの登録が行われている。プロパティの登録と
メソッドの登録は、どちらを先に行ってもよいが、本明
細書においては、読者の負担軽減のため、プロパティを
先に、メソッドを後に説明を行うこととする。メソッド
の登録の、プロパティの登録と同様に、入力エントリ3
65に、メソッド名と、メソッド・タイプをキーボード
入力することにより行うことができる。また、一覧と記
されたボタン・アイコン369をクリックすると、定形
的なメソッド名とメソッド・タイプがプルダウンメニュ
ーの形式で表示され、プログラマは、その一覧の中から
1つを選択し、利用することができる。
【0090】このメソッド入力エントリ365に記載さ
れた文字列は、登録のボタン・アイコン363がクリッ
クされることにより登録される。メソッドの登録がなさ
れると、オブジェクト・ウインドウ350においては、
登録されているメソッドのリスト367に登録された定
義の内容が追加される。図においては、"QueryP
rice(ID as long) as strin
g"というメソッドの定義文が登録されたことが示され
ている。
れた文字列は、登録のボタン・アイコン363がクリッ
クされることにより登録される。メソッドの登録がなさ
れると、オブジェクト・ウインドウ350においては、
登録されているメソッドのリスト367に登録された定
義の内容が追加される。図においては、"QueryP
rice(ID as long) as strin
g"というメソッドの定義文が登録されたことが示され
ている。
【0091】このメソッドの登録がなされると、部品情
報記憶部110のメソッド・テーブル160のメソッド
名165,メソッド・タイプ168が、ユーザの定義し
た内容に従って更新され、また、実装関数アドレス情報
167のエントリにジェネリック・メソッド関数を示す
情報が自動的にセットされる。また、フラグ169に、
ユーザ定義のメソッドであることを示す「1」がセット
される。
報記憶部110のメソッド・テーブル160のメソッド
名165,メソッド・タイプ168が、ユーザの定義し
た内容に従って更新され、また、実装関数アドレス情報
167のエントリにジェネリック・メソッド関数を示す
情報が自動的にセットされる。また、フラグ169に、
ユーザ定義のメソッドであることを示す「1」がセット
される。
【0092】D2.プログラム作成手順 次に、上述のユーザ定義のプログラム部品の情報が、プ
ログラム開発時に、どのようにプログラマに用いられる
かを説明する。図20、21は、本発明の好適な実施例
における、プログラム部品の利用手順を示す図である。
図20において、プログラマは、ユーザ定義プロパティ
のプロパティ・バリューの設定を行っている。プログラ
マは、プロパティ・エディタ・ウインドウ340を再表
示させると、ユーザ定義プロパティに対応したエントリ
が提供されているため、プロパティ・バリューを設定す
ることができる。
ログラム開発時に、どのようにプログラマに用いられる
かを説明する。図20、21は、本発明の好適な実施例
における、プログラム部品の利用手順を示す図である。
図20において、プログラマは、ユーザ定義プロパティ
のプロパティ・バリューの設定を行っている。プログラ
マは、プロパティ・エディタ・ウインドウ340を再表
示させると、ユーザ定義プロパティに対応したエントリ
が提供されているため、プロパティ・バリューを設定す
ることができる。
【0093】これは、プロパティ・エディタ・ウインド
ウ340の再表示が行われると、ビルダ100は、部品
情報記憶部110のプロパティ・テーブル150に格納
されているプロパティ名155をすべて表示する。ま
た、これに対応するプロパティ・バリューを表示するた
めに、まず、そのプロパティが既存のプロパティである
か、ユーザ定義のプロパティであるかをプロパティ・テ
ーブル150のフラグ159を検査する事によって判断
する。ユーザ定義のプロパティである場合は、フラグ1
59の値が1であるため判断することができる。この場
合、ジェネリック・プロパティ・アクセス関数のう
ち、"GetProperty"157を用いて、プログ
ラム部品131の部品プロパティ・テーブル173にア
クセスする。そして、部品プロパティ・テーブル173
のプロパティ・バリュー179をプロパティ名175を
キーに検索し、その値をプロパティ編集部103に渡す
ことによって、プロパティ・バリュー179をプロパテ
ィ編集部103に表示する。この段階において、ユーザ
定義のプロパティのプロパティ・バリューは何も設定さ
れていない状態なので、空白が表示されることとなる。
ウ340の再表示が行われると、ビルダ100は、部品
情報記憶部110のプロパティ・テーブル150に格納
されているプロパティ名155をすべて表示する。ま
た、これに対応するプロパティ・バリューを表示するた
めに、まず、そのプロパティが既存のプロパティである
か、ユーザ定義のプロパティであるかをプロパティ・テ
ーブル150のフラグ159を検査する事によって判断
する。ユーザ定義のプロパティである場合は、フラグ1
59の値が1であるため判断することができる。この場
合、ジェネリック・プロパティ・アクセス関数のう
ち、"GetProperty"157を用いて、プログ
ラム部品131の部品プロパティ・テーブル173にア
クセスする。そして、部品プロパティ・テーブル173
のプロパティ・バリュー179をプロパティ名175を
キーに検索し、その値をプロパティ編集部103に渡す
ことによって、プロパティ・バリュー179をプロパテ
ィ編集部103に表示する。この段階において、ユーザ
定義のプロパティのプロパティ・バリューは何も設定さ
れていない状態なので、空白が表示されることとなる。
【0094】そして、プログラマが、プロパティ名"P
roduct"に対し、プロパティ・バリュー"PS/5
5"、(「PS/55」はIBM社の商標)、プロパテ
ィ名"ProductID"に対し、プロパティ・バリュ
ー"5433"を入力すると、ビルダ100は、部品情報
記憶部110のプロパティ・テーブル153に格納され
ているプロパティ名155とジェネリック・プロパティ
・アクセス関数のうち、"PutProperty"15
8を用いて、プログラム部品131の部品プロパティ・
テーブル173のプロパティ・バリュー179にアクセ
スし、プロパティ・バリューを更新する。
roduct"に対し、プロパティ・バリュー"PS/5
5"、(「PS/55」はIBM社の商標)、プロパテ
ィ名"ProductID"に対し、プロパティ・バリュ
ー"5433"を入力すると、ビルダ100は、部品情報
記憶部110のプロパティ・テーブル153に格納され
ているプロパティ名155とジェネリック・プロパティ
・アクセス関数のうち、"PutProperty"15
8を用いて、プログラム部品131の部品プロパティ・
テーブル173のプロパティ・バリュー179にアクセ
スし、プロパティ・バリューを更新する。
【0095】次に、コード編集部におけるプログラム開
発時に、どのようにプログラマに用いられるかを説明す
る。図21において、プログラマは、プログラムのコー
ディングをしている。プログラマは、このコード・エデ
ィタ・ウインドウ380において、ユーザ定義メソッド
のコードの作成と、メインロジック部のコード作成を行
うことができる。図において、ウインドウ380はコー
ド・エディタ・ウインドであり、図2,3におけるコー
ド編集部に対応している。この図において、プログラム
部品名"Order",メソッド名"QueryCust
omer"のユーザ定義メソッドのコードを定義してい
る。図におけるのコード記述エントリ393で記載され
たコードの内容が、コード記憶部109に格納され、イ
ンタプリタ120に渡されることにより、ユーザ定義メ
ソッドのコードとして実行されることとなる。ここに記
載されているメソッドのコードの記述から、他のプログ
ラム部品のプロパティやメソッドを使用するための記述
と同様のコーディングで、メインロジックの記述を行う
ことができる。コード記述エントリ393には、図に示
すように、他のプログラム部品の部品名395とプロパ
ティ397を指定し、または、他のプログラム部品の部
品名399とメソッド名401を引き数等を付加して指
定することにより他のプログラム部品のプロパティやメ
ソッドを利用することもできる。
発時に、どのようにプログラマに用いられるかを説明す
る。図21において、プログラマは、プログラムのコー
ディングをしている。プログラマは、このコード・エデ
ィタ・ウインドウ380において、ユーザ定義メソッド
のコードの作成と、メインロジック部のコード作成を行
うことができる。図において、ウインドウ380はコー
ド・エディタ・ウインドであり、図2,3におけるコー
ド編集部に対応している。この図において、プログラム
部品名"Order",メソッド名"QueryCust
omer"のユーザ定義メソッドのコードを定義してい
る。図におけるのコード記述エントリ393で記載され
たコードの内容が、コード記憶部109に格納され、イ
ンタプリタ120に渡されることにより、ユーザ定義メ
ソッドのコードとして実行されることとなる。ここに記
載されているメソッドのコードの記述から、他のプログ
ラム部品のプロパティやメソッドを使用するための記述
と同様のコーディングで、メインロジックの記述を行う
ことができる。コード記述エントリ393には、図に示
すように、他のプログラム部品の部品名395とプロパ
ティ397を指定し、または、他のプログラム部品の部
品名399とメソッド名401を引き数等を付加して指
定することにより他のプログラム部品のプロパティやメ
ソッドを利用することもできる。
【0096】このコード・エディタのウインドウでは、
モジュール・エントリ387、オブジェクト・エントリ
389、メソッド・エントリ391の3種類のエントリ
が提供されている。プログラマはこれらのエントリに、
直接キーボード入力することによって、コード記述エン
トリに入力したコードの部品名とメソッド名を指定す
る。各エントリ387,389,391には、プルダウ
ンメニューの機能を有している。
モジュール・エントリ387、オブジェクト・エントリ
389、メソッド・エントリ391の3種類のエントリ
が提供されている。プログラマはこれらのエントリに、
直接キーボード入力することによって、コード記述エン
トリに入力したコードの部品名とメソッド名を指定す
る。各エントリ387,389,391には、プルダウ
ンメニューの機能を有している。
【0097】モジュール・エントリ387のプルダウン
・メニューは、他のフォーム(コード・エディタで編集
した他のコード)を呼び出すために設けられている。こ
のプルダウン・メニューで選択されたフォームが、コー
ド記述エントリ393に表示される。オブジェクト・エ
ントリ389のプルダウン・メニューは、他のプログラ
ム部品を検索し選択するためのプルダウン・メニューで
ある。メソッド・エントリ391のプルダウン・メニュ
ーは、他のメソッドを検索し選択するためのプルダウン
・メニューである。
・メニューは、他のフォーム(コード・エディタで編集
した他のコード)を呼び出すために設けられている。こ
のプルダウン・メニューで選択されたフォームが、コー
ド記述エントリ393に表示される。オブジェクト・エ
ントリ389のプルダウン・メニューは、他のプログラ
ム部品を検索し選択するためのプルダウン・メニューで
ある。メソッド・エントリ391のプルダウン・メニュ
ーは、他のメソッドを検索し選択するためのプルダウン
・メニューである。
【0098】実行のためのボタン・アイコン381がク
リックされると、このコードがインタプリタ120に渡
され、前述の手順に従ってコードが実行される。なお、
実行のためのボタン・アイコン381の他に中断、中止
のためのボタン・アイコン383,385が提供されて
おり、このアイコンをクリックすることにより、プログ
ラムの実行を中断または中止することができる。
リックされると、このコードがインタプリタ120に渡
され、前述の手順に従ってコードが実行される。なお、
実行のためのボタン・アイコン381の他に中断、中止
のためのボタン・アイコン383,385が提供されて
おり、このアイコンをクリックすることにより、プログ
ラムの実行を中断または中止することができる。
【0099】
【発明の効果】以上説明したように、本発明によれば、
部品情報記憶部において、プログラム部品が本来持って
いる機能に関する情報を蓄積するだけでなく、実際の部
品にはない新たな機能も蓄積し、プログラム構築支援構
築装置内の他の装置やインタプリタが利用できるように
する。
部品情報記憶部において、プログラム部品が本来持って
いる機能に関する情報を蓄積するだけでなく、実際の部
品にはない新たな機能も蓄積し、プログラム構築支援構
築装置内の他の装置やインタプリタが利用できるように
する。
【0100】また、本発明によれば、部品情報編集部に
おいて、プログラム部品に新たなプロパティならびにメ
ソッドを追加することにより部品のみかけ上の機能を拡
張することができる。
おいて、プログラム部品に新たなプロパティならびにメ
ソッドを追加することにより部品のみかけ上の機能を拡
張することができる。
【0101】また、部品情報記憶部に保存された情報を
基にして、プログラム部品が元々持っていたプロパティ
ーと、新たに追加されたプロパティをプロパティ編集部
で区別なく変更することができる。
基にして、プログラム部品が元々持っていたプロパティ
ーと、新たに追加されたプロパティをプロパティ編集部
で区別なく変更することができる。
【0102】そして、部品情報記憶部に保存された情報
に基づいて、メソッドの骨格のコードを自動的に生成
し、新たに追加されたメソッドをコード編集部で記述
し、新たに追加されたメソッドやプロパティの利用に際
して、部品が元々持っていたものと区別なく利用するこ
とができる。
に基づいて、メソッドの骨格のコードを自動的に生成
し、新たに追加されたメソッドをコード編集部で記述
し、新たに追加されたメソッドやプロパティの利用に際
して、部品が元々持っていたものと区別なく利用するこ
とができる。
【0103】さらに、プログラムの実行に関して、イン
タプリターからプログラム部品を呼び出す場合に、部品
情報記憶部に保存された情報を用いて、新たに追加され
たプロパティの参照・変更、ならびにメソッドを呼び出
すことができる。
タプリターからプログラム部品を呼び出す場合に、部品
情報記憶部に保存された情報を用いて、新たに追加され
たプロパティの参照・変更、ならびにメソッドを呼び出
すことができる。
【0104】プログラム部品は、通常C言語等の言語に
よって記述されているため、従来は、あるプログラム部
品に対して新たにプロパティやメソッドを追加すること
は、これと異なる言語であるベーシック言語等によって
は行うことができず、C言語等によって行わなければな
らなかった。しかし、本発明のプログラム部品へのプロ
パティ情報やメソッド情報の追加方法を用いれば、ベー
シック言語等のよりユーザにとって理解しやすい言語で
コーディングすることが可能となり、開発効率も向上す
ることができる。
よって記述されているため、従来は、あるプログラム部
品に対して新たにプロパティやメソッドを追加すること
は、これと異なる言語であるベーシック言語等によって
は行うことができず、C言語等によって行わなければな
らなかった。しかし、本発明のプログラム部品へのプロ
パティ情報やメソッド情報の追加方法を用いれば、ベー
シック言語等のよりユーザにとって理解しやすい言語で
コーディングすることが可能となり、開発効率も向上す
ることができる。
【0105】
【図1】 ハードウェア構成の一実施例を示すブロック
図である。
図である。
【図2】 本発明のシステム構成の一実施例を示す機能
ブロック図である。
ブロック図である。
【図3】 本発明のシステム構成の一実施例における従
来技術との差異部分を示す機能ブロック図である。
来技術との差異部分を示す機能ブロック図である。
【図4】 本発明の好適な実施例における、部品情報記
憶部のプロパティ・テーブルを示す図である。
憶部のプロパティ・テーブルを示す図である。
【図5】 本発明の好適な実施例における、部品情報記
憶部のメソッド・テーブルを示す図である。
憶部のメソッド・テーブルを示す図である。
【図6】 本発明の好適な実施例における、プログラム
部品のプロパティ・テーブルを示す図である。
部品のプロパティ・テーブルを示す図である。
【図7】 本発明の好適な実施例における、プログラム
部品のメソッド・テーブルを示す図である。
部品のメソッド・テーブルを示す図である。
【図8】 本発明の好適な実施例における、部品情報を
更新する際のデータの流れを示す図である。
更新する際のデータの流れを示す図である。
【図9】 本発明の好適な実施例における、ビルダが部
品情報を利用する際のデータの流れを示す図である。
品情報を利用する際のデータの流れを示す図である。
【図10】 本発明の好適な実施例における、プログラ
ム実行時での部品情報を利用する際のデータの流れを示
す図である。
ム実行時での部品情報を利用する際のデータの流れを示
す図である。
【図11】 本発明の好適な実施例における、プログラ
ム実行時での部品情報を利用する際のデータの流れを示
す図である。
ム実行時での部品情報を利用する際のデータの流れを示
す図である。
【図12】 本発明の好適な実施例における、プログラ
ム実行時での部品情報を利用する際のデータの流れを示
す図である。
ム実行時での部品情報を利用する際のデータの流れを示
す図である。
【図13】 従来のプログラム部品の利用例を示す図で
ある。
ある。
【図14】 従来のプログラム作成支援システムを示す
図である。
図である。
【図15】 本発明の好適な実施例における、プログラ
ム部品の設定手順を示す図である。
ム部品の設定手順を示す図である。
【図16】 本発明の好適な実施例における、プログラ
ム部品の設定手順を示す図である。
ム部品の設定手順を示す図である。
【図17】 本発明の好適な実施例における、プログラ
ム部品の設定手順を示す図である。
ム部品の設定手順を示す図である。
【図18】 本発明の好適な実施例における、プログラ
ム部品の設定手順を示す図である。
ム部品の設定手順を示す図である。
【図19】 本発明の好適な実施例における、プログラ
ム部品の設定手順を示す図である。
ム部品の設定手順を示す図である。
【図20】 本発明の好適な実施例における、プログラ
ム部品の利用手順を示す図である。
ム部品の利用手順を示す図である。
【図21】 本発明の好適な実施例における、プログラ
ム部品の利用手順を示す図である。
ム部品の利用手順を示す図である。
【0106】
100 ビルダー(プログラム開発支援装置) 101 部品情報編集部 103 プロパティ編集部 105 オブジェクト視覚表現部 107 コード編集部 109 コード記憶部 110 部品情報記憶部 120 インタプリタ 130 部品ライブラリ 131,133 プログラム部品 137 メソッドアダプタ 150 プロパティ・テーブル 160 メソッド・テーブル 171 部品プロパティ情報 173 部品プロパティ・テーブル 180 部品メソッド情報
───────────────────────────────────────────────────── フロントページの続き (72)発明者 中村 祐一 神奈川県大和市下鶴間1623番地14 日本ア イ・ビー・エム株式会社 大和事業所内 (72)発明者 田胡 和哉 神奈川県大和市下鶴間1623番地14 日本ア イ・ビー・エム株式会社 大和事業所内
Claims (12)
- 【請求項1】入力装置と、表示装置と、コード実行部
と、前記コード実行部に自ら管理するメソッドとプロパ
ティの情報を提供するプログラム部品を含むデータ処理
システムであって、 (a)ユーザ定義プロパティのユーザ定義プロパティ
名、ユーザ定義プロパティ・バリューを管理する部品プ
ロパティテーブルと、ユーザ定義メソッド名とジェネリ
ック・メソッド関数を受けることにより、ユーザ定義メ
ソッドのコードをポイントするメソッドコールアダプタ
を含むプログラム部品と、 (b)プログラム部品名と、ユーザ定義プロパティ名及
びジェネリック・プロパティ・アクセス関数を管理する
プロパティテーブルと、ユーザ定義メソッド名及びジェ
ネリック・メソッド関数を管理するメソッド・テーブル
を備える部品情報記憶部と、 (c)前記プロパティ・テーブルのユーザ定義プロパテ
ィ名の登録及び前記メソッド・テーブルのユーザ定義メ
ソッド名の登録を行うための部品編集部と (d)前記プログラム部品のユーザ定義プロパティ・バ
リューを更新するためのプロパティ編集部と、 (e)メソッドの実行内容を特定するメソッドのコード
を編集するため、および、部品名とプロパティ名とメソ
ッド名の指定を含むメインロジックを編集するためのコ
ード編集部と、 (f)前記コード編集部で編集されたメソッドのコード
を部品名とメソッド名によって特定可能に格納し、前記
メインロジックを格納するコード記憶部と、 (g)前記コード記憶部に格納されたメインロジックを
受領し、前記メインロジックに含まれる部品名とプロパ
ティ名から、前記部品情報記憶部のプロパティ・テーブ
ルで管理されているジェネリック・プロパティ・アクセ
ス関数を特定し、前記プログラム部品に対し、ユーザ定
義プロパティ名とジェネリック・プロパティ・アクセス
関数を発行し、前記メインロジックに含まれる部品名と
メソッド名から、前記部品情報記憶部のメソッド・テー
ブルで管理されているジェネリック・メソッド関数を特
定し、前記プログラム部品に対し、ユーザ定義メソッド
名とジェネリック・メソッド関数を発行するコード実行
部と、 を含むシステム。 - 【請求項2】(a)ユーザ定義プロパティのユーザ定義
プロパティ名、ユーザ定義プロパティ・バリューを管理
する部品プロパティテーブルを含むプログラム部品と、 (b)前記プログラム部品のユーザ定義プロパティ・バ
リューにアクセスするためのユーザ定義プロパティ名
と、ジェネリック・プロパティ・アクセス関数を管理す
るプロパティテーブルを備える部品情報記憶部と、 (c)前記プロパティ・テーブルのユーザ定義プロパテ
ィ名と前記部品プロパティ・テーブルのユーザ定義プロ
パティ名を登録するための部品編集部とを含むプログラ
ム開発支援システム。 - 【請求項3】(a)ユーザ定義メソッド名とジェネリッ
ク・メソッド関数を受けることにより、ユーザ定義メソ
ッドのコードをポイントするメソッドコールアダプタを
含むプログラム部品と、 (b)プログラム部品名とユーザ定義メソッド名と、ジ
ェネリック・メソッド関数を管理するメソッド・テーブ
ルを備える部品情報記憶部と、 (c)前記メソッド・テーブルのユーザ定義メソッド名
を登録するための部品編集部と (d)メソッドの実行内容を特定するメソッドのコード
を編集するため、および、部品名とメソッド名の指定を
含むメインロジックを編集するためのコード編集部と、 (e)前記コード編集部で編集されたメソッドのコード
を部品名とメソッド名によって特定可能に格納し、前記
メインロジックを格納するコード記憶部と、 (f)前記コード記憶部に格納されたメインロジックを
受領し、前記メインロジックに含まれる部品名とメソッ
ド名から、前記部品情報記憶部のメソッド・テーブルで
管理されているジェネリック・メソッド関数を特定し、
前記プログラム部品に対し、ユーザ定義メソッド名とジ
ェネリック・メソッド関数を発行するコード実行部と、 を含むシステム。 - 【請求項4】入力装置と、表示装置と、コード実行部
と、前記コード実行部に自ら管理するメソッドとプロパ
ティを提供するプログラム部品と、前記プログラム部品
のプロパティ名、プロパティ・アクセス関数を管理する
プロパティ・テーブル及び、前記プログラム部品のメソ
ッド名、実装関数アドレス情報を管理するメソッド・テ
ーブルとを含むデータ処理システムにおけるプログラム
部品の機能を拡張する方法であって、 (a)ユーザによるプログラム部品の特定を検出する段
階と、 (b)前記特定されたプログラム部品のプロパティ名を
入力するためのプロパティ情報エントリとメソッド名を
入力するためのメソッド情報エントリを表示する段階
と、 (c)前記プロパティ情報エントリに入力されたユーザ
定義プロパティ名を前記プロパティ・テーブルに登録す
る段階と、 (d)前記メソッド情報エントリに入力されたユーザ定
義メソッド名を前記メソッド・テーブルに登録する段階
と、 を含む方法。 - 【請求項5】入力装置と、表示装置と、コード実行部
と、前記コード実行部に自ら管理するプロパティ・バリ
ューを提供するプログラム部品とを含むデータ処理シス
テムにおけるプログラム部品の機能を拡張する方法であ
って、 (a)ユーザによる新規プログラム部品の登録のための
プログラム部品を象徴する新規プログラム部品のアイコ
ンを前記表示装置に表示する段階と、 (b)ユーザによる新規プログラム部品のアイコンの特
定を検出する段階と、 (c)前記特定された新規プログラム部品のプログラム
部品名を入力するためのプログラム部品名入力エントリ
を表示する段階と、 (d)前記プログラム部品入力エントリに入力されたユ
ーザ定義プログラム部品名に対応したプロパティ名及び
プロパティ・バリューのエントリを有する部品プロパテ
ィ・テーブルを作成する段階と、 (e)前記特定されたプログラム部品のプロパティ名を
入力するためのプロパティ情報エントリを表示する段階
と、 (f)前記プロパティ情報エントリに入力されたユーザ
定義プロパティ名を前記部品プロパティ・テーブルに登
録する段階と、 (g)前記ユーザ定義プロパティ名に対応するプロパテ
ィ・バリューを入力するためのプロパティ・バリュー入
力エントリを表示する段階と、 (h)前記プロパティ・バリュー入力エントリに入力さ
れた値を前記部品プロパティ・テーブルに登録する段階
と、 を含む方法。 - 【請求項6】入力装置と、表示装置と、コード実行部
と、前記コード実行部に自ら管理するプロパティ・バリ
ューを提供するプログラム部品とを含むデータ処理シス
テムにおけるプログラム部品の機能を拡張する方法であ
って、 (a)ユーザによるプログラム部品の特定を検出する段
階と、 (b)前記特定されたプログラム部品のプロパティ名を
入力するためのプロパティ情報エントリを表示する段階
と、 (c)前記プロパティ情報エントリに入力されたユーザ
定義プロパティ名を前記特定されたプログラム部品と関
連付ける段階と、 (d)前記ユーザ定義プロパティ名に対応するプロパテ
ィ・バリューを入力するためのプロパティ・バリュー入
力エントリを表示する段階と、 (e)前記プロパティ・バリュー入力エントリに入力さ
れた値を前記特定されたプログラム部品に関連付ける段
階と、 を含む方法。 - 【請求項7】メソッド情報とプロパティ情報を管理する
プログラム部品と、前記プログラム部品のプロパティ
名、ジェネリック・プロパティ・アクセス関数を管理す
るプロパティ・テーブル及び、前記プログラム部品のメ
ソッド名、ジェネリック・メソッド関数を管理するメソ
ッド・テーブルと、コード実行部と、プログラム部品
名、プロパティ名、メソッド名の記述を含み、前記コー
ド実行部で実行するためのプログラム・コードと前記プ
ログラム部品のメソッドに対応付けられて格納されたユ
ーザ定義メソッドのコードを記憶するコード記憶部と、
前記コードを編集するためのコード編集部とを含むデー
タ処理システムにおけるプログラム・コードの実行方法
であって、 (a)プログラム部品名と前記プログラム部品のプロパ
ティ名と前記プログラム部品のメソッド名を指定する記
述を含むプログラムコードを受領する段階と、 (b)前記プログラムコードに含まれる部品名とプロパ
ティ名から、前記部品情報記憶部のプロパティ・テーブ
ルで管理されているジェネリック・プロパティ・アクセ
ス関数を特定する段階と、 (c)前記プログラム部品名と、前記部品情報記憶部の
プロパティ・テーブルで管理されているジェネリック・
プロパティ・アクセス関数に基づいて前記プログラム部
品のプロパティ・バリューを特定する段階と、 (d)前記プログラムコードに含まれる部品名とメソッ
ド名から、前記部品情報記憶部のメソッド・テーブルで
管理されているジェネリック・メソッド関数を特定する
段階と、 (e)前記プログラム部品に対し、ユーザ定義メソッド
名とジェネリック・メソッド関数を発行する段階と、 (f)プログラム部品が、ユーザ定義メソッド名とジェ
ネリック・メソッド関数を受けることに応答して発行し
た、ユーザ定義メソッドのコードをポイントするジェネ
リック・メソッド・コード・アクセス情報を受領する段
階と、 (g)前記ジェネリック・メソッド・コード・アクセス
情報を基づいて、前記コード記憶部に格納されたユーザ
定義メソッドのコードにアクセスする段階と、 (h)前記ユーザ定義メソッドのコードを実行する段階
と、 を含む方法。 - 【請求項8】プロパティ情報を管理するプログラム部品
と、前記プログラム部品のプロパティ名、ジェネリック
・プロパティ・アクセス関数を管理するプロパティ・テ
ーブルと、コード実行部と、プログラム部品名、プロパ
ティ名の記述を含み、前記コード実行部で実行するため
のプログラム・コードを記憶するコード記憶部と、前記
コードを編集するためのコード編集部とを含むデータ処
理システムにおけるプログラム・コードの実行方法であ
って、 (a)プログラム部品名と前記プログラム部品のプロパ
ティ名を指定する記述を含むプログラムコードを受領す
る段階と、 (b)前記プログラムコードに含まれる部品名とプロパ
ティ名から、前記部品情報記憶部のプロパティ・テーブ
ルで管理されているジェネリック・プロパティ・アクセ
ス関数を特定する段階と、 (c)前記プログラム部品名と、前記部品情報記憶部の
プロパティ・テーブルで管理されているジェネリック・
プロパティ・アクセス関数に基づいて前記プログラム部
品のプロパティ・バリューを特定する段階と、 を含む方法。 - 【請求項9】メソッド情報を管理するプログラム部品
と、前記プログラム部品のメソッド名、ジェネリック・
メソッド関数を管理するメソッド・テーブルと、コード
実行部と、プログラム部品名、メソッド名の記述を含
み、前記コード実行部で実行するためのプログラム・コ
ードと前記プログラム部品のメソッドに対応付けられて
格納されたユーザ定義メソッドのコードを記憶するコー
ド記憶部と、前記コードを編集するためのコード編集部
とを含むデータ処理システムにおけるプログラム・コー
ドの実行方法であって、 (a)プログラム部品名と前記プログラム部品のメソッ
ド名を指定する記述を含むプログラムコードを受領する
段階と、 (b)前記プログラムコードに含まれる部品名とメソッ
ド名から、前記部品情報記憶部のメソッド・テーブルで
管理されているジェネリック・メソッド関数を特定する
段階と、 (c)前記プログラム部品に対し、ユーザ定義メソッド
名とジェネリック・メソッド関数を発行する段階と、 (d)プログラム部品が、ユーザ定義メソッド名とジェ
ネリック・メソッド関数を受けることに応答して発行し
た、ユーザ定義メソッドのコードをポイントするジェネ
リック・メソッド・コード・アクセス情報を受領する段
階と、 (e)前記ジェネリック・メソッド・コード・アクセス
情報を基づいて、前記コード記憶部に格納されたユーザ
定義メソッドのコードにアクセスする段階と、 (f)前記ユーザ定義メソッドのコードを実行する段階
と、 を含む方法。 - 【請求項10】実行時において、自ら管理するメソッド
とプロパティを提供し、プログラム開発支援のためにプ
ログラム開発支援システムにロードされるプログラム部
品を格納する記憶媒体であって、 該プログラム部品は、 (a)ユーザ定義プロパティのユーザ定義プロパティ
名、ユーザ定義プロパティ・バリューのエントリを有す
る部品プロパティテーブルと、 (b)ユーザ定義メソッド名とジェネリック・メソッド
関数を前記プログラム開発支援システムから受けること
により、メソッドのコードをポイントするメソッドコー
ルアダプタと、 を含むことを特徴とする記憶媒体。 - 【請求項11】入力装置と、表示装置と、コード実行部
と、前記コード実行部に自ら管理するメソッドとプロパ
ティを提供するプログラム部品と、前記プログラム部品
のプロパティ名、プロパティ・アクセス関数を管理する
プロパティ・テーブル及び、前記プログラム部品のメソ
ッド名、実装関数アドレス情報を管理するメソッド・テ
ーブルとを含むデータ処理システムにおいて、プログラ
ム部品の機能を拡張するためのプログラムを格納する記
憶媒体であって、 該プログラムは、 (a)ユーザによるプログラム部品の特定を検出するこ
とを前記データ処理システムに指示するプログラムコー
ド手段と、 (b)前記特定されたプログラム部品のプロパティ名を
入力するためのプロパティ情報エントリとメソッド名を
入力するためのメソッド情報エントリを表示することを
前記データ処理システムに指示するプログラムコード手
段と、 (c)前記プロパティ情報エントリに入力されたユーザ
定義プロパティ名を前記プロパティ・テーブルに登録す
ることを前記データ処理システムに指示するプログラム
コード手段と、 (d)前記メソッド情報エントリに入力されたユーザ定
義メソッド名を前記メソッド・テーブルに登録すること
を前記データ処理システムに指示するプログラムコード
手段と、 を含む記憶媒体。 - 【請求項12】メソッド情報とプロパティ情報を管理す
るプログラム部品と、前記プログラム部品のプロパティ
名、ジェネリック・プロパティ・アクセス関数を管理す
るプロパティ・テーブル及び、前記プログラム部品のメ
ソッド名、ジェネリック・メソッド関数を管理するメソ
ッド・テーブルと、コード実行部と、プログラム部品
名、プロパティ名、メソッド名の記述を含み、前記コー
ド実行部で実行するためのプログラム・コードと前記プ
ログラム部品のメソッドに対応付けられて格納されたユ
ーザ定義メソッドのコードを記憶するコード記憶部と、
前記コードを編集するためのコード編集部とを含むデー
タ処理システムにおいて、前記プログラム・コードを実
行するためのプログラムを格納する記憶媒体であって、 該プログラムは、 (a)プログラム部品名と前記プログラム部品のプロパ
ティ名と前記プログラム部品のメソッド名を指定する記
述を含むプログラムコードを受領することを前記データ
処理システムに指示するプログラムコード手段と、 (b)前記プログラムコードに含まれる部品名とプロパ
ティ名から、前記部品情報記憶部のプロパティ・テーブ
ルで管理されているジェネリック・プロパティ・アクセ
ス関数を特定することを前記データ処理システムに指示
するプログラムコード手段と、 (c)前記プログラム部品名と、前記部品情報記憶部の
プロパティ・テーブルで管理されているジェネリック・
プロパティ・アクセス関数に基づいて前記プログラム部
品のプロパティ・バリューを特定することを前記データ
処理システムに指示するプログラムコード手段と、 (d)前記プログラムコードに含まれる部品名とメソッ
ド名から、前記部品情報記憶部のメソッド・テーブルで
管理されているジェネリック・メソッド関数を特定する
ことを前記データ処理システムに指示するプログラムコ
ード手段と、 (e)前記プログラム部品に対し、ユーザ定義メソッド
名とジェネリック・メソッド関数を発行することを前記
データ処理システムに指示するプログラムコード手段
と、 (f)プログラム部品が、ユーザ定義メソッド名とジェ
ネリック・メソッド関数を受けることに応答して発行し
た、ユーザ定義メソッドのコードをポイントするジェネ
リック・メソッド・コード・アクセス情報を受領するこ
とを前記データ処理システムに指示するプログラムコー
ド手段と、 (g)前記ジェネリック・メソッド・コード・アクセス
情報を基づいて、前記コード記憶部に格納されたユーザ
定義メソッドのコードにアクセスすることを前記データ
処理システムに指示するプログラムコード手段と、 (h)前記ユーザ定義メソッドのコードを実行すること
を前記データ処理システムに指示するプログラムコード
手段と、 を含む記憶媒体。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP17199896A JP3427918B2 (ja) | 1996-07-02 | 1996-07-02 | プログラム開発支援システム及び支援方法 |
| US08/814,427 US6182278B1 (en) | 1996-07-02 | 1997-03-10 | Program development support system and support method and storage medium for storing program components which are used for program development support |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP17199896A JP3427918B2 (ja) | 1996-07-02 | 1996-07-02 | プログラム開発支援システム及び支援方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH1040090A true JPH1040090A (ja) | 1998-02-13 |
| JP3427918B2 JP3427918B2 (ja) | 2003-07-22 |
Family
ID=15933637
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP17199896A Expired - Fee Related JP3427918B2 (ja) | 1996-07-02 | 1996-07-02 | プログラム開発支援システム及び支援方法 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US6182278B1 (ja) |
| JP (1) | JP3427918B2 (ja) |
Cited By (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2004280830A (ja) * | 2003-03-12 | 2004-10-07 | Microsoft Corp | ソフトウェアシステムのための拡張可能なカスタマイズフレームワーク |
| WO2006049210A1 (ja) * | 2004-11-02 | 2006-05-11 | Kabushiki Kaisha Yaskawa Denki | ロボット制御装置およびロボットシステム |
| JP2010026589A (ja) * | 2008-07-15 | 2010-02-04 | Casio Comput Co Ltd | 情報処理装置及びプログラム |
| US7689305B2 (en) | 2004-03-26 | 2010-03-30 | Harman International Industries, Incorporated | System for audio-related device communication |
| WO2010137077A1 (ja) * | 2009-05-28 | 2010-12-02 | 株式会社島津製作所 | 分析装置制御プログラム作成支援システム及び該システム用プログラム |
| CN109683859A (zh) * | 2018-12-04 | 2019-04-26 | 郑州云海信息技术有限公司 | 一种计算机软件开发管理平台,设备及可读存储介质 |
| JP2021505983A (ja) * | 2018-01-26 | 2021-02-18 | 拜椰特(上▲海▼)▲軟▼件技▲術▼有限公司 | 新しいプログラミング言語 |
| CN114077430A (zh) * | 2021-11-16 | 2022-02-22 | 上海上实龙创智能科技股份有限公司 | 界面生成方法、装置、电子设备及存储介质 |
Families Citing this family (27)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE19650293C1 (de) * | 1996-12-04 | 1998-04-09 | Siemens Ag | Verfahren zum Testen von Systemkomponenten eines objektorientierten Programms |
| US6654947B1 (en) * | 1998-12-23 | 2003-11-25 | At&T Corp. | Method and system for creating dynamic interfaces using a general control container |
| US6282699B1 (en) * | 1999-02-23 | 2001-08-28 | National Instruments Corporation | Code node for a graphical programming system which invokes execution of textual code |
| JP3871832B2 (ja) * | 1999-08-20 | 2007-01-24 | 日本電気株式会社 | データ処理プログラム自動生成システム及びその方法並びにコンピュータ可読記録媒体 |
| US7137102B2 (en) * | 2000-08-09 | 2006-11-14 | Fujitsu Limited | Program development device utilizing component, program development method and medium |
| US20020078103A1 (en) * | 2000-12-20 | 2002-06-20 | Gorman William Phillip | Wizard development kit |
| US7110936B2 (en) * | 2001-02-23 | 2006-09-19 | Complementsoft Llc | System and method for generating and maintaining software code |
| US7058899B2 (en) * | 2001-06-20 | 2006-06-06 | National Instruments Corporation | System and method for creating a graphical program based on a pre-defined program process |
| US7275026B2 (en) * | 2001-07-18 | 2007-09-25 | The Mathworks, Inc. | Implicit frame-based processing for block-diagram simulation |
| US6778990B2 (en) * | 2001-07-27 | 2004-08-17 | Hewlett-Packard Development Company, L.P. | Dynamic component activation method using a relational database as the repository for registration information |
| US7424684B2 (en) * | 2003-04-15 | 2008-09-09 | The Mathworks, Inc. | Frames in block diagram modeling |
| US7493595B2 (en) * | 2003-12-19 | 2009-02-17 | The United States Of America As Represented By The Secretary Of The Navy | Multiple-user graphical programming and analysis environment |
| US8291375B2 (en) * | 2004-03-29 | 2012-10-16 | Sybase, Inc. | Attribute-based component programming system and methodology for object-oriented languages |
| US20050268291A1 (en) * | 2004-05-27 | 2005-12-01 | International Business Machines Corporation | Specifying user interface interactions for controls in a data driven system |
| US10216372B1 (en) | 2004-12-06 | 2019-02-26 | The Mathworks, Inc. | Automatic import to a graphical model |
| US8060860B2 (en) * | 2005-04-22 | 2011-11-15 | Apple Inc. | Security methods and systems |
| US8365086B2 (en) * | 2005-05-03 | 2013-01-29 | The Mathworks, Inc. | System and method for building graphical instrument panels |
| US8566734B1 (en) * | 2005-08-31 | 2013-10-22 | Adobe Systems Incorporated | System and method for providing visual component layout input in alternate forms |
| US8196098B2 (en) * | 2006-01-03 | 2012-06-05 | International Business Machines Corporation | System and method for executing temporary processing agents |
| US20070180049A1 (en) * | 2006-01-31 | 2007-08-02 | Microsoft Corporation | Code hyperlinks |
| US8762940B2 (en) * | 2006-08-30 | 2014-06-24 | Ati Technologies Inc. | Drag and drop utilities |
| US20080270919A1 (en) * | 2007-04-27 | 2008-10-30 | Kulp Richard L | Context Based Software Layer |
| FR2929727A1 (fr) * | 2008-04-02 | 2009-10-09 | Jaxio Sarl | Ajout de code utilisateur dans un code source genere. |
| US9582596B2 (en) * | 2008-10-29 | 2017-02-28 | International Business Machines Corporation | Preventing not found error (404) responses on dynamically loaded missing images |
| US20100107091A1 (en) * | 2008-10-29 | 2010-04-29 | International Business Machines Corporation | Publishing requests for dynamically loaded missing images |
| WO2016113914A1 (ja) * | 2015-01-16 | 2016-07-21 | 株式会社野村総合研究所 | 開発支援システム |
| CN112817582B (zh) * | 2021-03-05 | 2023-08-08 | 网易(杭州)网络有限公司 | 代码处理方法、装置、计算机设备和存储介质 |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0319032A (ja) * | 1989-06-16 | 1991-01-28 | Hitachi Ltd | 関数処理方法 |
| JPH056275A (ja) * | 1991-06-06 | 1993-01-14 | Nippon Telegr & Teleph Corp <Ntt> | オブジエクトの動的機能拡張方法 |
Family Cites Families (13)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5165015A (en) * | 1989-09-25 | 1992-11-17 | Reliance Electric Industrial Company | Electronic template system and method |
| JPH03202963A (ja) * | 1989-12-28 | 1991-09-04 | Brother Ind Ltd | 図形処理装置 |
| JP2525546B2 (ja) * | 1992-09-08 | 1996-08-21 | インターナショナル・ビジネス・マシーンズ・コーポレイション | グラフィックリソ―ス・エディタ |
| US5758160A (en) * | 1993-06-28 | 1998-05-26 | Object Technology Licensing Corporation | Method and apparatus for building a software program using dependencies derived from software component interfaces |
| US5710926A (en) * | 1993-09-03 | 1998-01-20 | Maurer; Joseph Clark | Developers tool for object-oriented programming |
| JP3910221B2 (ja) * | 1993-12-28 | 2007-04-25 | 株式会社日立製作所 | オブジェクト指向データベース管理システム及び方法 |
| US5487141A (en) * | 1994-01-21 | 1996-01-23 | Borland International, Inc. | Development system with methods for visual inheritance and improved object reusability |
| US5850548A (en) * | 1994-11-14 | 1998-12-15 | Borland International, Inc. | System and methods for visual programming based on a high-level hierarchical data flow model |
| US5862372A (en) * | 1994-11-16 | 1999-01-19 | Morris; Robert M. | Visually oriented computer implemented application development system utilizing standardized objects and multiple views |
| US5537630A (en) * | 1994-12-05 | 1996-07-16 | International Business Machines Corporation | Method and system for specifying method parameters in a visual programming system |
| US5778227A (en) * | 1995-08-01 | 1998-07-07 | Intergraph Corporation | System for adding attributes to an object at run time in an object oriented computer environment |
| US5878260A (en) * | 1995-11-06 | 1999-03-02 | International Business Machines Corporation | Information handling system, method, and article of manufacture including object name services with multilevel indices |
| US5950001A (en) * | 1997-06-03 | 1999-09-07 | Sun Microsystems, Inc. | Method and apparatus for customizing a software component |
-
1996
- 1996-07-02 JP JP17199896A patent/JP3427918B2/ja not_active Expired - Fee Related
-
1997
- 1997-03-10 US US08/814,427 patent/US6182278B1/en not_active Expired - Lifetime
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0319032A (ja) * | 1989-06-16 | 1991-01-28 | Hitachi Ltd | 関数処理方法 |
| JPH056275A (ja) * | 1991-06-06 | 1993-01-14 | Nippon Telegr & Teleph Corp <Ntt> | オブジエクトの動的機能拡張方法 |
Cited By (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2004280830A (ja) * | 2003-03-12 | 2004-10-07 | Microsoft Corp | ソフトウェアシステムのための拡張可能なカスタマイズフレームワーク |
| US7689305B2 (en) | 2004-03-26 | 2010-03-30 | Harman International Industries, Incorporated | System for audio-related device communication |
| US7725826B2 (en) | 2004-03-26 | 2010-05-25 | Harman International Industries, Incorporated | Audio-related system node instantiation |
| US8249071B2 (en) | 2004-03-26 | 2012-08-21 | Harman International Industries, Incorporated | Audio related system communication protocol |
| WO2006049210A1 (ja) * | 2004-11-02 | 2006-05-11 | Kabushiki Kaisha Yaskawa Denki | ロボット制御装置およびロボットシステム |
| US8396599B2 (en) | 2004-11-02 | 2013-03-12 | Kabushiki Kaisha Yaskawa Denki | Robot control apparatus and robot system |
| JP2010026589A (ja) * | 2008-07-15 | 2010-02-04 | Casio Comput Co Ltd | 情報処理装置及びプログラム |
| WO2010137077A1 (ja) * | 2009-05-28 | 2010-12-02 | 株式会社島津製作所 | 分析装置制御プログラム作成支援システム及び該システム用プログラム |
| JP2021505983A (ja) * | 2018-01-26 | 2021-02-18 | 拜椰特(上▲海▼)▲軟▼件技▲術▼有限公司 | 新しいプログラミング言語 |
| CN109683859A (zh) * | 2018-12-04 | 2019-04-26 | 郑州云海信息技术有限公司 | 一种计算机软件开发管理平台,设备及可读存储介质 |
| CN109683859B (zh) * | 2018-12-04 | 2022-02-18 | 郑州云海信息技术有限公司 | 一种计算机软件开发管理平台,设备及可读存储介质 |
| CN114077430A (zh) * | 2021-11-16 | 2022-02-22 | 上海上实龙创智能科技股份有限公司 | 界面生成方法、装置、电子设备及存储介质 |
Also Published As
| Publication number | Publication date |
|---|---|
| JP3427918B2 (ja) | 2003-07-22 |
| US6182278B1 (en) | 2001-01-30 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH1040090A (ja) | プログラム開発支援システム及び支援方法、プログラム開発支援のために用いられるプログラム部品を格納する記憶媒体 | |
| JP3272281B2 (ja) | データアイテム表示方法及び表示装置、データアイテムの表示を制御するプログラムを格納した記憶媒体 | |
| US7039875B2 (en) | Computer user interfaces that are generated as needed | |
| US6804686B1 (en) | System and methodology for providing fixed UML layout for an object oriented class browser | |
| US7672968B2 (en) | Displaying a tooltip associated with a concurrently displayed database object | |
| US5812847A (en) | Rule-based method for designing user interfaces for applications | |
| US6658622B1 (en) | Self-diagnosing and self-correcting data entry components with dependency behavior | |
| US5862379A (en) | Visual programming tool for developing software applications | |
| JP4177531B2 (ja) | ダイナミックオブジェクト視覚化及びコード発生 | |
| US5301313A (en) | Manipulating data in a relational data base having operational manipulations defined in an input table and displayed results in an output table with a line displayed designating direction of data flow | |
| US7196712B2 (en) | Dynamic, live surface and model elements for visualization and modeling | |
| US8015542B1 (en) | System and method for creating a graphical program which invokes methods and properties of objects | |
| US5991534A (en) | Method and apparatus for editing a software component | |
| US6990652B1 (en) | System and method for determining methods and properties to be invoked on objects in a graphical program | |
| JP2732552B2 (ja) | 探索照会及び探索結果を生成し表示する方法 | |
| US8126937B2 (en) | Visual database modeling | |
| US8386919B2 (en) | System for displaying an annotated programming file | |
| US20060156314A1 (en) | Systems and methods for mapping API calls | |
| KR19990023315A (ko) | 링크 맵을 생성하기 위한 데이터 처리 시스템 및 방법 | |
| US6571203B2 (en) | CAD-data management system having a plurality of interfaces corresponding to a plurality of CAD applications | |
| US6223185B1 (en) | Method for defining composed object methods and attributes by dynamically presenting composite values and options | |
| US6230161B1 (en) | Dynamic expression editor | |
| KR101989634B1 (ko) | 미리 구축된 컨트롤을 사용하는 로직 생성 기법 | |
| US20080005752A1 (en) | Methods, systems, and computer program products for generating application processes by linking applications | |
| US20060155710A1 (en) | Method and computer system for customizing computer applications by storing the customization specification as data in a database |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080516 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080516 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090516 Year of fee payment: 6 |
|
| LAPS | Cancellation because of no payment of annual fees |