JPH1091449A - 分散オブジェクト・ネットワーク上で分散オブジェクトを利用してアプリケーションプログラムを構成するための視覚的組立ツール - Google Patents
分散オブジェクト・ネットワーク上で分散オブジェクトを利用してアプリケーションプログラムを構成するための視覚的組立ツールInfo
- Publication number
- JPH1091449A JPH1091449A JP9178698A JP17869897A JPH1091449A JP H1091449 A JPH1091449 A JP H1091449A JP 9178698 A JP9178698 A JP 9178698A JP 17869897 A JP17869897 A JP 17869897A JP H1091449 A JPH1091449 A JP H1091449A
- Authority
- JP
- Japan
- Prior art keywords
- component
- interface
- application
- existing
- defining
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
- G06F8/24—Object-oriented
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/34—Graphical or visual programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/465—Distributed object oriented systems
-
- 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
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99944—Object-oriented database structure
-
- 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
て新たなアプリケーションを開発するために、コンポー
ネントのカタログを見てコンポーネントを選択しリンク
を作成することを支援するアプリケーション構築環境が
必要となる。 【解決手段】分散オブジェクトシステム上に供給された
既存オブジェクトへのリファレンスを提供するコンポー
ネントを含むカタログファシリティを提供するステップ
から構成される。カタログファシリティからアプリケー
ションプログラムに含めるためにコンポーネントが選択
される。部品は、選択されたコンポーネントから利用
し、オブジェクト指向アプリケーションソフトウェアの
ための、コンピュータコードによって提供される関係を
定義する部品間のリンクを選択・定義するための機能を
利用するこのシステム上の既存オブジェクトを参照する
少なくとも一つ以上の部品へリンクを作成できる上記環
境で利用できる。
Description
ィング・システム、クライアント-サーバ・コンピュー
ティング、及び、オブジェクト指向プログラミングの分
野に関するものである。特に、本発明は、分散オブジェ
クトシステム上で利用されるオブジェクト指向ソフトウ
ェア・アプリケーションの作成のための方法と装置を含
む。
利用した場合の開発の遅延とコスト高の増加傾向にとも
ない、オブジェクト指向プログラミングの方法論に関す
る関心が高まっている。オブジェクト指向プログラミン
グ方法論は、手続きよりもデータを操作することに重点
をおいている。そのためプログラマーはより直感的に実
世界の問題をモデル化することができる。さらに、オブ
ジェクトは、そのインタフェースのみを通してデータや
手続きを参照することによって、プログラムのそのオブ
ジェクト以外の部分にたいして情報を隠蔽できるように
関連したデータや手続きをカプセル化する。それゆえ、
オブジェクトのデータや手続きの変更は比較的プログラ
ムの他の部分から独立している。あるオブジェクトに対
する変更が他のオブジェクトのコードに影響を及ぼさな
いため、従来の方法を用いて書かれたコードと比べて、
より容易に保守できるコードを生成できる。さらに、オ
ブジェクトはモジュール性を備えているため、個々のオ
ブジェクトを他のプログラムで利用することができる。
このように、プログラマは、他のプログラムで何度も利
用が可能な「実績がありこなれた」オブジェクトのライ
ブラリを開発できる。信頼性の高いプログラムコードが
繰り返し利用されることにより、ソフトウェアの開発時
間を減少させるとともに、信頼性が増す。
システムは、オブジェクトサーバに対するクライアント
の要求を行うインタフェースを備えたオブジェクトサー
バによるクライアント-サーバモデルに基づいている。
そのようなシステムでは一般的に、サーバはデータと関
連手続きで構成されたオブジェクトである。クライアン
トは、分散システムによって取り次がれる呼び出しを実
行することによって、オブジェクトサーバの機能を参照
することができる。オブジェクトサーバが呼び出しを受
け取ると、サーバは適当なメソッドを実行し結果をオブ
ジェクトクライアントに返す。クライアントとオブジェ
クトサーバは、様々な分散オブジェクトの所在をつきと
めそれらの間の通信を確立する オブジェクト・リクエ
スト・ブローカ(Object Request Broker:ORB)を利用
して通信する。
指向プログラミング方法論を導入する利益は大きいが、
そのインプリメントには大きな問題がある。一般に、オ
ブジェクトプログラミングにおいても、プログラミング
の過程でソフトウェアの再利用をインプリメントする目
的を達成することは困難である。典型的に、プログラマ
は、理解することがほとんど、もしくは、全くできない
コードを積極的に利用することはない。このことは、分
散オブジェクトシステムで新しいアプリケーションを開
発するプログラマに対するコメントと説明を容易に付加
することができない開発者にとってとくに問題である。
こうして、プログラマに対して大変有用なコードが準備
されているにもかかわらず、プログラマは分散オブジェ
クトシステムを通じてそれを十分に利用することができ
ない場合が生じ、すでに開発されているコードを再び書
いてしまう事態がおきる。
する過程は非常に困難である。プログラマはアプリケー
ションを作成するために大量の複雑なコードを解析する
必要がある。オブジェクトプログラミングは、プログラ
マはアプリケーションのオブジェクトが備えている継承
構造に気づかなければならないという、大きな課題を提
示している。このように、大きなオブジェクト指向アプ
リケーションの開発において、プログラマはプログラム
中のオブジェクトのあいだの関係について認識する必要
があり、それは、吸収し解析する必要のある多量の関連
文書によってよりいっそう困難なものとなる。
のオブジェクトや異なるプログラミング言語で書かれた
オブジェクトを、既存のプログラミングコードを再開発
したりユーザに大きな負荷をを負わせることなく、分散
オブジェクトシステム上で利用できるという比較的透過
的な方法によって分散オブジェクトをインストールした
り生成したりできることはプログラマやユーザにとって
大変望ましいことである。さらに、分散オブジェクトプ
ログラミングは、アプリケーションの中のオブジェクト
間の関係についての解析と設計を単純化する設計や方法
によってより容易なものとなる。これら両方の問題の解
決は、プログラマが真に創造的な努力を必要とする部分
に注目し、反復的なコーディングや解析を最小にする事
を可能とし、それによってオブジェクト指向アプリケー
ションと分散オブジェクトアプリケーションの開発を促
進する。
クトシステム上ですでに利用可能なコンピュータのコー
ドの再利用を促進する、比較的直感的で透過的な方法で
分散オブジェクト・ネットワーク上で分散オブジェクト
をインストールしたり構成したりするための方法、装
置、及び、コンピュータに読みとり可能な媒体を供給す
る。本発明の方法、装置、及び、コンピュータに読みと
り可能な媒体の利用によって、分散オブジェクトの構
成、設計、及び、分析が促進されることを、以下の発表
と図によって明らかにする。
既存のオブジェクト、もしくは、既存のオブジェクトの
派生物と、アプリケーション・プログラム・インタフェ
ースを含むオブジェクト指向アプリケーション・ソフト
ウェアが動作する、分散オブジェクト・システム上にイ
ンストールされるオブジェクト指向アプリケーションを
構成する、コンピュータにインプリメントされる方法を
供給することがあげられる。具体的に、この発明の手法
は、分散オブジェクト・システム上で供給される既存の
オブジェクトに対するリファレンスを供給するコンポー
ネントを含むカタログ化機能を供給する段階を含む。カ
タログ化機能によってあるコンポーネントがアプリケー
ション・ソフトウエアの一部となるように選びだされる
と、その選択されたコンポーネントに参照されるオブジ
ェクトに相当する部品は、その選択されたコンポーネン
トから派生する。その部品は、オブジェクト指向アプリ
ケーション・ソフトウェアのためのコンピュータ・コー
ドによって作られる、部品の間の関連を定義する、選択
と定義リンク機能の利用によって、分散オブジェクトシ
ステム中での、少なくとも一つの既存のオブジェクトを
参照する部品とリンク付けることのできるアプリケーシ
ョン構成環境の中で利用できるようになる。最後に、ア
プリケーション・プログラムの実行時に、部品間の関連
を効果的にインプリメントできるコンピュータ・コード
を生成できるような部品間の関連を定義できるアプリケ
ーション構成環境の中で、部品は少なくとも一つの他の
部品と関連付けられる。
照としてアイコンがあり、カタログとアプリケーション
構成環境としてグラフィカル・ユーザ・インタフェース
があり、選択の段階としてアイコンの一つを選ぶ動作が
ある。他の具体例として、アプリケーション構成環境で
利用できる既存のオブジェクトに対する参照を作る手続
きとして、カタログファシリティからアプリケーション
構成機能にリファレンスをドラッグする動作がある。さ
らに他の具体例として、各部品はプラグとソケットを供
え、リンクを作成する手続きとして最初の部品のプラグ
と2番目の部品のソケットとの間に連結を定義するとい
うことがある。他の具体例として、カタログファシリテ
ィはアイコンとアイコンによって表される既存のオブジ
ェクトに関する情報をみるための領域であり、コンポー
ネントを選択する手続きは、選択されたコンポーネント
によって参照される既存のオブジェクトに関する情報を
表示を引き起こす効果がある。
クトシステムにインストールされるコンピュータ制御用
オブジェクト指向アプリケーションソフトウェアのもと
での構成用コンピュータシステムを供給するということ
である。具体的に、この発明のシステムは、分散オブジ
ェクトシステム上にインストールされている既存のオブ
ジェクトシステムのリファレンスのカタログを含むコン
ポーネントサービスを備えている。このコンポーネント
サービスはリファレンスを使って構成物を作成するため
のコンポジションビルダと対である。コンポジションビ
ルダは、オブジェクトアプリケーションソフトウェアの
ためのコンピュータコードを供給するために関連を定義
するためにリンクできるリファレンス間の選択と定義リ
ンクのための機能を備えたアプリケーション構成環境を
供給する。プログラムソースファイルを生成する構成物
からのソースコードをコンパイルし生成するためのコー
ド生成ユニットも供給する。コード生成器はさらに、分
散オブジェクトシステム上にインストールするためのソ
フトウェアオブジェクトを生成するためのコード生成ユ
ニットによって生成されるプログラムソースファイルを
扱うオブジェクト開発機能とともに利用される。
中で部品を選択したりリンクしたりするためのコンポジ
ションワークスペース、既存のオブジェクトのインタフ
ェースを定義するコンピュータコードを編集するインタ
フェースエディタ、編集するファイルを選択するための
ブラウザ、及び、部品に参照されるオブジェクトに関す
る情報を定義するためのサマリテーブルを備える。コン
ポジションワークスペース、インタフェースエディタ、
ブラウザ、及び、サマリテーブルはそれぞれグラフィカ
ル・ユーザ・インタフェースを備える。アプリケーショ
ン構成環境は、部品を表示・選択・リンクするグラフィ
カルユーザインタフェース、選択された部品のプラグを
表示・選択するための領域、選択された部品のソケット
を表示・選択するための領域、構成中のアプリケーショ
ンのインタフェースを表示するための領域、既存のオブ
ジェクトのインタフェースを参照するための領域、及
び、選択された部品の属性値を設定するための領域を含
む。
インストールされるオブジェクト指向アプリケーション
ソフトウェアを構成するためのコンピュータプログラム
製品としての側面もある。このオブジェクト指向アプリ
ケーションソフトウェアは、少なくとも1個の既存のオ
ブジェクトか既存のオブジェクトの派生物を含んでい
る。具体的に、このコンピュータプログラム製品は、分
散オブジェクトシステム上で供給される既存のオブジェ
クトへの参照を含むカタログファシリティを供給するた
めの、可読なプログラムコードデバイスである。さらに
このコンピュータプログラム製品は、オブジェクト指向
アプリケーションのためのコンピュータコードによって
供給される相互の関連を定義するために参照をリンクで
きるアプリケーション構成環境を供給するためのプログ
ラムコードデバイスをも含む。そのアプリケーション構
成環境は、リファレンスの中でリンクを選択・定義する
ための機能を備えている。このコンピュータプログラム
製品は、アプリケーション構成環境で利用可能な既存の
オブジェクトへのリファレンスを選択するためのプログ
ラムコードデバイスおも含む。さらに、アプリケーショ
ンプログラム実行時に関係をインプリメントするのに効
果的なコンピュータコードが生成されるようなリファレ
ンスの間の関係によって定義するアプリケーション構成
環境の中のすくなくとも他の一つ以上のリファレンスへ
のリファレンスをリンクするための追加コードデバイス
をも含む。
び、利点は、以下の図を付随した詳細な記述により明ら
かになる。
理的実装 本発明には、コンピュータシステムに蓄積されたデータ
を扱う様々なステップがある。これらのステップでは、
物理的な量を物理的に操作する必要がある。一般に、こ
れらの量は、その必要がないにもかかわらず、蓄積、転
送、結合、比較、及び、他の操作が可能な電気的、もし
くは、磁気的な信号の形をとる。共通に利用できる目的
のために、これらの信号は、ビット、値、要素、変数、
文字、データ構造、もしくは、同様のものとしてよく参
照される。しかし、これら全て、及び、これらと同様の
言葉は適切な物理量と結びつけられたものであり、ま
た、これらの量に対する単なる便宜的なラベルであると
いうことを覚えておかなくてはならない。
別する、実行する、もしくは、比較するといったような
言葉で参照される。本発明の一部である、ここに記した
全ての操作は、機械操作である。本発明の操作で操作を
実行する有用な機械には、汎用デジタルコンピュータや
同様の装置が含まれる。どの場合でも、コンピュータを
操作するときの操作方法と、計算そのものの操作方法の
違いについて留意しておくべきである。本発明は、他の
何らかの物理的信号を生成するための電気的、もしく
は、他の物理的信号に対する操作するときのコンピュー
タに対する操作に対する手法に関するものである。
も関係している。この装置は、特定の目的のために特別
に作成されるかもれないし、コンピュータに搭載される
コンピュータプログラムによって再構成、もしくは、特
定の動作をさせられる汎用コンピュータであるかもしれ
ない。ここで述べる発明は特定のコンピュータ、もしく
は、他の装置に関連したものではない。特に、ここで述
べた方法に従って書かれたプログラムとともに様々な汎
用コンピュータが使われるかもしれないし、特定の手法
を実行するためにより特化した装置を作成した方が便利
かもしれない。これら多様な機械に必要とされる構造に
ついては後に記す。
れた様々な操作を実行するためのプログラム命令を含
む、コンピュータに読みとり可能な媒体にも関係してい
る。その媒体とプログラム命令は、本発明のために特別
に設計作成されるかもしれないし、広く一般に知られた
種類のもので利用可能な、コンピュータソフトウェアの
技術であるかもしれない。コンピュータに読みとり可能
な媒体の例として(とくにこれらに制限される訳ではな
い)フロッピーディスク、磁気ディスクといった磁気媒
体、CD-ROMディスクといった光媒体、MOディスクといっ
た光磁気媒体、そして、リードオンリーメモリやランダ
ムアクセスメモリといったプログラム命令を蓄積し実行
するために作られたハードウェアなどが含まれる。プロ
グラム命令には、コンパイラによって生成されるマシン
コードとコンピュータがインタプリタを利用して実行さ
れる高級コードを含むコードとの両方が含まれる。
図1で記号的に記したオブジェクト・リクエスト・ブロ
ーカ(ORB)11 を含む。ORB 11 は、クライアントから
サーバ(目的オブジェクト)にコールを配送しクライア
ントに応答を返すために必要な機能と、位置特定と転送
機構を供給する。クライアントとサーバは同じプロセス
に存在するかもしれないし、同じ機械の別のプロセスに
存在するかもしれないし、全く別のマシンに存在するか
もしれない。ここでの議論のために、クライアント 20
は分散オブジェクト上で操作を起動してもよいものと
し、分散オブジェクトかプロセスの形をとっても、とら
なくてもよいものとする。分散オブジェクトには多様な
表現形式がある。例としては、分散オブジェクトはアプ
リケーションプログラマによて供給されるC++のオブ
ジェクトかもしれない。また、以後の2節で詳細を述べ
るビジュアル・アプリケーション・ビルダ 15 のなかで
開発された分散オブジェクトであるかもしれない。ビジ
ュアル・アプリケーション・ビルダは、開発者が、簡単
にいうと、分散オブジェクトシステムで利用可能なオブ
ジェクトタイプの一覧から視覚的に選択し、新しいオブ
ジェクトを生成するためにその選択したオブジェクトに
よって供給される機能をグラフィカルに連結できるよう
にするものである。
散オブジェクトコードの開発者のオブジェクトを覆い隠
す、もしくは、カプセル化することによって、部分的
に、分散オブジェクトの生成とインストールを簡略化す
るために利用される。オブジェクト開発ファシリティ 1
6 は開発者のオブジェクトをORB オブジェクトインプリ
メンテーションに変換するために利用される。この例で
は、ORBオブジェクトインプリメンテーション 14は図中
で場所によってサーバとして表現されている。開発者
は、ORBのインタフェースを定義するためにインタフェ
ース定義言語を用い、オブジェクトの振るまい決めるた
めに開発者のオブジェクトを供給し、そして、ORBオブ
ジェクトインプリメンテーション 14 を製造するために
オブジェクト開発ファシリティ 16 を利用する。実行時
に、このORBオブジェクト(サーバオブジェクト)のイ
ンスタンスはORBオブジェクトインプリメンテーション
14で利用できるように生成される。オブジェクト開発フ
ァシリティはある点でクライアントの役割を果たすオブ
ジェクトを作るために用いてもよい点は高く評価される
べきである。
21、サブコントラクト(subcontract)・レイヤ 36、フ
ィルタ 40、そしてトランスポートレイヤ 38 を通じて
連絡する。スタブ 21 はサロゲート(surrogate)22、
メソッドテーブル 24、そして、スタブファンクション
25 を含む。クライアント 20は、最初に、クライアント
にとってサーバに見えるサロゲート 22 と通信する。
かわりに、クライアント20は、サロゲート22、メソッド
テーブル24、そして、スタブファンクション(スタブ関
数)25 を通じて行う代わりに、動的起動インタフェー
ス(Dynamic Invocation interface : DII)26を通じて
直接サーバオブジェクトと通信してもよい。動的起動イ
ンタフェース26はクライアントが動的要求を生成できる
ようにするために用いられる。
コントラクトによって名付けられた様々なサービス(も
しくは特徴・オブジェクトの機能)をインプリメントす
るためのサブコントラクトを利用するためにオブジェク
トに必要とされる機能を提供する。サブコントラクト
は、個々のオブジェクトによって起動されるであろう分
散オブジェクトシステムによって提供されるサービスの
質を識別する。例えば、特定のオブジェクトのために利
用されるセキュリティの特徴を識別する。特定のサブコ
ントラクトは実行時にサーバオブジェクトと動的に結び
つけられる。フィルタ40は、もし利用された場合には、
圧縮、暗号化、トレース、もしくは、デバッグといった
様々な機能を実現する。トランスポートレイヤ 38は,ク
ライアントとは典型的には同じプロセスを共有しないサ
ーバとのあいだで情報を先導し、転送するための操作を
行う。
andard inplementarion suite)28(もしくはオブジェ
クトアダプタ)は、オブジェクト鍵管理と同様の方法で
ORBオブジェクト14と対話するサブコントラクトの集合
を表す。サブコントラクトは複数のインプリメンテーシ
ョンスイートに属す場合があることを特に記しておく。
インプリメンテーションスイートも異なるサブコントラ
クトを利用する。静的スケルトン32か動的スケルトン30
のいずれかの形をとるスケルトンはサーバオブジェクト
78が必要とする形式に要求を変換するために利用され
る。このようにして、スケルトン30と32は適当なサーバ
オブジェクト78を呼び出す。静的スケルトン30はインタ
フェースに固有のオブジェクトインプリメンテーション
14を呼び出すために利用され、一方、動的スケルトン30
は一般にインタフェースに固有のオブジェクトが利用で
きない場合に使われる。ORB インタフェース 34は全て
のORBのためのORBに直接つながるインタフェースで、オ
ブジェクトのインタフェースやオブジェクトアタプタに
依存しない。ORB デーモン46は、クライアントによって
起動されたときにオブジェクトサーバがアクティブにな
っていることを保証する責任がある。
ル)42は、インターネット上の ORB間のプロトコルを安
全にする実行可能なプロトコルであり、安全な方法でト
ランスポートレイヤ38を通じて情報を転送するのに役立
つ。インターネット上の ORB間プロトコルは異なる機械
のプロセスの間で典型的に通信するためのプロトコルで
ある。しかし、いくつかの場合、インターネット上の O
RB間プロトコルは、同じマシンのプロセスの間で通信す
る場合もある。セキュリティサーバ54は異なる機械のプ
ロセスの間で利用されるサービスを安全にするセキュリ
ティ管理サーバである。
はタイプコード及びAny(任意)オブジェクトを実現す
る。タイプコードはインタフェース定義言語(IDL)の
データ型を記述し、タイプの記述がサーバとクライアン
トの間で転送されるようにする。IDL データ型のインス
タンスはAny(任意)オブジェクトによってカプセル化
される。Any(任意)オブジェクトはカプセル化された
データのタイプコードとデータの汎用符号とを参照す
る。
ementation repository)50はオブジェクトサーバに関
する情報を格納する。とくに、インプリメンテーション
レポジトリ50はサーバプロセス開始するために必要とさ
れる情報を格納する。例えば、インプリメンテーション
レポジトリ50はサーバプログラムの場所、プログラムの
引数、そして、プログラムに引き渡される環境変数とい
った情報を格納する。
e)56 は、IDLに定義されたタイプが読み出せ、また、
ディスクに書き込めるようにする追加コードの一部とと
もに、IDLコンパイラを用いて得たIDL型の実行時出力と
型をインタフェース定義言語を用いて定義する。ネーミ
ングサービス52 はORBオブジェクトに名前を付けるため
に利用される。クライアントは目的のオブジェクトをそ
の名前によって検索するためにネーミングサービス52を
利用してもよい。インタフェースレポジトリ(IFR)48
は分散システムじょうの全てのオブジェクトの全てのオ
ブジェクトについて知っている。
に記したネットワークのようなコンピュータネットワー
クによって互いに結合された 1台以上のコンピュータに
分散オブジェクトが配置される。この図のように、ネッ
トワーク100はネットワーク104と結合されたコンピュー
タ102を含む。ネットワーク104はさらに、サーバ、ルー
タ、もしくは、データや命令がネットワークに接続され
たコンピュータの間をやりとりされるように、他のコン
ピュータ108、110と112に加えて106のようなコンピュー
タを含む。コンピュータネットワークの設計、構成、及
び、インプリメントはこれらの技術と親和性がある。
は図3の200に図示する。各コンピュータは、中央演算
ユニット(CPU)もしくは並列プロセッサや分散プロセ
ッサを含むマルチプルプロセッサのような(これらに限
定されるわけではない)計算を実行するプロセッシング
ユニット202を含む。プロセッサ202 は、ランダムアク
セスメモリ(RAM)やリードオンリーメモリといった一
次記憶204 と対で利用される。RAMはプロセッサ202で現
在実行されているプロセスのための、分散オブジェクト
とその関連データ・操作命令を含むプログラム命令とデ
ータを一般に格納する。ROM は、コンピュータがその機
能を実現するために利用する基本的な操作命令、デー
タ、及び、オブジェクトを一般に格納する。さらに、ハ
ードディスク、CD-ROM、光磁気記憶装置、テープドライ
ブといった二次記憶装置208 はプロセッサ202と双方向
的に結合される。二次記憶装置208は一般にプロセッサ
に頻繁には利用されないプログラム命令、データ、及
び、オブジェクトを一般には格納するが、プロセッサは
アドレス空間の一部、例えば、仮想記憶として参照する
場合もある。上記の各コンピュータは、キーボードやポ
インタデバイス(すなわちマウスやタブレット)といっ
た入力媒体と一般に含む入出力源 210を備える。各コン
ピュータはネットワークコネクション212 も備えること
ができる。追加大容量記憶装置をネットワークコネクシ
ョン 212を利用してCPU202に接続してもよい。上記のハ
ードウェア及びソフトウェア要素は、ネットワーク装置
と同様に、標準的な設計・構成のものであることを特に
記しておく。
ントの方法は、コンピュータシステム上のコンピュータ
プログラム命令を実行するための、コンピュータ科学で
は一般に知られた技術や装置を利用してインプリメント
するものである。ここでは、コンピュータシステムと
は、RAM、ROM、CD-ROM、やハードディスクといった、プ
ロセッシングユニットによって、データや命令を交換す
る一つ以上のデータ記憶装置とともに、データや命令を
取り扱うためのプロセッシング装置(中央演算装置な
ど)を含む。データ記憶装置は専用(プロセッシングユ
ニットと直接結合されている)かリモート(コンピュー
タネットワークを介してプロセッシングユニットと結合
されている)である。コンピュータネットワークを介し
てプロセッシングユニットと結合されるリモートデータ
記憶装置はプログラムを特定のワークステーション上の
プロセッシングユニットで実行するためにプログラム命
令を送るために利用できる。さらに、プロセッシング装
置は、同じ物理機構か(並列プロセッサの場合)か、ネ
ットワーク(分散プロセッサの場合)かのいずれかを介
して 1個以上のプロセッシング装置を接続できる。リモ
ートで結合されたデータ記憶装置とプロセッサの利用は
コンピュータ科学の中でより一般的なものになるであろ
う。ここではコンピュータネットワークとは、互いに通
信できるコンピュータシステムの集まりが相互に結合し
た通信チャンネルの集まりのことをいう。通信チャンネ
ルには、ツイストペアケーブル、同軸ケーブル、光ファ
イバ、衛星通信、もしくは、デジタル無線といった通信
媒体を含む。コンピュータシステムは、広い地域(16〜
1600kmの場合。WAN)に分散していてもいいし、局所的
なネットワーク(3〜50mの場合。LAN)でもよい。さら
に、さまざまなローカル及びワイドエリアネットワーク
は、集合的なコンピュータネットワークへ結合すること
ができる。そのようなコンピュータネットワークの連合
の例としてインターネットがある。
ト指向アプリケーションを構成するシステムを示す。本
発明のこのシステムは。図3で示し先に述べたような分
散オブジェクトシステムにインストールするアプリケー
ションを構成することが、ユーザ、典型的にはプログラ
マ、にできるようにするコンポジションビルダ402 を含
む。コンポジションビルダは、分散オブジェクトシステ
ム上で利用可能なオブジェクトを、ユーザやプログラマ
が利用できるようにするコンポーネントサービス404 と
共に利用される。具体的に、このような利用ははカタロ
グによって可能となる。カタログとは、簡単にいって、
分散オブジェクトシシステム上でプログラマが利用でき
るソフトウェア資源の一覧である。カタログは具体的
に、カタログに含まれているコンポーネントに参照され
るオブジェクトに関するインプリメンテーションと機能
に関する情報をプログラマに提供する。このように、カ
タログは、ユーザにソフトウェア資産を利用可能にする
ことによって分散オブジェクトシステムにわたる協調作
業を促進し、利用可能なオブジェクトとソフトウェアに
関する詳細な情報を提供することによってソフトウェア
開発者間での共同作業を促進する。コンポジションビル
ダ 402はさらに、コンポジションビルダによって作られ
たコンポジションを格納するプログラムテンプレートレ
ポジトリ402と共同して410にしめすようなプログラムの
ソースファイルを製造するコードジェネレータ408と共
に利用される。
ンパイラ・リンカ414に送られる。さらに、ODFコンパイ
ラ・リンカ414は、コンポーネントサービス404と共に利
用されるオブジェクトアクセスソフトウェアと共に利用
される。オブジェクトアクセスソフトウェア412は、分
散オブジェクトを構築するために OMG CORBA仕様に従う
ようにIDLインタフェースについての言語の対応を準備
するためにIDL コンパイラが利用されたときに生成され
るスタブの集合からなる。ODFコンパイラ・リンカは、4
20に概略を示した、順次ネットワークオブジェクト422
を利用するオブジェクトソフトウェア416とネットワー
クソフトウェア 418の両方を生成する。これらのネット
ワークオブジェクトは、コンポーネントサービス404に
よってODFコンパイラ・リンカ414に供給されるオブジェ
クトアクセスソフトウェア414を用いて利用される。
配置できる 1個以上の既存のオブジェクトかその派生物
からソフトウェアアプリケーションがその中で構成され
る非常に直感的で便利な環境をプログラマやユーザに提
供することによってコードの再利用しプログラマの生産
性をあげるという上記の目的を促進するコンポジション
ユーザインタフェースを含む。本発明では、コンポジシ
ョンビルダインタフェースは、オブジェクト指向ソフト
ウェアの設計を簡略化し既存のコードの再利用を促進す
るように設計されたいくつかのビューを含む。最初のビ
ューを図5の500に示す。このビューには、タイトルバ
ー 502とコントロールリージョン503から成るウィンド
ウ501で構成されるコンポジション構成環境が示されて
いる。コントロールリージョン 503は、複数のインタフ
ェースモード制御ボタン504と作成ボタン505とコンパイ
ルボタン506を含む。
一般に510に示されるような(インタフェースはそれぞ
れ「App」と「Stream」である)現在のインタフェース
が起源とする既存のインタフェースを表すアイコンに加
えて、現在操作されているインタフェース(たとえば 5
09のAudioAppと書かれたインタフェース)を表すアイコ
ンを表示するためのカレントインタフェース・リージョ
ン508を含めて表示する利用可能なインタフェースの表
示を含む。開発中の特定のアプリケーションのためのユ
ーザインタフェースを調べて開発するためのエディタを
起動するユーザインタフェースコントロールボタンを 5
11に示す。こようなユーザインタフェースを作成し編集
するユーティリティはコンピュータ科学技術としては一
般的なものである。
メータをプログラマが制御できるようにする値編集リー
ジョンは一般に 512のようなものである。512 の表示
は、操作中の部品(ここではオブジェクトAudioDev53
0) を示す最初の領域 514、編集中の部品の特性(ここ
ではVolumeという特性)のためのフィールド、及び、編
集中の特性の値(ここでは特性Volumeの値が10.0に設定
されている)を示す値フィールドを含む。
能なSocket_1といった、構成中のアプリケーションのイ
ンタフェースのために供給されているソケットのための
領域520を含む。同様に、2番目のフィールド524はアプ
リケーションによって供給されるPlug_1 526といったプ
ラグを表示する。中央の部分 525は、構成中のアプリケ
ーションをインプリメントするためのコードを定義する
ためにグラフィカルに様々な既存のオブジェクトが並べ
られて連結されたものとして表される部品がしめされる
ワークシートである。ワークシートには二つの既存のオ
ブジェクト(AudioDev 530とInputStream532)を表す部
品が示されている。部品530はコネクション534によって
Socket_1と連結されており、さらにコネクション 536
で InputStream 部品 532 と連結されている。InputStr
eam 532もインタフェース540とPlug_1 526とコネクショ
ン538によって連結されている。
に示したソケットを利用して、部品と他の部品の間もし
くはインタフェースの間に作られる。ソケットは、この
オブジェクトから他の要求元オブジェクトに渡されるオ
ブジェクトリファレンスを構成する、このオブジェクト
によって供給されるサービスを表す。プラグは、逆に、
オブジェクトが要求したり処理したりできるサービスを
表す。これらのことはオブジェクトプログラミング技術
の分野ではよく知られたもので、最初のオブジェクトの
プラグと2番目のオブジェクトのソケットの間のコネク
ション(コネクション536のような) を描くことによっ
て通信が図示されたオブジェクトリファレンスを送った
り操作したりすることで、オブジェクトはそれらの間で
通信する。図5で示したインタフェースから明らかなよ
うに、プラグとソケットの間のコネクションを定義する
対話的ツールを用いて連結されたオブジェクト(すなわ
ち部品)を表すアイコンを提示するグラフィカルな環境
によるプログラミングオブジェクトコネクションパラダ
イムの利点によってアプリケーションの開発が促進され
る。図5には、550で概略をしめしたコンポーネントカ
タログも示されており、カタログは522に示すコンポー
ネントを含む。
ログ550のコンポーネント552のようなコンポーネントを
選択すし、そのコンポーネントをコンポーネントカタロ
グからワークシートへドラッグすると、コンポーネント
は552'のコンポーネント部品に変形される。さきに述べ
たように、部品は、部品とコンポーネントの両方を参照
するオブジェクトタイプのための入れ物である。部品
は、それに相当するオブジェクトに利用可能なプラグや
ソケットを差し示す。ワークシート中の552'のような部
品のプラグとソケットを連結することによって。本発明
のコンポジションビルダは部品の間の必要なコネクショ
ンを確立したものに相当するコードを生成することがで
き、このように分散システムにわたって適当なオブジェ
クトを配置するという困難なプログラマの仕事を軽減
し、これらのオブジェクトを利用するために必要なボイ
ラープレートコードを供給し、そして、これらのオブジ
ェクトの間の通信を確立するために必要な文法上の適当
な引数を定義する。このようにコンポジションビルダ
は、分散システム上で利用できるコードを参照し再利用
するより簡単な方法を提供し、アプリケーションを構成
するための直感的な枠組みに供給されるコードをインプ
リメントすることにより、分散オブジェクトシステムに
インストールされるアプリケーションの構成を促進す
る。このように、ワークシートを利用することによっ
て、もし必要ならば容易に早く評価・修正することがで
きるコードが設計できるような現在のコンポジションを
構成しているオブジェクトの間の関連を容易にプログラ
マは識別できる。このように、本発明のコンポジション
ワークシートはアプリケーションのインプリメンテーシ
ョン同様その設計をも促進する。
ンビルダの、上記のボタン504の一つを押したときに利
用される2番目のインタフェースが提供される。この状
態では、コンポジションビルダは、図6の600に示すよ
うなファイル閲覧ユーティリティを含む。プログラムの
構成時に利用するファイル(例えばプログラムのソース
ファイルや実行可能コードライブラリ)をプログラマに
比較的便利にみれるようにすることによってオブジェク
トアプリケーションの構成を促進するファイル閲覧ユー
ティリティ 600はコンピュータプログラミング技術の分
野では有用なものである。構成中のコンポジション参照
され操作ている継承されたインタフェースや部品を用い
るために必要な全てのオブジェクトアクセスソフトウェ
ア(412)の一覧が操作されるのと同様に、コンポジシ
ョンビルダ402とクライアントコンポーネントサービス4
04とによって表示も操作される。
ルバー602、ワークシート500のコントロールリージョン
503とほぼ同じコントロールリージョン603、及び、ファ
イルファイル検索・閲覧リージョン608から成るウィン
ドウ601を含む。検索・閲覧リージョンは、おされたと
きに、様々な特徴(例えばテキスト文字列)に基づいて
ファイルやオブジェクトを検索するために、コンピュー
タ科学技術の分野では一般的なサーチエンジンを用いて
検索する事のできるファイルを識別するものやオブジェ
クトの特徴をユーザに示す検索(Find)ボタン610を含
む。検索ボタン610にはファイル検索エンジンに情報を
入力するためのウィンドウ612 がある。Patternウィン
ドウファイル614とContainsウィンドウファイル 616は
両方とも、検索ボタンを押すことによって開始される検
索機能を実行するための追加属性を入力するためのもの
である。ウィンドウ600のリージョン618は様々なファイ
ルを階層的に表示するための三つの行 620、622、及
び、624を含む。ファイルの階層構図の中でより上位の
ものがコラム 620のより左の方に表示される。そのよう
なファイルには、626のotherや、上下の平行線によって
選択されていることが示されている628のsourceといっ
たファイルが含まれる。もしファイルがsourceディレク
トリに含まれているときには、630 のファイルsample.c
cようにコラム622の中に一覧が表示される。より高次の
ディレクトリにサブディレクトリがあるところにはコラ
ム622にサブディレクトリが620に示したのとほぼ同じ形
式で表示される。サブディレクトリを選択すると(ここ
には示されていない)選択されたサブディレクトリにあ
るファイルとサブディレクトリがコラム 624に表示され
るようになる。これらの分野ではごくふつうの技術なの
だが、コラム 624に表示されているサブディレクトリを
さらに選択すると、コラム620の内奥がコラム 622のも
のと置き換えられ、コラム622に表示されているものが6
23に表示され、もともと624にもともとあるサブディレ
クトリの内容がコラム624に表示されるという再配置が
生じる。
インタフェースの状態では、選択された特定の部品もし
くはコンポーネントに関する情報を入力するための 3番
目のインタフェースが提供される。図7の700に示すよ
うに、タイトルバー702と、図5と図6で示したものと
ほぼ同じ機能を実現するボタン704、705と706を備えた
コントロールリージョン703とから成るウィンドウから
このインタフェースは構成される。表示領域708には、
他のコンポジションのオブジェクトと含めるために構成
されたオブジェクトの性質や特性を他のユーザのカタロ
グが決定できるようにするリファレンスオブジェクトの
性質をプログラマが記述できるような、特定のオブジェ
クトやコンポーネントに参照されるオブジェクトの識別
や記述に関する様々な情報が提供される。そのような情
報には、コンポーネントの名前、600 のブラウザを用い
て検索できる様々なキーワード、選択されたコンポーネ
ントや部品に関連する様々なコンポーネント、選択され
たコンポーネントや部品に関連する様々なコンポーネン
ト、コンポーネントや部品に参照されるオブジェクトの
状態、現在選択されているコンポーネントや部品を現在
利用している様々なコンポーネント、参照されているオ
ブジェクトに関する様々な構造化された情報へのリンク
を定義する例やテスト、更新履歴と同様の作者の身元や
住所などが含まれる。さらに、710 に示すような目的や
機能に関する短い記述が提供される。このように、この
インタフェースが、分散システム上にすでにインプリメ
ントされたオブジェクトの再利用を促進するための関連
情報を比較的素直にプログラマに提供する利点がわか
る。
ョンビルダは、構成中のアプリケーションを使うための
様々なインタフェースを修正するためのエディタを含
む。そのようなエディタの一例を図8の800に示す。イ
ンタフェースエディタは、タイトルバー802と、図5で
示したのとほぼ同じ機能を備えたボタン804、805と806
を含むコントロールリージョンとを含むウィンドウ801
から構成される。編集ポート808では、インタフェース
を定義し編集するためにテキストを入力することがで
き、それに加えて IDLコンパイラといった関連するコン
パイラからのメッセージを受け取ることができる。エデ
ィタはC++といったオブジェクトコードとIDLコード
の両方を編集するための標準的なテキストエディタであ
る。
学の技術、より限定して、コンピュータインタフェース
の技術の分野では知られたソフトウェアや技術を用いて
構成されている。上記のインタフェースから、「OpenSt
ep」(Sun Microsystems ofMountain View,CA より)、
「Windows」(Microsoft Corporation of Redmond,WA
より)、Macintoshオペレーティングシステム(Apple C
omputer of Cupertin, CAより)、そして「X Windows」
(X Consortium of Cambridge, MA)のソフトウェアを
構成できる。本発明から出発することなく上記のインプ
リメンテーションに様々な変更を行うことができる点は
優れている。
ェースについて述べてきたが、つぎにここで述べたコン
ポジションビルダを用いるアプリケーションの構築につ
いて述べる。そのような方法の一つを図9の900に示
す。902で始まり、新たな構成は904で作成される。906
では、構成するアプリケーションに必要とされる情報と
供給される情報を提供するインタフェースを IDLがイン
プリメントすることで、構成のためのインタフェースが
選択される。908 では、オブジェクトに対するインタフ
ェースがすでに存在しているかどうかについての決定が
行われる。もしそのようなインタフェースが存在しない
ならば、上記のワークシート500こコンポジションビル
ダ、とくに、ワークシート500の領域 520と524を用い
て、分散オブジェクトシステム上の他のオブジェクトと
通信するために作られるアプリケーションに必要なプラ
グとソケットが910 で作られる。もしインタフェースが
すでに存在しているか、910で新しいインタフェースの
ためのプラグとソケットが定義されたならば、新しいコ
ンポジション(すなわち、開発中のアプリケーション)
の実装で用いられるコンポーネントが912 で選ばれる。
これらのコンポーネントはカタログ550から選ばれ、552
に表示されるコンポーネントとして構成される。
ようなコンポーネントを表現するアイコンを選択する
と、プログラマにはそのコンポーネントに関する情報が
表示される。ステップ914では、図5の534、536、538と
540で示したようなコネクションを用いて、ワークシー
トの領域525に配置されたさまざまなIDLインタフェー
ス、プラグ、及び、他の部品のコンポーネントが連結さ
れる。ステップ916 では、関連するオブジェクトが機能
するようにメソッドが実装される。これらの実装は図8
の800で示したようなテキストエディタを用いて行われ
る。この実装のち、ソースコードが生成され、副ジェネ
レータ408によってコンパイルされる。ステップ920でい
ったんソースが生成されコンパイルされると、生成され
たコードの必要なデバッグを実行するために必要なテス
トを行うことができ、ステップ922と924で最終的なコー
ドがパッケージ化されインストールされる。920から924
にわたるステップは、図4の414のようなオブジェクト
開発ファシリティ(ODF)と連携して行われる。
築する方法を示す。1002で開始され、ステップ1004で新
しいインタフェースに名前が付けられ、ステップ1006で
は、有効なインタフェース名に対する評価項目と与えら
れた名前の文法を比較する標準的な方法を用いて確認す
る。ステップ1008では、与えられた名前が有効かどうか
の決定を行う。もしその名前が有効でないならば、新し
い名前が与えられるステップ1004へ戻るか元の名前をを
修正する必要がある。一般に、このように流れの制御を
戻ると同時にプログラマに対して警告が表示される。10
08でいったん有効な名前が与えられるとユーザは1010で
1個以上のベースインタフェースを選択できる。しか
し、必ずベースインタフェースを選ぶ必要があるわけで
はない。ベースインタフェースとしては、構成されるイ
ンタフェースにふさわしいインタフェースに最も近いも
のを提供しているものが選ばれるべきである。1012は、
プラグとソケットは、図5の500に示されたインタフェ
ースと上記の600、700と800の関連インタフェースと共
に用いて編集される。
語を用いて定義されたインタフェースをこの段階で IDL
テキストを直接入力したいとプログラマが思ってもよ
い。この編集作業は、図8の800に示したようなエディ
タを用いて実現される。ステップ1016では、全ての編集
作業はすべて IDLコンパイラといったものを利用して確
認され、その全ての結果がユーザに表示される。もし編
集が1018で有効ならば、ベースインタフェースの表示と
関連するプラグとソケットがステップ1020で更新され
る。もしそうでない場合には、さらなる編集がステップ
1014で行われる。典型的に、もし編集が有効でないなら
ば、ユーザは図8でしめされたような様々なデバッグ用
メッセージがユーザに対して表示されている。ステップ
1020のプラグとソケットの更新に引き続いて、ステップ
1022で編集作業は終了する。
図11の1100に示すようなブラウザを用いて決定され
る。ブラウザ1100には、1102に示すようなプラグのため
のものを含む様々フィールドや1106、1110と1114に示す
ようなソケットのためのものを含む様々なフィールドが
含まれる。特定のプラグ、すなわちフィールド1104のプ
ラグ 2、を選択すると、そのプラグに関連付けることの
できるソケットがフィールド1108に表示される。上に述
べたものは図5の600に示したブラウザに関するもの
で、ソケットはそれ自身別のソケットと関連があり、フ
ィールド1112と1116には、選択されたソケットに関係さ
れたソケットも表示される。例えば、この図では、ソケ
ット2は1118 で選択されその関連ソケット13は1120で選
択されたものとなり、フィールド1116でソケット14、15
と16の表示がユーザに提供されている。1122に示すよう
なソケット 15の選択はプラグ2がソケット15とリンクさ
れていることを示している。
にある程度詳細に述べたものだが、追加の主張の範囲
で、ある程度の変更と修正を実施してよいことがわか
る。例えば、あるインタフェース設計に仕様が仕様が記
述されているが、他のインタフェース設計も同様に利用
できる。例えば、図6から図8には1個以上のコントロ
ールボタンや入力フィールドが示されているが、これら
は本発明の範囲や主旨からはずれることなく取り除くこ
とができる。さらに、ここで述べたインタフェース設計
に、オブジェクトの間のコネクションを特定する様々な
方法を導入することができる。例えば、コンポーネント
や部品以外のオブジェクトは既存の分散オブジェクトを
表現するために利用することができる。
スト・ブローカ(ORB)の概略図である。
ークの構成図である。
のブロック図である。
テムでオブジェクト指向アプリケーション構築のための
システムの概略図である。
の図である。
図である。
ートとエディタの図である。
語(IDL)エディタの図である。
ム上に複合オブジェクトアプリケーションを配置する手
続きの流れ図である。
ェース構築の流れ図である。
間の連結を定義するブラウジング・ユーティリティの図
である。
ェクト・インプリメンテーション、16…オブジェクト
開発ファシリティ、20…クライアント、22…サロゲ
ート 24…メソッド表(メソッド・テーブル)、25…スタ
ブ関数、26…動的起動インタフェイス、28…標準イ
ンプリメンテーション・スイート 30…動的スケルトン、32…静的スケルトン、34…
ORBインタフェイス、36…サブコントラクト、38
…トランスポート層、42…安全プロトコル、44…タ
イプコード/ANY、46…ORBデーモン、48…イ
ンタフェース・レポジトリ、50…インプリメンテーシ
ョン・レポジトリ、52…ネーミング・サービス、54
…セキュリティ・サーバ、56…単純パージステンス
Claims (24)
- 【請求項1】 分散オブジェクトシステム上にインスト
ールされるオブジェクト指向アプリケーションソフトウ
エアを構築するためのコンピュータにインプリメントさ
れた(computer-implemented)方法であって、オブジェ
クト指向アプリケーションソフトウェアはアプリケーシ
ョンプログラムインタフェースと少なくとも一つの既存
のオブジェクトまたは既存のオブジェクトの派生物(de
rivative)を含み、 a)分散オブジェクトシステム上の既存オブジェクトの
インプリメンテーション(implementation)へのリファ
レンスを含むカタログ・ファシリティ(catalog-facili
ty)を提供するステップと、 b)前記リファレンスをリンクし(link)それらの間の
関連を定義するアプリケーション構築環境を提供し、前
記オブジェクト指向アプリケーションソフトウェアのた
めのコンピュータコードを提供するステップであって、
前記アプリケーション構築環境は前記リファレンス間の
リンクを選択および定義するためのファシリティ(faci
lity)を含み、 c)前記カタログファシリティから前記アプリケーショ
ンソフトウェアに含めるためのリファレンスを選択する
選択ステップと、 d)前記既存のオブジェクトへの前記リファレンスを前
記アプリケーション構築環境へ利用できるようにするス
テップと、 e)前記アプリケーション構築環境において少なくとも
一つの他のリファレンスに前記リファレンスをリンク
し、前記リファレンスの間の関係が定義して、前記アプ
リケーションプログラムが実行されるとき前記関係を効
果的にインプリメントするコンピュータコードが生成す
るリンクステップと、を備える方法。 - 【請求項2】 前記既存オブジェクトに対する前記リフ
ァレンスはアイコンを備え、前記カタログファシリティ
及び前記アプリケーション構築環境はグラフィカル・ユ
ーザ・インタフェースを備え、前記選択ステップは前記
アイコンの一つの選択動作(selection action)をする
ことを備える、請求項1に記載の方法。 - 【請求項3】 前記既存オブジェクトへの前記リファレ
ンスを前記アプリケーション構築環境へ利用可能とする
ステップは、前記カタログファシリティからアプリケー
ション構築ファシリティへ前記リファレンスをドラッグ
する(drag)ことを備える、請求項2に記載の方法。 - 【請求項4】 前記リファレンスはコンポーネントであ
り、前記カタログから前記アプリケーション構築環境内
へ前記コンポーネントがドラッグされたとき、前記コン
ポーネントから部品(part)を生成するステップを更に
含む、請求項3に記載の方法。 - 【請求項5】 前記リンクステップは、第1の部品と、
第2の部品またはインタフェースへのリファレンスと、
の間の少なくとも一つのコネクション(connection)を
定義することを備える、請求項1から請求項4のいずれ
かに記載の方法。 - 【請求項6】 前記第1の部品と前記第2の部品の各々
はプラグ(plug)とソケット(socket)を備え、且つ前
記リンクステップは前記第2の部品上の(on)ソケット
と前記第1の部品上のプラグとの間のコネクションを定
義することを備える、請求項5に記載の方法。 - 【請求項7】 前記カタログファシリティは、前記アイ
コンによって表現される既存オブジェクトについての情
報と前記アイコンを見る(view)ための領域(region)
を備え、且つ前記リファレンスを選択するステップは少
なくとも一つの前記既存オブジェクトに関係する情報の
表示を引き起こすことに効果的である、請求項2から請
求項5のいずれかに記載の方法。 - 【請求項8】 前記既存オブジェクトはインタフェース
を含み、且つ前記インタフェースを編集し新しいインタ
フェースを定義するステップと前記既存オブジェクトの
ソースコードを編集し新しいオブジェクトのインプリメ
ンテーションを定義するステップとを備える、請求項1
から請求項7のいずれかに記載の方法。 - 【請求項9】 分散オブジェクトシステム上にインスト
ールされるオブジェクト指向アプリケーションソフトウ
エアを構築するためのコンピュータにインプリメントさ
れる方法であって、オブジェクト指向アプリケーション
ソフトウェアは、アプリケーション・プログラム・イン
タフェースと少なくとも一つの既存のオブジェクトまた
は既存のオブジェクトの派生物を含み、 a)分散オブジェクトシステム上に提供される既存オブ
ジェクトへのリファレンスを提供するカタログファシリ
ティを提供するステップと、 b)前記既存カタログファシリティからアプリケーショ
ンソフトウェアに含めるためのコンポーネントを選択
し、且つ前記コンポーネントから部品を作る(derive)
するステップと、 c)前記部品は前記分散オブジェクトシステム上にある
既存のオブジェクトを参照する少なくとも一つの他の部
品へリンクできるアプリケーション構成環境に前記部品
を利用できるようにし、それらの間の関連を定義して、
それによって前記既存アプリケーションソフトウェアの
ためのコンピュータコードを供給するステップであっ
て、前記アプリケーション構築環境は前記部品の間のリ
ンクを選択し定義するためのファシリティを備え、 d)前記アプリケーション構成環境において前記部品を
少なくとも一つの他の部品へリンクし、それによって前
記部品間の関連を定義して、前記アプリケーションプロ
グラムが実行されるとき前記関連を効果的にインプリメ
ントするコンピュータコードが生成するリンクステップ
と、を備える方法。 - 【請求項10】 前記既存オブジェへの前記リファレン
スは、アイコンを備え、前記アプリケーション構成環境
および前記カタログファシリティはグラフィカルユーザ
インタフェースを備え、且つ前記選択のステップは前記
アイコンの一つの選択動作をすることを備える、請求項
9に記載の方法。 - 【請求項11】 前記部品を前記アプリケーション構築
環境に利用できるようにするステップは、前記カタログ
ファシリティから前記アプリケーション構築ファシリテ
ィへの前記リファレンスをドラッグすることを備える、
請求項10に記載の方法。 - 【請求項12】 前記部品の前記各々はプラグとソケッ
トを備え、前記リンクステップは1第1の部品上の(o
n)プラグと第2の部品上のソケットとの間のコネクシ
ョンを定義することを備える、請求項9から請求項11
のいずれかに記載の方法。 - 【請求項13】 前記カタログファシリティは前記アイ
コンによって表現される既存オブジェクトに関する情報
と前記アイコンとを見るための領域(region)を含み、
前記コンポーネントを選択するステップは少なくとも一
つの前記既存オブジェクトに関連する情報の表示を効果
的に引き起こす、請求項10から請求項12のいずれか
に記載の方法。 - 【請求項14】 前記部品は前記部品によって参照され
る既存オブジェクトのインタフェースへのリファレンス
を含み、前記インタフェースを編集しそれによって新し
いインタフェースを定義するステップと前記既存オブジ
ェクトのソースコードを編集しそれによって新しいオブ
ジェクトインプリメンテーションを定義するステップと
を更に含む、請求項9から請求項13のいずれかに記載
の方法。 - 【請求項15】 分散オブジェクトシステム上にインス
トールされるオブジェクト指向アプリケーションソフト
ウェアをコンピュータの制御のもとで構築するためのコ
ンピュータシステムであって、オブジェクト指向アプリ
ケーションソフトウェアは、アプリケーションプログラ
ムインタフェースと、少なくとも一つの既存のオブジェ
クトまたは既存のオブジェクトの派生物と、を含み、 a)前記分散オブジェクトシステム上にインストールさ
れる既存オブジェクトへのリファレンスのカタログを含
むコンポーネントサービスと、 b)前記リファレンスを利用してコンポジションを生成
するためのコンポジションビルダであって、コンポジシ
ョンビルダは前記リファレンスがリンクされそれらの関
連を定義して、それによって前記アプリケーションソフ
トウェアのためのコンピュータコードを提供するアプリ
ケーション構築環境を提供し、前記アプリケーション構
築環境は前記リファレンスの間(among)のリンクを選
択し定義するためのファシリティを備え、前記コンポジ
ションビルダは対にされ(couple with)、 c)前記コンポジションからソースコードを生成すると
共にコンパイルし、それによってプログラムソースファ
イルを生成するコード生成ユニットと、 d) 前記コード生成ユニットによって生成される前記
プログラムソースを処理し、前記分散オブジェクトシス
テム上にインストールするためのソフトウェアオブジェ
クトを生産するオブジェクト開発ファシリティと、を備
えるコンピュータシステム。 - 【請求項16】 前記リファレンスのカタログはコンポ
ーネントを備え、前記コンポーネントは参照されている
オブジェクトの特性(property)を効果的に定義し、前
記特性はコンポーネントに参照されているオブジェクト
のタイプ、前記コンポーネントによって参照されている
前記オブジェクトによって提供されるサービス、前記コ
ンポーネントによって参照されている前記オブジェクト
のインプリメンテーション、及び前記分散オブジェクト
システム上において前記インプリメンテーションをアク
セスできる名前を含む、請求項15に記載のコンピュー
タシステム。 - 【請求項17】 前記システムは前記コンポジションビ
ルダに含まれるコンポーネントを識別するための選択機
構を含み、前記コンポジションビルダは前記コンポーネ
ントリファレンスを部品リファレンスに変形する(tran
sform)ための変換機構を含み、前記部品リファレンス
はコンポーネントによって参照されている前記既存オブ
ジェクトについてのサロゲート(surrogate)である、
請求項16に記載のシステム。 - 【請求項18】 前記部品はプラグとソケットを備え、
前記リファレンスの間のリンクを選択し定義する前記フ
ァシリティはプラグとソケットの間のリンクを定義する
ための手段含む、請求項17に記載のシステム。 - 【請求項19】 前記コンポジションビルダは部品を選
択できリンクできるコンポジション・ワークスペース
(workspace)を備え、コンピュータコードを編集する
ためのインタフェースエディタは既存オブジェクトのイ
ンタフェースを定義し、編集されるファイルを選択する
ためのブラウザおよびオブジェクトに関する情報を定義
するためのサマリテーブルは部品によって参照されてい
る、請求項15から請求項18のいずれかに記載のシス
テム。 - 【請求項20】 前記コンポジションワークスペース、
前記インタフェースエディタ、前記ブラウザおよび前記
サマリテーブルの各々はグラフィカルユーザインタフェ
ースを備える、請求項19に記載のシステム。 - 【請求項21】 前記コンポジション・ワークシート
(worksheet)のための前記グラフィカルユーザインタ
フェースは、部品を表示し選択しリンクするためのリー
ジョン(reigion)、選択された部品のプラグを表示し
選択するためのリージョン、選択された部品のソケット
を表示し選択するためのリージョン、構築されているア
プリケーションのインタフェースを表示するためのリー
ジョン、既存オブジェクトのインタフェースへのリファ
レンスのためのリージョン、および選択された部品の属
性値を設定するためのリージョンを備える、請求項20
に記載のシステム。 - 【請求項22】 前記コードジェネレータと共に利用さ
れる(couple with)プログラムテンプレートのレポジ
トリを更に含み、前記コードジェネレータは前記コンポ
ーネントサービスと共に利用され、前記コードジェネレ
ータはプログラムソースファイルを生成するためのソー
ステンプレートと生成されたコードと結合するように設
定される、請求項15から請求項21のいずれかに記載
のシステム。 - 【請求項23】 前記オブジェクト開発ファシリティは
オブジェクト・アクセス・ソフトウェアのレポジトリと
共に利用され、オブジェクト・アクセス・ソフトウェア
の前記レポジトリは複数の分散オブジェクトと共に利用
される、請求項22に記載のシステム。 - 【請求項24】 前記コンポーネントサービスは、前記
コンポーネントサービスが分散オブジェクトの利用でき
るように、オブジェクト・アクセス・ソフトウェアの前
記レポジトリと共に利用される、請求項23に記載のシ
ステム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/675850 | 1996-07-03 | ||
US08/675,850 US5991535A (en) | 1996-07-03 | 1996-07-03 | Visual composition tool for constructing application programs using distributed objects on a distributed object network |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH1091449A true JPH1091449A (ja) | 1998-04-10 |
Family
ID=24712207
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP9178698A Pending JPH1091449A (ja) | 1996-07-03 | 1997-07-03 | 分散オブジェクト・ネットワーク上で分散オブジェクトを利用してアプリケーションプログラムを構成するための視覚的組立ツール |
Country Status (3)
Country | Link |
---|---|
US (2) | US5991535A (ja) |
EP (1) | EP0817035A3 (ja) |
JP (1) | JPH1091449A (ja) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006216035A (ja) * | 2005-02-01 | 2006-08-17 | Microsoft Corp | 通信バインディングオブジェクトを構築し、使用するシステムおよび方法 |
US7137102B2 (en) | 2000-08-09 | 2006-11-14 | Fujitsu Limited | Program development device utilizing component, program development method and medium |
JP2010282286A (ja) * | 2009-06-02 | 2010-12-16 | Denso Corp | 開発支援装置,プログラム |
JP2011521339A (ja) * | 2008-05-14 | 2011-07-21 | エアバス オペラシオン | 共同サービス向けワークショップにおけるプロセス管理方法 |
JP2011521340A (ja) * | 2008-05-14 | 2011-07-21 | エアバス オペラシオン | 共同サービス指向ワークショップにおけるデータのトレーサビリティのための方法 |
JP2011525269A (ja) * | 2008-05-14 | 2011-09-15 | エアバス オペラシオン | 共同サービス指向ワークショップ向けデータ管理方法 |
JP2011221864A (ja) * | 2010-04-12 | 2011-11-04 | Mitsubishi Electric Building Techno Service Co Ltd | 情報処理システム及び情報処理方法 |
Families Citing this family (135)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5684985A (en) | 1994-12-15 | 1997-11-04 | Ufil Unified Data Technologies Ltd. | Method and apparatus utilizing bond identifiers executed upon accessing of an endo-dynamic information node (EDIN) |
US6694270B2 (en) * | 1994-12-30 | 2004-02-17 | Power Measurement Ltd. | Phasor transducer apparatus and system for protection, control, and management of electricity distribution systems |
US5949998A (en) * | 1996-07-03 | 1999-09-07 | Sun Microsystems, Inc. | Filtering an object interface definition to determine services needed and provided |
US5991535A (en) * | 1996-07-03 | 1999-11-23 | Sun Microsystems, Inc. | Visual composition tool for constructing application programs using distributed objects on a distributed object network |
US5847953A (en) * | 1996-09-23 | 1998-12-08 | National Instruments Corporation | System and method for performing class checking of objects in a graphical data flow program |
US6437805B1 (en) * | 1996-09-23 | 2002-08-20 | National Instruments Corporation | System and method for accessing object capabilities in a graphical program |
US8042733B2 (en) | 1996-11-27 | 2011-10-25 | Diebold, Incorporated | Automated banking machine that operates responsive to data bearing records |
US7080036B1 (en) * | 1996-11-27 | 2006-07-18 | Diebold, Incorporated | Automated banking machine development method |
US6990652B1 (en) * | 1997-03-04 | 2006-01-24 | National Instruments Corporation | System and method for determining methods and properties to be invoked on objects in a graphical program |
WO1998040817A1 (fr) * | 1997-03-11 | 1998-09-17 | Mitsubishi Denki Kabushiki Kaisha | Methode et systeme de programmation visuelle |
US6230309B1 (en) * | 1997-04-25 | 2001-05-08 | Sterling Software, Inc | Method and system for assembling and utilizing components in component object systems |
EP0979446A2 (en) * | 1997-04-30 | 2000-02-16 | Geodesic Systems L.L.C. | Automatically-maintained customizable user interfaces |
EP0923761A1 (en) * | 1997-06-18 | 1999-06-23 | CITR Pty. Ltd. | System development tool for distributed object oriented computing |
US6484214B1 (en) | 1998-03-05 | 2002-11-19 | Mcdonnell Douglas Helicopter Company | Method for distributed object communications based on dynamically acquired and assembled software components |
JPH11259278A (ja) * | 1998-03-09 | 1999-09-24 | Sony Corp | データ生成方法および記録媒体 |
US6629126B1 (en) * | 1998-03-13 | 2003-09-30 | Genuity Inc. | Framework for providing quality of service requirements in a distributed object-oriented computer system |
US6226783B1 (en) * | 1998-03-16 | 2001-05-01 | Acuity Imaging, Llc | Object oriented method of structuring a software step program |
US6493870B1 (en) * | 1998-03-20 | 2002-12-10 | Sun Microsystems, Inc. | Methods and apparatus for packaging a program for remote execution |
US6427230B1 (en) * | 1998-11-09 | 2002-07-30 | Unisys Corporation | System and method for defining and managing reusable groups software constructs within an object management system |
US6637020B1 (en) | 1998-12-03 | 2003-10-21 | International Business Machines Corporation | Creating applications within data processing systems by combining program components dynamically |
US6417570B1 (en) * | 1999-01-14 | 2002-07-09 | Agere Systems Guardian Corporation | Layered dielectric film structure suitable for gate dielectric application in sub-0.25 μm technologies |
US6594819B1 (en) * | 1999-01-25 | 2003-07-15 | International Business Machines Corporation | Method and system for establishing collection of hostable applications |
US6421821B1 (en) * | 1999-03-10 | 2002-07-16 | Ronald J. Lavallee | Flow chart-based programming method and system for object-oriented languages |
AUPP949599A0 (en) * | 1999-03-30 | 1999-04-22 | Griffith University | Visual architecture software language |
US6785882B1 (en) * | 1999-05-24 | 2004-08-31 | Unisys Corporation | Process-driven tool interface for an object management system |
US6438742B1 (en) * | 1999-05-28 | 2002-08-20 | Visual Click Software, Inc. | Object-oriented system and method for visually generating software applications |
US6282711B1 (en) * | 1999-08-10 | 2001-08-28 | Hewlett-Packard Company | Method for more efficiently installing software components from a remote server source |
US7210117B2 (en) | 1999-08-19 | 2007-04-24 | National Instruments Corporation | System and method for programmatically generating a graphical program in response to program information |
US8146007B2 (en) | 1999-08-19 | 2012-03-27 | National Instruments Corporation | Converting a first graphical program into an intermediate abstract representation for new graphical program generation |
US7159183B1 (en) * | 1999-08-19 | 2007-01-02 | National Instruments Corporation | System and method for programmatically creating a graphical program |
US7340684B2 (en) | 1999-08-19 | 2008-03-04 | National Instruments Corporation | System and method for programmatically generating a second graphical program based on a first graphical program |
US6850808B2 (en) * | 1999-09-24 | 2005-02-01 | Rockwell Software Inc. | Method and system for developing a software program using compound templates |
US6826744B1 (en) * | 1999-10-01 | 2004-11-30 | Vertical Computer Systems, Inc. | System and method for generating web sites in an arbitrary object framework |
US6700590B1 (en) * | 1999-11-01 | 2004-03-02 | Indx Software Corporation | System and method for retrieving and presenting data using class-based component and view model |
US6658660B1 (en) * | 1999-12-31 | 2003-12-02 | Nortel Networks Limited | System and method of automatically modifying source code for marshaling, unmarshaling and marking modified data objects |
US6701513B1 (en) | 2000-01-14 | 2004-03-02 | Measurement Computing Corporation | Program-development environment for use in generating application programs |
US6684385B1 (en) | 2000-01-14 | 2004-01-27 | Softwire Technology, Llc | Program object for use in generating application programs |
US6425121B1 (en) * | 2000-01-14 | 2002-07-23 | Softwire Technology, Llp | Method and apparatus for resolving divergent paths in graphical programming environments |
US7082599B1 (en) | 2000-01-14 | 2006-07-25 | Measurement Computing Corporation | Method and apparatus for detecting and resolving circularflow paths in graphical programming systems |
US20010052110A1 (en) * | 2000-02-14 | 2001-12-13 | Julian Orbanes | System and method for graphically programming operators |
US7174339B1 (en) * | 2000-03-07 | 2007-02-06 | Tririga Llc | Integrated business system for the design, execution, and management of projects |
US20020054149A1 (en) * | 2000-03-10 | 2002-05-09 | Genise Ronald G. | System configuration editor with an iconic function sequencer |
US7530050B2 (en) * | 2000-03-14 | 2009-05-05 | Fusionops | Method and system for developing software using nodes |
US6637019B1 (en) * | 2000-04-10 | 2003-10-21 | International Business Machines Corporation | Software modeling of computer hardware |
US20020021272A1 (en) * | 2000-04-26 | 2002-02-21 | Kai Zeh | System and method for specifying video game data |
JP2001343967A (ja) * | 2000-05-31 | 2001-12-14 | Konami Co Ltd | 表示制御方法、ゲーム機、記録媒体 |
US20020066074A1 (en) * | 2000-06-05 | 2002-05-30 | Jabri Mohamed I. | Method and system for developing and executing software applications at an abstract design level |
US6874148B1 (en) * | 2000-06-14 | 2005-03-29 | National Instruments Corporation | System and method for exporting a graphical program to a shared library |
US6782528B1 (en) | 2000-06-16 | 2004-08-24 | International Business Machines Corporation | Method and system for visual programming using a relational diagram |
US6898783B1 (en) * | 2000-08-03 | 2005-05-24 | International Business Machines Corporation | Object oriented based methodology for modeling business functionality for enabling implementation in a web based environment |
US6684388B1 (en) | 2000-08-22 | 2004-01-27 | International Business Machines Corporation | Method for generating platform independent, language specific computer code |
DE10041072A1 (de) * | 2000-08-22 | 2002-03-14 | Siemens Ag | Verfahren zur automatischen Erzeugung von Programmcode |
US7171455B1 (en) | 2000-08-22 | 2007-01-30 | International Business Machines Corporation | Object oriented based, business class methodology for generating quasi-static web pages at periodic intervals |
US6892228B1 (en) * | 2000-08-23 | 2005-05-10 | Pure Matrix, Inc. | System and method for on-line service creation |
US6853994B1 (en) | 2000-08-30 | 2005-02-08 | International Business Machines Corporation | Object oriented based, business class methodology for performing data metric analysis |
US7089295B2 (en) * | 2000-09-06 | 2006-08-08 | Oracle International Corporation | Customizing content provided by a service |
US7127705B2 (en) * | 2000-09-06 | 2006-10-24 | Oracle International Corporation | Developing applications online |
US6954751B2 (en) * | 2000-09-06 | 2005-10-11 | Oracle International Corporation | Accessing data stored at an intermediary from a service |
US20020138617A1 (en) | 2000-09-06 | 2002-09-26 | Jacob Christfort | Providing content from multiple services |
US20020073114A1 (en) * | 2000-10-30 | 2002-06-13 | Nicastro Cherisse M. | Business asset management system |
US6996815B2 (en) * | 2000-11-29 | 2006-02-07 | Microsoft Corporation | Method and software tools for intelligent service pack installation |
US7185334B2 (en) * | 2000-11-29 | 2007-02-27 | Microsoft Corporation | Method and software tool for intelligent operating system installation |
US7246344B1 (en) * | 2000-12-11 | 2007-07-17 | Microsoft Corporation | Drag and drop stateless data class specification and programming |
US7200838B2 (en) | 2000-12-20 | 2007-04-03 | National Instruments Corporation | System and method for automatically generating a graphical program in response to a state diagram |
US7017123B2 (en) * | 2000-12-27 | 2006-03-21 | National Instruments Corporation | Graphical user interface including palette windows with an improved search function |
US6957418B2 (en) * | 2001-01-23 | 2005-10-18 | Altia, Inc. | System and method of designing, testing, and employing graphical computer code |
JP2002229783A (ja) * | 2001-01-31 | 2002-08-16 | Toshiba Corp | ソフトウェア構築支援システム、その方法およびソフトウェア構築支援プログラム |
AU2002250260A1 (en) * | 2001-03-08 | 2002-11-05 | Tririga, Inc. | Data storage and access system employing clustering of servers |
US20020174268A1 (en) * | 2001-05-15 | 2002-11-21 | Goward Philip J. | Method and apparatus for automatically linking distributed programming components |
US20040015856A1 (en) * | 2001-05-15 | 2004-01-22 | Goward Philip J. | Automatically propagating distributed components during application development |
US7134122B1 (en) | 2001-05-31 | 2006-11-07 | Oracle International Corporation | One click deployment |
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 |
US7149734B2 (en) * | 2001-07-06 | 2006-12-12 | Logic Library, Inc. | Managing reusable software assets |
US7322024B2 (en) * | 2002-03-18 | 2008-01-22 | Logiclibrary, Inc. | Generating reusable software assets from distributed artifacts |
EP2287723A3 (en) | 2001-07-26 | 2012-11-14 | IRiSE | System and process for gathering, recording and validating requirements for computer applications |
US7062718B2 (en) * | 2001-08-14 | 2006-06-13 | National Instruments Corporation | Configuration diagram which graphically displays program relationship |
US7203700B1 (en) * | 2001-08-31 | 2007-04-10 | Oracle International Corporation | Online instance addition and deletion in a multi-instance computer system |
US7035944B2 (en) * | 2001-09-19 | 2006-04-25 | International Business Machines Corporation | Programmatic management of software resources in a content framework environment |
US6985939B2 (en) * | 2001-09-19 | 2006-01-10 | International Business Machines Corporation | Building distributed software services as aggregations of other services |
US7343428B2 (en) * | 2001-09-19 | 2008-03-11 | International Business Machines Corporation | Dynamic, real-time integration of software resources through services of a content framework |
JP2003108373A (ja) * | 2001-09-28 | 2003-04-11 | Toshiba Corp | 汎用型ソフトウェア開発支援システム、汎用型ソフトウェア開発支援プログラム、およびそのシステムで用いられるソフトウェア部品 |
KR100426311B1 (ko) * | 2001-12-28 | 2004-04-08 | 한국전자통신연구원 | Ejb 컴포넌트 조립 장치 및 방법 |
US7603469B2 (en) * | 2002-01-15 | 2009-10-13 | International Business Machines Corporation | Provisioning aggregated services in a distributed computing environment |
US8412813B2 (en) * | 2002-03-18 | 2013-04-02 | Logiclibrary, Inc. | Customizable asset governance for a distributed reusable software library |
US20030192038A1 (en) * | 2002-04-09 | 2003-10-09 | Thomas Hagmann | Linking data objects to a project development system |
US7290007B2 (en) * | 2002-05-10 | 2007-10-30 | International Business Machines Corporation | Method and apparatus for recording and managing data object relationship data |
US8589861B2 (en) * | 2002-11-06 | 2013-11-19 | Code Valley Corp Pty Ltd | Code generation |
US9521209B2 (en) | 2002-11-06 | 2016-12-13 | Code Valley Corp Pty Ltd | Code generation |
US7117449B1 (en) * | 2002-12-31 | 2006-10-03 | Siebel Systems, Inc. | Method and apparatus to present an integrated process modeler |
AU2003272256A1 (en) * | 2003-03-05 | 2004-09-28 | Expert Consultants, Inc. | System and method for building a component-based architecture |
US7433878B2 (en) * | 2003-06-23 | 2008-10-07 | American Express Travel Related Services Company, Inc. | Method and system for interfacing with accounting systems |
GB0314800D0 (en) * | 2003-06-25 | 2003-07-30 | Hyfinity Ltd | System and associated methods for software assembly |
US20080109785A1 (en) * | 2004-01-16 | 2008-05-08 | Bailey Bendrix L | Graphical Program Having Graphical and/or Textual Specification of Event Handler Procedures for Program Objects |
FR2865557B1 (fr) * | 2004-01-27 | 2006-06-23 | Sinovia | Systeme ouvert d'integration et de gestion des composants informatiques representant une fonctionnalite specifique d'une application determine |
EP1577724B1 (en) | 2004-03-15 | 2009-10-07 | Rockwell Automation Technologies, Inc. | Agent program environment |
US8271541B2 (en) * | 2004-03-31 | 2012-09-18 | Fusionops Corporation | Method and apparatus for developing composite applications |
US7467399B2 (en) | 2004-03-31 | 2008-12-16 | International Business Machines Corporation | Context-sensitive confidentiality within federated environments |
US20050251786A1 (en) * | 2004-05-07 | 2005-11-10 | International Business Machines Corporation | System and method for dynamic software installation instructions |
JP2007538321A (ja) * | 2004-05-20 | 2007-12-27 | コード バリー ピーティーワイ リィミティッド | コード生成方法 |
US20050261857A1 (en) * | 2004-05-21 | 2005-11-24 | Clark Jones | System and method for linking and loading compiled pattern data |
US7475391B2 (en) * | 2004-10-07 | 2009-01-06 | International Business Machines Corporation | System and method for revealing remote object status in an integrated development environment |
US7698569B2 (en) * | 2004-11-19 | 2010-04-13 | Bea Systems, Inc. | Data object identification, tracking, filtering and monitoring using data object fingerprints |
US8117591B1 (en) | 2005-01-07 | 2012-02-14 | Interactive TKO, Inc. | Graphical model for test case viewing, editing, and reporting |
US8060864B1 (en) * | 2005-01-07 | 2011-11-15 | Interactive TKO, Inc. | System and method for live software object interaction |
US7437080B2 (en) * | 2005-02-03 | 2008-10-14 | Stratalight Communications, Inc. | Optical transmission system having optimized filter wavelength offsets |
US7882236B2 (en) * | 2005-02-04 | 2011-02-01 | Microsoft Corporation | Communication channel model |
WO2007012707A1 (fr) * | 2005-07-26 | 2007-02-01 | Sinovia | Systeme ouvert d'integration et de gestion de composants informatiques representant une fonctionnalite specifique d'une application determinee |
US8972872B2 (en) * | 2006-03-27 | 2015-03-03 | Fujitsu Limited | Building computing applications based upon metadata |
US20080016253A1 (en) * | 2006-07-11 | 2008-01-17 | Boctor Design, Llc | Graphical user interface for navigating and manipulating objects exposed by a host |
US20080126376A1 (en) * | 2006-09-22 | 2008-05-29 | Avraham Leff | Enabling multi-view applications based on a relational state machine paradigm |
JP2008305004A (ja) * | 2007-06-05 | 2008-12-18 | Ricoh Co Ltd | 画像形成装置、アプリケーション実行方法及びアプリケーション実行プログラム |
US8060421B1 (en) * | 2007-10-17 | 2011-11-15 | The Mathworks, Inc. | Object oriented financial analysis tool |
US20090132220A1 (en) * | 2007-11-21 | 2009-05-21 | International Business Machines Corporation | Method For Creating A Telecommunications Application |
US9158510B2 (en) * | 2007-11-21 | 2015-10-13 | International Business Machines Corporation | System and computer program product for creating a telecommunications application |
US8312425B2 (en) * | 2008-03-31 | 2012-11-13 | International Business Machines Corporation | Dynamic template instantiation |
US9111019B2 (en) | 2008-09-30 | 2015-08-18 | Interactive TKO, Inc. | Modeling and testing interactions between components of a software system |
JP5426938B2 (ja) * | 2009-06-23 | 2014-02-26 | キヤノン株式会社 | 情報処理装置、情報処理方法 |
US8375313B2 (en) | 2010-06-01 | 2013-02-12 | Oracle International Corporation | User interface generation with scoring |
EP2625606A4 (en) | 2010-10-08 | 2014-11-26 | Irise | SYSTEM AND METHOD FOR EXTENDING A VISUALIZATION PLATFORM |
US8984490B1 (en) | 2010-10-26 | 2015-03-17 | Interactive TKO, Inc. | Modeling and testing of interactions between components of a software system |
US8966454B1 (en) | 2010-10-26 | 2015-02-24 | Interactive TKO, Inc. | Modeling and testing of interactions between components of a software system |
US10025839B2 (en) | 2013-11-29 | 2018-07-17 | Ca, Inc. | Database virtualization |
US9727314B2 (en) | 2014-03-21 | 2017-08-08 | Ca, Inc. | Composite virtual services |
US9531609B2 (en) | 2014-03-23 | 2016-12-27 | Ca, Inc. | Virtual service automation |
US10031780B2 (en) | 2014-11-25 | 2018-07-24 | International Business Machines Corporation | Component services integration with dynamic constraint provisioning |
US9965533B2 (en) * | 2015-08-28 | 2018-05-08 | 6Connect, Inc. | Reverse application programming interface (API) endpoint creation process and standardized schema |
US9667533B2 (en) | 2015-09-17 | 2017-05-30 | Nxp Usa, Inc. | Creating and utilizing customized network applications |
US10387798B2 (en) | 2015-12-16 | 2019-08-20 | Accenture Global Solutions Limited | Machine for development of analytical models |
US10438132B2 (en) | 2015-12-16 | 2019-10-08 | Accenture Global Solutions Limited | Machine for development and deployment of analytical models |
US10114736B2 (en) | 2016-03-30 | 2018-10-30 | Ca, Inc. | Virtual service data set generation |
US9898390B2 (en) | 2016-03-30 | 2018-02-20 | Ca, Inc. | Virtual service localization |
US11080435B2 (en) | 2016-04-29 | 2021-08-03 | Accenture Global Solutions Limited | System architecture with visual modeling tool for designing and deploying complex models to distributed computing clusters |
US10871753B2 (en) | 2016-07-27 | 2020-12-22 | Accenture Global Solutions Limited | Feedback loop driven end-to-end state control of complex data-analytic systems |
US20180336019A1 (en) | 2017-05-19 | 2018-11-22 | Abb Schweiz Ag | Systems and methods for application re-use by type pattern matching |
US11199955B2 (en) * | 2019-10-02 | 2021-12-14 | Palantir Technologies Inc. | Enhanced techniques for building user interfaces |
Family Cites Families (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5283900A (en) * | 1989-10-02 | 1994-02-01 | Spectron Microsystems, Inc. | Real-time operating system and virtual digital signal processor for the control of a digital signal processor |
US5163130A (en) | 1989-10-11 | 1992-11-10 | Next Computer, Inc. | System and method for configuring a graphic interface |
GB9105278D0 (en) * | 1990-04-27 | 1991-04-24 | Sun Microsystems Inc | Method and apparatus for implementing object-oriented programming using unmodified c for a window-based computer system |
US5339419A (en) * | 1990-06-25 | 1994-08-16 | Hewlett-Packard Company | ANDF compiler using the HPcode-plus compiler intermediate language |
DE69228621T2 (de) * | 1991-02-25 | 1999-07-22 | Hewlett Packard Co | Objektorientiertes verteiltes Rechnersystem |
JP3055970B2 (ja) * | 1991-06-20 | 2000-06-26 | 富士通株式会社 | オブジェクト指向言語間インタフェース実現方法および装置 |
US5261098A (en) * | 1991-08-28 | 1993-11-09 | Sun Microsystems, Inc. | Method and apparatus for deriving object type and obtaining object type attribute values |
GB2270242A (en) * | 1992-08-29 | 1994-03-02 | Ibm | A method of editing for an object oriented computer system |
EP0596591B1 (en) * | 1992-10-09 | 1998-04-15 | Sun Microsystems, Inc. | Method and apparatus for a real-time data collection and display system |
US5339433A (en) * | 1992-11-19 | 1994-08-16 | Borland International, Inc. | Symbol browsing in an object-oriented development system |
US5671415A (en) * | 1992-12-07 | 1997-09-23 | The Dow Chemical Company | System and method for facilitating software development |
CA2128387C (en) * | 1993-08-23 | 1999-12-28 | Daniel F. Hurley | Method and apparatus for configuring computer programs from available subprograms |
JP2692782B2 (ja) * | 1993-12-13 | 1997-12-17 | インターナショナル・ビジネス・マシーンズ・コーポレイション | オブジェクトをリンクする方法 |
DE4447859B4 (de) * | 1994-10-04 | 2007-02-22 | Maschinenfabrik Wifag | Rollenrotationsdruckmaschine |
US5659735A (en) * | 1994-12-09 | 1997-08-19 | Object Technology Licensing Corp. | Object-oriented system for program version and history database management system for various program components |
US5642511A (en) * | 1994-12-16 | 1997-06-24 | International Business Machines Corporation | System and method for providing a visual application builder framework |
US5692183A (en) * | 1995-03-31 | 1997-11-25 | Sun Microsystems, Inc. | Methods and apparatus for providing transparent persistence in a distributed object operating environment |
US5724589A (en) * | 1995-10-13 | 1998-03-03 | Borland International, Inc. | Development system with a property-method-event programming model for developing context-free reusable software components |
US5764989A (en) * | 1996-02-29 | 1998-06-09 | Supercede, Inc. | Interactive software development system |
US5721911A (en) * | 1996-06-25 | 1998-02-24 | International Business Machines Corporation | Mechanism for metadata for an information catalog system |
US6044224A (en) * | 1996-06-26 | 2000-03-28 | Sun Microsystems, Inc. | Mechanism for dynamically associating a service dependent representation with objects at run time |
US5727145A (en) * | 1996-06-26 | 1998-03-10 | Sun Microsystems, Inc. | Mechanism for locating objects in a secure fashion |
US6044409A (en) * | 1996-06-26 | 2000-03-28 | Sun Microsystems, Inc. | Framework for marshaling and unmarshaling argument object references |
US6032199A (en) * | 1996-06-26 | 2000-02-29 | Sun Microsystems, Inc. | Transport independent invocation and servant interfaces that permit both typecode interpreted and compiled marshaling |
US5809507A (en) * | 1996-07-01 | 1998-09-15 | Sun Microsystems, Inc. | Method and apparatus for storing persistent objects on a distributed object network using a marshaling framework |
US5860004A (en) * | 1996-07-03 | 1999-01-12 | Sun Microsystems, Inc. | Code generator for applications in distributed object systems |
US5991535A (en) * | 1996-07-03 | 1999-11-23 | Sun Microsystems, Inc. | Visual composition tool for constructing application programs using distributed objects on a distributed object network |
US5949998A (en) * | 1996-07-03 | 1999-09-07 | Sun Microsystems, Inc. | Filtering an object interface definition to determine services needed and provided |
US5920868A (en) * | 1996-07-03 | 1999-07-06 | Sun Microsystems, Inc. | Cataloging apparatus for facilitating the re-use of distributed objects in a distributed object system |
-
1996
- 1996-07-03 US US08/675,850 patent/US5991535A/en not_active Expired - Lifetime
-
1997
- 1997-06-12 EP EP97304098A patent/EP0817035A3/en not_active Withdrawn
- 1997-07-03 JP JP9178698A patent/JPH1091449A/ja active Pending
-
1999
- 1999-09-21 US US09/399,968 patent/US6189138B1/en not_active Expired - Lifetime
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7137102B2 (en) | 2000-08-09 | 2006-11-14 | Fujitsu Limited | Program development device utilizing component, program development method and medium |
JP2006216035A (ja) * | 2005-02-01 | 2006-08-17 | Microsoft Corp | 通信バインディングオブジェクトを構築し、使用するシステムおよび方法 |
JP2011521339A (ja) * | 2008-05-14 | 2011-07-21 | エアバス オペラシオン | 共同サービス向けワークショップにおけるプロセス管理方法 |
JP2011521340A (ja) * | 2008-05-14 | 2011-07-21 | エアバス オペラシオン | 共同サービス指向ワークショップにおけるデータのトレーサビリティのための方法 |
JP2011525269A (ja) * | 2008-05-14 | 2011-09-15 | エアバス オペラシオン | 共同サービス指向ワークショップ向けデータ管理方法 |
US8706702B2 (en) | 2008-05-14 | 2014-04-22 | Airbus Operations S.A.S. | Method for data management in a collaborative service-oriented workshop |
JP2010282286A (ja) * | 2009-06-02 | 2010-12-16 | Denso Corp | 開発支援装置,プログラム |
JP2011221864A (ja) * | 2010-04-12 | 2011-11-04 | Mitsubishi Electric Building Techno Service Co Ltd | 情報処理システム及び情報処理方法 |
Also Published As
Publication number | Publication date |
---|---|
EP0817035A2 (en) | 1998-01-07 |
US5991535A (en) | 1999-11-23 |
US6189138B1 (en) | 2001-02-13 |
EP0817035A3 (en) | 2003-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH1091449A (ja) | 分散オブジェクト・ネットワーク上で分散オブジェクトを利用してアプリケーションプログラムを構成するための視覚的組立ツール | |
US5920868A (en) | Cataloging apparatus for facilitating the re-use of distributed objects in a distributed object system | |
Daniel et al. | Understanding ui integration: A survey of problems, technologies, and opportunities | |
US7904803B2 (en) | Method and system for converting user interface source code of a legacy application to web pages | |
US5860004A (en) | Code generator for applications in distributed object systems | |
US5301270A (en) | Computer-assisted software engineering system for cooperative processing environments | |
EP0798635B1 (en) | Internet-enabled portfolio manager system, method and computer program product | |
US7917888B2 (en) | System and method for building multi-modal and multi-channel applications | |
US7469402B2 (en) | Pluggable model framework | |
EP1703381A2 (en) | Rich data-bound applications | |
US6785880B1 (en) | Tooling framework system and method for code generation | |
Verhaeghe et al. | A hybrid architecture for the incremental migration of a web front-end | |
US20030237073A1 (en) | Software synchronization of interface and class implementation | |
Gschwind | Adaptation and composition techniques for component-based software engineering | |
Khan et al. | Developing Multi-Platform Apps with Visual Studio Code: Get up and running with VS Code by building multi-platform, cloud-native, and microservices-based apps | |
Dellarocas | A coordination perspective on software system design | |
Kozaczynski et al. | Architecture specification support for component integration | |
Zarli et al. | Integration of CORBA and WEB technologies in the VEGA DIS | |
Song | A general model for component-based software | |
Bai | Developing Java Web Applications to Access Databases | |
Dannecker et al. | Rapid development of composite applications using annotated web services | |
Al Sadiq et al. | A Platform Neutral Computer Aided Control Engineering Environment | |
Ahokas | Using XML In Making Legacy Application Data Accessible Through Web Services | |
Šnajberk | Pokročilá interaktivní zobrazování komponentového softwaru | |
Kunjumohamed et al. | Spring Essentials |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050811 |
|
A131 | Notification of reasons for refusal |
Effective date: 20050830 Free format text: JAPANESE INTERMEDIATE CODE: A131 |
|
A521 | Written amendment |
Effective date: 20051031 Free format text: JAPANESE INTERMEDIATE CODE: A523 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20051220 |
|
A61 | First payment of annual fees (during grant procedure) |
Effective date: 20060113 Free format text: JAPANESE INTERMEDIATE CODE: A61 |
|
R150 | Certificate of patent (=grant) or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090120 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100120 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100120 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Year of fee payment: 5 Free format text: PAYMENT UNTIL: 20110120 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110120 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120120 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Year of fee payment: 7 Free format text: PAYMENT UNTIL: 20130120 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140120 Year of fee payment: 8 |