JPH11126162A - 情報処理装置および情報処理方法、並びに記録媒体 - Google Patents

情報処理装置および情報処理方法、並びに記録媒体

Info

Publication number
JPH11126162A
JPH11126162A JP9289690A JP28969097A JPH11126162A JP H11126162 A JPH11126162 A JP H11126162A JP 9289690 A JP9289690 A JP 9289690A JP 28969097 A JP28969097 A JP 28969097A JP H11126162 A JPH11126162 A JP H11126162A
Authority
JP
Japan
Prior art keywords
constructed
construction
acquisition
class
field
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP9289690A
Other languages
English (en)
Inventor
Shinji Nanba
慎二 難波
Toru Mineyama
徹 峯山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP9289690A priority Critical patent/JPH11126162A/ja
Priority to US09/174,699 priority patent/US6269476B1/en
Publication of JPH11126162A publication Critical patent/JPH11126162A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs

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)【要約】 【課題】 アプリケーションプログラムなどの構築物を
構成する被構築オブジェクトを集めて、その構築物を構
築することができるようにする。 【解決手段】 構築クラスBuilderの構築オブジェクト
は、被構築オブジェクトresolvedが有するフィールド設
定メソッドをコールして、被構築オブジェクト間の参照
関係を構築する構築メソッドbuild(Object resolved)を
有している。取得クラスGetterの取得オブジェクトは、
被構築オブジェクトを取得する取得メソッドgetObjec
t()を有し、構築オブジェクトの所有が可能なようにな
されている。そして、取得オブジェクトにおいて、取得
メソッドgetObject()によって被構築オブジェクトresol
vedが取得され、その取得オブジェクトが所有する構築
オブジェクトにおいて、構築メソッドbuild(Object res
olved)によって、取得オブジェクトが取得した被構築オ
ブジェクトresolvedが初期化されるようになされてい
る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、情報処理装置およ
び情報処理方法、並びに記録媒体に関し、特に、例え
ば、アプリケーションプログラムを構成する複数のオブ
ジェクトや、マルチメディアコンテンツその他のデータ
を構成する複数のオブジェクトが分散していても、それ
らのオブジェクトを取得してリンクさせることにより、
アプリケーションプログラムやマルチメディアコンテン
ツその他のデータを構成(構築)することができるよう
にする情報処理装置および情報処理方法、並びに記録媒
体に関する。
【0002】
【従来の技術】近年、オブジェクト指向技術の分野で
は、コンポーネントソフトウェア技術が注目されてい
る。ここで、コンポーネントソフトウェア技術とは、ア
プリケーションプログラムや、アプリケーションプログ
ラムで利用されるマルチメディアコンテンツその他のデ
ータなどを、複数のコンポーネント(部品)の結合によ
り構築する手法(技術)である。
【0003】
【発明が解決しようとする課題】ところで、コンポーネ
ントソフトウェア技術を利用して構築されたアプリケー
ションプログラムを構成する複数のオブジェクトは、そ
れらの参照関係を、そのアプリケーションプログラムを
構成するクラスに静的にリンクさせた形で提供されるよ
うになされていた。
【0004】また、アプリケーションプログラムが利用
するマルチメディアコンテンツやドキュメントのデータ
などを構成する複数のオブジェクトは、バイト列に、い
わばシリアライズされて、ファイルに書き込まれた状態
で提供されるようになされていた。
【0005】従って、そのような複数のオブジェクト
を、例えば、ネットワーク上に分散させておき、必要な
ときに、必要なオブジェクトだけを集めて、動的にリン
クさせ(参照関係を構築し)、アプリケーションプログ
ラムやマルチメディアコンテンツなどを構成することが
困難であった。
【0006】本発明は、このような状況に鑑みてなされ
たものであり、例えば、アプリケーションプログラムを
構成する複数のオブジェクトやマルチメディアコンテン
ツを構成する複数のオブジェクトが分散していても、そ
れらのオブジェクトを取得して、動的にリンクさせるこ
とにより、アプリケーションプログラムやマルチメディ
アコンテンツを構成(構築)することができるようにす
るものである。
【0007】
【課題を解決するための手段】請求項1に記載の情報処
理装置は、被構築オブジェクトが、自身のフィールドを
設定することにより、その初期化を行うフィールド設定
メソッドを有する場合に、そのフィールド設定メソッド
をコールして、被構築オブジェクト間の参照関係を構築
する構築メソッドを有する構築オブジェクトと、被構築
オブジェクトを取得する取得メソッドを有する、構築オ
ブジェクトの所有が可能な取得オブジェクトとを備え、
取得オブジェクトが、取得メソッドによって被構築オブ
ジェクトを取得し、その取得オブジェクトが所有する構
築オブジェクトが、構築メソッドによって、取得オブジ
ェクトが取得した被構築オブジェクトを初期化すること
を特徴とする。
【0008】請求項9に記載の情報処理方法は、取得オ
ブジェクトに、取得メソッドによって被構築オブジェク
トを取得させ、その取得オブジェクトが所有する構築オ
ブジェクトに、構築メソッドによって、取得オブジェク
トが取得した被構築オブジェクトを初期化させることを
特徴とする。
【0009】請求項10に記載の記録媒体は、被構築オ
ブジェクトが、自身のフィールドを設定することによ
り、その初期化を行うフィールド設定メソッドを有する
場合に、そのフィールド設定メソッドをコールして、被
構築オブジェクト間の参照関係を構築する構築メソッド
を有する構築オブジェクト、および被構築オブジェクト
を取得する取得メソッドを有する、構築オブジェクトの
所有が可能な取得オブジェクトを含み、取得オブジェク
トに、取得メソッドによって被構築オブジェクトを取得
させ、その取得オブジェクトが所有する構築オブジェク
トに、構築メソッドによって、取得オブジェクトが取得
した被構築オブジェクトを初期化させる処理を、コンピ
ュータに行わせるためのコンピュータプログラムが記録
されていることを特徴とする。
【0010】請求項1に記載の情報処理装置において
は、構築オブジェクトは、被構築オブジェクトが有する
フィールド設定メソッドをコールして、被構築オブジェ
クト間の参照関係を構築する構築メソッドを有してい
る。取得オブジェクトは、被構築オブジェクトを取得す
る取得メソッドを有し、構築オブジェクトの所有が可能
なようになされている。この場合において、取得オブジ
ェクトが、取得メソッドによって被構築オブジェクトを
取得し、その取得オブジェクトが所有する構築オブジェ
クトが、構築メソッドによって、取得オブジェクトが取
得した被構築オブジェクトを初期化するようになされて
いる。
【0011】請求項9に記載の情報処理方法において
は、取得オブジェクトに、取得メソッドによって被構築
オブジェクトを取得させ、その取得オブジェクトが所有
する構築オブジェクトに、構築メソッドによって、取得
オブジェクトが取得した被構築オブジェクトを初期化さ
せるようになされている。
【0012】請求項10に記載の記録媒体には、被構築
オブジェクトが、自身のフィールドを設定することによ
り、その初期化を行うフィールド設定メソッドを有する
場合に、そのフィールド設定メソッドをコールして、被
構築オブジェクト間の参照関係を構築する構築メソッド
を有する構築オブジェクト、および被構築オブジェクト
を取得する取得メソッドを有する、構築オブジェクトの
所有が可能な取得オブジェクトを含み、取得オブジェク
トに、取得メソッドによって被構築オブジェクトを取得
させ、その取得オブジェクトが所有する構築オブジェク
トに、構築メソッドによって、取得オブジェクトが取得
した被構築オブジェクトを初期化させる処理を、コンピ
ュータに行わせるためのコンピュータプログラムが記録
されている。
【0013】
【発明の実施の形態】図1は、本発明を適用した放送シ
ステム(システムとは、複数の装置が論理的に集合した
物をいい、各構成の装置が同一筐体中にあるか否かは問
わない)の一実施の形態の構成例を示している。
【0014】放送局1においては、テレビジョン放送信
号としての電波が送信され、この電波は、衛星(通信衛
星または放送衛星)2を介して、アンテナ3で受信され
る。アンテナ3で受信された受信信号は、STB(Set
Top Box)4に供給され、所定のチャンネルのテレビジ
ョン放送信号が取り出される。このテレビジョン放送信
号は、STB4からCRT5に供給されて表示される。
【0015】なお、STB4では、放送局1以外の図示
せぬ放送局からのテレビジョン放送信号も受信すること
ができるようになされている。
【0016】ところで、STB4では、視聴者が、各チ
ャンネルにおいて放送されている番組の概要を容易に認
識することができるように、EPG(Electric Program
Guide)を、CRT5に表示させることができるように
なされている。
【0017】しかしながら、紹介するチャンネル数が多
く、さらに、番組の紹介を、その番組名やタイトルなど
のテキストの表示だけでなく、動画や音声などを用いて
行う場合、即ち、マルチメディアコンテンツとしてのE
PGを用いる場合には、そのデータ量が膨大なものとな
り、これを、衛星2を介して、STB4に送信するので
は、通常の番組放送に支障をきたすことがある。また、
EPGの内容を動的に変更したい場合があるが、放送局
1において、EPGを構成して送信するのでは、その動
的な変更は困難である。
【0018】そこで、ここでは、EPGを、それを構成
する各種の部品に分けて分散させておき、STB4にお
いて、それらの部品を集めて、EPGを、動的に構成す
ることができるようになされている。
【0019】即ち、図1の実施の形態では、EPGを構
成する部品が、例えば、インターネット6上に分散して
いる。具体的には、ここでは、インターネット6に、放
送局1,STB4、サーバ7が接続されており、それぞ
れに、EPGを構成する部品が記憶されている。そし
て、STB4では、自身が記憶している部品の他、放送
局1やサーバ7に記憶されている部品が、インターネッ
ト6を介して、必要に応じて集められ、EPGが構成さ
れるようになされている。
【0020】次に、図2は、図1のSTB4の構成例を
示している。
【0021】通信I/F(Interface)11は、例え
ば、モデムなどでなり、インターネット6との間の通信
制御を行うようになされている。受信処理部12は、例
えば、ダウンコンバータや、チューナ、復調回路、さら
にはデスクランブラなどで構成され、アンテナ3からの
受信信号から、所定のテレビジョン放送信号を取り出
し、必要に応じてデスクランブルして、表示制御部16
に供給するようになされている。
【0022】ROM(Read Only memory)13は、例え
ば、IPL(Initial Program Loading)のプログラム
などを記憶している。CPU(Central Processing Uni
t)14は、ハードディスク17に記憶されているOS
(Operating System)の制御の下、同じくハードディス
ク17に記憶されている各種のアプリケーションプログ
ラムを実行することで、EPGの部品を集めてリンクさ
せ、EPGを構成する処理(この処理を、以下、適宜、
構築処理といい、また、構築処理を行うためのアプリケ
ーションプログラムを、以下、適宜、構築プログラムと
いう)などを行うようになされている。RAM(Random
Access memory)15は、CPU14が実行するプログ
ラムや、その動作上必要なデータなどを一時記憶するよ
うになされている。表示制御部16は、そこに供給され
るデータを、CRT5に表示させるための表示制御を行
うようになされている。
【0023】ハードディスク17は、OSやアプリケー
ションプログラム、さらには、必要に応じて、EPGを
構成する部品を記憶している。なお、EPGを構成する
部品は、例えば、通信I/F11に、インターネット6
を介して放送局1やサーバ7と通信を行わせることによ
り入手することができる。また、例えば、放送局1に、
EPGを構成する部品を放送させ、これを受信処理部1
2において受信することなどによっても入手することが
できる。また、ハードディスク17は、CPU14が処
理を行うのに必要なデータや、処理を行った結果得られ
るデータなども、必要に応じて記憶するようになされて
いる。
【0024】CD−ROM(Compact Disc ROM)18に
は、例えば、EPGを構成する部品などが記憶されてい
る。操作部19は、例えば、キーボードや、マウス、そ
の他の各種のボタンなどで構成され、データやコマンド
を入力するときに操作される。
【0025】なお、以上の各ブロックは、バスを介して
相互に接続されている。
【0026】以上のように構成されるSTB4では、例
えば、操作部19が、所定のチャンネルを受信するよう
に操作されると、受信処理部12において、アンテナ3
からの受信信号から、その操作に対応したチャンネルの
テレビジョン放送信号が抽出され、表示制御部16を介
してCRT5に供給されて表示される。
【0027】また、例えば、操作部19が、EPGを表
示するように操作されると、CPU14では、ハードデ
ィスク17に記憶された構築プログラムが実行されるこ
とで、構築処理が行われ、これにより、EPGが構成さ
れる。即ち、EPGを構成する部品が、ハードディスク
17やCD−ROM18から読み出されたり、通信I/
F11において、インターネット6を介して、放送局1
やサーバ7と通信が行われることにより取得される。そ
して、CPU14は、その取得した部品どうしを、動的
にリンクさせ、EPGを構成する。このEPGは、表示
制御部16を介してCRT5に供給されて表示される。
【0028】なお、ここでは、構築プログラムは、オブ
ジェクト指向言語の1つである、例えば、Java言語で記
述されている(Javaは商標)。また、それに対応して、
以下に示すプログラムリストは、Java言語で記述してあ
る。なお、Java言語の詳細については、例えば、「Java
APIプログラミングガイド」、青柳龍也、工学図書や、
「Javaパワープログラミング」、Paul Tyma/Gabriel To
rok/Troy Dowing、Soft Bank、「The Java Language Sp
ecification」、Java Soft、「Java Core Reflecion, A
PI and Specification」、Java Softなどに開示されて
いるので、これらを参照されたい。
【0029】次に、図3は、構築処理によって構成され
るEPGの例を示している。この実施の形態では、EP
Gは、例えば、ニュース番組についてのものとなってお
り、8つの部品P1乃至P8から構成されている。
【0030】部品P1は、EPGの背景(バックグラウ
ンド)で、他の部品P2乃至P4およびP5が張り付け
られている。部品P2乃至P4は、ニュースのジャンル
を選択するためのボタンで、ここでは、部品P2乃至P
4を操作することにより、部品P6乃至P8が変化する
ようになされている。即ち、ボタンとしての部品P2乃
至P4が操作された場合(例えば、マウスでクリックさ
れた場合)、部品P6乃至P8は、例えば、政治、国
際、社会それぞれについてのニュースに関係する内容に
変化するようになされている。部品P5は、部品P6乃
至P8が張り付けられる背景を構成している。部品P6
乃至P8は、テキストデータ、動画データ、静止画デー
タで、それぞれには、ボタンとしての部品P2乃至P4
の操作に対応したジャンル内容がテキスト、動画、静止
画で表示されるようになされている。
【0031】なお、例えば、部品P6乃至P8に、ある
ジャンルのニュースについての情報が表示されている場
合において、そのうちのいずれかがクリックされると、
そのジャンルのニュース番組が、図3のEPGに代えて
表示されるようになされている。
【0032】いま、EPGを構成する部品P1乃至P8
は、オブジェクト(被構築オブジェクト)obj1乃至
obj8でそれぞれ構成され、ここでは、例えば、図4
に示すように、ネットワーク上に分散しているとする。
即ち、ここでは、被構築オブジェクトobj1およびo
bj2はサーバSV1上に、被構築オブジェクトobj
3乃至obj5はサーバSV2上に、被構築オブジェク
トobj6はサーバSV3上に、被構築オブジェクトo
bj7およびobj8はユーザ端末UT上に、それぞれ
記憶されている。また、被構築オブジェクトobj1乃
至obj8は、互いに、静的にリンクされていない状態
(いわば独立の状態)で記憶されている。
【0033】なお、図4におけるサーバSV1乃至SV
3は、図1におけるインターネット6上のサーバ(例え
ば、サーバ7など)に相当し、図4におけるユーザ端末
UTは、図1におけるSTB4に相当する。
【0034】この場合において、ユーザ端末UT上で
は、構築プログラムが実行されることにより、ネットワ
ーク上に分散している被構築オブジェクトobj1乃至
obj8が取得されて、リンク(参照関係)が形成さ
れ、これにより、構築物としてのEPGが構成(構築)
される。
【0035】このため、構築プログラムでは、被構築オ
ブジェクトが、自身のフィールドを設定することによ
り、その初期化を行うフィールド設定メソッドを有する
場合に、そのフィールド設定メソッドをコールして、被
構築オブジェクト間の参照関係を構築する構築メソッド
を有する構築クラス、被構築オブジェクトを取得する取
得メソッドを有する、構築オブジェクトの所有が可能な
取得クラス、および取得オブジェクトが取得した被構築
オブジェクトを登録するメソッドを有する登録クラスが
定義されている。
【0036】即ち、取得クラスは、ネットワーク上に分
散する被構築オブジェクトを取得するための取得メソッ
ドgetObject()を有し、その取得メソッドgetObject()を
実行することにより、所定の被構築オブジェクトを取得
して、戻り値として返すようになされている。さらに、
取得クラスにおいては、そのインスタンスである取得オ
ブジェクトが、取得メソッドgetObject()を実行するこ
とにより取得した被構築オブジェクトの初期化を行うた
めの、構築オブジェクトのインスタンスである構築オブ
ジェクトを所有することができるように、定義がなされ
ている。即ち、取得クラスでは、構築クラスの型を、例
えば、Builderと表すと、Builder型のフィールドが定義
されている。
【0037】構築クラスは、被構築オブジェクト間の参
照関係の構築、即ち、被構築オブジェクトの初期化を行
うための構築メソッドbuild(Object resolved)を有して
いる。ここで、構築メソッドbuild(Object resolved)の
引数である、Object型のresolvedは、初期化対象の被構
築オブジェクトを表している。また、その型であるObje
ctは、Javaにおいて、最上位階層のクラスとして定義さ
れているクラスである。
【0038】構築クラスにおいては、そのインスタンス
である構築オブジェクトが、構築メソッドbuild(Object
resolved)を実行するのに必要な被構築オブジェクトを
取得するための取得オブジェクトを所有することができ
るように、定義がなされている。即ち、例えば、ある被
構築オブジェクトresolvedAを取得した後、その被構築
オブジェクトresolvedAから、他の被構築オブジェクトr
esolvedBに対して参照関係がある場合には、被構築オブ
ジェクトresolvedAの初期化には、被構築オブジェクトr
esolvedBの参照が必要であり、従って、被構築オブジェ
クトresolvedBを取得する必要がある。このため、構築
クラスでは、取得クラスの型を、例えば、Getterと表す
と、Getter型のフィールドが定義されている。
【0039】従って、取得クラスと構築クラスとは、図
5に示すような関係を有する。なお、図5においては、
縦方向に3分割された長方形全体がクラスを表してい
る。また、図6(A)に示すように、クラスを表す長方
形の最も上の段には、クラス名が、上から2番目の段に
は、そのクラスで定義されているメソッド名が、最も下
の段には、そのクラスで定義されているフィールド名
が、それぞれ配置されている。
【0040】上述したように、取得クラスGetterは、取
得メソッドgetObject()と、Builder型のフィールドbuil
ders[]を有している。ここで、Builder型のフィールド
が配列になっているが、これについては後述する。
【0041】また、構築クラスBuilderは、構築メソッ
ドbuild(Object resolved)と、Getter型のフィールドge
tterを有している。
【0042】なお、図5における矢印は、その矢印の始
端のクラス(ここでは、取得クラスまたは構築クラス)
のインスタンスが、その終端のクラス(ここでは、構築
クラスまたは取得クラス)の型のフィールド(その終端
のクラスのインスタンス)を所有可能なことを意味して
いる。また、図6(B)に示すように、その終端に●印
がある矢印は、その始端のクラスのインスタンスが、そ
の終端のクラスのインスタンスを、複数所有可能である
ことを表し、●印のない矢印は、その始端のクラスのイ
ンスタンスが、その終端のクラスのインスタンスを、1
だけ所有可能であることを表している。従って、ここで
は、取得オブジェクトは、複数の構築オブジェクトを所
有可能であるが、構築オブジェクトは、1の取得オブジ
ェクトだけを所有可能なようになされている。
【0043】次に、取得クラスにおいて定義されている
取得メソッドgetObject()は、ここでは、いわゆるポリ
モーフィック(polymorphic:多様的)なメソッド(例
えば、あるスーパクラスにおいて定義されているメソッ
ドであって、その2以上のサブクラスそれぞれにおいて
実装が与えられており、いずれの実装を有するメソッド
としても利用可能なもの)とされており、これにより、
そのサブクラスにおいて、種々の実装を与えて、所望の
実装が与えられたものを利用することができるようにな
されている。
【0044】即ち、ここでは、取得メソッドgetObjec
t()は、取得クラスではなく、そのサブクラスにおいて
実装が与えられている。具体的には、例えば、図7に示
すように、取得クラスのサブクラスとして、ネットワー
ク取得クラスNetGetter、ファイル取得クラスFileGette
r、オブジェクト保持取得クラスSaveGetter、スタブ取
得クラスStubGetter、および生成取得クラスConstructG
etterの5つが定義されている。
【0045】ネットワーク取得クラスNetGetterでは、
リモートのホストコンピュータとしての、例えば、サー
バSV1乃至SV3においてシリアライズされてファイ
ルに書き込まれている被構築オブジェクトをロードし、
そのデシリアライズ(シリアライズされてバイト列にさ
れている被構築オブジェクトを使用可能な状態にするこ
と)を行う取得メソッドgetObject()が実装されてい
る。また、ネットワーク取得クラスNetGetterには、シ
リアライズされてファイルに書き込まれている被構築オ
ブジェクトを、そこに実装されている取得メソッドgetO
bject()に取得させるために必要な、その被構築オブジ
ェクトのURL(Uniform Resource Locator)が格納さ
れるフィールド(URL型のフィールド)urlも定義されて
いる。
【0046】ファイル取得クラスFileGetterでは、ユー
ザ端末UTにおいてシリアライズされてファイル(ロー
カルファイル)に書き込まれている被構築オブジェクト
をロードし、そのデシリアライズを行う取得メソッドge
tObject()が実装されている。また、ファイル取得クラ
スFileGetterには、シリアライズされてファイルに書き
込まれている被構築オブジェクトを、そこに実装されて
いる取得メソッドgetObject()に取得させるために必要
な、そのファイルのファイル名を与えるフィールド(St
ring型のフィールド)fileNameも定義されている。
【0047】オブジェクト保持取得クラスSaveGetter
は、被構築オブジェクトを所有しており、そこでは、そ
の被構築オブジェクトを取得する取得メソッドgetObjec
t()が実装されている。また、オブジェクト保持取得ク
ラスSaveGetterには、自身で所有している被構築オブジ
ェクトを、そこに実装されている取得メソッドGetObjec
t()に取得させるために必要な、その被構築オブジェク
トを識別するための値を与えるフィールド(Object型の
フィールド)valueも定義されている。
【0048】スタブ取得クラスStubGetterでは、リモー
トのホストコンピュータとしての、例えば、サーバSV
1乃至SV3において、スタブとして提供される被構築
オブジェクトを取得する取得メソッドgetObject()が実
装されている。また、スタブ取得クラスStubGetterに
は、被構築オブジェクトを、スタブとして提供するサー
バから、その被構築オブジェクトを、そこに実装されて
いる取得メソッドgetObject()に取得させるために必要
な、そのサーバのIP(Internet Protocol)アドレス
が格納されるフィールド(IPAddress server long型の
フィールド)objectIDも定義されている。
【0049】生成取得クラスConstructGetterでは、所
定のクラスのインスタンスである被構築オブジェクト
を、そのコンストラクタをコールすることにより生成さ
せて取得する取得メソッドgetObject()が実装されてい
る。また、生成取得クラスConstructGetterには、コン
ストラクタをコールすることにより生成される被構築オ
ブジェクトを、そこに実装されている取得メソッドgetO
bject()に取得させるために必要な、その被構築オブジ
ェクトのクラス名が格納されるフィールド(String型の
フィールド)classNameも定義されている。
【0050】以上のように、取得メソッドgetObject()
をポリモーフィックなメソッドとし、取得クラスのサブ
クラスにおいて、取得メソッドgetObject()の実装を与
えるようにすることで、各種の被構築オブジェクトを、
それぞれの取得方法に対応した取得クラスを定義しなく
ても、対応するサブクラスにおける取得メソッドgetObj
ect()をコールすることで取得することが可能となる。
【0051】なお、取得クラスのサブクラスは、上述し
たものに限定されるものではなく、必要な取得メソッド
getObject()を実装した種々のサブクラスを定義するこ
とが可能である。
【0052】以上のような取得クラスのインスタンスで
ある取得オブジェクトでは、それが有する取得メソッド
getObject()によって、対応する被構築オブジェクトが
取得される。このようにして取得された被構築オブジェ
クトは、そこに定義されているフィールドに、他の被構
築オブジェクトの参照を設定することにより、その初期
化を行う必要がある場合がある。即ち、例えば、ある取
得オブジェクトによって、次のように定義されるクラス
ResolvedCのインスタンスとしての被構築オブジェクトr
esolvedCが取得されたとする。
【0053】 class ResolvedC extends Object{ private int fieldA; private int fieldB; public void setFieldA(int f){ fieldA=f; } public void setFieldB(int f){ fieldB=f; } ・・・ } ・・・(1)
【0054】ここで、クラスResolvedCは、クラスObjec
tをスーパクラスとするサブクラスとされている(Java
では、いかなるオブジェクトも、最終的には、オブジェ
クトクラスObjectに属する)。また、クラスResolvedC
には、フィールドfieldA,fieldBが定義されており、さ
らに、それぞれのフィールドを設定することにより、そ
の初期化を行うためのフィールド設定メソッドsetField
A(int f),setFieldB(int f)も定義されている。なお、
本実施の形態では、フィールド設定メソッドは、公開さ
れているものとする。
【0055】この場合、被構築オブジェクトresolvedC
を取得した取得オブジェクトは、その被構築オブジェク
トresolvedCを初期化するための構築オブジェクトを所
有しており、即ち、フィールド設定メソッドsetFieldA
(int f),setFieldB(int f)をコールする構築メソッド
を有する構築オブジェクトを所有しており、被構築オブ
ジェクトresolvedCの取得後は、その構築オブジェクト
が有する構築メソッドがコールされる。これにより、そ
の構築メソッドによって、フィールド設定メソッドsetF
ieldA(int f),setFieldB(int f)がコールされ、その結
果、フィールドfieldA,fieldBが設定される。
【0056】なお、プログラムリスト(1)に示したク
ラスResolvedCの被構築オブジェクトresolvedCは、設定
が必要なフィールドとして、2つのフィールドfieldA,
fieldBを有するが、このように、被構築オブジェクト
が、複数の初期化すべきフィールドを有する場合には、
取得オブジェクトに所有させる構築オブジェクトを、配
列で宣言しておくと、その初期化を、容易に行うことが
可能となる。
【0057】即ち、被構築オブジェクトresolvedCを取
得する取得オブジェクトにおいて、フィールド設定メソ
ッドsetFieldA(int f),setFieldB(int f)をコールする
構築メソッドを有する構築オブジェクトを、Builder型
の配列builders[]として宣言する。この場合、その取得
オブジェクトに、例えば、次のようなプログラムを記述
しておくことで、取得した被構築オブジェクトが有する
複数のフィールドすべての初期化を行うことができる。
【0058】 for(int j=0; j<builders.leng
th; j++) builders[j].build(re
solved); ・・・(2) ここで、builders.lengthは、配列であ
るフィールドbuilders[]の長さを表す。また、構築メソ
ッドbuild(resolved)の引数resolvedは、上述したよう
に、初期化対象の被構築オブジェクトの参照、即ち、こ
こでは、被構築オブジェクトresolvedCの参照を表す。
【0059】なお、被構築オブジェクトの初期化が必要
ない場合(フィールドを有していない場合や、有してい
ても、そのフィールドの初期化が必要でない場合)に
は、その被構築オブジェクトを取得する取得オブジェク
トには、初期化のための構築オブジェクトを所有させる
必要はない。
【0060】また、例えば、被構築オブジェクトを取得
する取得オブジェクトに、その被構築オブジェクトが有
するフィールドの数と同一の数の構築オブジェクトを所
有させる必要は、必ずしもない。即ち、被構築オブジェ
クトが有するフィールドのうちの1以上が、その取得時
に、何らかの理由により、既に初期化されている場合に
は、その被構築オブジェクトを取得する取得オブジェク
トには、初期化されていないフィールドを初期化するた
めの構築オブジェクトだけを所有させれば充分である。
【0061】さらに、被構築オブジェクトが、複数の初
期化すべきフィールドを有する場合には、上述したよう
に、取得オブジェクトに所有させる構築オブジェクト
を、配列で宣言しておく他、例えば、いわゆるコンテナ
クラスを、構築クラスのサブクラスとしておき、そのコ
ンテナクラスを利用することによっても、複数のフィー
ルドの初期化を、容易に行うことが可能となる。
【0062】また、プログラムリスト(2)において
は、for文を用いるようにしたが、その他、例えば、whi
le文などを用いることも可能である。
【0063】次に、例えば、ある取得オブジェクトによ
って、次のように定義されるクラスResolvedAのインス
タンスとしての被構築オブジェクトresolvedAが取得さ
れたとする。
【0064】 class ResolvedA extends Object{ private ResolvedB fieldA; private Object painters[]; public void setFieldA(ResolvedB f){ fieldA=f; } public void addPainter(Object p,int index){ painters[index]=p; } ・・・ } ・・・(3)
【0065】ここで、クラスResolvedAは、クラスObjec
tをスーパクラスとするサブクラスとされている。ま
た、クラスResolvedAには、フィールドとして、Resolve
dB型のfieldAと、Object型のpainters[]が定義されてお
り、さらに、それぞれのフィールドを設定することによ
り、その初期化を行うためのフィールド設定メソッドse
tFieldA(ResolvedB f),addPainter(Object p,int inde
x)も定義されている。
【0066】なお、ResolvedBは、Objectクラスのサブ
クラスとして定義されているものとする。
【0067】プログラムリスト(3)に示す(クラス
の)被構築オブジェクトresolvedAを取得した取得オブ
ジェクトは、その初期化をするための構築オブジェク
ト、即ち、まず、フィールドfieldAを設定するためのフ
ィールド設定メソッドsetFieldA(ResolvedB f)をコール
する構築メソッドを有する構築オブジェクトを有してお
り、その構築オブジェクトの構築メソッドbuild(resolv
edA)がコールされることにより、フィールドfieldAが初
期化される。
【0068】しかしながら、この場合、フィールドfiel
dAを初期化するには、クラスResolvedBのインスタンス
である被構築オブジェクトresolvedBの参照が必要であ
る。
【0069】そこで、フィールド設定メソッドsetField
A(ResolvedB f)をコールする構築メソッドを有する構築
オブジェクトは、被構築オブジェクトresolvedBを取得
する取得メソッドgetObject()を有する、取得クラスの
取得オブジェクトを所有している。
【0070】そして、フィールド設定メソッドsetField
A(ResolvedB f)をコールする構築メソッドを有する構築
オブジェクトにおいて、それが所有する取得オブジェク
トの取得メソッドgetObject()がコールされることによ
り、被構築オブジェクトresolvedBが取得され、これに
より、その被構築オブジェクトresolvedBの参照を用
い、フィールド設定メソッドsetFieldA(ResolvedB f)に
よって、フィールドfieldAが初期化される。
【0071】なお、被構築オブジェクトresolvedBの初
期化が必要な場合は、被構築オブジェクトresolvedBを
取得した取得オブジェクトが、その初期化のための構築
オブジェクトを所有しており、その構築オブジェクトに
よって、被構築オブジェクトresolvedBの初期化が行わ
れる。即ち、ある被構築オブジェクトの取得後、その初
期化に必要な被構築オブジェクトがある場合には、その
被構築オブジェクトの取得が行われ、以下、同様に、初
期化に必要な被構築オブジェクトの取得が行われる。そ
して、初期化に必要な被構築オブジェクトすべてが取得
されると、各被構築オブジェクトの初期化が行われてい
く(この点については、さらに後述する)。
【0072】ところで、構築クラスにおいて定義されて
いる構築メソッドbuild(Object resolved)を、その構築
クラスに実装させると、初期化の処理が異なる被構築オ
ブジェクトごとに、構築クラスを用意する必要が生じ
る。そこで、上述の取得クラスの取得メソッドgetObjec
t()における場合と同様に、構築クラスにおいて定義さ
れている構築メソッドbuild(Object resolved)も、ポリ
モーフィックなメソッドとし、そのサブクラスにおい
て、種々の実装を与えて、所望の実装が与えられたもの
を利用するようにすることができる。ここでは、例え
ば、図8に示すように、構築クラスBuilderのサブクラ
スとして、セットメソッド構築クラスSetBuilderおよび
アドメソッド構築クラスAddBuilderの2つが定義されて
いる。
【0073】即ち、例えば、プログラムリスト(3)に
示したフィールド設定メソッドsetFieldA(ResolvedB f)
によって、フィールドfieldAを初期化するためには、例
えば、次のようになクラスSetBuilderを、構築クラスBu
ilderのサブクラスとして定義しておく。
【0074】 class SetBuilder extends Builder{ String fieldName; String methodName; Getter getter; void build(Object resolved){ Method method=getSetMethod(fieldName,methodName,resolved ); Object objs[]={getter.getObject()}; method.invoke(resolved,objs); } } ・・・(4)
【0075】ここで、メソッドgetSetMethod(fieldNam
e,methodName,resolved)は、fieldNameで表されるフィ
ールドの初期化を行う、methodNameで表されるフィール
ド設定メソッドを有するオブジェクトを生成するもの
で、プログラムリスト(4)では、そのオブジェクト
が、Method型のフィールドmethodに設定されるようにな
されている(Methodクラスのインタンスmethodが生成さ
れるようになされている)。なお、メソッドgetSetMeth
od(fieldName,methodName,resolved)では、fieldNameお
よびresolvedから、methodNameで表されるフィールド設
定メソッドを有するオブジェクトの型を認識し、それに
対応するクラス(被構築オブジェクトのクラス)を探す
ことで、methodNameで表されるフィールド設定メソッド
を見つけ出すようになされている。
【0076】また、プログラムリスト(4)では、Obje
ct objs[]={getter.getObject()};において、Object型
の配列(フィールド)objs[]に、取得オブジェクトgett
erが有する取得メソッドgetObject()が取得する被構築
オブジェクトが1つだけ、配列の要素として設定される
ようになされている。
【0077】さらに、クラスMethodでは、resolvedで表
される被構築オブジェクトを、objsで表される被構築オ
ブジェクトで初期化するメソッドinvoke(resolved,obj
s)が定義されており、プログラムリスト(4)では、me
thod.invoke(resolved,objs);において、オブジェクトm
ethodにおけるメソッドinvoke(resolved,objs)をコール
することで、被構築オブジェクトresolvedを、被構築オ
ブジェクトobjsの参照で初期化する、オブジェクトmeth
odが有するフィールド設定メソッド(ここでは、method
Nameで表されるメソッド)がコールされるようになされ
ている。なお、メソッドinvoke(resolved,objs)の第2
引数(2番目の引数)は、配列とすることが規定されて
いるため、objsは配列型のフィールドにされている。
【0078】プログラムリスト(4)に示したように、
サブクラスSetBuilderにおいて、取得メソッドbuild(Ob
ject resolved)を、リフレクション(クラスなどの定義
構造を言語体系に反映させること)を使用して実装する
ことで、即ち、初期化すべきフィールドのフィールド名
fieldNameと、その初期化を行うためのフィールド設定
メソッドのメソッド名methodNameを与えることによっ
て、オブジェクトmethodが有するフィールド設定
メソッド(これは、取得メソッドgetObjec
t()によって取得される被構築オブジェクトのフィー
ルド設定メソッドに等しい)がコールされるようにする
ことで、種々の被構築オブジェクトの初期化が可能とな
る。なお、プログラムリスト(4)におけるfieldName
およびmethodNameは、例えば、コンストラクタによって
与えるようにすることができる。
【0079】また、例えば、プログラムリスト(3)に
示したフィールド設定メソッドaddPainter(Object p,in
t index)によって、配列型のフィールドpaintersを初期
化するためには、例えば、次のようになクラスAddBuild
erを、構築クラスBuilderのサブクラスとして定義して
おく。
【0080】 class AddBuilder extends Builder{ String fieldName; String methodName; int index; Getter getter; void build(Object resolved){ Method mehtod=getAddMethod(fieldName,methodName,resolove d); Object objs[]={getter.getObject(),new Integer(index)}; method.invoke(resolved,objs); } } ・・・(5)
【0081】ここで、メソッドgetAddMethod(fieldNam
e,methodName,resolved)は、プログラムリスト(4)に
おけるメソッドgetSetMethod(fieldName,methodName,re
solved)と同様に、fieldNameで表されるフィールドの初
期化を行う、methodNameで表されるフィールド設定メソ
ッドを有するオブジェクトを生成するものであるが、fi
eldNameから、methodNameで表されるフィールド設定メ
ソッドを有するオブジェクトの型が、何らかのクラスの
配列であることを認識し、さらに、その配列のクラスを
認識してから、methodNameで表されるフィールド設定メ
ソッドを見つけ出す点が、メソッドgetSetMethod(field
Name,methodName,resolved)と異なる。なお、ここで
は、methodNameで表されるフィールド設定メソッドは、
例えば、プログラムリスト(3)に示したaddPainter(O
bject p,int index)のように、第2引数にint型のフィ
ールドをとるものと、あらかじめ決められており、これ
により、上述の配列のクラスを認識することができるよ
うになされている(ここでは、第2引数にint型のフィ
ールドをとるものと認識される)。
【0082】プログラムリスト(5)では、Object型の
配列(フィールド)objs[]に、取得オブジェクトgetter
が有する取得メソッドgetObject()が取得する被構築オ
ブジェクトと、コンストラクタInteger(index)によって
生成されるインスタンス(indexの値に対応する、Integ
er型のインスタンス)との2つが、配列の要素として設
定されるようになされている。
【0083】そして、プログラムリスト(5)でも、プ
ログラムリスト(4)における場合と同様に、オブジェ
クトmethodにおけるメソッドinvoke(resolved,objs)を
コールすることで、被構築オブジェクトresolvedを、被
構築オブジェクトobjsの参照で初期化する、オブジェク
トmethodが有するフィールド設定メソッド(ここでは、
methodNameで表されるメソッド)がコールされるように
なされている。
【0084】プログラムリスト(5)に示したように、
サブクラスAddBuilderにおいて、取得メソッドbuild(Ob
ject resolved)を、リフレクションを使用して実装する
ことで、プログラムリスト(4)に示したサブクラスSe
tbuilderでは対応できない、paintersのような配列型の
フィールドを有する、種々の被構築オブジェクトの初期
化が可能となる。
【0085】なお、プログラムリスト(5)におけるfi
eldNameおよびmethodNameも、プログラムリスト(4)
における場合と同様に、例えば、コンストラクタによっ
て与えるようにすることができる。
【0086】次に、登録クラスについて説明する。
【0087】登録クラスは、取得オブジェクトが取得し
た被構築オブジェクトを登録するためのクラスで、図9
に示すように、被構築オブジェクトresolvedを、それに
名前(文字列や数字など)nameを付して登録する登録メ
ソッドbind(String name,Object resolved)と、名前nam
eから、登録した被構築オブジェクトを探し出す検索メ
ソッドlookup(String name)を有する。従って、登録ク
ラスのインスタンスである登録オブジェクトにおいて、
ある取得オブジェクトが取得した被構築オブジェクト
を、登録メソッドbind(String name,Object resolved)
によって登録しておくことにより、その被構築オブジェ
クトの参照が再度必要となったときには、検索メソッド
lookup(String name)によって、その被構築オブジェク
トを探し出すことができる。
【0088】具体的には、例えば、図10に示すよう
に、3つの被構築オブジェクトA乃至Cから構成(構
築)される構築物(アプリケーションプログラムや、マ
ルチメディアコンテンツ、その他のデータ)がある場合
において、被構築オブジェクトAのフィールドfieldA
を、被構築オブジェクトBの参照によって初期化し、そ
の被構築オブジェクトBのフィールドfieldBを、被構築
オブジェクトCの参照によって初期化し、さらに、その
被構築オブジェクトCのフィールドfieldCを、被構築オ
ブジェクトBの参照によって初期化するときには、被構
築オブジェクトBの参照は、被構築オブジェクトAの初
期化を行った後、被構築オブジェクトCの初期化を行う
にも必要となる。
【0089】そこで、このような場合には、被構築オブ
ジェクトAの初期化のために、被構築オブジェクトBを
取得したときに、登録オブジェクトにおいて、登録メソ
ッドbind(String name,Object resolved)によって、被
構築オブジェクトBを登録(bind)しておく。そして、
被構築オブジェクトCの初期化の際に、登録オブジェク
トにおいて、検索メソッドlookup(String name)によっ
て、被構築オブジェクトBを探し出す(look up)こと
で、その参照によって、被構築オブジェクトCの初期化
を行うことが可能となる。
【0090】次に、図11のフローチャートを参照し
て、ユーザ端末UT上において、構築プログラムが実行
されることにより行われる構築処理について、さらに説
明する。
【0091】構築処理では、まず最初に、ステップS1
において、取得クラス、構築クラス、または登録クラス
のインスタンスである、所定の構築物を構成する被構築
オブジェクトを取得するための取得オブジェクト、それ
らの参照関係を構築するための構築オブジェクト、また
は再度参照される被構築オブジェクトを登録するための
登録オブジェクトが、それぞれ生成され(ユーザ端末U
Tの内蔵するメモリ上に展開され)、ステップS2に進
む。ステップS2では、ステップS1で生成された取得
オブジェクトおよび構築オブジェクト、さらには、必要
に応じて、登録オブジェクトによって、所定の構築物を
構成する被構築オブジェクトが取得され、その参照関係
が構築される。これにより、所定の構築物が構成され、
処理を終了する。
【0092】次に、所定の構築物として、例えば、図1
2に示すような参照関係のある、8つの被構築オブジェ
クトobj1乃至obj8からなるアプリケーションプ
ログラムまたはマルチメディアコンテンツその他のデー
タが構成される場合を例に、構築処理につき、さらに説
明する。なお、図12において、被構築オブジェクトを
表す四角形の下の段には、その被構築オブジェクトが有
するフィールド(フィールド名)を図示してある。
【0093】図12では、構築物であるアプリケーショ
ンプログラムまたはマルチメディアコンテンツその他の
データが、被構築オブジェクトobj1乃至obj8か
ら構成されるため、まず、その8つの被構築オブジェク
トobj1乃至obj8を得るための取得オブジェクト
(取得クラスのインスタンス)が必要となる。いま、こ
の8つの被構築オブジェクトobj1乃至obj8を取
得するための取得オブジェクトを、それぞれGetter1,G
etter2,Getter3-1,Getter4,Getter5,Getter6,Gett
er7,Getter8とする。さらに、図12では、被構築オブ
ジェクトobj1によって参照される被構築オブジェク
トobj3が、被構築オブジェクトobj3よりも後に
取得される被構築オブジェクトobj8によっても参照
される。従って、被構築オブジェクトobj8を初期化
するときに必要となる被構築オブジェクトobj3を取
得する取得オブジェクトが必要であり、これを、Getter
3-2とする。なお、Getter3-2は、登録オブジェクト(登
録クラスのインスタンス)が有する検索メソッドlookup
(String name)によって、被構築オブジェクトobj3
を探し出す(被構築オブジェクトobj3の参照を取得
する)ようになされている。
【0094】また、図12の実施の形態では、被構築オ
ブジェクトobj1がフィールドpPart11およびpPart12
を、被構築オブジェクトobj2がフィールドPpart21
を、被構築オブジェクトobj3がフィールドpPart31
を、被構築オブジェクトobj4がフィールドpPart41
およびpPart42を、被構築オブジェクトobj6がフィ
ールドpPart61およびpPart62を、被構築オブジェクトo
bj7がフィールドpPart71を、被構築オブジェクトo
bj8がフィールドpPart81を、それぞれ有している。
【0095】そして、図12の実施の形態では、被構築
オブジェクトobj1のフィールドpPart11,pPart12
は、被構築オブジェクトobj3,obj6それぞれの
参照によって、被構築オブジェクトobj2のフィール
ドPpart21は、被構築オブジェクトobj7の参照によ
って、被構築オブジェクトobj4のフィールドpPart4
1,pPart42は、被構築オブジェクトobj5,obj8
それぞれの参照によって、被構築オブジェクトobj6
のフィールドpPart61,pPart62は、被構築オブジェクト
obj4,obj2それぞれの参照によって、被構築オ
ブジェクトobj8のフィールドpPart81は、被構築オ
ブジェクトobj3の参照によって、それぞれ初期化す
る必要がある。
【0096】従って、初期化すべきフィールドとして
は、pPart11,pPart12,pPart21,pPart41,pPart42,p
Part61,pPart62,pPart81があり、これらを初期化する
構築オブジェクトを、それぞれBuilder1-1,Builder1-
2,Builder2,Builder4-1,Builder4-2,Builder6-1,B
uilder6-2,Builder8とすると、ここでは、この8つの
構築オブジェクトが必要となる。
【0097】なお、図12では、被構築オブジェクトo
bj3が、フィールドpPart31を有し、また、被構築オ
ブジェクトobj7が、フィールドpPart71を有してい
るが、これらは、他の被構築オブジェクトの参照によっ
て初期化されるようにはなされていないから、その初期
化のための構築オブジェクトは必要ない。
【0098】以上から、図12の構築物を構成するに
は、図13に示すような9の取得オブジェクト(取得ク
ラスのインスタンス)と、8の構築オブジェクト(構築
クラスのインスタンス)が必要となる。
【0099】そして、これらの9の取得オブジェクト
と、8つの構築オブジェクトとの関係は、図14に示す
ようになっており、これらのオブジェクトにおいてメソ
ッド(取得メソッドgetObject()、構築メソッドbuild(O
bject resolved))が実行されることにより、図12の
構築物を構成(構築)する構築処理が行われる。
【0100】即ち、まず最初に、取得オブジェクトGett
er1によって(取得オブジェクトGetter1が有する取得メ
ソッドgetObject()がコールされることによって)、被
構築オブジェクトobj1が取得される。取得オブジェ
クトGetter1は、被構築オブジェクトobj1が有する
フィールドpPart11,pPart12それぞれを初期化する構築
オブジェクトBuilder1-1,Builder1-2を有しており(Bu
ilder型の配列builders[]の要素として、Builder1-1,B
uilder1-2の2つを有しており)、それぞれによって初
期化が行われる。
【0101】即ち、まず、取得オブジェクトGetter1で
は、それが有するBuilder型の配列builders[]の2つの
要素Builder1-1,Builder1-2のうちの1番目のBuilder1
-1における構築メソッドbuild(Object resolved)がコー
ルされる。構築オブジェクトBuilder1-1は、フィールド
pPart11を被構築オブジェクトobj3の参照によって
初期化するために、その被構築オブジェクトobj3を
取得する取得オブジェクトGetter3-1を有しており、取
得オブジェクトGetter3-1は、被構築オブジェクトob
j3を取得する(Builder1-1における構築メソッドbuil
d(Object resolved)において、取得オブジェクトGetter
3-1が有する取得メソッドgetObject()がコールされるこ
とにより、被構築オブジェクトobj3が取得され
る)。
【0102】被構築オブジェクトobj3は初期化する
必要がないため、取得オブジェクトGetter3-1は、その
初期化のための構築オブジェクトを有しておらず(取得
オブジェクトGetter3-1が有する、Builder型の配列buil
ders[]の要素がnullになっており)、これにより、取得
オブジェクトGetter3-1における取得メソッドgetObject
()の処理が完結し、リターンする。
【0103】このとき、取得オブジェクトGetter3-1に
おける取得メソッドgetObject()は、取得した被構築オ
ブジェクトobj3の参照を、戻り値として、構築オブ
ジェクトBuilder1-1に返し、構築オブジェクトBuilder1
-1は、その被構築オブジェクトobj3の参照によっ
て、被構築オブジェクトobj1のフィールドpPart11
を初期化する。そして、フィールドpPart11の初期化が
終了すると、構築オブジェクトBuilder1-1における構築
メソッドbuild(Object resolved)の処理が完結し、リタ
ーンする。
【0104】構築オブジェクトBuilder1-1における構築
メソッドbuild(Object resolved)が完結すると、取得オ
ブジェクトGetter1では、それが有するBuilder型の配列
builders[]の2つの要素Builder1-1,Builder1-2のうち
の2番目のBuilder1-2における構築メソッドbuild(Obje
ct resolved)がコールされる。
【0105】構築オブジェクトBuilder1-2は、フィール
ドpPart12を被構築オブジェクトobj6の参照によっ
て初期化するために、その被構築オブジェクトobj6
を取得する取得オブジェクトGetter6を有しており、取
得オブジェクトGetter6は、被構築オブジェクトobj
6を取得する(Builder1-2における構築メソッドbuild
(Object resolved)において、取得オブジェクトGetter6
が有する取得メソッドgetObject()がコールされること
により、被構築オブジェクトobj6が取得される)。
【0106】取得オブジェクトGetter6は、被構築オブ
ジェクトobj6が有するフィールドpPart61,pPart62
それぞれを初期化する構築オブジェクトBuilder6-1,Bu
ilder6-2を有しており(Builder型の配列builders[]の
要素として、Builder1-1,Builder1-2の2つを有してお
り)、それぞれによって初期化が行われる。
【0107】即ち、まず、取得オブジェクトGetter6で
は、それが有するBuilder型の配列builders[]の2つの
要素Builder6-1,Builder6-2のうちの1番目のBuilder6
-1における構築メソッドbuild(Object resolved)がコー
ルされる。構築オブジェクトBuilder6-1は、フィールド
pPart61を被構築オブジェクトobj4の参照によって
初期化するために、その被構築オブジェクトobj4を
取得する取得オブジェクトGetter4を有しており、取得
オブジェクトGetter4は、被構築オブジェクトobj4
を取得する(Builder6-1における構築メソッドbuild(Ob
ject resolved)において、取得オブジェクトGetter4が
有する取得メソッドgetObject()がコールされることに
より、被構築オブジェクトobj4が取得される)。
【0108】取得オブジェクトGetter4は、被構築オブ
ジェクトobj4が有するフィールドpPart41,pPart42
それぞれを初期化する構築オブジェクトBuilder4-1,Bu
ilder4-2を有しており(Builder型の配列builders[]の
要素として、Builder4-1,Builder4-2の2つを有してお
り)、それぞれによって初期化が行われる。
【0109】即ち、まず、取得オブジェクトGetter4で
は、それが有するBuilder型の配列builders[]の2つの
要素Builder4-1,Builder4-2のうちの1番目のBuilder4
-1における構築メソッドbuild(Object resolved)がコー
ルされる。構築オブジェクトBuilder4-1は、フィールド
pPart41を被構築オブジェクトobj5の参照によって
初期化するために、その被構築オブジェクトobj5を
取得する取得オブジェクトGetter5を有しており、取得
オブジェクトGetter5は、被構築オブジェクトobj5
を取得する。
【0110】被構築オブジェクトobj5は初期化する
必要がないため、取得オブジェクトGetter5は、その初
期化のための構築オブジェクトを有しておらず(取得オ
ブジェクトGetter5が有する、Builder型の配列builders
[]の要素がnullになっており)、これにより、取得オブ
ジェクトGetter5における取得メソッドgetObject()の処
理が完結し、リターンする。
【0111】このとき、取得オブジェクトGetter5にお
ける取得メソッドgetObject()は、取得した被構築オブ
ジェクトobj5の参照を、戻り値として、構築オブジ
ェクトBuilder4-1に返し、構築オブジェクトBuilder4-1
は、その被構築オブジェクトobj5の参照によって、
被構築オブジェクトobj4のフィールドpPart41を初
期化する。そして、フィールドpPart41の初期化が終了
すると、構築オブジェクトBuilder4-1における構築メソ
ッドbuild(Object resolved)の処理が完結し、リターン
する。
【0112】構築オブジェクトBuilder4-1における構築
メソッドbuild(Object resolved)が完結すると、取得オ
ブジェクトGetter4では、それが有するBuilder型の配列
builders[]の2つの要素Builder4-1,Builder4-2のうち
の2番目のBuilder4-2における構築メソッドbuild(Obje
ct resolved)がコールされる。
【0113】構築オブジェクトBuilder4-2は、フィール
ドpPart42を被構築オブジェクトobj8の参照によっ
て初期化するために、その被構築オブジェクトobj8
を取得する取得オブジェクトGetter8を有しており、取
得オブジェクトGetter8は、被構築オブジェクトobj
8を取得する。
【0114】取得オブジェクトGetter8は、被構築オブ
ジェクトobj8が有するフィールドpPart81を初期化
する構築オブジェクトBuilder8を有しており(Builder
型の配列builders[]の要素として、Builder8の1つだけ
を有しており)、それによって初期化が行われる。
【0115】即ち、取得オブジェクトGetter8では、そ
れが有するBuilder型の配列builders[]の要素Builder8
における構築メソッドbuild(Object resolved)がコール
される。構築オブジェクトBuilder8は、フィールドpPar
t81を被構築オブジェクトobj3の参照によって初期
化するために、その被構築オブジェクトobj3を取得
する取得オブジェクトGetter3-2を有しており、取得オ
ブジェクトGetter3-2は、被構築オブジェクトobj3
を取得する(Builder8における構築メソッドbuild(Obje
ct resolved)において、取得オブジェクトGetter3-2が
有する取得メソッドgetObject()がコールされることに
より、被構築オブジェクトobj3が取得される)。
【0116】ここで、被構築オブジェクトobj1によ
って参照される被構築オブジェクトobj3が、被構築
オブジェクトobj3よりも後に取得される被構築オブ
ジェクトobj8によっても参照されることは、あらか
じめ分かっている。このため、取得オブジェクトGetter
3-1が被構築オブジェクトobj3を取得すると、登録
オブジェクトの登録メソッドbind(String name,Object
resolved)がコールされ、取得オブジェクトGetter3-1が
取得した被構築オブジェクトobj3が登録されるよう
になされている。そして、取得オブジェクトGetter3-2
は、その登録オブジェクトの検索メソッドlookup(Strin
g name)をコールすることで、既に取得されている被構
築オブジェクトobj3の参照を取得するようになされ
ている。
【0117】既に取得されている被構築オブジェクトo
bj3は初期化する必要がないため(図12の実施の形
態では、被構築オブジェクトobj3は、最初から、初
期化すべきフィールドを有しないが、仮に有していたと
しても、その初期化は、取得オブジェクトGetter3-1が
有する構築オブジェクトによって行われるべきものであ
るから、ここでは行う必要がない)、取得オブジェクト
Getter3-2は、その初期化のための構築オブジェクトを
有しておらず(取得オブジェクトGetter3-2が有する、B
uilder型の配列builders[]の要素がnullになってお
り)、これにより、取得オブジェクトGetter3-2におけ
る取得メソッドgetObject()の処理が完結し、リターン
する。
【0118】このとき、取得オブジェクトGetter3-2に
おける取得メソッドgetObject()は、取得した被構築オ
ブジェクトobj3の参照を、戻り値として、構築オブ
ジェクトBuilder8に返し、構築オブジェクトBuilder8
は、その被構築オブジェクトobj3の参照によって、
被構築オブジェクトobj8のフィールドpPart81を初
期化する。そして、フィールドpPart81の初期化が終了
すると、構築オブジェクトBuilder8における構築メソッ
ドbuild(Object resolved)の処理が完結し、リターンす
る。
【0119】構築オブジェクトBuilder8における構築メ
ソッドbuild(Object resolved)が完結すると、取得オブ
ジェクトGetter8における取得メソッドgetObject()が完
結し、それが取得した被構築オブジェクトobj8の参
照が、戻り値として、構築オブジェクトBuilder4-2に返
される。構築オブジェクトBuilder4-2は、この戻り値で
ある被構築オブジェクトobj8の参照によって、被構
築オブジェクトobj4のフィールドpPart42を初期化
し、これにより、構築オブジェクトBuilder4-2における
構築メソッドbuild(Object resolved)の処理が完結し、
リターンする。
【0120】構築オブジェクトBuilder4-2における構築
メソッドbuild(Object resolved)が完結すると、取得オ
ブジェクトGetter4における取得メソッドgetObject()が
完結し、それが取得した被構築オブジェクトobj4の
参照が、戻り値として、構築オブジェクトBuilder6-1に
返される。構築オブジェクトBuilder6-1は、この戻り値
である被構築オブジェクトobj4の参照によって、被
構築オブジェクトobj6のフィールドpPart61を初期
化し、これにより、構築オブジェクトBuilder6-1におけ
る構築メソッドbuild(Object resolved)の処理が完結
し、リターンする。
【0121】構築オブジェクトBuilder6-1における構築
メソッドbuild(Object resolved)が完結すると、取得オ
ブジェクトGetter6では、それが有するBuilder型の配列
builders[]の2つの要素Builder6-1,Builder6-2のうち
の2番目のBuilder6-2における構築メソッドbuild(Obje
ct resolved)がコールされる。
【0122】構築オブジェクトBuilder6-2は、フィール
ドpPart62を被構築オブジェクトobj2の参照によっ
て初期化するために、その被構築オブジェクトobj2
を取得する取得オブジェクトGetter2を有しており、取
得オブジェクトGetter2は、被構築オブジェクトobj
2を取得する。
【0123】さらに、取得オブジェクトGetter2は、被
構築オブジェクトobj2が有するフィールドpPart21
を初期化する構築オブジェクトBuilder2を有しており、
それによって初期化が行われる。
【0124】即ち、取得オブジェクトGetter2では、そ
れが有するBuilder型の配列builders[]の要素Builder2
における構築メソッドbuild(Object resolved)がコール
される。構築オブジェクトBuilder2は、フィールドpPar
t21を被構築オブジェクトobj7の参照によって初期
化するために、その被構築オブジェクトobj7を取得
する取得オブジェクトGetter7を有しており、取得オブ
ジェクトGetter7は、被構築オブジェクトobj7を取
得する。
【0125】被構築オブジェクトobj7は初期化する
必要がないため、取得オブジェクトGetter7は、その初
期化のための構築オブジェクトを有しておらず(取得オ
ブジェクトGetter7が有する、Builder型の配列builders
[]の要素がnullになっており)、これにより、取得オブ
ジェクトGetter7における取得メソッドgetObject()の処
理が完結し、リターンする。
【0126】このとき、取得オブジェクトGetter7にお
ける取得メソッドgetObject()は、取得した被構築オブ
ジェクトobj7の参照を、戻り値として、構築オブジ
ェクトBuilder2に返し、構築オブジェクトBuilder2は、
その被構築オブジェクトobj7の参照によって、被構
築オブジェクトobj2のフィールドpPart21を初期化
する。そして、フィールドpPart21の初期化が終了する
と、構築オブジェクトBuilder2における構築メソッドbu
ild(Object resolved)の処理が完結し、リターンする。
【0127】構築オブジェクトBuilder2における構築メ
ソッドbuild(Object resolved)が完結すると、取得オブ
ジェクトGetter2における取得メソッドgetObject()が完
結し、それが取得した被構築オブジェクトobj2の参
照が、戻り値として、構築オブジェクトBuilder6-2に返
される。構築オブジェクトBuilder6-2は、この戻り値で
ある被構築オブジェクトobj2の参照によって、被構
築オブジェクトobj6のフィールドpPart62を初期化
し、これにより、構築オブジェクトBuilder6-2における
構築メソッドbuild(Object resolved)の処理が完結し、
リターンする。
【0128】構築オブジェクトBuilder6-2における構築
メソッドbuild(Object resolved)が完結すると、取得オ
ブジェクトGetter6における取得メソッドgetObject()が
完結し、それが取得した被構築オブジェクトobj6の
参照が、戻り値として、構築オブジェクトBuilder1-2に
返される。構築オブジェクトBuilder1-2は、この戻り値
である被構築オブジェクトobj6の参照によって、被
構築オブジェクトobj1のフィールドpPart12を初期
化し、これにより、構築オブジェクトBuilder1-2におけ
る構築メソッドbuild(Object resolved)の処理が完結
し、リターンする。
【0129】構築オブジェクトBuilder1-2における構築
メソッドbuild(Object resolved)が完結すると、取得オ
ブジェクトGetter1における取得メソッドgetObject()が
完結し、これにより、図12に示した構築物が構成され
る。
【0130】以上のように、アプリケーションプログラ
ムを構成する複数の被構築オブジェクトや、アプリケー
ションプログラムが利用するマルチメディアコンテンツ
その他のデータを構成する複数の被構築オブジェクト
を、取得オブジェクトによって取得し、さらに、それら
の被構築オブジェクトの参照関係を、構築オブジェクト
によって構築するようにしたので、被構築オブジェクト
を、例えば、ネットワーク上に分散させておき、必要な
ときに、必要な被構築オブジェクトだけを集めて、動的
にリンクさせ(参照関係を構築し)、アプリケーション
プログラムやマルチメディアコンテンツなどを構成する
ことが可能となる。
【0131】なお、被構築オブジェクトには、それとの
新たな参照関係を構築する構築オブジェクトを所有させ
ることが可能である。即ち、被構築オブジェクトのクラ
スは、例えば、次のように定義することが可能である。
【0132】 class ResolvedD extends Object{ private int fieldA; private Builder builder; public void setFieldA(int f){ fieldA=f; } public void setBuilder(Builder f){ builder=f; } public void rebuild(){ builder.build(this); } } ・・・(6)
【0133】上述のようなクラスResolvedDの被構築オ
ブジェクトでは、フィールドfieldAが、上述した場合と
同様にして初期化される他、フィールドbuilderが、あ
る構築オブジェクトによって初期化されるが、そのよう
に初期化されたbuilderにおける構築メソッドbuild(Obj
ect resolved)(プログラムリスト(6)では、build(t
his))をコールすることで(プログラムリスト(6)で
は、メソッドrebuild()をコールすることで)、構築物
の参照関係を、プログラム実行中に、動的に構成するこ
とが可能となる。即ち、これにより、例えば、構築物を
構成した後、その構築物を構成する被構築オブジェクト
の削除や、他の被構築オブジェクトとの交換、新たな被
構築オブジェクトの追加などを行うことが可能となる。
【0134】なお、本実施の形態では、被構築オブジェ
クトが、ネットワーク上に分散している場合、即ち、場
所的に分散している場合を例に説明したが、本発明は、
構築オブジェクトが時間的に分散している場合にも適用
可能である。さらに、本発明は、被構築オブジェクトが
分散している場合だけでなく、ある1カ所(例えば、図
2におけるSTB4のハードディスク17など)に集中
している場合にも適用可能である。
【0135】また、本実施の形態では、構築プログラム
が、あらかじめ、STB4のハードディスク17に記憶
されているものとしたが、構築プログラムは、必要なと
きに、必要な構築物を構成するためのものを、インター
ネット6から入手するようにすることが可能である。こ
の場合、EPGそのものを受信する場合に比較して、デ
ータの受信量が少なくてすむようになる。
【0136】さらに、本実施の形態では、本発明を、E
PGの構築に適用した場合について説明したが、本発明
は、EPG以外の、アプリケーションプログラムやマル
チメディアコンテンツその他のデータの構築にも適用可
能である。
【0137】また、本実施の形態では、構築プログラム
や、被構築オブジェクトを、Java言語で記述するように
したが、本発明は、その他のコンピュータ言語にも適用
可能である。但し、例えば、Javaや、C++、smalltal
kなどの、いわゆるオブジェクト指向言語を用いる方が
好ましい。
【0138】さらに、本実施の形態では、取得オブジェ
クト、構築オブジェクト、および登録オブジェクトの3
つのオブジェクトを用いて、構築物を構成するようにし
たが、例えば、取得オブジェクトと構築オブジェクトだ
けを用いるようにし、構築オブジェクトには、登録オブ
ジェクトが行う処理を行わせるようにすることが可能で
ある。
【0139】
【発明の効果】請求項1に記載の情報処理装置および請
求項9に記載の情報処理方法、並びに請求項10に記載
の記録媒体によれば、取得オブジェクトにおいて、取得
メソッドによって被構築オブジェクトが取得され、その
取得オブジェクトが所有する構築オブジェクトにおい
て、構築メソッドによって、取得オブジェクトが取得し
た被構築オブジェクトが初期化される。従って、例え
ば、被構築オブジェクトが分散していても、その被構築
オブジェクトを集めて、アプリケーションプログラムや
マルチメディアコンテンツを構成(構築)することが可
能となる。
【図面の簡単な説明】
【図1】本発明を適用した放送システムの一実施の形態
の構成例を示す図である。
【図2】図1のSTB4の構成例を示すブロック図であ
る。
【図3】EPGを示す図である。
【図4】図3のEPGを構成する各部品がネットワーク
上に分散している様子を示す図である。
【図5】取得クラスと構築クラスとの関係を示す図であ
る。
【図6】図5を説明するための図である。
【図7】取得クラスのサブクラスを示す図である。
【図8】構築クラスのサブクラスを示す図である。
【図9】登録クラスを示す図である。
【図10】登録クラスの役割を説明するための図であ
る。
【図11】構築処理を説明するためのフローチャートで
ある。
【図12】構築処理によって構築される構築物を構成す
る被構築オブジェクトどうしの参照関係を示す図であ
る。
【図13】図12の構築物を構成するのに必要な取得オ
ブジェクトと構築オブジェクトを示す図である。
【図14】図12の構築物を構成するのに必要な取得オ
ブジェクトと構築オブジェクトとの関係を示す図であ
る。
【符号の説明】
1 放送局, 2 衛星, 3 アンテナ, 4 ST
B, 5 CRT,6 インターネット, 7 サー
バ, 11 通信I/F, 12 受信処理部, 13
ROM, 14 CPU, 15 RAM, 16
表示制御部,17 ハードディスク, 18 CD−R
OM, 19 操作部

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】 所定の構築物を構成する複数の被構築オ
    ブジェクトを取得して、その初期化を行い、前記所定の
    構築物を構成するための処理を行う情報処理装置であっ
    て、 前記被構築オブジェクトが、自身のフィールドを設定す
    ることにより、その初期化を行うフィールド設定メソッ
    ドを有する場合に、そのフィールド設定メソッドをコー
    ルして、前記被構築オブジェクト間の参照関係を構築す
    る構築メソッドを有する構築オブジェクトと、 前記被構築オブジェクトを取得する取得メソッドを有す
    る、前記構築オブジェクトの所有が可能な取得オブジェ
    クトとを備え、 前記取得オブジェクトは、前記取得メソッドによって前
    記被構築オブジェクトを取得し、 その取得オブジェクトが所有する前記構築オブジェクト
    は、前記構築メソッドによって、前記取得オブジェクト
    が取得した前記被構築オブジェクトを初期化することを
    特徴とする情報処理装置。
  2. 【請求項2】 前記構築オブジェクトは、前記取得オブ
    ジェクトの所有が可能であり、 前記被構築オブジェクトの初期化を行う前記構築オブジ
    ェクトが所有する前記取得オブジェクトは、その初期化
    に必要な前記被構築オブジェクトを取得することを特徴
    とする請求項1に記載の情報処理装置。
  3. 【請求項3】 前記取得オブジェクトが取得した前記被
    構築オブジェクトを登録するメソッドを有する登録オブ
    ジェクトをさらに備え、 前記取得オブジェクトは、初期化に必要な前記被構築オ
    ブジェクトが、前記登録オブジェクトによって既に登録
    されているとき、その既に登録されている被構築オブジ
    ェクトを取得することを特徴とする請求項2に記載の情
    報処理装置。
  4. 【請求項4】 前記被構築オブジェクトは、それとの新
    たな参照関係を構築する前記構築オブジェクトを所有可
    能なようになされていることを特徴とする請求項1に記
    載の情報処理装置。
  5. 【請求項5】 前記取得メソッドまたは構築メソッド
    は、ポリモーフィックなメソッドであることを特徴とす
    る請求項1に記載の情報処理装置。
  6. 【請求項6】 前記被構築オブジェクトは、1以上の前
    記フィールド設定メソッドを有することが可能とされて
    いることを特徴とする請求項1に記載の情報処理装置。
  7. 【請求項7】 前記取得オブジェクトは、1以上の前記
    構築オブジェクトを所有することが可能とされており、 前記取得オブジェクトが所有する1以上の前記構築オブ
    ジェクトが、前記構築メソッドによって、前記取得オブ
    ジェクトが取得した前記被構築オブジェクトの1以上の
    フィールドを、それぞれ初期化することを特徴とする請
    求項6に記載の情報処理装置。
  8. 【請求項8】 前記複数の被構築オブジェクトが、場所
    的または時間的に分散していることを特徴とする請求項
    1に記載の情報処理装置。
  9. 【請求項9】 所定の構築物を構成する複数の被構築オ
    ブジェクトを取得して、その初期化を行い、前記所定の
    構築物を構成するための処理を行う情報処理装置の情報
    処理方法であって、 前記情報処理装置は、 前記被構築オブジェクトが、自身のフィールドを設定す
    ることにより、その初期化を行うフィールド設定メソッ
    ドを有する場合に、そのフィールド設定メソッドをコー
    ルして、前記被構築オブジェクト間の参照関係を構築す
    る構築メソッドを有する構築オブジェクトと、 前記被構築オブジェクトを取得する取得メソッドを有す
    る、前記構築オブジェクトの所有が可能な取得オブジェ
    クトとを備え、 前記取得オブジェクトに、前記取得メソッドによって前
    記被構築オブジェクトを取得させ、 その取得オブジェクトが所有する前記構築オブジェクト
    に、前記構築メソッドによって、前記取得オブジェクト
    が取得した前記被構築オブジェクトを初期化させること
    を特徴とする情報処理方法。
  10. 【請求項10】 コンピュータに実行させるコンピュー
    タプログラムが記録されている記録媒体において、 所定の構築物を構成する複数の被構築オブジェクトを取
    得して、その初期化を行い、前記所定の構築物を構成す
    る処理を、前記コンピュータに行わせるためのコンピュ
    ータプログラムであって、 前記被構築オブジェクトが、自身のフィールドを設定す
    ることにより、その初期化を行うフィールド設定メソッ
    ドを有する場合に、そのフィールド設定メソッドをコー
    ルして、前記被構築オブジェクト間の参照関係を構築す
    る構築メソッドを有する構築オブジェクト、および前記
    被構築オブジェクトを取得する取得メソッドを有する、
    前記構築オブジェクトの所有が可能な取得オブジェクト
    を含み、 前記取得オブジェクトに、前記取得メソッドによって前
    記被構築オブジェクトを取得させ、 その取得オブジェクトが所有する前記構築オブジェクト
    に、前記構築メソッドによって、前記取得オブジェクト
    が取得した前記被構築オブジェクトを初期化させる処理
    を行わせるためのコンピュータプログラムが記録されて
    いることを特徴とする記録媒体。
JP9289690A 1997-10-22 1997-10-22 情報処理装置および情報処理方法、並びに記録媒体 Pending JPH11126162A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP9289690A JPH11126162A (ja) 1997-10-22 1997-10-22 情報処理装置および情報処理方法、並びに記録媒体
US09/174,699 US6269476B1 (en) 1997-10-22 1998-10-19 Information processing apparatus, method, and recording medium for recording a computer program to be executed by a computer to carry out processing of constructing software

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9289690A JPH11126162A (ja) 1997-10-22 1997-10-22 情報処理装置および情報処理方法、並びに記録媒体

Publications (1)

Publication Number Publication Date
JPH11126162A true JPH11126162A (ja) 1999-05-11

Family

ID=17746495

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9289690A Pending JPH11126162A (ja) 1997-10-22 1997-10-22 情報処理装置および情報処理方法、並びに記録媒体

Country Status (2)

Country Link
US (1) US6269476B1 (ja)
JP (1) JPH11126162A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7240074B2 (en) 2003-02-18 2007-07-03 Samsung Electronics Co., Ltd. Storage medium having object-oriented program
JP2012014700A (ja) * 2010-07-01 2012-01-19 Nhn Corp 開発者インタフェース提供方法およびシステム

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6588011B1 (en) * 1999-12-14 2003-07-01 International Business Machines Corporation Apparatus for automatically generating restore process during software depolyment and method therefor

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1995003586A1 (en) * 1993-07-21 1995-02-02 Persistence Software, Inc. Method and apparatus for generation of code for mapping relational data to objects
US5835911A (en) * 1994-02-08 1998-11-10 Fujitsu Limited Software distribution and maintenance system and method
US5675801A (en) * 1994-09-30 1997-10-07 International Business Machines Corporation Object oriented system and method for generating target language code
US5875331A (en) * 1994-09-30 1999-02-23 International Business Machines Corp. System and method for generating target language code utilizing an object oriented code generator
US5920718A (en) * 1997-03-21 1999-07-06 The Boeing Company Method and apparatus for creating executable code for object-oriented objects having finite state machine
US5924101A (en) * 1997-10-14 1999-07-13 International Business Machines Corporation User interface for creating class definitions and implementations for datastore persistent objects
US5978581A (en) * 1997-12-02 1999-11-02 Electronic Data Systems Corporation Object-oriented code generation system and method

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7240074B2 (en) 2003-02-18 2007-07-03 Samsung Electronics Co., Ltd. Storage medium having object-oriented program
JP2012014700A (ja) * 2010-07-01 2012-01-19 Nhn Corp 開発者インタフェース提供方法およびシステム

Also Published As

Publication number Publication date
US6269476B1 (en) 2001-07-31

Similar Documents

Publication Publication Date Title
US7139821B1 (en) Method and apparatus for creating and deploying applications from a server application
US6260078B1 (en) Using a distributed object system to find and download java-based applications
EP1356381B1 (en) A method and apparatus for the compilation of an interpretative language for interactive television
US6347398B1 (en) Automatic software downloading from a computer network
US7577700B2 (en) Method and apparatus for a portable information agent
US5860004A (en) Code generator for applications in distributed object systems
US7904803B2 (en) Method and system for converting user interface source code of a legacy application to web pages
US9454616B2 (en) Method and system for unifying configuration descriptors
US20010044790A1 (en) Method and apparatus for managing classfiles on devices without a file system
CA2298003A1 (en) Scripting task-level user interfaces
JPH1091447A (ja) 分散オブジェクトシステムにおいて分散オブジェクトの再利用を促進するカタログ装置
US7346899B2 (en) Lookup facility in distributed computer systems
KR20010080210A (ko) 구성 가능한 기능을 갖는 텔레비전 셋톱박스
KR20030043998A (ko) 활성 클라이언트 위치의 활성 애플리케이션 구성 요소로실시간 업데이트를 배포하는 방법 및 시스템
US6757903B1 (en) Object driven software architecture method and apparatus
US20070061277A1 (en) Method, system, and storage medium for providing dynamic deployment of grid services over a computer network
US8301690B2 (en) Correlator system for web services
JPH11126162A (ja) 情報処理装置および情報処理方法、並びに記録媒体
US6999964B2 (en) Support for domain level business object keys in EJB
KR101190597B1 (ko) 로봇 소프트웨어 컴포넌트를 위한 메소드 포트 장치 및 구성 방법
US20070044070A1 (en) Apparatus, system, and method for java bean delta generation
JPH1153223A (ja) データ処理方法、記録媒体及び電子機器
US7472174B2 (en) Abstract mechanism for constructing commands for the command pattern
JPH11184860A (ja) 情報処理装置および情報処理方法、並びに記録媒体
JP4669245B2 (ja) フレームワーク間連携プログラム、フレームワーク間連携方法、フレームワーク間連携装置、およびフレームワーク間連携システム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20051205

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060127

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060220